SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Belle introduction




                     1
GlassFish ESB
“Success story”
23 février 2010

Ch'ti Java User Group
http://chtijug.org/
Ch'ti Java User Group
 • Sun invité par le Chti Jug et Capgemini Nord
   > architecte à l'avant-vente logicielle
     sur le portfolio Java EE / ESB / SOA
   > ambassadeur Application Platform
 • Présence Sun dans le Ch'Nord, en autre:
   > avec les solutions d'ESB/SOA et
     de gestion d'identité
   > dans la grande distribution, le monde
     industriel ...
   > … une liste non exhaustive bien sûre :)

                                                  3
“Success story” GlassFish ESB
 • Présentation de GlassFish ESB
 • GlassFish ESB “Drivers”
   > Contexte et cas d'usage métier
   > Technique
 • Choix et patterns mis en oeuvre
   > BPM, BPMN, BPEL, ESB, SOA/WS
 • Retours d'expérience
 • Volumétrie de la plate-forme en production
 • 3 questions

                                                4
GlassFish ESB
La plate-forme OpenESB
Un “Enterprise Service Bus” libre et conforme à JBI 1.0/JSR 208
   > Bus d'intermédiation pour les applications composites
   > Conçu pour étendre les capacités de GlassFish




                                                                  6
Vue générale de l'OpenESB
                           Logique métier
 Orchestration   Transformation
                                      Java EE
    (BPEL)           (XSLT)




                                                           Management
                                                  JBI




                                                             System
    Normalized Message Router (NMR)
       Normalized Message Router                 Core
                                                Services




    WS-I BP      AS2        JMS
     SOAP
                            Java EE
                                                                        7
Open ESB dans son container
    EJB
 Application                    Java EE           BPEL
                  EJB                                          Service Engine
                             Service Engine   Service Engine
               Application

  Java EE Container
    (“App Server”)                     Normalized Message Router
                                                                             System
                                                                           Management
    Web                                                                       Layer
 Application      Web         HTTP Binding    HTTP Binding        Binding
               Application     Component       Component         Component

     Web Container
     (“App Server”)                                    JBI Container

                        Sun Java App Server 9.2 (Glassfish)

                                External         External        JMX Based Admin tools
                                Service          Service        (CAM / App Server Admin
                               Consumer          Provider         Console /NetBeans)

                                                                                          8
Sun BPM: BPEL 2.0 Editor




                           9
Mapper BPEL
Les données du Mapper peut
être “ouvertes/fermées”
Les “end-points” peuvent être
configurés dynamiquement




                                10
Alert and Log Framework
Possibilité de faire du Logging/Alerting fin




                                               11
BPEL 2.0 Modeling Constructs
Ability to have scope-level
variables
Event-handlers
Model event-aware business
processes/services
correlate and process ad-hoc
messages for a specific business
process instance
Additional Looping constructs
For-each
Repeat-Until
                                   12
Decoupling from Bindings
Enhances portability of
composite applications
across environments
Example: Change transports
from HTTP to JMS
Manage partner links from
the CASA Editor
Manage QOS qualities of
Business Processes
Re-delivery
Throttling
                             13
Cas d'usage /
 Contexte
Processus métier long – vue générale
                                                             Services Partners

             “Portail”                 GlassFish ESB            Telco
                                                                Service
                                Application composite
                                ●   Assemblage de services
      ●
        UI                                                     Telco
      ● Authentifie / filtre
                                Orchestration
      ● Déclenche le process
                                des services                    Service
                                ● Exécute les processus
      ● Affiche les résultats
                                ● Orchestre les appels de

                                service                         Telco
                                ●Transforme et Route
                                                                Service

                                                                  Telco
                                                                Service

                                                                             15
Cas d'usage et contexte
Processus de commande et d'activation de ressource
 • Contraintes
   > Nécessité de disposer rapidement de cette offre
      (Time To Market), temps de projet court
   > Processus métier long (2 à 4 semaines), nombreux
     interlocuteurs (partenaires, fournisseurs)
