JOnAS 5 Serveur d application d 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 Migration du SI Weblogic vers JOnAS, plateforme de référence portées de Websphere vers JOnAS Prestation Bull: Prestation Bull: Prestation Bull: Refonte du SI à base de SOA: Assistance en production et développement Livraison JOnAS, Portage Bonita, Orchestra, BEA WebLogic Server vers Expertise JOnAS/ Clustering Petals, Exo JOnAS Support et maintenance Support et assistance Evolutions JOnAS 200 applications sous JOnAS Problématique: Diminuer les coûts d infrastructure Améliorer les performances Prestation Bull: Portage IBM Websphere vers JOnAS Support de type éditeur 4 Bull, 2008 Serveur d application dynamique 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
Architecture Java EE Browser html http WEB Container Servlets JSPs JDBC JMS JTA DB Applets rmi rmi JCA JAAS public static void main( ) { rmi EJB Container EJBs JavaMail JNDI 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 autonome avec JASMINe Clustering dynamique et déploiement à 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 flex i B - U S B U S B E Z B W E B J M X Felix JOnAS 5/OSGi Domaine de l embarqué : Home automation / M2M RFID Sensors SOHO servers Video Games 10 Bull, 2008 Serveur d application dynamique usb
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 Update Cluster logic Cluster logic V1 V2 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 23 Bull, 2008 Serveur d application dynamique v2.1
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