E N D
1. Alix Cheema
Senior Architect, Capgemini
2. Footer Name of File.PPT Agenda
3. Footer Name of File.PPT Background
4. Footer Name of File.PPT WebSphere Suite
5. Footer Name of File.PPT WebSphere Suite Technical Overview
6. Footer Name of File.PPT WebSphere Process Server Components
7. Footer Name of File.PPT The Common Invocation Model: Service Component Architecture
8. Footer Name of File.PPT The Common Invocation Model: Service Component Architecture Removes/abstracts “incidental” complexity to which developers are exposed when dealing directly with middleware APIs
Focus on writing business logic
Promotes loose coupling and service driven component models
Enables two step process of implementation and assembly of heterogeneous service networks (e.g. coarse grained system and fine-grained module)
SCA components connected by a number of different bindings e.g. WSDL/SOAP WS, JMS, Java and JCA
An SCA component can have more than one type of export binding
SCA components & bindings configured with QoS attributes
Wiring between components can be configured to be synchronous, asynchronous, transactional and secure
9. Footer Name of File.PPT The Canonical Business Object Model: Service Data Objects Based on concept of disconnected data graphs
Simplification of the J2EE data programming model
Abstracts data from backend data store
Unifies data application development
Supports and integrates XML
Business Object Framework consists of: DO: Data Object
DG: Data GraphDO: Data Object
DG: Data Graph
10. Footer Name of File.PPT SCA and SDO Together: Conceptual View SCA components are assembled and wired together
Export is the ‘business service’ interface exposed to the outside world
Multiple entry points can be added e.g. JMS Export and WS Export
Module represents a logical domain
Business Objects are the data flowing on wires between Components
11. Footer Name of File.PPT Common Event Infrastructure
12. Footer Name of File.PPT WebSphere Process Server Components
13. Footer Name of File.PPT WebSphere Process Server Components
14. Footer Name of File.PPT Business Process WS-BPEL compliant business process engine
WS-BPEL 2.0 (currently draft)
Optionally, generated from WebSphere Business Modeler
Generic Business Process
Operations / Parameters
Service Implementation Details hidden
Transactions / Compensation
Cannot be specified in Modeler
Full XPath 1.0 Support
Visual Debugger Full BPEL 1.1 compliance
Event handlers
Compensation handlers
Support for XPath expressions (e.g., in conditions)
Scope-level variables, xsd-typed variables
Links crossing activity boundaries
Fault handlers at activity level
Additional assign features
WS-BPEL 2.0 Compliance
True XSD typed variable
Fault Handlers on Invokes
Complete Assign
BPEL Compensation
Scopes for variables, correlation sets,
XPATH for switch, while, and wait
Event HandlersFull BPEL 1.1 compliance
Event handlers
Compensation handlers
Support for XPath expressions (e.g., in conditions)
Scope-level variables, xsd-typed variables
Links crossing activity boundaries
Fault handlers at activity level
Additional assign features
WS-BPEL 2.0 Compliance
True XSD typed variable
Fault Handlers on Invokes
Complete Assign
BPEL Compensation
Scopes for variables, correlation sets,
XPATH for switch, while, and wait
Event Handlers
15. Footer Name of File.PPT Human Task Manager Invoke humans as services
Human participate in an otherwise automated business process
Human interface to services
Allows humans initiate a service such as a business process or Web Service using a common User Interface
Ad-hoc usage of To-Do list
Implement a pure-human task (such as a managed query) to a colleague or customer
Forward a workitem to another human
16. Footer Name of File.PPT Human Task Features Powerful Staff Resolution
Integrate with existing enterprise people repository (e.g. LDAP, Local OS, custom registry)
Specify different levels of authority (e.g. Readers, Administrators and Potential Owners)
Included Clients
Web Client
Portal Client (JSR 168)
Transfer and suspend tasks
Enable expiration, escalation (single or chained), notification, sub-tasks and follow-on tasks
Supports four eyes principle
Notification supports for e-Mail, event, work item creation and custom
17. Footer Name of File.PPT Business State Machines Another way to model a process
Manage transitions
State Machine Implementation
Based on UML 2.0State Machine
Event driven business processes
Creates WS-BPELunder the cover
Simple/Complex States
Entry/Exit
Transitions
Guards
Actions (invokes, e.g. SCA)
Timeout
18. Footer Name of File.PPT Business Rules Externalize Business Logic from an application (business process)
Easy change of logic that may change
Dynamically Update Rules in Runtime on the fly through Web Interface
Most-requested Business Rule functionality
Decision Tables
Rule Sets (If/Then Rules)
Rule Templates
Ease of Use
Rule Group: all artifacts needed for business rule developer are contained within one component
Enables rules to be displayed in the web based tooling with a more natural language view
if invoice.purchase() >= 100.00 then discount = .05
When the customer purchase is $ 100 or more then give the customer a discount of 5 percent.
Implemented by the application developer, defined by the business analyst
19. Footer Name of File.PPT Beta Programme Objectives
Solution
Conclusions
20. Footer Name of File.PPT Objectives Address a real-world scenario to prove the practicality of delivering customer solutions using the WPS v6.0 Suite
Create a working demonstration of how the WPS v6.0 Suite can address business problems Capgemini’s customers are facing, taking a full development life-cycle approach
Use the demonstration as a reference site for Capgemini & IBM to illustrate the strength of the alliance and highlight best practice experience gained through the beta programme
Ensure the appropriate training & education plan is in place to aid in longer term project delivery based on WPS v6.0 Suite
Ensure that the Capgemini-IBM partnership is able to demonstrate clear differentiation in the marketplace
21. Footer Name of File.PPT Solution Modelled 10 use-cases (3 simple, 5 medium and 2 complex) based on an on-line product sales business
6 key domains were architected
Product
Payment
Order Fulfilment (State Machine)
Inventory (BPEL process)
Delivery
Customer Relationship Management
Designed macro (level 0, level 1) business processes using BPEL and state machine
Incorporated mixture of implementation approaches, JMS, EJB and WebServices
Made use of transactions, however, no security was implemented
Utilised SCA compliant JCA adaptors for integration with files and database
Linux (Redhat) based deployment architecture
22. Footer Name of File.PPT Conclusions Capgemini beta team created > 150 PMRs, representing over 60% of all PMRs raised, key summary areas being:
23. Footer Name of File.PPT Lessons Learned Adoption
Architecture
Development
Deployment
24. Footer Name of File.PPT Adoption Don’t attempt to sell SOA to the business, lead with BPM and position SOA as an enabler
Selling SOA is difficult due to difficulties in measuring ROI and TCO
Successful adoption of a business process platform requires significant involvement from business stakeholders
Defining all major business processes is a major undertaking, adopt an incremental approach
Approach must be driven from the business down
Clear line of sight from business to IT
Value Chain
Business Strategy/Drivers/KPIs
Business Services
Business Processes
Remember process flexibility is constrained by packaged products and bespoke applications
Service enable packages/applications when and where possible
Don’t be forced by vendors to select vertical packaged solutions
Don’t try to automate everything
Some processes are better handled by people, consider cost/benefit
Automation should ‘facilitate’ collaboration between employees, not hinder!
25. Footer Name of File.PPT Architecture Don’t approach the design of SCA as you would with the design of Java Objects
Modules should be used to represent a logical business domains
Design coarse grained business orientated interfaces for exports
Minimise Modules and group components sensibly
Understand generation policies
Authored versus generated
Inter communication between SCA components generates LocalEJB
External communication between Modules generates RemoteEJB
Synchronous versus Asynchronous reference
Synchronous uses RMI based invocations
Asynchronous uses request/reply patterns via JMS queues
Use the State Machine to model event driven interactions
Difficult to code using BPEL
Use BPEL to model sequence based service interactions
Long running processes should be marked as asynchronous and are persisted
Ensure appropriate correlationID(s) are identified, better to use alias
Use Compensation Handlers inside to BPEL to rollback operations There is no inheritance, no reuse of SCA outside a module, the parameters passed are XML documents. On the other hand an SCA is not even a service. SCA is the component model used to integrate heterogeneous resources and create a service realization. The “Service” is actually defined by the export. There is no inheritance, no reuse of SCA outside a module, the parameters passed are XML documents. On the other hand an SCA is not even a service. SCA is the component model used to integrate heterogeneous resources and create a service realization. The “Service” is actually defined by the export.
26. Footer Name of File.PPT Development Consider disabling Auto-Publish and Auto-Build
Cache results of Service.Manager.locateService()
Avoid overuse of WPS components
Use coarse-grained exports to minimise invocations
Use the simplest component kind for required function
Utilise multi-threaded SCA clients to achieve concurrency
Test components using WID, e.g. BPC to start processes
Team-based component wiring can be risky, especially at earlier stages of development, instead consider using stubs.
Error handling is an iterative process, design for the maximum error handling and tweak over time
Fault handlers around Invokes, Scopes, entire Processes
Involve Human Tasks in fault handlers to help manage exceptions
Available for interruptible processes only
Implement a comprehensive source control environment with backup
Understand derived v non-derived files
Always synchronise before committing or updating
Export modules between workspaces as Interchange files
27. Footer Name of File.PPT Deployment Reduce the number of SCA Modules, when appropriate
Place local modules in same server JVM
Use Asynchrony judiciously
Avoid unnecessary cross-component async invocations in a module
Avoid unnecessary cross-module Asynchronous invocations
Use async SCA instead of JMS bindings when possible
Configure the required level of MDB concurrency for asynchronous components
Use Object Data Representation for JMS
Security should be enabled so not everyone can modify business data in Failed Event Manager
Use Common Event Infrastructure (CEI) to track all events in a business transaction
28. Summary
29. Footer Name of File.PPT Summary Product offers BPM, human workflow and integration in a common architecture
WebSphere Process Server offers a compelling architecture for designing and building highly pluggable service based systems
Service Component Architecture (SCA) is a powerful abstraction model that separates the ‘what’ from the ‘how’
True round tripping between modeller, WID, monitor is heading in the right direction – a single meta model is key
Improvement areas; robust distributed development, SCA repository, improved debugging, tuning ,best practice and refactoring support
Business involvement from the start is key, preferably starting from Modeller
Organisations must consider the wider implications on architecture and governance if they are to be successful with SOA and BPM
Current systems incorporate large amounts of batch processing, as systems become more real-time, business models will have to evolve
30. Questions & Answers