• Maîtrise des concepts à mettre en oeuvre (→ ESB)
  > Processus, modes d'échange, connectivité
  > Gestion du changement
• Proximité architecte métier – architecte IT
   > “Modeling / Development: “round trip” rapide et agile

                                                             16
Approche du client
• SOA tactique
  > Pas de « repository » de services au départ
  > Pas de gouvernance “at design time”
  > Contrats de services “imposés” par les fournisseurs
• Approche top-down pilotée par le métier
  > Approche orientée BPM
  > par une modélisation des processus (visio)
• Approche bottom-up pilotée par l'équipe technique
  > Prototypage et tests des services unitaires puis orchestrés
  > Factorisation progressive et réutilisation des services
• Convergence projet rapide avec le couple Netbeans / ESB
  > Prototypage, tests et validation rapides
                                                                  17
ESB drivers
GlassFish ESB Drivers
• Business driver:
  >   Time To Market: améliorer l'offre catalogue “Enterprise”
  >   Construire rapidement cette offre, en quelques mois
  >   Le faire au juste prix
  >   Avoir l'accompagnement et le support de l'éditeur
• Customer Team
  > Une petite équipe combinant et maîtrisant à la fois le métier
    et les contraintes techniques de l'IT
  > En mesure de gérer des cycles très courts
  > Autonome, utilisant les forums et communautés


                                                                 19
Choix technique de GlassFish ESB
OpenESB vs. Oracle Fusion .....
• OpenESB, “the right size product”, retenu car:
     > Open Source, bien documenté, multi-OS, complet, exemples
     > Outillé et intégré avec NetBeans IDE (BPMN designer)
     > Architecture “élégante” JBI/ JSR 208
     > “Service Engine” BPEL 2.0 pour exécuter les processus longs
     > “free” like “free beer”, au moins au début ...
     > “Proximité Sun” (ça compte aussi)
• Support des standards et des technologies matures
  Web Services (JAX-WS 2.x, (REST))
     > Convergence projet rapide avec le couple NetBeans / OpenESB

                                                                     20
Patterns utilisés
Design Patterns utilisés
• Patterns de la SOA pour gérer les processus métier longs
  > Modélisation des diagrammes d'activités avec un outil
    bureautique, puis en BPMN
  > Quelques patterns:
    process abstraction, capability composition, compensation,
    service contracts, ...
• “Integration Entreprise Patterns” (les classiques)
  > Filtrer, transformer, router, découper, agréger
• Patterns “composites” ESB/SOA
      > Unification de la sémantique d'appel des services tiers
      > Composition et orchestration de services réutilisables
      > Unification des concepts ESB, via l'exposition sous forme
        de WEB Services (Service encapsulation)
                                                                    22
Patterns utilisés – vue générale
 Vue Métier / UI                                Consommateur métier du Service sécurisé
● Messages corrélés




 Vue Métier des interface process
● Facade de services                                                      request/reply
● Décomposition fonctionelle

● Services orchestrés



 Vue des Services
● Message canoniques (xfo, enrich)                                                          Wire tap de contrôle / BAM
● Routage, logging

● Protocole canonique



Services techniques                               Service                                  Service
● Paysage applicatif
                                                                                                      request/reply
Ressources iconographiques: http://soapatterns.org/, http://www.eaipatterns.com/toc.html
                                                                                                                      23
Retours
d'expérience
Importance des “assets”
• Définition précise des “end points”
  > Importance et qualité du contrat de service (WSDL)
     > Support des standards JAX-WS, WSI-Profile
     > Sémantique commune: collaboration, schémas
  > Réduction de l' “impedance mismatch” aux zones
    d'articulationet de discontinuité des systèmes
• Respect des standards
  >   Assets :Java/Java EE, XSD, BPEL, XLST, WSDL
  >   Pour permettre les tests (SOAPui, BPEL-Unit, ...)
  >   Pour permettre la gouvernance “run-time” et “design time”
  >   Pour la portabilité et les évolutions futures

                                                                  25
