|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 690 ![]() |
Bonjour à tous,
Voila, je me (re)mets à bosser sur OSGI. Je cherche à changer l'architecture de mon application pour en faire une application à base de plugins. Je lisais cette page : http://felix.apache.org/site/apache-...nstration.html Ceci dit, il y est fait mention de service model et d'extender model. Quelqu'un peut-il m'expliquer la différence entre ces deux modèles ? Merci beauoup
__________________
https://www.weetool.com |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : août 2006 Messages : 1 234 ![]() |
Salut (oui encore moi
Alors ils expliquent (très) rapidement au début de l'article la différence. En fait pour faire une application extensible en terme de fonctionnalités :
La séparation des fonctionnalités et services entre bundles est plutôt compliquée et chacun a sa vision des choses, la question à se poser est : quelles sont les services et fonctionnalités dont j'aurai toujours besoin ensemble, alors il peut être sensé de les mettre dans les mêmes bundles. Mais bon y'a pas de réponse universelle et vaut mieux résoudre au cas par cas. Je dévie de la question un peu mais pour résumer : te casse pas trop la tête avec ce vocabulaire pour l'instant et réfléchis plutôt à ce qui est sensé pour ton application, comme savoir si ton appli est un bundle ou si tu préfères embarquer le framework, et ensuite de quelle modularité as-tu besoin (en terme de granularité, et de séparation des fonctionnalités). Trop de modularité n'est pas non plus souhaitable en général, car ça rend l'architecture complexe a comprendre et maintenir, pour des choses dont tu n'auras jamais besoin. De toute façon quelle que soit la solution que tu choisiras, tu devras sûrement séparer ou rassembler par la suite des choses que tu avais pas prévues
__________________
"Ikea / furnishing = OSGi / software : They allow to have very modular things, but trying to put them together generally drives you crazy" -- Mario Fusco Pour vos développements Java : apprenez à utiliser la javadoc |
|
10
|
|
|
#3 |
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 692 ![]() |
Je rajouterai également qu'il est plus facile de gérer le cycle de vie des bundle que des services. A moins qu'il y ait des listener sur les services ?
|
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 690 ![]() |
Ok, j'y vois un peu plus clair, merci George7 (content d'avoir de tes nouvelles
__________________
https://www.weetool.com |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() Inscription : août 2006 Messages : 1 234 ![]() |
Citation:
Pour écouter et gérer les services, je trouve souvent le ServiceTracker mieux que les listeners (ils permettent notamment de détecter les services déjà en place lors du déploiement du tracker)
__________________
"Ikea / furnishing = OSGi / software : They allow to have very modular things, but trying to put them together generally drives you crazy" -- Mario Fusco Pour vos développements Java : apprenez à utiliser la javadoc |
|
|
10
|
|
|
#6 |
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 692 ![]() |
Après consultation de la Javadoc il est effectivement possible d'être notifier de "l'arrêt" d'un service.
J'avoue n'avoir utiliser le ServiceTracker uniquement pour récupérer la liste des services actifs sans savoir si je pouvais "écouter" l'ajout ou la suppression d'un service. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com