Vous êtes sur la page 1sur 27

JOnAS 5

Serveur d’application dynamique


Agenda

En quelques mots

Caractéristiques essentielles

Zoom sur le versioning

2 ©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

3 ©Bull, 2008 Serveur d’application dynamique


Références
Problématique:
Problématique:
Problématique: Support et expertise pour plus de 30 applications
Besoin de refonte du SI portées de Websphere vers JOnAS
Migration Weblogic vers JOnAS, plate-
forme de référence
Prestation Bull: Prestation Bull:
Prestation Bull: Assistance en production et développement
Refonte du SI à base de SOA:
Livraison JOnAS, Portage
Bonita, Orchestra,
BEA WebLogic Server versExpertise JOnAS/ Clustering
Petals, Exo Support et maintenance
JOnAS
Support et assistance
Evolutions JOnAS
200 applications sous JOnAS

Problématique:
Problématique: Refonte du poste brigade: passage à
Diminuer les coûts d’infrastructure une technologie Intranet
Améliorer les performances Utilisation quotidienne par 50 000
gendarmes
Prestation Bull:
Portage IBM Websphere vers
JOnAS Prestation Bull:
Support de type éditeur Refonte et développement
applicatif : JOnAS, Oracle, interface
4 ©Bull, 2008
avec undynamique
Serveur d’application SIG
Architecture Java EE

Browser
WEB Container
html http JDBC
Servlets
JSPs JMS
DB
JTA

Applets JCA
rmi
rmi JAAS

EJBs JavaMail

rmi JNDI
public
static void
main(…) { EJB Container … EIS

Client Container Java EE Application Server


Java Application
5 ©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

6 ©Bull, 2008 Serveur d’application dynamique


Agenda

En quelques mots

Caractéristiques essentielles

Zoom sur le versioning

7 ©Bull, 2008 Serveur d’application dynamique


Serveur d’application dynamique
Nouvelle Architecture
orientée service basée
sur OSGI

Outils de
management Clustering dynamique
autonome avec et déploiement à
JASMINe large échelle

Développement Java EE
Conteneur pluggable
8 ©Bull, 2008 Serveur d’application dynamique
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

9 ©Bull, 2008 Serveur d’application dynamique


Serveur d’application dynamique

Plate-forme modulable

Exploitation d’OSGI iBuddy EAR

i U E W … J
B S Z E M
- B B B X
U
S
flex B

Felix

JOnAS 5/OSGi
Domaine de l’embarqué :
• Home automation / M2M
• RFID
• Sensors
• SOHO servers
• Video Games usb
10 ©Bull, 2008 Serveur d’application dynamique
Serveur d’application dynamique

Plate-forme modulable

Services à la demande

USB
Thermometer

services applications

11 ©Bull, 2008 Serveur d’application dynamique


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
Java EE cluster

- 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)

12 ©Bull, 2008 Serveur d’application dynamique


Politique de répartition administrable

Master node

gi c
e
da t
r lo
Up
ste
Clu
Cluster logic V2
V1

Ctrl flow

13 ©Bull, 2008 Serveur d’application dynamique


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

14 ©Bull, 2008 Serveur d’application dynamique


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

15 ©Bull, 2008 Serveur d’application dynamique


Serveur d’application dynamique

16 ©Bull, 2008 Serveur d’application dynamique


Agenda

En quelques mots

Caractéristiques essentielles

Zoom sur le versioning

17 ©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

18 ©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)

19 ©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, …)

20 ©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égie
de déploiement

disabled default

21 ©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

22 ©Bull, 2008 Serveur d’application dynamique


Demo application

v1.0

v2.0

v2.1
23 ©Bull, 2008 Serveur d’application dynamique
Administration

- Manage the access policy for each version of a web application

24 ©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)

25 ©Bull, 2008 Serveur d’application dynamique


JaDOrT Web 2.0 console

26 ©Bull, 2008 Serveur d’application dynamique


MERCI DE VOTRE ECOUTE

27 ©Bull, 2008 Serveur d’application dynamique

Vous aimerez peut-être aussi