Retours d'experience
• Définir et gérer la qualité de service aux endroits
  névralgiques (temps de réponse, Trs/sec)
• Exposer les services derrière une façade ou un
  mécanisme d'équilibrage évitant les phénomènes
  de surcharge des étages d'entrée (over-flooding)
  > Gérer les « time-out » protocolaires (HTTP) ou métier
  > Découpler via un MOM JMS
• Gérer le versionning et les opérations de
  maintenance
• Proposer des mécanismes de haute disponibilité

                                                            26
Avantages – Inconvénients
des solutions retenues
• Pros:
  > Produits “agiles” par leurs tailles et fonctionalités
  > IDE à l'état de l'art (BPMN, Java), intégré
  > ESB “forçant” la séparation “exécution/procole” (“SE” vs. “BC)
  > Round trip aisé: “design, dev., deploy,debug, deploy, run”
  > Artéfacts légers (.zip pour les applications)
  > Industrialisation (install/start/stop/shutdown)
• Cons:
  > Pas d'atelier métier
  > Versioning via des modèles de déploiement ou des
     produits tiers (Layer 7, AmberPoint, ...)
  > Monitoring/Managenent optionnel ou programmatique
  > Gouvernances via solutions tiers                                 27
Volumétries
Volumétries
• Plusieurs dizaines de processus métiers déployés
• Plusieurs centaines de commandes journalières
• Plusieurs milliers de processus en “mémoire”
  > Chaque processus peut durer jusqu'à 4 semaines
  > Les process BPEL sont “passivés” en BdD en attente de
    corrélation
  > Haute disponibilité via la base de données
  > Reprise en cas d'incident sur une autre instance d'ESB
  > Rejeu possible de message en cas d'exception
• Execution de l'ESB sur un serveur Sun X64
• Supervision avec des outils du Net + customization
                                                             29
Q's   / R's
3 questions sur Glassfish ESB
• Q1 Technologie / spécification au coeur de GF ESB
• JSR 208 : http://jcp.org/en/jsr/detail?id=208
• Aka Java Business Integration / JBI v1.0




                                                      31
3 questions sur Glassfish ESB
• Q2 citez trois « Binding Components » et 3
  « Service Engines »
• Service Engines
  > BPEL, DataMashup, Java EE, POJO, XSLT
• Binding Components and Encoders
  > Database, Email, File, FTP, HTTP, JMS (includes JMS
    JCA)
  > LDAP, REST, Scheduler




                                                          32
3 questions sur Glassfish ESB
• Q3 quelle est la dernière version disponible et sa
  date de sortie ?
• GlassFish v2.2, sorti fin 2009 (21 décembre 2009)
• “visible” début janvier 2010




                                                       33
Bibliographie
Bibliographie
• Stratégie Oracle :
  > http://www.oracle.com/events/productstrategy/index.html#software
• Références et blogs GlassFish et GlassFish ESB
  > http://blogs.sun.com/stories/
  > https://open-esb.dev.java.net/OrganizationsUsingOpenESB.html
• Pour commencer:
  > https://open-esb.dev.java.net/
  > Web cast: http://webcast-west.sun.com/interactive/09C01941/index.html
  > Blue Prints SOA: https://blueprints.dev.java.net/bpcatalog/ee5/soa/
• Oracle Fusion Middleware
  > Oracle + Sun Product Strategy Webcast Series
    http://www.oracle.com/events/productstrategy/index.html#software
  > http://www.oracle.com/technology/products/middleware/index.html
                                                                            35
Bibliographie, quelques références

• Soa Design Patterns / Thomas Erl
• Enterprise Integration Patterns:
  Designing, Building, and Deploying
  Messaging Solutions
• Design Patterns: Elements of
  Reusable Object-Oriented Software
• Et toutes les votres ...




                                       36
Merci




        37

