bpel hw br indicthreads raghukodali
TRANSCRIPT
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
1/44
Integrating BPEL, Workflow
&
Business Rules
Raghu R Kodali
Consulting Product Manager, & Evangelist
Oracle Fusion Middleware
Oracle USA
Author Beginning EJB 3 Application Development (Apress)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
2/44
Agenda
Why SOA ? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0
BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
3/44
Agenda
Why SOA ? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0
BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
4/44
Why SOA ? - Customer Needs
Increasingly Complex Infrastructure
Increasingly Demanding UsersEnd-to-End ProcessesShorter Change CyclesBetter Insight and Auditing
IT
Heterogeneous SystemsSilos
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
5/44
Why SOA ? - The Reality Of ModernBusiness
HeterogeneousEnvironments
Mergers & Acquisitions
Multi Channel Businesses
Data Dispersion
Hard coding
Lack of Standards
The Result:Inflexible business processesUninformed business ownersCostly development and
maintenance
Web
Services
E-BusinessSuite
Siebel
LegacySAP
Suppliers
PeopleSoft
BusinessIntelligence
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
6/44
Why SOA ?
Web Solution SOA Solution
More Interoperable
More Modular Business Processes
Richer Clients
PackagedApplications
FulfillmentCenter
CustomerService
BusinessPartners
1
2
3
1
2
3
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
7/44
ERP/Legacy Apps
Custom Apps& Services
Web services
WSDL/WSIF
XML/XML Schema
SOAP JCA JMS
BUSINESSSERVICES
More Interoperable
Why SOA ? - Standards
Process FlowLogic
XSLT/XQuery
BPEL
More Adaptable
PROCESSORCHESTRATION
PORTAL JSR-168
USERINTERFACE
Struts/JSF
Portal
Web Application
API
WS
Richer Experience
PKIDashboards
BAM
MONITORING
JMX
Fusion Effect
WS-Security
SERVICE BUS
SecurityReliabilityLoggingFailover
Dynamic Routing
WS-Policy, SAML
Web Services Mgmt
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
8/44
Agenda
Why SOA ? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0 BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
9/44
Composite Applicationrequirements
PaymentProcessing
Schedule Delivery of Modem
InventoryMgt
ManualIT Setup
Customer
Exception Mgt
.NET
Portal
Web
SAP
Mainframe
Switches
ManagementConsoleReporting
Goals Compress the total processing time
(Real Time)
Connectivity to systems, services andpeople
Better visibility (Auditing, Reporting)
Ability to easily change the process
Incremental roll out
There is a continuous need for enterprises to tie disparate applications andservices into end-to-end process flows.
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
10/44
Example of composite application
DSL Activation Processing
BPEL
submit
OrderJSF
Validate
Customer Profile
Setup 1 Setup 2
?
ACTIVATION FLOW
CREATE
B
AM
6000 Devices
Customer(DataHub)
BPEL
Exception Management
Portal Order Hospital
(Human Workflow)
Promotion Management
(Business Rules)
Exception Rate
SLA Management?
Order Validation
(EJB 3.0)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
11/44
Example: DSL Provisioning atBelgacom
Application for the provisioning and activation of DSL lines. Belgacom is processing up to15,000 DSL provisions / day through SOA and BPEL processes which link their customer
interfaces and OSS layer, managing activation and repair.
Struts
BPEL
Telco Activation Services
DSL Activation Manager
6000+ network equipment endpoints (SLEEgateway)
SDSL Activation Manager
Sales/Customer ServiceInterfaces and Order Review
Exception Management
Billing Services
Account Management Services
Reporting Services
Register for NewServiceSelf-service web appCall Center
ApplicationServer
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
12/44
What is BPEL?
BadCredit !
start
end
Markup language for composing a set of discreteservices into an end-to-end process flow
10+ years of R&D fromMSFT and IBM
SOAP but also Java, JCA
Rich Flow Semantics
Optimized Bindings
XPATH+XSLT+XQuery
WS-Security
A Process is a Service
Star LoanStar LoanUnited LoanUnited Loan
Credit CheckCredit Check
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
13/44
BPELHistory
2000/05
XLang(Microsoft)
2001/03
BPML(Intallio et al)
2001/05
WSFL(IBM)
2001/06
BPSS(ebXML)
2002/03
BPEL4WS 1.0(IBM, Microsoft)
BPEL4WS1.1(OASIS)
2002/06 2003/04
WSCI(Sun et al)
WSCL(HP)
2002/08
Proprietary Standard
2006
WS-BPEL 2.0(OASIS)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
14/44
DEMO
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
15/44
Agenda
Why SOA? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0 BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
16/44
Rules are a way to specify conditional actions orpolicies
If salary is less than $10,000 then deny loanapplication
If miles flown is greater than 50,000 then grant Gold
status
Rules Can be represented as simple if-then statements Are declarative, not procedural Often generated by GUI programs
Rules executed on Rules Engines Facts are input Facts analyzed per Rules Actions conditionally executed
or results returned
facts
What areBusiness Rules ?
results
Rules
Engine
Application
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
17/44
Business Rules Key Benefits
Agility fast time to market Goal: Business analysts, not programmers write Rules Business policy changes deployed instantly Rules reuse
Transparency -- directly viewable by the businessanalyst
Rules clearly describe associated policies
Cost reduction
Business analysts can directly create/update Rules More efficient interface for describing policy Cost reductions especially dramatic during maintenance
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
18/44
When Rules are Attractive
Applications requiring agility Frequently changing (legal) regulations Frequent policy changes to reflect market changes Requirements for high levels of customization
Industries Insurance, health care Finance & risk analysis Operations management Call centers
Service Oriented Architectures
Rules Engine are particularlyattractive in SOA applications
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
19/44
Business Rules Architecture
Rules enabledapplications
Application
run-time logic
results
facts Rules
Engine
RuleSession
Class
Rulesrepository Rules
customizing
application
Rule Author
facts Facts can be Java objects or XML
RulesSDK
& l
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
20/44
Decision Service(Rules)
BPEL & Rules - UsageScenarios
Dynamic processing Intelligent routing
Validation of policies within
process Constraint checks
Ad-hoc Workflow
Policy based task assignment Various escalation policies
Load balancing of tasks
Rules engines can be invoked as a Decision Service from
a BPEL process.
Business Process(BPEL)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
21/44
Decision Service - Concepts
Enables users to easily wire any Rules engine with a BPEL
process
Key ideas: Abstracts proprietary rule engine apis via a standard web
service interface. Will work with any rules engine.
Ex: Oracle Business Rules and iLog JRules
Access to rules repository at design time to enable user tobrowse rule sets
Supports both stateless and stateful interaction patterns Example: ExecuteFunction, AssertFacts, WatchFacts etc.
Implementation Details Generates specific WSDL based on rule set being invoked Metadata about rule engine and repository captured in .decs
XML file in BPEL project Supports both SOAP and WSIF bindings
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
22/44
JSR -94
Java API for rule engines Set of rule engine operations
Parsing rules, adding objects to rules engine, firing rulesand getting results from rules engine
Doesnt prescribe a rule language
Facilitates runtime interoperability between ruleengines
Targets Java SE platform
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
23/44
DEMO
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
24/44
Agenda
Why SOA? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0 BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
25/44
Human Workflow Requirements
Task assignment toUsers, roles, groups
Task routing various flow patterns andassignment rules
Notification to users/groups -Email, Voice, Pager, SMS Escalation andDelegation rules
Task History and Audit,Productivity Reports
Customizable Worklist,
Task forms, attachments
http://images.google.com/imgres?imgurl=http://sg.yimg.com/i/aa/mobile/3/mail_sms_icon.gif&imgrefurl=http://asia.mobile.yahoo.com/&h=44&w=50&sz=3&tbnid=xYDBzTKatwYJ:&tbnh=44&tbnw=50&start=86&prev=/images%3Fq%3Dmobile%2Bphone%2Bicon%26start%3D80%26hl%3Den%26lr%3D%26sa%3DN -
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
26/44
Workflow Services Exchange Patterns
Worklist (tasks, forms, attachments, reports)
List work items
Complete task
Get weeklyproductivity report
Assign Task
Task Complete
Assign tasks to role or group (fromdirectory)
BPEL Process
Flow patterns, Routing rules
Get Approvals
All ApprovalsComplete
Change routing
BPEL Process
Escalation and Delegation rules
Escalate Task
Task Resolved
Notify manager
BPEL Process
http://images.google.com/imgres?imgurl=http://sg.yimg.com/i/aa/mobile/3/mail_sms_icon.gif&imgrefurl=http://asia.mobile.yahoo.com/&h=44&w=50&sz=3&tbnid=xYDBzTKatwYJ:&tbnh=44&tbnw=50&start=86&prev=/images%3Fq%3Dmobile%2Bphone%2Bicon%26start%3D80%26hl%3Den%26lr%3D%26sa%3DN -
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
27/44
Workflow as a Service
Worklist
AssignTask
TaskComplete
Human WorkflowService
(1) assign tasks to a user/role
(2) wait for task completion as part of an end to end process flow
UpdateTask
BPELProcess
WSDL Contract
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
28/44
BPEL & Human Workflow Services
BPEL
BPEL Human Workflow services enable you to interleave humaninteractions and connectivity to systems/services into a single end toend process flow
System Human
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
29/44
BPEL & Human Workflow Services
Identity Service
(Users, Roles)
User MetadataService(Rules,work queues )
Task QueryService
(Task listing,Reporting )
Task AssignmentHistory/Audit
NotificationService(Email & wireless)
Task ManagementService(Task data, forms,Attachments)
Notification Channels
Email
AS Wireless(Voice, SMS, Pager)
Identity Management
OID, LDAP, JAZNOracle
DB
BPEL Process
Task RoutingService(Assignment,Dispatching)
Portal
Worklist
Email client
Workflow Services
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
30/44
DEMO
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
31/44
Agenda
Why SOA? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new in BPEL, Workflow and Rules
WS-BPEL 2.0 BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
32/44
Best Practices for Defining an SOA Strategy
SOAStrategy?
1. Portfolio of Services
2. Enterprise Service Bus
3. Process Orchestration,Workflow and Rules
4. User Interface
5. Business Activity
Monitoring
6. Security andManagement
6. PerformanceScalability
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
33/44
Step 1 | Portfolio of Services
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Java
BEST PRACTICES
Contract/Interface First
Coarse Grain Documents
Asynchronous Interactions
Undo/Cancel Operations
Versioning WS-I, Wrapped Document
Style
WSIF Binding to Java, JCA
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
34/44
Step 2 | Enterprise Service Bus
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
BEST PRACTICES
UDDI Registry
JCA Adapters
Integration with PolicyManagement Framework
Service VirtualizationLogical Naming
Differed, Reliable Delivery(Configurable)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
35/44
Step 3 | Process Orchestration, Workflow andRules
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
BPEL Workflow Rules
BEST PRACTICES
fx
BPEL
XSLT Transformation
Human Workflow Service
Rules Service
Notification Service Error Hospital Service
ESB Binding and Wiring
Tracing and Debugging
Iterative Development
Unit Testing
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
36/44
Step 4 | User Interface
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
Portal, JSF Applications, .NET, Microsoft Office
BPEL Workflow Rules
BEST PRACTICES
fx
MVC BPEL is a Model(Loose Coupling)
Workflow Service is a Model
JSF or Struts
WSRP, JSR-168
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
37/44
Step 5 | Business Activity Monitoring
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
Portal, JSF Applications, .NET, Microsoft Office
BPEL Workflow Rules
BEST PRACTICES
fx
PKI First
Sensors to Collect Eventswithout Process LogicChanges
Real-time Dashboard
Alert/Actions(Fusion Effect)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
38/44
Step 6 | Security Policy Management
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
Portal, JSF Applications, .NET, Microsoft Office
BPEL Workflow Rules
BEST PRACTICES
fx
WS-Policy, WS-Security
Change Policy withoutChanging Endpoint
Integrated with ESB(Multi-binding Support)
Agent and Gateway Mode
Support for Java and .NET
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
39/44
Step 7 | Performance, Scalability andReliability
.NET, SAP, Mainframe, Oracle,Retek, PeopleSoft, Siebel, etc
Enterprise Service Bus
Java
Portal, JSF Applications, .NET, Microsoft Office
BPEL Workflow Rules
BEST PRACTICES
fx
Asynchronous Interactions
WS-Addressing Correlation
Support for Large XMLDocuments
Stateless Architecture JCA and Java Binding
Batch API
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
40/44
Agenda
Why SOA? Business Process Orchestration using WS-BPEL
Business Process Agility with Business Rules Implementing Business Rules
Integrating Business Processes and Rules Business Process & Human Workflow
Best Practices
Whats new ?
WS-BPEL 2.0 BPEL4People
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
41/44
Whats new in WS-BPEL 2.0 ?
New activity types (if-then-else, repeatUntil, validate, forEach,extensionActivity)
Completion condition in forEach activity
Variable initialization
XSLT for variable transformations (New XPath extensionfunction bpws:doXslTransform)
XPath access to variable data (XPath variable syntax$variable[.part]/location)
XML schema variables in Web service activities (for WS-I doc/litstyle service interactions)
Locally declared messageExchange (internal correlation of
receive and reply activities Clarification of Abstract Processes (syntax and semantics)
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
42/44
Whats BPEL4People?
Currently no standard that covers serviceorchestration and user interactions
Extension to WS-BPEL
Proposed by IBM and SAP
Support usecases that involve people withbusiness processes
People activities Task assigned to a user and user is required to perform
certain action
People links Group of people associated with a role
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
43/44
AQ&Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S
-
8/8/2019 BPEL HW BR IndicThreads RaghuKodali
44/44
Integrating BPEL, Workflow
&
Business Rules
Raghu R Kodali
Consulting Product Manager, & Evangelist
Oracle Fusion MiddlewareOracle USA
Author Beginning EJB 3 Application Development (Apress)