Your SlideShare is downloading. ×
GlassFish ESB Ch'ti JUG
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

GlassFish ESB Ch'ti JUG

2,186
views

Published on

Published in: Technology

1 Comment
0 Likes
Statistics
Notes
  • La présentation est sympa et très intéressante (et le serait encore plus avec le discours!), je l’ai transmise à toute l’équipe Petals Link.

    Il existe trois ESB JBI Open source dans le monde, et l’un est français. Moins outillé et agréable que Glassfish ESB, il offre cependant certaines différences, dont d’être plus léger et nativement distribué. Et d’être plus accessible qu’Oracle ;-)

    Le projet, Petals ESB, est hébergé par OW2
    http://petals.ow2.org

    Mathieu, de l’équipe Petals
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
2,186
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Belle introduction 1
  • 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
  • 5. GlassFish ESB
  • 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
  • 18. ESB drivers
  • 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
  • 21. Patterns utilisés
  • 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
  • 24. Retours d'expérience
  • 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
  • 28. Volumétries
  • 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
  • 34. Bibliographie
  • 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