Académique Documents
Professionnel Documents
Culture Documents
5.1
JOnAS : un serveur d'application OSGiTM
Agenda
- Modularité :
- Chaque partie du serveur JOnAS est proprement découpée
• Inter-dépendances réduites et contrôlée par OSGi
- Résultat de recherches avancées dans le domaine des
composants et des services
• Apache Felix iPOJO (http://www.ipojo.org)
- Dynamisme :
- Les applications OSGi peuvent supporter
les liaisons dynamiques entre services
- Extensibilité
- Ajout et retrait dynamique de modules
- Flexibilité
- Services à la demande / Serveur "à la carte"
- Serveur "léger" (10M) : µJOnAS
9 ©Bull, 2009 JOnAS : Un serveur d'application OSGi
JOnAS : Un serveur d'application Java EE
- Certifié Java EE 5
- Chaque brique technique étant disponible sous forme
d'un (ou plusieurs) bundles
- Conteneur Web : Tomcat/Jetty
- Persistance EJB3/JPA : EasyBeans
• EclipseLink et Hibernate
- Transactions : JOTM
- Clustering : CMI
- Web Services : CXF/Axis2
- Messages asynchrones : JORAM
OSGi Platform
- Les applications sont intégrées et déployées JMX
comme des services verticaux JORAM
• Consommateurs des services techniques
Connecteur 1
Connecteur 2
for (IRulePackage rulePackage : rulePackages) {
// Write it to a file
File file = new File(rulePackage.getSystemName() + date + ".xml"); Java EE
FileOutputStream fileOutStream = new FileOutputStream(file);
fileOutStream.write( App
ruleEngineManager.exportRulePackageToXML(
rebuildPackage(rulePackage)
).getBytes() Service 1
);
}
fileOutStream.close(); Service 2
- Java EE 6
- Sonne la fin de l'approche du serveur d'application monolithique
- “On ne prend que ce dont on a besoin”
- "Full Profile"
- L'ensemble de toutes les spécification Java EE 6 (EJB 3.1,
Servlet 3.0, JAX-WS, ...)
- "Web Profile"
- Un sous-ensemble des spécifications (EJB 3.1 lite, Servlet
3.0, ...)
- Cible les fonctions essentielles pour les applications web
(présentation, métier local, persistance simple, transaction et
web services)
- micro JOnAS
- JOnAS ultra light (< 9 Mo, OK pour set top box, PDA, …)
- Démarrage rapide (~3 secondes)
- Administrable (JMX, RMI Connector)
- Inclut une fabrique de bundles automatique
• Convertit un fichier jar file en un bundle (déposer le jar dans lib/ext/)
- Système de déploiement extensible (plans de déploiement)