JBI And OpenESB - .java

Transcription

JBI and OpenESBIntroduction to TechnologyMichael CzapskiAdvanced Solutions Architect, SOA/BI/Java CAPSSun Microsystems, ANZ

Learn what JBI and OpenESB are intended toaddress and how they go about it.2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 2

What is the problem?Proprietary Enterprise Application Integration TechnologiesEnterprise Application Integration vendor lock-in2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 3

AgendaEAIJBIOpenESBDemonstration2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 4

AgendaEAIJBIOpenESBDemonstration2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 5

Enterprise Application IntegrationUses of software and computer systems' architecturalprinciples to integrate a set of enterprise computerapplications Wikipedia,http://en.wikipedia.org/wiki/Enterprise application integrationPurposes Data/Information Integration Process Integration Common Facade Legacy De-coupling Foundation for Implementation of Enterprise Architectures Vendor Independence2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 6

Enterprise Application IntegrationApproaches File Transfer Shared Database RPC MessagingModels Point-to-Point Hub-and-Spokes / Brokered Bus2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 7

Enterprise Application IntegrationServices Connectivity Message Routing Data Transformation Data Enrichment Data Replication Orchestration Composition Mediation Federation Auditing2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 8

AgendaEAIJBIOpenESBDemonstration2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 9

What is JBI?JCP JSR (208) defines an extensible, standards basedintegration architectureAllows third-party components to be “plugged in” into astandard integration infrastructureComponents communicate via WSDL-based mediatedmessage exchangesDefines a 'meta-container' or 'container of containers'Dependency on Java SE/Java EE dex.html2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 10

Who is participating in JBI?ApacheBorlandCap aNovellOak Grove SystemsOracleResearch In MotionSAP AGSonic SoftwareSun MicrosystemsSybaseTmax SoftTIBCOVignetteWebMethodsSid AskaryJie LiuTimothy Potter2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 11

Why JBI?Provides an open integration infrastructureProvides a service-oriented integration frameworkCreates a multi-vendor pool of integration componentsGive users the choice of components to useEliminates vendor lock-inFosters innovation2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 12

What does JBI provide?Standard “meta-container” for integrated servicesManages communication between componentsHosts plug-in: Service Engines: business logic Binding Components: communications protocolsStandardises component interfacesStandardises component lifecycleStandardises deployment modelStandardised monitoring and management frameworkFosters loose coupling via WSDL interfacesImplements WSDL 2.0 Message Exchange Patterns2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 13

What does JBI Architecture look like?Normalized Message entSystemManagementService EnginesBinding ComponentsJ2SE /J2EE Platforms2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 14

Service EnginesExample SEs and BCsTransformation(XSLT)JavaEE PlatformJBICoreServicesNormalized Message )Binding ComponentsJMSJ2EE Platform2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 15

For whom is JBI intendedDevelopers of Service Engines and Binding ComponentsDevelopers of JBI-based integration solutions2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 16

What does SE/BC Developers do?Develops Service Engines and Binding Components 4 interfaces to implement – component management Bootstrap - install, uninstall component ComponentLifeCycle - start, stop, shutdown component Component - query for lifecycle, service description ServiceUnitManager (optional) – deploy,undeploy services4 interfaces to use – message exchange ComponentContext - component settings, manage serviceendpoints, manage delivery channel DeliveryChannel - send and receive messages NormalizedMessage – holds message xml MessageExchange – holds the message and state of exchangeRest is your creative code – message processing2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 17

What does SE/BC Users do?Develops integration solutions Design and implement Service Units (Business Logic)Configure Binding Components (Adapters/Connectors)Construct and deploy Composite ApplicationsManage and monitor integration solutions2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 18

AgendaWhat is IntegrationWhat is JBIOpenESBDemonstration2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 19

The OpenESB ProjectOpen Source Enterprise Service Bus (ESB)JavaTM Business Integration (JBI) Reference ImplementationUses NetBeans 6.x IDE at development timeDeploys runtime solutions to Glassfish/Sun App Server 9 http://open-esb.org/2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 20

OpenESB2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 21

OpenESB ArchitectureNormalized Message entSystemManagementService EnginesBinding ComponentsJ2SE /J2EE Platforms2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 22