Weitere ähnliche Inhalte

Was ist angesagt?

Soirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par LogicaSoirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par Logica
Normandy JUG
 

Was ist angesagt? (20)

Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011
 
Petals DSB - Current Status
Petals DSB - Current StatusPetals DSB - Current Status
Petals DSB - Current Status
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
Vue d'ensemble des nouveautés de System Center 2012 SP1
Vue d'ensemble des nouveautés de System Center 2012 SP1Vue d'ensemble des nouveautés de System Center 2012 SP1
Vue d'ensemble des nouveautés de System Center 2012 SP1
 
Lync développement client et serveur - retours d'experiences
Lync développement client et serveur - retours d'experiencesLync développement client et serveur - retours d'experiences
Lync développement client et serveur - retours d'experiences
 
J'ai installé Team Foundation Server. Et après?
J'ai installé Team Foundation Server. Et après?J'ai installé Team Foundation Server. Et après?
J'ai installé Team Foundation Server. Et après?
 
Ajax en Java - GTI780 & MTI780 - ETS - A08
Ajax en Java - GTI780 & MTI780 - ETS - A08Ajax en Java - GTI780 & MTI780 - ETS - A08
Ajax en Java - GTI780 & MTI780 - ETS - A08
 
Scrum et forfait
Scrum et forfaitScrum et forfait
Scrum et forfait
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
System Center 2012 | SCOM : Déploiement et migration Operations Manager 2012
System Center 2012 | SCOM :  Déploiement et migration Operations Manager 2012System Center 2012 | SCOM :  Déploiement et migration Operations Manager 2012
System Center 2012 | SCOM : Déploiement et migration Operations Manager 2012
 
Soirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par LogicaSoirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par Logica
 

Andere mochten auch

Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2
Catherine Nuel
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
Alahyane Ahmed
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementaires
Alahyane Ahmed
 

Andere mochten auch (11)

Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et Authentification
 
Offrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clicOffrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clic
 
3_ CFT & les plates-formes d\'intégration à base d\'ESB
3_ CFT & les plates-formes d\'intégration à base d\'ESB3_ CFT & les plates-formes d\'intégration à base d\'ESB
3_ CFT & les plates-formes d\'intégration à base d\'ESB
 
Presentation mug-mule esb
Presentation mug-mule esbPresentation mug-mule esb
Presentation mug-mule esb
 
Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2
 
Fonctionnalités JBoss ESB
Fonctionnalités JBoss ESBFonctionnalités JBoss ESB
Fonctionnalités JBoss ESB
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
 
Exploitez toute la valeur de vos données client et produit grâce à talend 6
Exploitez toute la valeur de vos données client et produit grâce à talend 6Exploitez toute la valeur de vos données client et produit grâce à talend 6
Exploitez toute la valeur de vos données client et produit grâce à talend 6
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementaires
 
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
 

Ähnlich wie GlassFish ESB Ch'ti JUG

Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
Algeria JUG
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Eric Bourdet
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Eric Bourdet
 
Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOA
Uniserv
 
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnement
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnementJee005 formation-jee-ejb-3-les-bases-et-perfectionnement
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnement
CERTyou Formation
 

Ähnlich wie GlassFish ESB Ch'ti JUG (20)

Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
 
1 Introduction
1 Introduction1 Introduction
1 Introduction
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Dev ops@kelkoo
Dev ops@kelkoo Dev ops@kelkoo
Dev ops@kelkoo
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
 
Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOA
 
Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012
 
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnement
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnementJee005 formation-jee-ejb-3-les-bases-et-perfectionnement
Jee005 formation-jee-ejb-3-les-bases-et-perfectionnement
 
System Center 2012 | SCO : Vue d'ensemble d'Orchestrator 2012 (ex Opalis)
System Center 2012 | SCO : Vue d'ensemble d'Orchestrator 2012 (ex Opalis)System Center 2012 | SCO : Vue d'ensemble d'Orchestrator 2012 (ex Opalis)
System Center 2012 | SCO : Vue d'ensemble d'Orchestrator 2012 (ex Opalis)
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 

