SOA Using OpenESB, BPEL and NetBeans

1,295 views
1,168 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,295
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SOA Using OpenESB, BPEL and NetBeans

  1. 1. SOA using OpenESB, BPEL, and NetBeans ● Sergey Lunegov –Engineering Manager ● Sun Microsystems, Inc. 1
  2. 2. Agenda • Services and SOA • JBI • Open ESB • Open ESB tooling • Demo 2
  3. 3. Services and SOA
  4. 4. Traditional Application Development • Point technologies, products, and APIs > For example: EJB, Spring, Hibernate, JSF, Servlets, Struts, etc. • Lots of glue written by developers > Requires a great deal of expertise & time > Inflexible 4
  5. 5. Service Oriented Architecture (SOA) • An architectural principle for structuring systems into coarse-grained services • Technology-neutral best practice • Emphasizes the loose coupling of services • New services are created from existing ones in a synergistic fashion • Strong service definitions are critical • Services can be re-composed when business requirements change 5
  6. 6. What Are Services? • Black-box components with well-defined interfaces > Performs some arbitrary function > Can be implemented in myriad ways • Accessed using XML message exchanges > Using well-known message exchange patterns (MEPs) • Metadata in the form of WSDL describes... > Abstract interfaces > Concrete endpoints 6
  7. 7. What Can Services Do? • Perform business logic (EJB ™) • Transform data (XSLT) • Query databases (SQL) • Apply business policy (Business rules) • Orchestrate conversations between multiple services (BPEL) • Humans (WLM) •… 7
  8. 8. Benefits of SOA • Flexible (Agile) IT > Adaptable to changing business needs • Faster time to market > Reuse existing code > Minimize new development • Business- and process-driven > Enables new business opportunities • Greater ROI > Leverage existing IT assets 8
  9. 9. JBI
  10. 10. ESBs are all about decoupling “An ESB is a Web-services-capable middleware infrastructure that supports intelligent program-to-program communication and mediates the relationships among loosely-coupled (SOA) and uncoupled (event-driven) business components.” - Roy Schulte 10
  11. 11. What Is JBI? • Java Business Integration (JSR 208) • Standard “meta-container” for integrated services • Provides for plug-in: > Service Engines (SE): business logic > Binding Components: communications protocols • Standard deployment model • Loose coupling via WSDL message exchanges between WSDL described Services 11
  12. 12. Service Provider Self-Description Components register the services they provide Orchestration Transformation Java EE (BPEL) (XSLT) Platform WSDL WSDL WSDL Management System JBI Normalized Message Router Core Services WSDL WSDL WSDL WS-I Basic AS2 JMS SOAP Java EE Platform 12
  13. 13. The JBI lingo • The Normalized Message Router: NMR > A switchboard; not jms • Message exchanges patterns > In-only or “post” > In-out or “request-reply” • WSDLs • Service engines > XSLT, BPEL, EE, IEP, ... • Binding components > HTTP BC, JMS BC • Service units and service assemblies > What gets deployed: .bpel, .ear, .xslt, ... Slide 13
  14. 14. Normalized Message Router: NMR • What it is: > A conduit for one component to call another > Makes calls asynchronous • What it is not: > Not JMS > Should not be used for queuing / buffering > No persistence > Transaction spans consumer and producer > No load balancing Transaction boundaries should be chosen by the developer, NOT imposed by the NMR Slide 14
  15. 15. Service Engines • Service Engines are containers that execute business logic • Business logic gets deployed into service engines • Service Engines get installed into JBI Runtime • Examples: > XSLT, BPEL, EE, IEP, ... Slide 15
  16. 16. Binding Components • Binding components proxy messages to services hosted somewhere else > e.g. HTTP BC, JMS • Binding components are not APIs to external systems > JMS BC does not expose JMS API > File BC does not expose file system API > e.g. request-reply with FileBC • Fine grained access: > Write EJBs to use APIs (e.g. javax.jms.*, java.io.File) and deploy in EE SE Slide 16
  17. 17. Service Units and Assemblies • Service Unit > Set of files that are deployed into a component > These files are what make up the application > Examples: BPEL file, EAR file, XSLT file, Bindings (e.g. wsdl) • Service Assembly > Collection of Service Units > a ZIP file that gets deployed into JBI Runtime Slide 17
  18. 18. Open ESB
  19. 19. What is Open ESB? • Project Open ESB implements an Enterprise Service Bus (ESB) runtime using Java Business Integration as the foundation > This allows easy integration of web services to create loosely coupled enterprise class composite applications. • It also provides various tools for the development, deployment, and management of composite applications 19
  20. 20. Design-Time Runtime Management IDE Web Server Java EE App Server BPEL XSLT FTP Many More Composite SE SE BC SEs… Composite EJBs Application Java EE Application Project Servlets SE JBI Bus Manager HTTP FTP FTP Many More BC BC BC BCs… BPEL BPEL Editor 3rd Party Monitor Open Standard Based Service Platforms Service Bus WS-Reliable Messaging XSLT WS-Security XSLT 3rd Party Editor WS-FastInfoSet, … Service Monitor Platforms IEP IEP Editor Java EE Monitor App Server HTTP FTP FTP Many More BC BC BC BCs… EJBs Java EE Servlets SE JBI Bus Many More Many More Many More Editors BPEL XSLT FTP Many More Editors Many More Editors SE SE BC SEs… Monitors 20
  21. 21. OpenESB components • Service Engines • Binding components > BPEL > File > XSLT > FTP > EE > SMTP > SQL > SAP > WLM > JMS > IEP > CORBA > ETL > HTTP > 150+ more 21
  22. 22. Open ESB tooling
  23. 23. XSLT Editor • Handles XSL Transformations > XSLT rules support > predicates support 23
  24. 24. IEP Editor • IntelligentEvent Processor provides > RT event collection > RT event notification and event triggers > RT event processing: aggregation, filtering, partition, and correlation 24
  25. 25. BPEL (Business Process Execution Language) • XML-based language used to specify business processes based on Web Services • BPEL processes describe > Long running, stateful, transactional, conversations between two or more partner web services • BPEL is key to implementing SOA Big Rules > Conversational > Mostly Async > XML Document-based > Orchestrated 25
  26. 26. Visual Service Orchestration 26
  27. 27. Why Do You Care on BPEL? • In SOA-enabled environment, you are more likely to build an application by orchestration various services via BPEL • You will probably use BPEL design tool to create a BPEL document • The BPEL document is then executed by BPEL engine > Highly likely in JBI enabled platform 27
  28. 28. Composite Applications • Composite application exposes a Service > Coarse grained > Business value • Layers > Technical services layer > Orchestration layer > Aggregation layer • Multiple layers can be in one Composite Application, or... • Layers can be made up from multiple Composite Applications > e.g. one or more Composite Applications per layer 28
  29. 29. CASA Editor • Assembles serice units • Configures service assembles 29
  30. 30. Summary
  31. 31. Summary • SOA enables flexible and agile enterprise application architecture • BPEL is a service orchestration language for creating composite applications • Services can be re-implemented using other technologies as long as service interfaces are preserved without changing consumers • Java Business Integration (JBI) is the enabling infrastructure 31
  32. 32. Demo
  33. 33. SOA using Open ESB, BPEL and NetBeans ● Sergey Lunegov –Engineering Manager ● Sun Microsystems, Inc. 33

×