OVH Cloud OVH Cloud

application modulaire

2 réponses
Avatar
LR
Salut,

J'aimerais réaliser une application modulaire basée sur un noyau en J2EE qui
gérerait les fonctions de base de l'application (indexes, utilisateurs,
droits etc...) et sur lequel on pourrait "plugger" des modules réalisant des
tâches plus spécifiques.

Ma question est de savoir comment ses modules (j2ee par ex.) pourraient
communiquer avec le noyau. J'ai pensé aux webservices, à la syndication
(export RSS), communication directe par ip ou http.

Qu'est-ce que j'oublie ? Si mon noyau tourne et que je fais un module j2ee,
comment je l'intègre, comment je le "relie" au noyau ?

Merci d'avance pour vos idées, références etc.
Lilian
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UTILISEZ LE NAVIGATEUR FIREFOX :
-léger
-sure
-rapide
-simple
et agréable
http://www.mozilla.org/products/firefox/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2 réponses

Avatar
Johann Burkard
LR wrote:
Qu'est-ce que j'oublie ? Si mon noyau tourne et que je fais un module j2ee,
comment je l'intègre, comment je le "relie" au noyau ?


Il y'a quelque chose de très beau depuis 1.3 qui s'appelle Service
Providers [1].

Par example:

interface Starter {

void start(Object config) throws Exception;
void rollback();

}

Puis tu mets dans une fichier META-INF/services/Starter:

baz.bar.foo.FooStarter
blah.foo.BarStarter

Et après:

Iterator i = Service.providers(Starter.class);
Starter s;
while (i.hasNext()) {
s = (Starter) i.next();
try {
s.start(...);
}
catch (Exception ex) {
s.rollback();
...
}
}

[1]
<http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Service%20Provider>

Johann
--
Es sollte mittlerweile bekannt sein, dass ich ausserhalb
von dag° nicht trolle, und dort auch ohne NAY poste.
(Klaus "Diego Alfredo Unada"/"Megatroll" Ketelaer in
<cedsmr$57n$02$)

Avatar
LR
Il y'a quelque chose de très beau depuis 1.3 qui s'appelle Service
Providers [1].

Par example:

interface Starter {

void start(Object config) throws Exception;
void rollback();

}

Puis tu mets dans une fichier META-INF/services/Starter:

baz.bar.foo.FooStarter
blah.foo.BarStarter

Et après:

Iterator i = Service.providers(Starter.class);
Starter s;
while (i.hasNext()) {
s = (Starter) i.next();
try {
s.start(...);
}
catch (Exception ex) {
s.rollback();
...
}
}

[1]
<http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Service%20Provider>

Johann


Merci pour ta réponse,
Ca m'a l'air très intéressant.
Il faut que j'étudie ça plus en détail...
A+Lilian