Normalised Message Router (NMR)Backbone of JBIRoutes between JBI ComponentsUses WSDL-based service descriptorsService Providers and Consumers are de-coupledMessages exchanged in “Normalized” formatMessage Exchanges are short-lived (JBI 1.0)Implements WSDL 2.0 Message Exchange Patterns2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 23

Normalised MessageProtocol-specific messages are normalized and routedSEs and BCs do not talk directly to each otherA normalized message consists of 3 parts payload metadata message attachmentsProtocol-supplied message context is preservedNon-XML messages can be Encoded/Decoded2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 24

Message Exchange PatternsOne-Way: consumer issues a request to provider with noerror (fault) path provided.Reliable One-Way: consumer issues a request toprovider. Provider may respond with a fault if it fails toprocess request.Request-Response: consumer issues a request toprovider, with expectation of a response. Provider mayrespond with a fault if it fails to process requestRequest Optional-Response: consumer issues a requestto a provider, which may result in a response. Consumerand provider both have the option of generating a fault inresponse to a message received during the interaction2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 25

System Management and AdministrationJava Management eXtensions (JMX) basedProvides life cycle services for SEs and BCs Install SE/BC Start SE/BC Stop SE/BC Shutdown SE/BC Uninstall SE/BCProvides life cycle services for composite applications Deploy Service Assembly Start Stopping Service Assembly Shut down Service Assembly Undeploy Service Assembly2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 26

Service Engines and Binding ComponentsService Engines (SEs) are pluggable containersBinding Components (BCs) are pluggable componentsSEs and BCs provide and/or consume servicesSEs host Service Units (SUs)Service Units (SUs) implement business logicBCs provide the ‘knowledge’ or external systemsBCs provide the ‘knowledge’ of communication protocols2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 27

Available Components (March 2008)Aspect SEBPEL SEData Mashup SEEncoding SEETL SEIEP SEScripting SESQL SEWLM SEXSLT SEMuralCICS BCCORBA BCDCOM BCeMail BCFile BCFTP BCHL7 BCHTTP BCIMS BCJDBC BCJMS BCLDAP BCMQ Series BCMSMQ BCRSS BCSAP BCSIP BCSMTP BCSNMP BCSWIFT BCTCPIP BCUDDI BCXMPP BC2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 28

OpenESB NetBeans ToolingSOA Projects categoryJBI Module projects – Service Units for SEComposite application project – Service AssemblyWSDL Extensions – Service Unit artefact for BCSU Editor – Service Unit artefact editor for BPEL, SQL, WSDL Editor – Service Unit artefact editor for BCCASA – Composite Application Service Assembly Editor2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 29

OpenESB Tooling – BPEL Editor2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 30

OpenESB Tooling – BPEL Debugger2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 31

OpenESB Tooling - CASA2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 32

OpenESB RuntimeOpenESB is installed as a life cycle module in GlassFishGUI admin console deployed in Glassfish's servletcontainerReuses Glassfish's transaction manager, clusteringsupport etc.2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 33

AgendaWhat is IntegrationWhat is JBIOpenESBDemonstration2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 34

JMS to File with Web Service InvocationOpenESBBPEL SE, File BC, JMS BC, Java EE SE2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 35

SummaryJBI is intended to address major integration problems Lack of standardisation and vendor lock-inOpenESB is the framework for developing SEs and BCsOpenESB is the framework for developing EAI solutionsOpenESB is the reference implementation for JBI 1.0OpenESB is Open Source and community drivenYou can have and use it now 2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 36

For More InformationJBI http://www.jcp.org/en/jsr/detail?id 208 http://java.sun.com/integration/OpenESB Home https://open-esb.dev.java.net/ https://open-jbi-components.dev.java.net http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page JbicompsGlassFish Home https://glassfish.dev.java.net/JavaEE SDK ples and Demos: http://enterprise.netbeans.org/2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 37

Michael Czapski, Advanced Solutions ArchitectMichael.Czapski@sun.com2008 Sydney Tech Days Conference au.sun.com/sunnews/events/2008/techdays 38

JBI and OpenESB Introduction to Technology Michael Czapski Advanced Solutions Architect