JOnAS 5 - RMLL2008.rmll.info/IMG/pdf/JOnAS5_rmll2008-v1.0.pdf · 3 ©Bull, 2008 Serveur...
Transcript of JOnAS 5 - RMLL2008.rmll.info/IMG/pdf/JOnAS5_rmll2008-v1.0.pdf · 3 ©Bull, 2008 Serveur...
JOnAS 5
Serveur dServeur d’’application dynamiqueapplication dynamique
2 ©Bull, 2008 Serveur d’application dynamique
Agenda
� En quelques mots
� Caractéristiques essentielles
� Zoom sur le versioning
3 ©Bull, 2008 Serveur d’application dynamique
JOnAS
- Serveur d’application Open Source
-JOnAS 4 certifié J2EE 1.4-JOnAS 5 en cours de certification java EE 5
- Hébergé par le consortium OW2
- Large communauté de développement-Bull, PKU,France Télécom, INRIA, UJF,Serli,UPM, Unifor, LIFL
- Services professionnels (Bull)-Offre libre énergie (Support, formation, migration, …)
- License LGPL
4 ©Bull, 2008 Serveur d’application dynamique
Problématique: Support et expertise pour plus de 30 applications portées de Websphere vers JOnAS
Prestation Bull: � Assistance en production et développement� Expertise JOnAS/ Clustering� Support et maintenance
RéférencesProblématique:
Migration Weblogic vers JOnAS, plate-forme de référence
Prestation Bull:
�Portage BEA WebLogic Server vers JOnAS
�Support et assistance
�Evolutions JOnAS
� 200 applications sous JOnAS
Problématique:Refonte du poste brigade: passage àune technologie Intranet Utilisation quotidienne par 50 000 gendarmes
Prestation Bull:�Refonte et développement applicatif : JOnAS, Oracle, interface avec un SIG
Problématique:Diminuer les coûts d’infrastructureAméliorer les performances
Prestation Bull:�Portage IBM Websphere vers JOnAS�Support de type éditeur
Problématique:Besoin de refonte du SI
Prestation Bull:Refonte du SI à base de SOA: Livraison JOnAS, Bonita, Orchestra, Petals, Exo
5 ©Bull, 2008 Serveur d’application dynamique
Architecture Java EE
EIS
Java EE Application Server
DB
Browser
Java Application
JDBC
JMS
JTA
JCA
JAAS
JavaMail
JNDI
…
Applets
http
rmi
rmi
rmi
html
public static void main(…) {
Client Container
WEB Container
ServletsJSPs
EJBs
EJB Container
6 ©Bull, 2008 Serveur d’application dynamique
Composants techniques
- Conteneur Web : Tomcat ou Jetty- Conteneur EJB : EJB 2.1 (intégré) et EJB3 (EasyBeans)- Support RMI
- Multi-protocoles (JRMP, IIOP, IRMI) : CAROL- Clustering : CMI V2
- Web Services : Axis2 et CXF- Administration : console Web jonasAdmin et projet JASMINe- JMS : JORAM- ORB : JacORB- Transactions : JOTM- OSGi : Felix, IPOJO- JPA : Hibernate, TopLink Essential, OpenJPA, Eclipse
7 ©Bull, 2008 Serveur d’application dynamique
Agenda
� En quelques mots
� Caractéristiques essentielles
� Zoom sur le versioning
8 ©Bull, 2008 Serveur d’application dynamique
Outils de management
autonome avec JASMINe
Serveur d’application dynamiqueNouvelle Architecture orientée service basée
sur OSGI
Clustering dynamique et déploiement à
large échelle
Développement Java EE
Conteneur pluggable
9 ©Bull, 2008 Serveur d’application dynamique
Plate-forme modulable
Architecture et technologie OSGI :
- Services regroupés en « Bundles »
- Services dynamiques/chargement à la demande
- Pluggable: facilité d’intégration avec des logiciels existants
- Accès Java EE <-> OSGi
Serveur d’application dynamique
10 ©Bull, 2008 Serveur d’application dynamique
JOnAS 5/OSGi
i
B
-
U
S
B
U
S
B
J
M
X
…W
E
B
E
Z
B
Felix
iBuddy EAR
Plate-forme modulable
Exploitation d’OSGI
Serveur d’application dynamique
usb
flex
Domaine de l’embarqué :• Home automation / M2M• RFID• Sensors• SOHO servers• Video Games
11 ©Bull, 2008 Serveur d’application dynamique
Plate-forme modulable
Services à la demande
Serveur d’application dynamique
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
services applications
USB Thermometer
�
�
�
�
�
�
�
�
�
�
�
12 ©Bull, 2008 Serveur d’application dynamique
Clustering facile
Clustering dynamique et déploiement à large échelle
- Solution de bout en bout
- Clustering Web avec Mod_jk & Tomcat
- Clustering Ejb avec CMIv2
- Administration centralisée
- Nouvelle version du protocole de clustering EJB (CMIv2)
- Support des EJB2 & EJB3
- Reconfiguration dynamique de la logique de répartition (via la
console)
- Facilité de mise en oeuvre (transparent pour le client)
Serveur d’application dynamique
Java EE cluster
13 ©Bull, 2008 Serveur d’application dynamique
Politique de répartition administrable
Upd
ate
Clu
ster
logi
c
Master node
Ctrl flow
Cluster logic V1Cluster logic V2
14 ©Bull, 2008 Serveur d’application dynamique
Développement rapide
Conteneur EJB3 léger / EasyBeans
- EJB3: nouvelle manière simple de faire du Java EE
- Embedded: intégrable dans JOnAS, Tomcat, Jetty
- Disponible sous forme de bundles OSGi
- Packagé avec plusieurs implémentations JPA
- Hibernate Entity Manager, Apache OpenJPA, TopLink Essentials
Facilité de développement et de déploiement
- Déploiement à chaud: rechargement dynamique des classes
- Déploiement coté client simplifié
- Passerelle Java EE OSGi: accès aux services OSGi depuis le code Java EE
- Plugin Eclipse WTP
Serveur d’application dynamique
15 ©Bull, 2008 Serveur d’application dynamique
Management avancé
JASMINe :
- Outils graphique de configuration, déploiement et
supervision
- Aide à la détection d’erreur
- Suivi des performances
- Comportement autonome
Solution de « Versioning » :
- Changement de version des applications Java EE sans interruption de services
Serveur d’application dynamique
16 ©Bull, 2008 Serveur d’application dynamique
Serveur d’application dynamique
17 ©Bull, 2008 Serveur d’application dynamique
Agenda
� En quelques mots
� Caractéristiques essentielles
� Zoom sur le versioning
18 ©Bull, 2008 Serveur d’application dynamique
Caractéristiques
- Contexte- Applications 24/24 7/7 critiques à cycle d’évolution rapide- Montée en version
• sans interruption de service• sans perte des sessions utilisateurs• sans sur-dimensionnement
- Principe
- Cohabitation de plusieurs versions d’une même application dans la même instance
- Politique d'aiguillage des requêtes vers une des versions administrable
19 ©Bull, 2008 Serveur d’application dynamique
Mise en oeuvre
- Nouveau service à activer : versioning
- Positionner une meta-information sur l’archive- Attribut “Implementation-Version” dans le MANIFEST
- Modules versionnés- Tomcat webapp,
- EJB2 & EJB3
- Web service & MBean (en cours)
20 ©Bull, 2008 Serveur d’application dynamique
Stratégie de déploiement
- Une application versionnée a - une adresse utilisateur (virtuelle)
• Ex /monappli
- Une adresse versionnée (adresse utilisateur suffixée par la version)• /monappli-version1.0
- Une politique est associée à chaque version d’une application et l’algorithme de routage identifie la version cible pour chaque requête client
- Reserved: accessible uniquement par l’adresse versionnée (interne)
• Politique positionnée par défaut lorsqu’il y a déjà une version déployée de cette application
- Disabled: accessible uniquement par les clients déjà connectés (session existante)
- Default: accessible par les clients ne satisfaisant pas une autre politique (nouvelle session)
- Private: accessible uniquement par les clients satisfaisant certaines conditions (adresses ip, credentials, …)
21 ©Bull, 2008 Serveur d’application dynamique
Applications Web
- Un client utilise la même version jusqu’à l’expiration de sa session
- Les nouveaux clients accèdent à la version comme définie par la stratégiede déploiement
defaultdisabled
22 ©Bull, 2008 Serveur d’application dynamique
Scenario
1. Deploy demo web application v1.0
� Policy: default (only one version)
2. Deploy demo web application v2.0
� By default, the newly application have the “reserved” policy: only visible through the versioned address
3. Change policies
� Set the policy for demo v2.0 to default: new clients see the new application
4. Deploy demo web application v2.1
23 ©Bull, 2008 Serveur d’application dynamique
Demo application
v1.0
v2.0
v2.1
24 ©Bull, 2008 Serveur d’application dynamique
Administration
- Manage the access policy for each version of a web application
25 ©Bull, 2008 Serveur d’application dynamique
JaDOrT (JAsmine Deployment ORchestration Tool)
� Accessible depuis une console Web 2.0 (Flex), des commandes en ligne, ou une API EJB3
� Centralise la migration d’une application ou de son socle pour un environnement distribué
� Vue globale des serveurs & des applications
� Migration et/ou maintenance par groupes
� Evolution étape par étape, possibilité de retour arrière à tout moment
� Gestion des erreurs: log, actions retry/ignore
� Traçabilité complète: persistence des logs (erreurs/information)
26 ©Bull, 2008 Serveur d’application dynamique
JaDOrT Web 2.0 console
27 ©Bull, 2008 Serveur d’application dynamique
MERCI DE VOTRE ECOUTE