SOA Using OpenESB, BPEL and NetBeans
Transcript of SOA Using OpenESB, BPEL and NetBeans
![Page 1: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/1.jpg)
1
SOA using SOA using OpenESB, BPEL, OpenESB, BPEL, and NetBeansand NetBeans●Sergey LunegovSergey Lunegov–Engineering ManagerEngineering Manager●Sun Microsystems, Inc.Sun Microsystems, Inc.
1
![Page 2: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/2.jpg)
2
Agenda• Services and SOA• JBI• Open ESB• Open ESB tooling• Demo
![Page 3: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/3.jpg)
Services and SOAServices and SOA
![Page 4: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/4.jpg)
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
![Page 5: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/5.jpg)
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
![Page 6: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/6.jpg)
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
![Page 7: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/7.jpg)
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)• …
![Page 8: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/8.jpg)
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
![Page 9: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/9.jpg)
JBI JBI
![Page 10: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/10.jpg)
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
![Page 11: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/11.jpg)
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
![Page 12: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/12.jpg)
12
JBICore
ServicesNormalized Message Router
Java EE Platform
Sys
tem
Man
agem
ent
Orchestration(BPEL)
Transformation(XSLT)
Java EE Platform
AS2 JMSWS-I BasicSOAP
Service Provider Self-Description
WSDL WSDL WSDL
WSDLWSDLWSDL
Components register theservices they provide
![Page 13: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/13.jpg)
Slide 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, ...
![Page 14: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/14.jpg)
Slide 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 boundariesshould be chosen by the developer,
NOT imposed by the NMR
![Page 15: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/15.jpg)
Slide 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, ...
![Page 16: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/16.jpg)
Slide 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
![Page 17: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/17.jpg)
Slide 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
![Page 18: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/18.jpg)
Open ESBOpen ESB
![Page 19: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/19.jpg)
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
![Page 20: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/20.jpg)
20
IDE Web Server
BPELEditor
Java EESE JBI Bus
XSLTSE
HTTPBC
FTPBC
FTPBCMany MoreSEs…
FTPBCMany MoreBCs…
App
Ser
ver
XSLTEditor
CompositeApplication
Project
IEP Editor
CompositeApplicationManager
Runtime
BPELSE
Java EE
EJBs
Servlets
Java EESE JBI Bus
XSLTSE
HTTPBC
FTPBC
FTPBCMany MoreSEs…
FTPBCMany MoreBCs…
App
Ser
ver BPEL
SE
Java EE
EJBs
Servlets
Design-Time Management
3rd PartyService
Platforms
3rd PartyService
Platforms
Open Standard Based Service BusWS-Reliable MessagingWS-SecurityWS-FastInfoSet, …
Many MoreEditorsMany MoreEditors
IEPMonitor
BPELMonitor
XSLTMonitor
Many MoreEditorsMany MoreMonitors
![Page 21: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/21.jpg)
21
OpenESB components• Service Engines
> BPEL> XSLT> EE> SQL> WLM> IEP> ETL
• Binding components> File> FTP> SMTP> SAP> JMS> CORBA> HTTP> 150+ more
![Page 22: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/22.jpg)
Open ESB tooling Open ESB tooling
![Page 23: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/23.jpg)
23
XSLT Editor• Handles XSL
Transformations> XSLT rules
support> predicates
support
![Page 24: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/24.jpg)
24
IEP Editor• IntelligentEvent
Processor provides > RT event collection> RT event notification and
event triggers> RT event processing:
aggregation, filtering, partition, and correlation
![Page 25: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/25.jpg)
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
![Page 26: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/26.jpg)
26
Visual Service Orchestration
![Page 27: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/27.jpg)
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
![Page 28: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/28.jpg)
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
![Page 29: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/29.jpg)
29
CASA Editor• Assembles
serice units• Configures
service assembles
![Page 30: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/30.jpg)
SummarySummary
![Page 31: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/31.jpg)
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
![Page 32: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/32.jpg)
DemoDemo
![Page 33: SOA Using OpenESB, BPEL and NetBeans](https://reader034.fdocuments.us/reader034/viewer/2022042515/5566a524d8b42a643c8b4a1d/html5/thumbnails/33.jpg)
33
SOA using Open ESB, SOA using Open ESB, BPEL and NetBeansBPEL and NetBeans●Sergey LunegovSergey Lunegov–Engineering ManagerEngineering Manager●Sun Microsystems, Inc.Sun Microsystems, Inc.
33