Mehr von Ch'ti JUG (10)

Java 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambdaJava 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambda
 
Spring 3.1
Spring 3.1Spring 3.1
Spring 3.1
 
Bonita Open Solution
Bonita Open SolutionBonita Open Solution
Bonita Open Solution
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
MC3SI Chti Jug Soiree Agilite
MC3SI Chti Jug Soiree AgiliteMC3SI Chti Jug Soiree Agilite
MC3SI Chti Jug Soiree Agilite
 
Chti Jug Octo 16032010 Réduisons le ticket d’entrée de nos projets
Chti Jug Octo 16032010 Réduisons le ticket d’entrée de nos projetsChti Jug Octo 16032010 Réduisons le ticket d’entrée de nos projets
Chti Jug Octo 16032010 Réduisons le ticket d’entrée de nos projets
 
Drools Planner Chtijug 2010
Drools Planner Chtijug 2010Drools Planner Chtijug 2010
Drools Planner Chtijug 2010
 
Lille2010markp
Lille2010markpLille2010markp
Lille2010markp
 
HTML5 ADEO
HTML5 ADEOHTML5 ADEO
HTML5 ADEO
 
Terracotta Ch'ti Jug
Terracotta Ch'ti JugTerracotta Ch'ti Jug
Terracotta Ch'ti Jug
 

