GlassFish Open ESB for SOA Development
description
Transcript of GlassFish Open ESB for SOA Development
1
GlassFish Open ESB for SOA Development
Dr.Thanachart NumnondaBusiness Development DirectorSoftware LOBSun Microsystems (Thailand)
1
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
The “Move” to Service Orientation
AccidentalRigid
Silo-Oriented
LayeredExtensible
Service-Oriented
Layering Principle
• Shared Network-based Layered Services
Process Layer
Access Layer
Service Layer
Resource Layer
SOA Architecture Layers
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
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
SOA Implementation
External/Internal Systems
Build Re-usable Services (ESB)
Business Process Management (BPEL)
Build User Interface (Web Programming)
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.
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
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
BPEL
• Business Process Execution Language• Based on XML• BPEL 2.0 is latest version• Need BPEL Designer tool• Also BPEL Engine to run
NetBeans BPEL Editor
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
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
Demo
Demo
• Employee Database (Web Application)• e-Services• Twitter Services
ESB: Services communication
• Using Web Services Protocols• Database Protocols (JDBC)
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
Twitter Web Services
BPEL Process
• Create Business Process via services• Example Process
– Input Data– Calculate Tax– Insert Employee DB– Update Twitter– Send output
Business Process
Create a BPEL Module Project
Create WSDL Document
• Use WSDL Designer (of NetBeans)• Create WSDL files using graphical editor
– Refactor across WSDL, XML and BPEL– Support different Binding type
Create BPEL Process
• Use BPEL Designer (of NetBeans)• Visually author BPEL 2.0 business processes• Easily Create XPath expressions in the BPEL
Mapper
BPEL Designer
BPEL Mapper
Create Composite Application Project
Services Assembly
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
Visual JSF Designer