Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Modularisation (OSGi, SCA...)
Modularisation (OSGi, SCA...) Forum d'entraide sur les architectures modulaires à base de composants et services (OSGi, SCA...). Avant de poster -> Les cours OSGi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/12/2010, 16h14   #1
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
Par défaut Plugins en Java

Bonjour,

Je cherche à développer un système de plugins en Java. Je pense utiliser cet exemple : http://vincentlaine.developpez.com/t.../java/plugins/

Mais j'aimerai qu'un plugin puisse en appeler un autre. Comment faire?

Merci d'avance,

Cordialement,

Christopher Hénard
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 16h50   #2
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 807
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 807
Points : 882
Points : 882
Bonjour,

ton but est-il réellement de développer un système de plugins ou bien est-ce que tu comptes faire une appli basée sur un système de plugins?
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 16h52   #3
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
Je souhaite faire une application évolutive qui utilise les plugins. Mais un plugin doit pouvoir en utiliser un autre.
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 16h58   #4
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 807
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 807
Points : 882
Points : 882
Tu peux regarder du côté d'OSGi et ses implémentations (Felix, Knopflerfish et Equinox pour les plus répandues).

C'est touffu, mais ça te permettra de faire ce que tu veux.
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 16h59   #5
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
Je préfère pas utiliser un truc trop complexe. Ya pas moyen avec le tuto ?
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 17h18   #6
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 807
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 807
Points : 882
Points : 882
Le tuto est très bien pour avoir une idée de comment on peut faire fonctionner un système de plugins, mais le problème est très complexe et le tuto n'a abordé qu'une infime partie du sujet.

On doit pouvoir te donner une solution pour qu'un plugin puisse en utiliser un autre.
Du coup, tu vas devoir modifier l'exemple du tuto.

Mais bientôt, tu vas avoir à faire face à d'autres soucis liés aux plugins que tu n'auras pas su anticiper (parce que c'est très complexe, je ne mets pas en doute tes compétences).
Je dirais par exemple : la transitivité des dépendances, ou le conflits de versions...
Chaque problème devrait être surmontable, mais à chaque fois, tu vas patcher le modèle de départ, ce qui va le rendre moins stable et moins robuste que si tu avais eu connaissance de ces problèmes dès le début.

Donc, pour le bien de ton appli, je pense qu'il faut au moins que tu jettes un oeil à ce qui se fait ailleurs car d'autres se sont posés les mêmes questions que toi. Il serait dommage de tout refaire puisque ton but n'est pas de faire le système de plugins, mais de l'utiliser.

Après, j'ai parlé d'OSGi parce que c'est le seul que je connais, mais il peut en exister d'autres plus légers.
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/12/2010, 17h39   #7
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
ok merci, je regarderai
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 07h43   #8
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
Si j'utilise le framework knopflerfish, est-ce que le déploiement de l'application sur une machine qui ne possède que le JRE d'installé sera simple ou alors il faut réinstaller le framework à chaque fois ?

J'aimerai bien avec mon application sous forme de jar et les plugins sous forme de jar dans un dossier, + éventuellement les bibliothèques nécessaires dans un dossier, mais sans avoir besoin d'installer plein de trucs pour déployer l'application.
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 09h32   #9
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 807
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 807
Points : 882
Points : 882
Un framework OSGi n'a pas besoin d'énormément de choses pour fonctionner.

En gros, l'organisme responsable d'OSGi a écrit des spécifications qui contiennent, entre autres, des interfaces java (J2SE pur).
Knopflerfish, Felix et Equinox ne sont que des implémentations de ces spécifications (et donc de ces interfaces).

Donc pour utiliser un framework OSGi, il suffit d'avoir le ou les JARs dans ton classpath.
Il me semble que knopflerfish, comme Felix (Equinox, je sais pas), propose un JAR contenant pas mal de choses, dont les interfaces OSGi.
Mais au pire, cela te fais une poignée de JARs à ajouter au classpath.

Donc oui, cela sera assez simple, il suffira de founir les libs avec ta distribution et de les ajouter au classpath lors du lancement de l'application.
Il s'agit d'une librairie comme une autre, style log4J...
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 09h56   #10
Patriarch24
Membre Expert
 
Avatar de Patriarch24
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2003
Messages : 1 039
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2003
Messages : 1 039
Points : 1 535
Points : 1 535
Envoyer un message via MSN à Patriarch24
+1 pour OSGI.
__________________
En premier lieu, utilisez un moteur de recherche.
En second lieu, postez sur le forum adéquat !
Patriarch24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 16h07   #11
atmakefka
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 11
Points : 11
D'accord, merci!
atmakefka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h30.


 
 
 
 
Partenaires

Hébergement Web