GlassFish ESB Ch'ti JUG

  • 2. GlassFish ESB “Success story” 23 février 2010 Ch'ti Java User Group http://chtijug.org/
  • 3. Ch'ti Java User Group • Sun invité par le Chti Jug et Capgemini Nord > architecte à l'avant-vente logicielle sur le portfolio Java EE / ESB / SOA > ambassadeur Application Platform • Présence Sun dans le Ch'Nord, en autre: > avec les solutions d'ESB/SOA et de gestion d'identité > dans la grande distribution, le monde industriel ... > … une liste non exhaustive bien sûre :) 3
  • 4. “Success story” GlassFish ESB • Présentation de GlassFish ESB • GlassFish ESB “Drivers” > Contexte et cas d'usage métier > Technique • Choix et patterns mis en oeuvre > BPM, BPMN, BPEL, ESB, SOA/WS • Retours d'expérience • Volumétrie de la plate-forme en production • 3 questions 4
  • 6. La plate-forme OpenESB Un “Enterprise Service Bus” libre et conforme à JBI 1.0/JSR 208 > Bus d'intermédiation pour les applications composites > Conçu pour étendre les capacités de GlassFish 6
  • 7. Vue générale de l'OpenESB Logique métier Orchestration Transformation Java EE (BPEL) (XSLT) Management JBI System Normalized Message Router (NMR) Normalized Message Router Core Services WS-I BP AS2 JMS SOAP Java EE 7
  • 8. Open ESB dans son container EJB Application Java EE BPEL EJB Service Engine Service Engine Service Engine Application Java EE Container (“App Server”) Normalized Message Router System Management Web Layer Application Web HTTP Binding HTTP Binding Binding Application Component Component Component Web Container (“App Server”) JBI Container Sun Java App Server 9.2 (Glassfish) External External JMX Based Admin tools Service Service (CAM / App Server Admin Consumer Provider Console /NetBeans) 8
  • 9. Sun BPM: BPEL 2.0 Editor 9
  • 10. Mapper BPEL Les données du Mapper peut être “ouvertes/fermées” Les “end-points” peuvent être configurés dynamiquement 10
  • 11. Alert and Log Framework Possibilité de faire du Logging/Alerting fin 11
  • 12. BPEL 2.0 Modeling Constructs Ability to have scope-level variables Event-handlers Model event-aware business processes/services correlate and process ad-hoc messages for a specific business process instance Additional Looping constructs For-each Repeat-Until 12
  • 13. Decoupling from Bindings Enhances portability of composite applications across environments Example: Change transports from HTTP to JMS Manage partner links from the CASA Editor Manage QOS qualities of Business Processes Re-delivery Throttling 13
  • 14. Cas d'usage / Contexte
  • 15. Processus métier long – vue générale Services Partners “Portail” GlassFish ESB Telco Service Application composite ● Assemblage de services ● UI Telco ● Authentifie / filtre Orchestration ● Déclenche le process des services Service ● Exécute les processus ● Affiche les résultats ● Orchestre les appels de service Telco ●Transforme et Route Service Telco Service 15
  • 16. Cas d'usage et contexte Processus de commande et d'activation de ressource • Contraintes > Nécessité de disposer rapidement de cette offre (Time To Market), temps de projet court > Processus métier long (2 à 4 semaines), nombreux interlocuteurs (partenaires, fournisseurs) • Maîtrise des concepts à mettre en oeuvre (→ ESB) > Processus, modes d'échange, connectivité > Gestion du changement • Proximité architecte métier – architecte IT > “Modeling / Development: “round trip” rapide et agile 16
  • 17. Approche du client • SOA tactique > Pas de « repository » de services au départ > Pas de gouvernance “at design time” > Contrats de services “imposés” par les fournisseurs • Approche top-down pilotée par le métier > Approche orientée BPM > par une modélisation des processus (visio) • Approche bottom-up pilotée par l'équipe technique > Prototypage et tests des services unitaires puis orchestrés > Factorisation progressive et réutilisation des services • Convergence projet rapide avec le couple Netbeans / ESB > Prototypage, tests et validation rapides 17
  • 19. GlassFish ESB Drivers • Business driver: > Time To Market: améliorer l'offre catalogue “Enterprise” > Construire rapidement cette offre, en quelques mois > Le faire au juste prix > Avoir l'accompagnement et le support de l'éditeur • Customer Team > Une petite équipe combinant et maîtrisant à la fois le métier et les contraintes techniques de l'IT > En mesure de gérer des cycles très courts > Autonome, utilisant les forums et communautés 19
  • 20. Choix technique de GlassFish ESB OpenESB vs. Oracle Fusion ..... • OpenESB, “the right size product”, retenu car: > Open Source, bien documenté, multi-OS, complet, exemples > Outillé et intégré avec NetBeans IDE (BPMN designer) > Architecture “élégante” JBI/ JSR 208 > “Service Engine” BPEL 2.0 pour exécuter les processus longs > “free” like “free beer”, au moins au début ... > “Proximité Sun” (ça compte aussi) • Support des standards et des technologies matures Web Services (JAX-WS 2.x, (REST)) > Convergence projet rapide avec le couple NetBeans / OpenESB 20
  • 22. Design Patterns utilisés • Patterns de la SOA pour gérer les processus métier longs > Modélisation des diagrammes d'activités avec un outil bureautique, puis en BPMN > Quelques patterns: process abstraction, capability composition, compensation, service contracts, ... • “Integration Entreprise Patterns” (les classiques) > Filtrer, transformer, router, découper, agréger • Patterns “composites” ESB/SOA > Unification de la sémantique d'appel des services tiers > Composition et orchestration de services réutilisables > Unification des concepts ESB, via l'exposition sous forme de WEB Services (Service encapsulation) 22
  • 23. Patterns utilisés – vue générale Vue Métier / UI Consommateur métier du Service sécurisé ● Messages corrélés Vue Métier des interface process ● Facade de services request/reply ● Décomposition fonctionelle ● Services orchestrés Vue des Services ● Message canoniques (xfo, enrich) Wire tap de contrôle / BAM ● Routage, logging ● Protocole canonique Services techniques Service Service ● Paysage applicatif request/reply Ressources iconographiques: http://soapatterns.org/, http://www.eaipatterns.com/toc.html 23
  • 25. Importance des “assets” • Définition précise des “end points” > Importance et qualité du contrat de service (WSDL) > Support des standards JAX-WS, WSI-Profile > Sémantique commune: collaboration, schémas > Réduction de l' “impedance mismatch” aux zones d'articulationet de discontinuité des systèmes • Respect des standards > Assets :Java/Java EE, XSD, BPEL, XLST, WSDL > Pour permettre les tests (SOAPui, BPEL-Unit, ...) > Pour permettre la gouvernance “run-time” et “design time” > Pour la portabilité et les évolutions futures 25
  • 26. Retours d'experience • Définir et gérer la qualité de service aux endroits névralgiques (temps de réponse, Trs/sec) • Exposer les services derrière une façade ou un mécanisme d'équilibrage évitant les phénomènes de surcharge des étages d'entrée (over-flooding) > Gérer les « time-out » protocolaires (HTTP) ou métier > Découpler via un MOM JMS • Gérer le versionning et les opérations de maintenance • Proposer des mécanismes de haute disponibilité 26
  • 27. Avantages – Inconvénients des solutions retenues • Pros: > Produits “agiles” par leurs tailles et fonctionalités > IDE à l'état de l'art (BPMN, Java), intégré > ESB “forçant” la séparation “exécution/procole” (“SE” vs. “BC) > Round trip aisé: “design, dev., deploy,debug, deploy, run” > Artéfacts légers (.zip pour les applications) > Industrialisation (install/start/stop/shutdown) • Cons: > Pas d'atelier métier > Versioning via des modèles de déploiement ou des produits tiers (Layer 7, AmberPoint, ...) > Monitoring/Managenent optionnel ou programmatique > Gouvernances via solutions tiers 27
  • 29. Volumétries • Plusieurs dizaines de processus métiers déployés • Plusieurs centaines de commandes journalières • Plusieurs milliers de processus en “mémoire” > Chaque processus peut durer jusqu'à 4 semaines > Les process BPEL sont “passivés” en BdD en attente de corrélation > Haute disponibilité via la base de données > Reprise en cas d'incident sur une autre instance d'ESB > Rejeu possible de message en cas d'exception • Execution de l'ESB sur un serveur Sun X64 • Supervision avec des outils du Net + customization 29
  • 30. Q's / R's
  • 31. 3 questions sur Glassfish ESB • Q1 Technologie / spécification au coeur de GF ESB • JSR 208 : http://jcp.org/en/jsr/detail?id=208 • Aka Java Business Integration / JBI v1.0 31
  • 32. 3 questions sur Glassfish ESB • Q2 citez trois « Binding Components » et 3 « Service Engines » • Service Engines > BPEL, DataMashup, Java EE, POJO, XSLT • Binding Components and Encoders > Database, Email, File, FTP, HTTP, JMS (includes JMS JCA) > LDAP, REST, Scheduler 32
  • 33. 3 questions sur Glassfish ESB • Q3 quelle est la dernière version disponible et sa date de sortie ? • GlassFish v2.2, sorti fin 2009 (21 décembre 2009) • “visible” début janvier 2010 33
  • 35. Bibliographie • Stratégie Oracle : > http://www.oracle.com/events/productstrategy/index.html#software • Références et blogs GlassFish et GlassFish ESB > http://blogs.sun.com/stories/ > https://open-esb.dev.java.net/OrganizationsUsingOpenESB.html • Pour commencer: > https://open-esb.dev.java.net/ > Web cast: http://webcast-west.sun.com/interactive/09C01941/index.html > Blue Prints SOA: https://blueprints.dev.java.net/bpcatalog/ee5/soa/ • Oracle Fusion Middleware > Oracle + Sun Product Strategy Webcast Series http://www.oracle.com/events/productstrategy/index.html#software > http://www.oracle.com/technology/products/middleware/index.html 35
  • 36. Bibliographie, quelques références • Soa Design Patterns / Thomas Erl • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions • Design Patterns: Elements of Reusable Object-Oriented Software • Et toutes les votres ... 36
  • 37. Merci 37