OpenESB Java User Group Düsseldorf Christof Strack christof.strack@sun.com Sun Microsystems GmbH 1 Agenda Übersicht OpenESB und GlassFish als Laufzeitumgebung Vorstellung der wichtigsten Komponenten: BPEL SE, XSLT SE, JMS BC, HTTP BC, ... Deployment, Monitoring, Demo Ausblick: Was ändert sich mit OpenESB v3? 2 Open Source und Kommerziell Dual Licensing ­ Sun's Software Business Commercial Distribution (Schutz gegen Indemnification, Wartung) Open Source Distribution Geregelt durch Lizenz (e.g., GPL, CDDL, LGPL) Community Contributions Kontrolliert durch Governance Beeinflußt durch License Überwacht durch Committers Kontrolliert durch Sun Agreement Solaris 10 StarOffice Java SE TM OpenSolaris OpenOffice OpenJDK TM TM TM opensolaris.org openoffice.org openjdk.java.net TM 3 Sun's Open Stack Flexibel und Heterogen: Einfacher Einstieg Database Platform Application Infrastructure Virtualization Operating System Partners Architecture 4 Sun xVM Übersicht OpenESB und GlassFish als Laufzeitumgebung 5 Wiederverwendbare Services in SOA "Assemblement" anstelle von Entwicklung Auto Loans Mutual Stocks Funds Bill Pay Composite Applications Credit Card Mortgage Reusable Payment Management Credit Check Fraud Detection Access Services Interest Calc Balance Check Customer Data Trade Execution Internet Partner Credit Data Back-End System Back-End System Customer Data Business-Level Services 6 OpenESB & Java CAPS: Gemeinsame Plattform Community OpenESB, GlassfishESB, Java CAPS Portal Business Activity Monitoring EVENT PROCESSING | BUSINESS DASHBOARDS Open Source OPEN ESB OPEN SSO OPEN DS MURAL NETBEANS GLASSFISH PROJECT METRO Master Data Management SINGLE ENTITY VIEW Business to Business MESSAGE LIBRARIES Business Process Management ORCHESTRATION Enterprise Service Bus MEDIATION | ADAPTERS | ROUTING | TRANSFORMATION Infrastructure MESSAGE SERVER | APPLICATION SERVER | DIRECTORY SERVER | SINGLE SIGN-ON 7 Wiederverwendbare Services unter JBI Trennung von Business Logik von Kommunication Logik reduziert Komplexität und erhöht Flexibilität SEs und BCs können Service Providers, Consumers oder beides Service Engines (SEs): Wickelt Geschäftslogik und Transformation Services. Binding Components (BCs): Wickelt Kommunikation und Protokollhandling ab 8 JBI Architektur 9 Komponenten · Pluggable Integration Container > Komponenten gesteuert durch Runtime (SPIs) > Austausch der Komponenten mit Runtime (APIs) · Service Engine > Führen Geschäftslogik in lokaler VM aus > Rules, BPEL, Transformation, Java EE, ... · Binding Component > Protokoll/Transport Adapter mit Schnittstelle zu "Außen-Welt" > JMS, TCP/IP, FTP, CORBA, ... · Integrations-Entwickler stellen Artefakte für Komponenten bereit (bpel, xslt, wsdl, ...) 10 Normalized Message Router · Stellt Kommunikation Infrastruktur in JBI dar > Nachrichten basiert > Asynchron > Entkoppelt Consumer und Provider · Service Aufrufe werden als Standard Message Exchange Patterns (4 MEPs) repräsentiert: > InOnly ~ One Way (WSDL 1.1) > InOut ~ Request Response (WSDL 1.1) · Normalisierung der Nachricht ermöglicht Interoperabilität 11 Service Unit 12 Service Assembly 13 GlassFish als Laufzeitumgebung: Was macht GF so populär? Entwickler wollen > State of the Art Administratoren brauchen > Stabilität, Performance & Technologien, APIs und Java Runtimes > Einfache Benutzung in der Entwicklung - kein Overhead > Schnelle Build, Deploy & Test Zyklen > Fancy Stuff: Scripting Sprachen! Verfügbarkeit > Einfache Administrierbarkeit komplexer Topologien > Gute Diagnose und Troubleshooting Tools > Automatisierbarkeit der Administration GlassFish adressiert beide Zielgruppen eines Application Servers - Administratoren und Entwickler 14 Vorstellung BPEL SE, XSLT SE, JavaEE SE, JMS BC, .. 15 Data Zugriff und Manipulation · Adapter > > > > > > Database BC Corba BC File BC, FTP BC SAP BC LDAP BC ... · Data Extraktion, Konversion und Transformation > BPEL SE > XSLT SE > Camel SE · Data Integration Insgesamt 43 Komponenten > ETL SE > IEP SE 16 BPEL 2.0 Service Engine · Unterstützt BPEL 2.0 · Langlaufende Geschäftsprozesse lassen sich abbilden · Debugging von Geschäftsprozessen · Implementiert Endpoint Statistiken · Unterstützt Ausführung paralleler Prozesse (MultiThreading) · Unterstützt Persistenz von Geschäftsprozess Instanzen für Wiederaufnahme nach Systemausfall · Unterstützt Load Balancing und Hochverfügbarkeit wenn BPEL SE im clustered-Mode betrieben wird (Persistenz erforderlich) · Schwellwerte für Auslagerung (Passivierung) von ProzessInstanzen einstellbar 17 Intelligent Event Processor (IEP) · Ergänzt traditionelle Business Intelligence um Echtzeit Analyse · Verwendet Continous Query Language (CQL) · Beispiel: Überwachung des Nutzungsverhaltens von Bankkunden 18 XSLT Service Engine · XSLT Service Engine ist JBI Komponente die XSL Stylesheets als WS bereitstellt · XSL-basierte Transformations-Prozesse · Szenarien: Request-Reply, Filter · Mehrfache Aufrufe und Transformationen · Erweiterbar durch Java Extension Funktionen, die mit XSLT Projekt verpackt werden 19 XSLT SE 20 Java EE Service Engine Verbindet Java EE mit JBI Java EE Services werden über NMR direkt nutzbar Registrieren EJB Web Services auf NMR Aufruf vom NMR weitergeleitet zu EJB oder JAXWS Service · Spezifisch für GlassFish Implementation · Liegt JBI Bridge Konzept zu Grunde (Repository Based Services) · · · · 21 JMS BC · Behandelt Text, XML und binäre Daten · Sun MQ, Sun JMS Grid, WebSphere MQ, WebLogic JMS, JBoss JMS · Generischer JNDI Support 22 Deployment, Monitoring, Demo 23 Tool gestützte Komposition · Editoren zur Entwicklung von Web Service: EJB, JBI, JAX-WS, WSDL, BPEL und andere · Composite Application Editor (CASA) zum Zusammensetzen von Lösungen > Service Konfiguration entkoppelt von Implementation · .NET Interoperabilität 24 Admin Console M&M Framework Alle JBI relevanten Administrationsschritte sind in die Glassfish Admin Konsole integriert 25 M&M Framework · M&M Funktionalität ist erreichbar über: > Common M&M API > Sun Application Server/Glassfish > > > > Admin Console (browser) NetBeans Admin Plugins asadmin CLI, ant Jede JSR-223 Scripting Sprache ESB Console 26 ESB Console · Open Source Project auf java.net > https://esb-console.dev.java.net · Zentraler Management Server ermöglicht Drill-Down und ist erweiterbar durch Plugins · Verwaltet mehrere Server (Glassfish V2, Glassfish V3, Fuji, DAS) · Anzeigen von Performance Statistiken (graphisch) · Drucken von Reporten als PDF Datei · Überwachung und Benachrichtigung von SLA Schwellwerten 27 Demo 28 Übersicht Demo Deployment Composite Application BPEL Module -Schema -WSDL -BPEL SOAP BC -Schema -WSDL EJB Module -WSDL -EJB Aufrufsequenz SOAP BC BPEL Module EJB Module 29 Ausblick: Was ändert sich mit OpenESB V3 30 Vereinfachen Service Composition · Komplexität in der Plattform vermeiden · Service Composition via IFL > Vermeiden höherer Komplexität für Integration, wenn nicht unbedingt erforderlich > Ergänzt komplexere Orchestrierung (BPEL) 31 EAI Pattern Split Aggregate Message Filter Broadcast Content Based Routing Wire Tap, Detour, Routing Slip, Scatter Gather, Dynamic Router · Weitere werden für TP1 zur JavaOne2009 implementiert · · · · · · 32 Integration Flow Language (IFL) · Integration Flow Language (IFL) ist eine Domain Specific Language (DSL) mit folgenden Zielen: > Beschreiben des konkrete Nachrichtenflusses ("flow") zwischen Services > Ermöglichen auf einfachen Weg Services zusammenzufügen > Native Unterstützung der bekanntesten Integrations-Muster um Integration durch komplexere Konstrukte (BPEL) zu vermeiden · Warum eine eigene Sprache? > Kann in einfachen Text-Editoren erstellt werden, erhöht Produktivität > Einfacher zu Lesen ohne zusätzliche Syntax-Elemente (Klammern in XML) > Zielt auf spezifische Aufgabe (Integration) 33 Projekt Fuji Basis für GlassFish ESB v3 https://fuji.dev.java.net/ 34 Work List Manager SE Human Task Management · Modular (JBI) pluggable open source component · Beinhaltet Beispiele für Work List Manager Web Application · Geplant für Q209 35 Distributed JBI: Distributed Registry · Logische Sicht einer verteilten Registry · Registeriert Endpunkte sind auf allen Instanzen sichtbar 36 Verteilter JBI (Distributed JBI) 37 Medavie Blue Cross Herausforderung · Versicherung mit Dienstleistungen für Personen und Unternehmen · Umstellung Settlement von Versicherungsansprüchen (300.000 pro Tag) · Kein Vendor Login · Einführung einer integrierten Applikation Infrastruktur über alle Bereiche der Organization · Beinhaltet Integration und Sicherheitslösungen · Reduzierung der Betriebskosten Planungssicherheit Lizenzmodell (Subscription Modell) · Höhere Service Qualität, Fraud Detection 38 Lösung Nutzen Medavie Blue Cross: Online Settlement GlassFish v2 Servlet Container Normalized Message Router JBI Runtime BPEL SE Generate Claim Settlement Event Interblue Process Group JAX-WS ... Java EE Service Engine 5 4 WS-Notification SE Broker Interblue Service JDBC BC 3 2 Interblue DB Legacy Claims DB 1 Legacy Claims System 39 Sun Open Source Software Jetzt die Chancen nutzen! · Bestes Preis/Leistungsverhältnis · Hoch skalierbare und ausfallsicher betreibbare Technologien · Keine Lizenzkosten · Professioneller Support und attraktive Supportmodelle · Duale Lizensierung ­ Schutz des geistigen Eigentums und vor Idemnification · Binärdistributionen ­ Zertifizierungsprogramme, leichte Installation und einfache Handhabung von Release Updates Wettbewerbsfähigkeit verbessern 40 Gegenüberstellung der Produkte: Features Eine komplette Liste der Features mit Zuordnung zu den Produkten ist unter zu finden: https://open-esb.dev.java.net/glassfishesb/features.html 41 OpenESB: Zusammenfassung · Offene, erweiterbare Plattform · Leveraging the strength of Sun > Einzige OpenSource MDM Lösung > Integration Leadership seit 1989 > Anforderungen für ein erfolgreiches Ecosytem > 5X growth in Sun software development contribution · Umfassend: Event Processing, MDM · Bewährter Business Integration Specialist 42 Get Started.. · · · · · http://www.sun.com/soa http://open-esb.org http://fuji.dev.java.net http://glassfish.dev.java.net http://netbeans.org 43 OpenESB Java User Group Düsseldorf Christof Strack Sun Microsystems GmbH 44