DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
WSO2 Mashups and BPM
1. Business Process Management
for SOA & Mashups
Milinda Pathirage
Product Manager, WSO2 BPS, WSO2 Inc.
milinda@wso2.com
2. Summary
Business Processes
BPM and SOA
Modeling Business Processes
Mashups
3. Building a Better Business
Every one's goals
Reduce costs
Improve responsiveness
Improve reliability
Increase agility and flexibility
Decrease overall risks
4. Why Business Processes Matter
What is business process?
A method or system for achieving a commercial result
It describes how enterprises performs its business functions
Any well-defined interaction between systems and people,
triggered by events, using logical decision points, and with
clearly defined flows
To achieve the business goals, need to continuously
optimize your processes
6. Business Process Management
Management model or framework that helps or-
ganizations to manage their business process-
es while optimizing and leveraging IT assets
Is about improving business
BPM Life Cycle
7. SOA and BPM
SOA is an architectural style for developing dis-
tributed system
BPM provides the bridge between business goals
and IT solutions
SOA needs the service coordination and orches-
tration provided by BPM
BPM needs SOA to deliver business-user access
to the data and functionality housed in other en-
terprise systems
8. BPM and SOA
BPM
Long running coordination state
SOA
Stateless Service Interactions
Applications, Databases, Legacy
Persistent application state
9. Modeling Business Processes
BPMN
Standard for business process modeling
Provides graphical notation for specifying business processes
Executable business process modeling
XPDL
YAWL
EPML
BPEL4WS 1.1
WS- BPEL 2.0 (Industry standard)
BPELScript (JavaScript like language)
10. Business Processes in SOA
Web services are the preferred standards-based
way to realize SOA
BPEL can be used for composition, orchestra-
tion or coordination of Web services
BPEL fill the gap between BPM and SOA
BPEL in your SOA
Business process from services and human activities
Coarse grained business services from fine grained services
Flow based integration of various existing applications
11. WS-BPEL 2.0
XML based language for the specification of Executable
and Abstract business processes
Extends the Web Services interaction model and en-
ables it to support business processes
BPEL support distributed transactions
BPEL is the standard used by major BPM vendors (IBM,
Oracle, Apache ODE, WSO2, Intalio)
Xpath, XSLT and Xquery for XML data manipulation
13. Why use BPEL instead of Java?
Managed execution
Monitor the progress of the process
Start, stop, suspend, resume process instances
Structured approach to long running processes
Easy to build processes that can be suspended, resumed and interact with sys-
tems in asynchronous patters
Excellent support for transactions and compensation
Implement clear logic that which deals with problems in long-running processes
Visualizing the flows helps communication between the spon-
sors and implementors
None of this is impossible in Java – you could use a framework to gain these
benefits - But BPEL has it all in a simple package
14. Human Interactions in BPEL
Many business process scenarios require human interac-
tions
With pure BPEL you can interact with people
But you have to the integration work
Two new specs which standardize the human interactions
WS-Human Tasks
BPEL4People
Advance human interaction patterns
4-Eyes principal
Escalation
Nomination
Chained execution
16. When to Use BPEL
Orchestrate a business process with complex
logic
Long-running business process where state is
maintained and human interactions are in-
volved
18. What is a mashup?
Term originates in music – remix of existing
music into something new and unique
Uses the existing data (tracks) as they are
found
Enabled and popularized by technological in-
novation, lowering cost and skills for entry
19. Mashups in IT
Remix of existing data (usually Internet) into
something new and unique
Uses the existing data (web pages, web ser-
vices, feeds) as they are found
21. What technological innovation?
Emergence of readily accessible information
sources (the Internet, enterprise SOA, desktop
data)
Standard formats and protocols
Mashup platforms and tools
Lower the barriers to entry
Lower the cost of each project
22. Components of a Mashup Plat-
form
Ability
to simply access a wide variety of infor-
mation sources
Web services
Feeds
Scraped web pages
Files
Email
Instant messages and other event sources
Logic language
Graphical designer
Declarative language
Scripting language
Programming language
Tradeoffs- list increases in power, decreases in
accessibility
23. Components of a Mashup Plat-
form
Providing or presenting output
Machine readable
Web services
Feeds
Database/File system writes
Human readable
Web pages
Widgets/Gadgets
Feeds
Email
Instant messages/SMS
24. WSO2 Mashup Server Architec-
ture
Data
Sources
Web Pages
Mashup
Feeds
Logic
Web Services
25. WSO2 Mashup Server Architec-
ture
Javascript (E4X)
Simple service
deployment
Service composition
Mashup Workflows
Logic Service translation
Service UI building
Rapid prototyping
26. WSO2 Mashup Server Architec-
ture
Web
Mashup Services
Logic Rich
HTML
Applications
Emails/IM
Files
Feeds
27. Why use Mashup instead of
BPEL?
Lighter weight
Rapid development
Broader developer base
Broader definition of “services”
Typically serves end users
28. Mashups vs BPEL
Services are not always defined by traditional
“service interfaces”
Business processes drive demand for a rich
ecosystem of services
Mashups & BPM both consume and provide
services
Development time and effort are important fac-
tors in choosing the right approach