glassfish open esb for soa development

32
1 GlassFish Open ESB for SOA Development Dr.Thanachart Numnonda Business Development Director Software LOB Sun Microsystems (Thailand) 1

Upload: zubin67

Post on 30-Nov-2014

1.983 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: GlassFish Open ESB for SOA Development

1

GlassFish Open ESB for SOA Development

Dr.Thanachart NumnondaBusiness Development DirectorSoftware LOBSun Microsystems (Thailand)

1

Page 2: GlassFish Open ESB for SOA Development

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

The “Move” to Service Orientation

AccidentalRigid

Silo-Oriented

LayeredExtensible

Service-Oriented

Page 4: GlassFish Open ESB for SOA Development

Layering Principle

• Shared Network-based Layered Services

Process Layer

Access Layer

Service Layer

Resource Layer

Page 5: GlassFish Open ESB for SOA Development

SOA Architecture Layers

Page 6: GlassFish Open ESB for SOA Development

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

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

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

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

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

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

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

NetBeans BPEL Editor

Page 14: GlassFish Open ESB for SOA Development

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

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

Demo

Page 17: GlassFish Open ESB for SOA Development

Demo

• Employee Database (Web Application)• e-Services• Twitter Services

Page 18: GlassFish Open ESB for SOA Development

ESB: Services communication

• Using Web Services Protocols• Database Protocols (JDBC)

Page 19: GlassFish Open ESB for SOA Development

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

Twitter Web Services

Page 21: GlassFish Open ESB for SOA Development

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

Business Process

Page 23: GlassFish Open ESB for SOA Development

Create a BPEL Module Project

Page 24: GlassFish Open ESB for SOA Development

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

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

BPEL Designer

Page 27: GlassFish Open ESB for SOA Development

BPEL Mapper

Page 28: GlassFish Open ESB for SOA Development

Create Composite Application Project

Page 29: GlassFish Open ESB for SOA Development

Services Assembly

Page 30: GlassFish Open ESB for SOA Development

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

Visual JSF Designer

Page 32: GlassFish Open ESB for SOA Development

32

Thank you

[email protected]/thanacharttwitter.com/thanachartwww.thaijavadev.com

32