Kualalumpur Soa Bpel Bj
Transcript of Kualalumpur Soa Bpel Bj
-
8/2/2019 Kualalumpur Soa Bpel Bj
1/91
Building CompositeApplications with SOA, BPEL
and Java EE
Dmitri Shiryaev, Ph.D.
Sun MicrosystemsSun Microsystemshttp://developers.sun.comhttp://developers.sun.com
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
2/91
Part 1 : :55 Min Approx
Intro to Applications / Services 2 min
Intro SOA : 2 Min
Java 5 & Java EE Services: 2 min
Why NetBeans & Ent Pack : 2 Min
BPEL : 2
Benefits using SOA : 2 Min
Summary : 2 Min
Intro to BPEL designer : 2
XML editor : 2
WSDL editor : 2
Runtime : 3 StockQuote Demo : 15 Min
Do not forget to mention about BPEL HOL.
Q & A : 7 Min (optional)
Part 2 : 50 Min
Intro Service composition: 3 min
CompApp/CAPS : 2
Service Assembly/CASA : 2
Binding components : 2
services engines : 2
IEP : 2
Gavotte/Hula features : 5 Min
CASA Demo : 15 Min
Do not forget to mention about BPEL HOL.
Q & A : 7 Min
CASA demo : 25 Min
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
3/91
Goal
Visualizing and developing
Composite Applications
using SOA and Java EE
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
4/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix
Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
5/91
Applications
Developers need to build end-to-end applications> Front-end user interfaces> Middle-tier business logic
> Back-end resources With the right approach, developers can...
> Reuse existing parts> Build new parts> Glue old and new parts together
With the wrong approach, developers must...> Reimplement functionality existing elsewhere
> Spend massive effort to evolve applications
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
6/91
Applications
Real-world applications are...> Web applications> Java EE applications
> Swing forms> Web services> BPEL processes> SOA
> JBI> RDBMSs> (your favorite technology)
Real-world applications use many or all of these
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
7/91
Applications
Traditional model of 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
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
8/91
This is a complex world !
Channels
Provisioning
SuppliersInternal UsersCustomersPartners
InventoryBillingCRMLegacy
Information Assets
$ $$
$$
$
$$
$$
$
$
$
$
$ $$
Inflexibility of IT Infrastructure
Complexity ofIntegration Projects
Integration Costs
Time to Market
Limited Partnering Flexibility
Limitations of EDI
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
9/91
Composite Applications
A way to compose applications from reusable parts
Comprised of heterogeneous parts> Some existing parts
> Some new parts> Some glue to connect these parts
Composite applications are Applications!
> Composite applications != SOA Composite applications employ SOA principles
> Features exposed as Web services> Standards-based interaction between services> Are themselves composable
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
10/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
11/91
Service Oriented Architecture (SOA)
An architectural principle for structuring systemsinto 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
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
12/91
Business-IT Context for SOA Creating an IT environment to supportcontinuous business optimization
Structures your IT applications in line withyour business processes
Speeds business change Facilitates business connections
Enchances business control
Heavy focus on flexible interconnectionswith carefully managed qualities of service(QoS)
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
13/91
SOA and Web Services Web services are most people's first and only
exposure to SOA Only one manner of service access
Message-oriented middleware (MOM)
CORBA, RMI, DCOM, raw sockets, Email etc.
SOA architectures tend to be best implementedusing web services as the middleware technology
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
14/91
Why Services?
SOA = an architectural principle forstructuring systems
SOA emphasizes the de-coupling of systemcomponents
New services are created from existingones in a synergistic fashion
Strong service definitions are critical
Services can be subsequently re-composedin response to changing business
requirements
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
15/91
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)
Services are self-describing
Metadata in the form of WSDL describes...> Abstract interfaces> Concrete endpoints
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
16/91
What Does a Service Do?
Transform data
Route messages
Query databases Orchestrate conversations
Apply business logic
Apply business policy
Handle business exceptions
Solicit approvals
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
17/91
How Are Services Implemented?
Enterprise JavaBeans (EJB) technology
BPEL
XSLT
SQL
Business rules
Mainframe transaction
EDI transform
Humans (yes, really!)
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
18/91
Guide to the SOA Galaxy
You are here
4. ESB2. BPEL
3. JBI
5.Java CAPS1. Intro
6. The AnswerTo Everything
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
19/91
Sun Microsystems Inc. Proprietary 19
PracticePlatform
People ProcessThe Who?
The What?
The How?The Where?
SOA
The 4Ps to achieve SOA
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
20/91
Why SOA?Were not building new, green field applications anymore
We buy applications whenever possible.
And, we leverage these new applications along with ourexisting inventory of application and data assets.
These are Composite Applications
A composite application is a collection ofexisting applications and data stores, as well asnew business logic, that is orchestratedtogether to create a solution to a businessproblem that none alone can solve.
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
21/91
An SOA can deliver the benefits of Functional DecompositionFunctional decomposition defines asystem in which each component is
described in terms of its own,independent functionality.
A side effect is that the interfacesbetween components are well-definedahead of the implementation of thosecomponents.
When a system is composed ofcomponents with discrete functionalityand well-defined interfaces, eachspecific implementation of acomponent becomes readilyinterchangeable with other
implementations of that component.
Consider a bicycle. You can buycomponents from different vendorsand these components can all bebolted together to create a bicycle thatfits your unique set of requirements
and preferences.
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
22/91
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
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
23/91
SOA Layers
Process Layer
Service Layer
Resource Layer
Access Layer
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
24/91
The Move to SOA
Non-Integrated
Integratedand Shared
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
25/91
The Shift
SOA is a combined effort betweenIT and the business units
SOA
IT Biz Units
ProcessLayerDefinerServic
eLaye
r
Provid
er
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
26/91
Pre-SOA Scenario
CustomerData
Customer
Data
Balance
Check
CreditCheck
FraudDetection
Partner
CreditData
Partner
CreditData
Balance
Check
CreditCheck
InterestCalc
Credit Card Mortgage
Back-End
System
Back-End
System
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
27/91
SOA-Enabled Scenario
Reusable Services
Credit Card Mortgage
Partner Credit Data
CustomerData Service
AccessService
CreditCheck
FraudDetection
Customer Data
PaymentManagement
Service
TradeExecution
Service
Internet
Bill PayAuto
Loans StocksMutualFunds
IncreasedAgility
InterestCalc
BalanceCheck
Back-End System Back-End System
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
28/91
SOA Architectural Big RulesDocument-based Mostly Async Conversational
Reliable Secure/Identity Policy Driven
BPEL OrchestratedWSDL Described
Registered and Retrieved
JBI-based
Coarse GrainedBusiness Services
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
29/91
SOA Architectural Big RulesCoarse Grained Business Services XML Document-based
Mostly Async Conversational
Design
Focuse
d
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
30/91
Reliable Secure/Identity
Policy Driven Registered and Retrieved
SOA Architectural Big RulesQuali
ties
Focuse
d
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
31/91
Standa
rds
Focuse
d
WSDL Described BPEL Orchestrated
SOA Architectural Big Rules
JBI-based
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
32/91
Example: Purchase Service
BidRequest
BidRequest
Bid
Supplier
LowestBid
Accept/
Reject
ShipNotice
Buyer PurchaseService
Accept/
Reject
ShipNotice
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
33/91
Purchase Service Functions
BuyerEndpoint
SupplierEndpoint
BuyerConversation
SupplierConversation
Transaction Fees
SupplierSelection
Buyer Credit
Supplier Routing
ProductConversion
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
34/91
Purchase Service Functions
BuyerEndpoint
SupplierEndpoint
BuyerConversation
SupplierConversation
Transaction Fees
SupplierSelection
Buyer Credit
Supplier Routing
ProductConversion
WSDL/Soap
XQuery
EJB
BPELBPEL
WSDL/Soap
Rule
RoutingTable
XSLT
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
35/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
36/91
Java Platform, Enterprise Edition (Java EE)
A set of coordinated technologies and practicesthat enable solutions for developing, deploying, andmanaging multi-tier, server-centric applications.Building on Java Platform, Standard Edition (JavaSE), Java EE adds the capabilities that provide acomplete, stable, secure, and fast Java platform forthe enterprise. Java EE significantly reduces thecost and complexity of developing and deploying
multi-tier solutions, resulting in services that can berapidly deployed and easily enhanced.
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
37/91
Java EE 5 Overview
Key development features> EJB 3.0> Annotated plain old Java object (POJO) Web services
> Powerful Java Persistence API (JPA) for O-R mapping> JAX-WS 2.0 and JAXB 2.0> Samples and blueprints
Open ESB Starter Kit> Java Business Integration (JBI) runtime> BPEL service engine> SOAP-over-HTTP binding component
Sun Java System Application Server 9 PE (Glassfish)
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
38/91
Java EE Services
Use EJB 3.0 to develop standards-based workerservices> Perform business logic>
Access JDBC resources> Call other Web services, including BPEL processes> Transactional> Secure
JAX-WS 2.0 and JAXB 2.0> Full support for XML Schema> Document-centric services
Call these services from BPEL processes
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
39/91
EJB 3.0 Example@Stateless()
@WebService()
publicclass LoanProcessor {
@WebMethod
public String processApplication(...,
@WebParam(name="applicantAge") int applicantAge,...) {
int MINIMUM_AGE_LIMIT = 18; int MAXIMUM_AGE_LIMIT = 65;
String result = "Loan Application APPROVED."
if (applicantAge < MINIMUM_AGE_LIMIT) {
result = "Loan Application REJECTED - Reason:Under-aged "+applicantAge+". Age needs to be "+over"+MINIMUM_AGE_LIMIT+" years to qualify.";
return result;
}
...}
}
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
40/91
J2EE 1.4 Web Service
HelloService
WEB-INF/wsdl/HelloService.wsdl
WEB-INF/HelloService-mapping.xml
HelloService
wsdl-port_ns:HelloServiceSEIPort
endpoint.HelloServiceSEI
WSServlet_HelloService
package endpoint;
import java.rmi.*;
public class HelloServiceImpl
implements HelloServiceSEI {
public String sayHello(Stringparam) throwsjava.rmi.RemoteException {
return Hello + param;}
}
package endpoint;
import java.rmi.*;
public interface HelloServiceSEIextends java.rmi.Remote
{
public String sayHello(Stringparam)
throwsjava.rmi.RemoteException;
}
Code Written by Developer / Deployer
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
41/91
WebService in Java EE 5.0
import javax.jws.WebService;
@WebService
public class MySimpleWS {
public String sayHello(String s) {
return Hello + s;
}
}
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
42/91
Java EE 5J2EE 1.4
Context initial = new InitialContext();
Context myEnv = (Context) initial.lookup("java:comp/env");
Object objref = myEnv.lookup("ejb/SimpleConverter");
ConverterHome home =
(ConverterHome) PortableRemoteObject.narrow
(objref, ConverterHome.class);
Converter currencyConverter = home.create();
@EJB Converter currencyConverter;
EJB References in Java EE 5
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
43/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
44/91
Business Processes
Any technology for implementing real-worldbusiness processes needs to...> Coordinate asynchronous communication between
services> Correlate message exchanges between partners> Exchange messages in a universal form> Process activities in parallel
> Manipulate/transform data between partners> Support long-running business transactions> Handle exceptions> Provide compensation to undo previous actions
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
45/91
What is BPEL?
BPEL = Business Process Execution Language> XML-based language used to specify business
processes based on Web services> Orchestratespartner Web services
BPEL processes describe...> Long-running, stateful, transactional conversations
BPEL is one language for implementing a service
> A BPEL service is itself a WSDL-described service> Can be used from other services or BPEL processes like
any other Web service
BPEL processes are easy to write and change
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
46/91
BPEL: Relationship to Partners
Orchestrating Process(BPEL)
Partner Service
Partner Service
Partner Service
Partner Service
WSDL
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
47/91
BPEL: Relationship to Partners
Orchestrating Process(BPEL)
Inventory
Checker Service
Credit checker
Service
Another Partner
Service
CustomerService
WSDL
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
48/91
BPEL Document Structure
...
...
...
...
...
...
...
...
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
49/91
BPEL Fixes WSDL
WSDL describes an unordered set of operations> Operations are grouped as interfaces> Operations are individual message exchanges
Semantics of the interface are missing in WSDL> Order of invocation> Concurrency> Choreography with external entities
BPEL can supply these missing semantics
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
50/91
Web Service Orchestration
Visually author BPEL 2.0 business processes withthe BPEL Designer Step-through debugging support Built-in testing capability for unit testing Beyond syntax validation of Schema, WSDL, and BPEL
BPEL Mapper Visually create complex XPath expressions without coding
Deploy to the built-in BPEL engine JBI-based BPEL service engine + SOAP/HTTP bindings Running within the bundled Sun Java System Application
Server
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
51/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
52/91
Recap
SOA enables flexible and agile enterpriseapplication architecture
Services can be created and used using Java EE
BPEL is a service orchestration languagefor creating composite applications
Services can be re-implemented using othertechnologies as long as service interfacesare preserved without changing consumers
Tools for BPEL (using BPMN) and services arecritical
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
53/91
Agenda
Composite Applications Services and SOA
Java EE Services
BPEL in the Mix Recap
Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
54/91
Stock Quote Demo
Stock Quote
Client
Stock Quote
Client
Currency
Exchange
Service
Stock Price
Service
BPEL Logic
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
55/91
NetBeans Enterprise Pack 5.5
Support for composite applications Design BPEL business processes to orchestrate:
Java EE Web services
External Web services Other BPEL processes
Develop secure, identity-enabled Java EE Webservices
Visualize, analyze, and edit real-world XMLSchema, WSDL, and XML instance documents
Download: http://www.netbeans.org
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
56/91
Agenda : Part 2
Introduction to Service composition
Composite Applications / CAPS
Java Business Integration
Service Assembly / CASA Tools
IEP, CASA, WSDL Editor Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
57/91
Silos driven Architecture (SdA)
CheckCustomer Status
Determine ProductAvailability
CheckCustomer Status
Determine ProductAvailability
VerifyCustomer Credit
Order Status
CalculateShipping Charges
Order Status
VerifyCustomer Credit
DataRepository
MonolithicApplications
AccountsManagement
OrderProcessing
FieldService
Scheduling
ExternalTrading
Partner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
OracleFinance
System
LegacyCRM
System
AS400Sales
System
CustomMarketing
System
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
58/91
Problems with Legacy Apps (SdA)
Difficult to maintain
Expensive to maintain
Interfaces are rigid not flexible Small changes/ Update will have major impact
Problems in Integration with other systems
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
59/91
Agenda : Part 2
Introduction to Service composition
Composite Applications / CAPS
Java Business Integration
Service Assembly / CASA Tools
IEP, CASA, WSDL Editor Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
60/91
Composite Applications
A composite application combines existing packagedand legacy applications, information stores, and newlydeveloped services into a single solution.> May look like a new application even though it may
be 10% new and 90% an assembly of existingcomponents
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
61/91
Composite Applications Benefits
Lower cost> Less maintenance on legacy and packaged applications
Business agility> No delay in modification of business parameters by IT
Ease of use> Modern UI for legacy and packaged applications
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
62/91
Composite ApplicationExample:
Relevant business logic from legacy and packagedapplications is made accessible to business owners throughBPMModern Web
InterfaceExisting
Applications
Busines
sLogic
LegacySystem
SAPSystem
BusinessLogic
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
63/91
DataRepository
ExternalTrading
Partner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
OracleFinance
System
LegacyCRM
System
AS400Sales
System
CustomMarketing
System
Shared Services Composite Apps Increased Functionality
CheckCustomer Status
Check CreditCheck
InventoryCheck
Order StatusCreateInvoice
AccountsManagement
OrderProcessing
FieldService
Scheduling
PersonalizedService
ManageException
Orders
SubmitChangeOrder
Composite Application SOA based
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
64/91
Sun Microsystems Inc. Proprietary 64
OrderProcessing
CompositeApplications
Field Service Scheduling Accounts Management
View RevenueProcess
Process Customer Order
Check
CustomerStatus
Verify Customer
Credit
Determine
ProductAvailability
Look-up
Customer Discount
Calculate
Shipping Charges
Existing
SystemsExternalTradingPartner
CustomMarketing
System
AS400 SalesSystem
Siebel CRMSystem
OracleFinanceSystem
Red PrairieWarehouseMgt System
AnotherBusiness
Unit
Installation Scheduling BillPresentment/Payment
Process Customer Order
Check
CustomerStatus
Verify Customer
Credit
Determine
ProductAvailability
Look-up
Customer Discount
Calculate
Shipping Charges
Existing
SystemsExternalTradingPartner
CustomMarketing
System
AS400 SalesSystem
Siebel CRMSystem
OracleFinanceSystem
Red PrairieWarehouseMgt System
AnotherBusiness
Unit
Composed
Business
Service
Elemental
BusinessServices
SOA and Composite ApplicationsBusiness services are composed into composite applications
M i f M li hi l d li i
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
65/91
Accidental Rigid Silo-Oriented Layered Extensible Service-Oriented
Moving from Monolithic, closed applications to'standardized' service oriented architecture
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
66/91
Java Enterprise SystemPractice
People Process
SOA
A Complete Business Integration PlatformPlatform
JavaEnterprise System
Identity
Management
ApplicationPlatform B2B
ESBWeb
Infrastructure
CompositeApplication Platform
Community
Availability
DataCenterManagement
NetBeans
Traditional Client Sun Ray, Star/OpenOffice,
JDS
Mobile Client Java ME Java CardSecure Global
Desktop
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
67/91
What is Open ESB ?
Sun's Open Source Enterprise Service Bus A standard, distributed integration infrastructure
Highly distributed scalable JBI services
Uses JBI Reference Implementation code Based on MOMasync XML message exchanges
Centralized management
Standard deployment of composite services
QOS characteristics
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
68/91
Java Business Integration - JSR 208
Foundation for Service Oriented Architecture Component Standard
> Service providers
> Service consumers Components from multiple sources are:
> Portable
> Manageable> Interoperable
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
69/91
Java Business Integration (JSR 208)
XQuery
JavaEEProcessRules
Xform Soap Route MOM
WSDL/Soap
WSDL/Soap
BPELBPEL
EJB
XQuery
Rule
RoutingTable
XSLT
Deploy
Install
NMR
JBI
Composite Service
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
70/91
Runtime: Java EE Platform
and Java Business Integration Java Business Integration serves as messaging
infrastructure> Java EE web services interact through Java Business
Integration> Java Business Integration bindings allow remote
consumers and providers> Add other service technologies as Java Business
Integration components
Transparent to programmer using Java EEtechnology
> Reuse without re-coding
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
71/91
Agenda : Part 2
Introduction to Service composition
Composite Applications / CAPS
Java Business Integration
Service Assembly / CASA Tools
IEP, CASA, WSDL Editor Demo
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
72/91
JBI and ESBs
http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
73/91
OpenESB Functionality Current Release:
> AS 9 / GlassFish> BPEL SE> XSLT SE
> JavaEE SE> HTTP BC> JMS BC> File BC
Under Development:> IEP (BAM) SE> ETL SE> SQL SE
> MQSeries BC> HL7 BC> SAP BC> SMTP BC
Current release targeted at Developers
Sun to freeze a supported version in April 2007
- similar to the Glassfish -> Sun AppServer relationship
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
74/91
OpenESB and Appserver 9
Appserver 9:> Host for
administrationof the ESB
> Host for eachnode of the ESB> JavaEE Service
Engine
I t lli t E t P
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
75/91
Intelligent Event Processor(Business Activity Monitoring)
IEP
Scratch Store
Input streams
Register
Query
Streamed
Result
Stored
Result
Archive
Stored
Data
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
76/91
Secure Service Creation
Secure Java EE Web service development> Message-level security for Web service clients and
providers> J2EE 1.4 and Java EE 5
> Support provided by the bundled Sun Java SystemAccess Manager
> Easy installation of runtime components
Both WSI-BSP and Liberty token profile support> SAML, X.509, Username/password
http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://blogs.sun.com/barkodar/resource/samlsec99.htmhttp://blogs.sun.com/barkodar/resource/samlsec99.htm -
8/2/2019 Kualalumpur Soa Bpel Bj
77/91
Agenda : Part 2
Introduction to Service composition
Composite Applications / CAPS
Java Business Integration
Service Assembly / CASA Tools
IEP, CASA, WSDL Editor Demo
-
8/2/2019 Kualalumpur Soa Bpel Bj
78/91
NetBeans Enterprise Pack 5.5.1 / 6.0
Visual Service Assembly (CASA) Visual Intelligent Event Processor (IEP/BAM)
Visual Editor for Continuos Query Language (CQL)
Visual Web Service Definition Language (WSDL)Editor
Service engines integrated
> BPEL, IPE, SQL and XSLT Binding components integrated
> File, FTP, HTTP, JDBC, JMS, MQ and SMTP
-
8/2/2019 Kualalumpur Soa Bpel Bj
79/91
CASA Editor
-
8/2/2019 Kualalumpur Soa Bpel Bj
80/91
Intelligent Event Processor (IEP)
-
8/2/2019 Kualalumpur Soa Bpel Bj
81/91
WSDL Editor
-
8/2/2019 Kualalumpur Soa Bpel Bj
82/91
WSDL Editor Partner Link Type
-
8/2/2019 Kualalumpur Soa Bpel Bj
83/91
Agenda : Part 2
Introduction to Service composition
Composite Applications / CAPS Java Business Integration
Service Assembly / CASA Tools
IEP, CASA, WSDL Editor Demo
-
8/2/2019 Kualalumpur Soa Bpel Bj
84/91
Demo
IEP Demo CASA Demo
WSDL Editor Demo
Services for Developers
-
8/2/2019 Kualalumpur Soa Bpel Bj
85/91
Services for Developers
Sun Developer Forums Community & Sun.> http://forum.sun.com> [email protected] alias
Incident support for Java, Developer Tools and Solaris> For as little as $99 get answers to your programming questions
Sun Software Services Plans for Developer Tools> Unlimited incidents, bugs and escalations, telephone support> 5x12 or 7x24 worldwide
Sun Developer Service Plans for Java and Developer Tools> Get how-to incident help, Unlimited bugs/escalation, telephone
support and Sun Training credits> 5x12 or 7x24 worldwide
Services for Developers (contd )
http://forum.sun.com/mailto:[email protected]:[email protected]://forum.sun.com/ -
8/2/2019 Kualalumpur Soa Bpel Bj
86/91
Services for Developers (contd.)
Java MultiPlatform 7x24 Enterprise Java Support forOpenSolaris, Linux, Windows and MacOS> Get your run-time Java issues addressed in the release you
want to use> Comprehensive run time support for your Java deployment
environment http://developers.sun.com/services
Training and Certification
> http://www.sun.com/training/catalog/java/index.xml
http://developers.sun.com/serviceshttp://developers.sun.com/services -
8/2/2019 Kualalumpur Soa Bpel Bj
87/91
Call to Action!
Download NetBeans 5.5.1 Beta http://www.netbeans.info/downloads/index.php?rs=20
NetBeans 5.5.1 Release Information
http://www.netbeans.org/community/releases/55/1/index.html Join Sun Developer Network (SDN) for up-to-
date SOA information:http://developers.sun.com
-
8/2/2019 Kualalumpur Soa Bpel Bj
88/91
Resources
http://www.netbeans.org/products/enterprise
http://enterprise.netbeans.org
http://java.sun.com/javaee/ http://www.sun.com/products/soa
http://www.netbeans.org/kb/55/entpack-index.html
http://www.netbeans.org/products/enterprisehttp://www.netbeans.org/products/enterprise -
8/2/2019 Kualalumpur Soa Bpel Bj
89/91
Blogs
Prakash Narayan: http://blogs.sun.com/pnarayan
PCM Reddy: http://blogs.sun.com/pcmreddy
Chris Webster: http://blogs.sun.com/cwebster Sherry Barkodar: http://blogs.sun.com/barkodar
Gopalan Raj: http://blogs.sun.com/gopalan
http://blogs.sun.com/cwebsterhttp://blogs.sun.com/barkodarhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/barkodarhttp://blogs.sun.com/cwebster -
8/2/2019 Kualalumpur Soa Bpel Bj
90/91
Q & A
Questions?
http://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalan -
8/2/2019 Kualalumpur Soa Bpel Bj
91/91
Thank you !
Dmitri Chiriaev
http://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalan