Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Building SOA-Based Applications Using
Process-Driven Development
September 15, 2004
Jim Rivera, Senior Principal Technologist,
Office of the CTO, BEA Systems
Service-Oriented Architecture
SOA - an approach to logic partitioning that maximizes
the re-use of application-neutral services
Benefits
Faster Return on Investment (ROI)
Adaptability
Types of Services
Infrastructure
Business-level
Payback comes from being able to easily orchestrate
business-level services to implement business
processes, use cases, and composite applications
©2003 BEA Systems, Inc. |
2
Challenges to Service Orchestration
Mapping real-world business processes to Object-Oriented,
request/response paradigms
“Object” is the one and only abstraction. This simplicity is both a
blessing and a curse
Common concepts that do not fit OO mold
Sequence - before/after paradigm
Cause and effect – required conditions
System state
Long running processes require asynchronous messaging
Message/request correlation
Timeout mechanism
It can be done using traditional techniques, but often leads to
contrived or counter-intuitive code
©2003 BEA Systems, Inc. |
3
Introduction to Process-Driven
Development
What is it?
Design elements are process flows, services, and documents
Requirements expressed as use cases/narratives/user stories
Still emerging, but practical
Some tool support
Why?
No impedance mismatch between requirements and code
No impedance mismatch between business and developers
Is partitionable into units of work based on business function
Increased system agility with simple refactoring
©2003 BEA Systems, Inc. |
4
Process-Oriented Development
Order Management Process
Service
Orchestration
Web Service
Interfaces
Service
Construction
Processes
Documents
Billing
Service
Customer
Management
Service
Inventory
Management
Service
Services
Resources
Employees
Mainframe
CRM
ERP
©2003 BEA Systems, Inc. |
Trading
Partners
5
Essential Process Framework Features
Direct mapping to real-world business processes
Automatic State Management
Asynchronous Message Correlation
Multiple Data format support
Timeout mechanisms
Enhanced Transaction support
Receive Multiple Events
Monitoring & Management
©2003 BEA Systems, Inc. |
6
Services: The Process Nodes
Characteristics
Provide high-level business functionality
Granular, self-contained, re-usable, loosely-coupled, documentdriven
Web Services are critical
Cross-platform, XML-based messaging
Java Controls
Provide a place for semantic mapping between interface and
technology
Provide a uniform way of accessing any service or J2EE resource
Apache Beehive Project
Service Control Pack
Open source collection of Java Controls, processes and services
eBay, Amazon, Google, FedEx, UPS, etc.
©2003 BEA Systems, Inc. |
7
Document-Driven Services
public ResponseDocument getItems(RequestDocument
requestDoc) {
ResponseDocument responseDoc =
ResponseDocument.Factory.newInstance();
Response response = responseDoc.addNewResponse();
try { //Business Logic
response.setStatus(Response.Status.SUCCESS);
}
catch (FinderException fe) {
response.setStatus(Response.Status.ERROR_UNKNOWN);
}
return responseDoc;
}
©2003 BEA Systems, Inc. |
8
Why Documents?
Correspondence to real world entities
XML Schema
Strong typing, rich modeling
Cross-language, cross-platform
XML
Extensible
Enable coarse-grained interfaces
Amenable to transformation
Being able to support data evolution is critical to loosecoupling
©2003 BEA Systems, Inc. |
9
Sharing Documents vs. Objects
Sharing Object Models is dreadful
State and function are intermixed
Not cross language
Tightly-coupled interaction
Documents on the other hand…
Let you slice and dice: XQuery,
XSLT, Data Transforms
Respect differences across
boundaries
Loosely-coupled interaction
©2003 BEA Systems, Inc. |
10
Processes are Fundamental
Processes are executable use cases. There is no impedance
mismatch as with objects.
Control flow for
Conditionals
Loops
Parallel flows
Fault handling
Asynchronous events
Long running ‘transactions’
Tools
Java Process Definition (JPD) files are the first practical
implementation of workflow that jives with Java developers.
Standard Languages (BPEL and BPELJ) provide investment
protection
©2003 BEA Systems, Inc. |
11
BPEL and BPELJ
Business process languages have gained importance and
visibility but market growth hampered by customer risk due to
lack of portability
Breakthrough 1: IBM, Microsoft and BEA announce BPEL4WS
A merger of IBM's WSFL and MS's XLang
Immediately recognized as the future of BPM for Web services
Version 1.1 submitted to OASIS (new official name: WSBPEL)
(SAP and Siebel Systems added as coauthors)
Breakthrough 2: IBM & BEA announce BPELJ
Promised portability for BPEL extension that uses Java in addition
to Web services and XML
©2003 BEA Systems, Inc. |
12
JPD vs. BPEL vs. BPELJ
Java Process
Definition (JPD)
BPEL
BPELJ
Authorship
BEA (before BPEL)
IBM, MS, BEA v1.0 IBM, BEA
(Now in OASIS)
(Now in JSR 207)
Orchestrates
Components
Java & Web
Services
Web Services
Only
Java & Web
Services
Data
XML & Java objects
XML Only
XML & Java
objects
Data
Manipulation
XQuery and Java
XPath 1.0
standard
Others by
extension
XPath and Java
Others by
extension
Syntax
Java with XML
annotation
XML
XML with
embedded Java
©2003 BEA Systems, Inc. |
13
Service-Oriented Architecture
Order Management Process
Service
Orchestration
BPEL
Web Service
Interfaces
Service
Construction
Billing
Service
Customer
Management
Service
BPELJ
Inventory
Management
Service
Resources
Employees
Mainframe
CRM
ERP
©2003 BEA Systems, Inc. |
Trading
Partners
14
Methodology
Decompose use cases
Take inventory of re-usable services
Build atomic services as needed
Map use cases to processes, sub-processes and
services
Build processes (wire it up)
Connect the User (view)
Web application, worklist, e-mail, etc.
©2003 BEA Systems, Inc. |
15
BEA WebLogic Workshop
Integrated Development
Environment
WebLogic Server Process Edition
Service Monitoring & Management
Business Process Management
Data Mapping
Service Enablement
Application Server (WLS Premium)
WebLogic Server Process
JVM
BEA WebLogic JRockit
©2003 BEA Systems, Inc. |
16
WebLogic Server Process Edition
Converged BPM functionality with service enablement
for building SOA-based applications using processdriven development
Includes BPM, data transformation, messaging,
controls, adapters
Export JPDs to BPEL compliant code
BPELJ supported in next release
©2003 BEA Systems, Inc. |
17
Demo
©2003 BEA Systems, Inc. |
18
Summary
SOA promises to reduce the gap between business needs and
technology by making it more efficient to build agile systems…
But there are numerous challenges to orchestrating services
into business process
Impedance mismatch between real world process and OO,
request/response techniques
Process-Driven Development addresses these challenges
No impedance mismatch between requirements and code, or
business and developers
Increased system agility with simple refactoring
©2003 BEA Systems, Inc. |
19