glassfish open esb for soa development
DESCRIPTION
TRANSCRIPT
![Page 1: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/1.jpg)
1
GlassFish Open ESB for SOA Development
Dr.Thanachart NumnondaBusiness Development DirectorSoftware LOBSun Microsystems (Thailand)
1
![Page 2: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/2.jpg)
What is SOA?
Principles and practices for designing shared, reusable, distributed services
SOA Attributes:● Separation of service interface from underlying
implementation (loose coupling)● Promotes service reuse through discoverable and self-
describing services● Services are course-grained, composable, and rely on
a standards based infrastructure
![Page 3: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/3.jpg)
The “Move” to Service Orientation
AccidentalRigid
Silo-Oriented
LayeredExtensible
Service-Oriented
![Page 4: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/4.jpg)
Layering Principle
• Shared Network-based Layered Services
Process Layer
Access Layer
Service Layer
Resource Layer
![Page 5: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/5.jpg)
SOA Architecture Layers
![Page 6: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/6.jpg)
SOA Architecture Layers
• Resources– Operational Resources; e.g. CRM, ERP, HR,
Databases– Enterprise components; technologies e.g.
Java, .NET, CORBA, PHP• Services
– Selected components which have been developed as services
– Can implement various way; e.g. Web Services
– Normally has well defined interface; e.g. WSDL
![Page 7: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/7.jpg)
SOA Architecture Layers
• Business Process– Represent powerful orchestration of one or
more services that solve a business problem– Business Process itself is a service of services
• Access – Front or User Interface that calls business
process– Web Programming, Desktop, Dashboard– Can be implemented to run on various
devices
![Page 8: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/8.jpg)
SOA Implementation
External/Internal Systems
Build Re-usable Services (ESB)
Business Process Management (BPEL)
Build User Interface (Web Programming)
![Page 9: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/9.jpg)
Why ESB?
• In most enterprise, Web Services are not the only middleware solution.
– Only SOAP is not adequate for services connection
• Other middlewares products, messaging servers, Java EE, ORBs, Databases etc..
– Other binding communication protocols may be need; such as JDBC, JMS, Files, SMTP,MSMQ
• ESB acts as an intermediary layer of middleware to communicates between services using various protocols.
![Page 10: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/10.jpg)
What is Open ESB?
• Project Open ESB implements an Enterprise Service Bus (ESB) runtime using JBI 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 11: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/11.jpg)
GlassFish OpenESB : Features
• Provides communication between services via different protocols (Not only HTTP/SOAP)
• Message interception capabilities• Routing capabilities• Transformation capabilities• Control over the deployment, usage and
maintenance of services• Other important managements
![Page 12: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/12.jpg)
BPEL
• Business Process Execution Language• Based on XML• BPEL 2.0 is latest version• Need BPEL Designer tool• Also BPEL Engine to run
![Page 13: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/13.jpg)
NetBeans BPEL Editor
![Page 14: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/14.jpg)
Open Source SOA Framework
External/Internal Systems
Build Re-usable Services (ESB) – openESB (GlassFish)
Business Process Management (BPEL) NetBeans / BPEL SE (GlassFish)
User Interface NetBeans (Visual JSF), GlassFish
![Page 15: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/15.jpg)
NetBeans Capability
• Testing Web Services • Create Web Services Client• Create Web Services Provider • Create a BPEL Module Project• Create XML Schema • Create WSDL Document• Create BPEL Process• Create a Composite Application Project• Deploy/Test Composite Application Project• Create Web Application as Access Layer
![Page 16: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/16.jpg)
Demo
![Page 17: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/17.jpg)
Demo
• Employee Database (Web Application)• e-Services• Twitter Services
![Page 18: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/18.jpg)
ESB: Services communication
• Using Web Services Protocols• Database Protocols (JDBC)
![Page 19: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/19.jpg)
Create a Web Service
• Create a Web /Java EE Project– Servlet Container– EJB Container
• Support Java EE 5 Web Service annotation• Create a New Web Service • Can deploy on GlassFish or Tomcat 6.0
![Page 20: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/20.jpg)
Twitter Web Services
![Page 21: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/21.jpg)
BPEL Process
• Create Business Process via services• Example Process
– Input Data– Calculate Tax– Insert Employee DB– Update Twitter– Send output
![Page 22: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/22.jpg)
Business Process
![Page 23: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/23.jpg)
Create a BPEL Module Project
![Page 24: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/24.jpg)
Create WSDL Document
• Use WSDL Designer (of NetBeans)• Create WSDL files using graphical editor
– Refactor across WSDL, XML and BPEL– Support different Binding type
![Page 25: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/25.jpg)
Create BPEL Process
• Use BPEL Designer (of NetBeans)• Visually author BPEL 2.0 business processes• Easily Create XPath expressions in the BPEL
Mapper
![Page 26: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/26.jpg)
BPEL Designer
![Page 27: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/27.jpg)
BPEL Mapper
![Page 28: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/28.jpg)
Create Composite Application Project
![Page 29: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/29.jpg)
Services Assembly
![Page 30: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/30.jpg)
Develop an Access Layer
• Composite Application Project can deploy a BPEL Module which in turn a Web Services
• Create a Web Service Client • Using Servlet /JSP• Support JSF / Struts Framework
![Page 31: GlassFish Open ESB for SOA Development](https://reader034.vdocuments.net/reader034/viewer/2022050801/547c64835806b5c73f8b4742/html5/thumbnails/31.jpg)
Visual JSF Designer