630 likes | 646 Views
WebSphere Process Server technical overview & demonstration Technology of Information Systems. Maurits André & Marcel Cornelisse WebSphere Technical Sales 15-9-2009. SOA BPM Lifecycle End-to-End demonstration A closer look at WebSphere Process Server. Agenda.
E N D
WebSphere Process Servertechnical overview & demonstrationTechnology of Information Systems Maurits André & Marcel Cornelisse WebSphere Technical Sales 15-9-2009
SOA BPM Lifecycle End-to-End demonstration A closer look at WebSphere Process Server Agenda
IBM is the world’s largest IT company, founded in 1924 IBM’s business lines Hardware Software Services Financing Research 2008 Revenue over $100 billion Number of employees: IBM University Relations, see: http://www-304.ibm.com/jct09002c/university/scholars/ur/index.html Who is IBM? 2008 Pretax Income Mix 386,558
What is Business Process Management? BPM is a discipline combining software capabilities and business expertise through people, systems, and information to accelerate time between process improvements, facilitating business innovation What does BPM with SOA provide? Business Processes BPM with SOA provides process flexibility by improving how you design, manage, and optimize your business processes and reuse existing assets. External Services (Application & Information) Operational Systems (Application & Information Assets) Application Application Data Content Registry
The SOA Solution Stack – Driven by BPMServices are the “building blocks” for business processes SOA improves how you design, manage, and optimize your business processes • Services are building blocks • Reuse of existing assets • Flexibility to change • Utilizes both Technical & Business Services
SOA – BPM Lifecycle view Implement Business Processes Compose Services Build, Construct & Test • Execute and Integrate • People • Process • Information • Applications Gather requirements Model & Simulate Business Processes Service Versioning Re-use before build Business/IT alignment Ownership Impact Analysis Manage applications & services Monitor business metrics
SOA – BPM Lifecycle Product Mapping WebSphere Integration Developer WebSphere Process Server WebSphere Business Modeler WebSphere Service Registry and Repository WebSphere Business Monitor
Real estate company, specialized in development and letting of accommodation and residential concepts in the higher rent sector. ± 28,000 houses/apartments, value over €4 billion ± 300 employees. IT department ± 20 people. XYZ was looking for a solution to integrate several siloed backend systems. Business goals: streamline processes reduce manual tasks Company XYZ – background • improve data quality • improve time-to-market
WSDL WSDL WSDL Comm.Adapter Adapter Adapter Comm.Adapter Comm.Adapter How do processes work with services Enterprise Service Bus Aanbiedings brief Slecteren gegevens kandidaat huurder Contract Gegevens wijzigen Selecteren woning Afspraak maken Bijwerken gegevens Versturen Corresponden tie Afspraak huurder Definitief contract Huur contract Einde Start Business Processes e*GateTM Integration Backend systems (COTS) B2B Housing CRM Services Web
Build new Services ‘Top Down’ Integrate existing systems as Services ‘Bottom Up’ Service Composition/Aggregation to enable re-use Orchestrate Services to implement Business Processes Requirements for the SOA Build and Run platform Preferable through a unified programming model!
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
Think of what has taken place in the car and computer industry: Componentization and standardization which enabled Assembling from parts and resulted in Improved time to market, increased flexibility and innovation Service Component Architecture: the paradigm
A Basic Service … • Service Provider provides an Interface • Service Caller invokes the Service Provider’s Interface • Logical components: • Interface – Contract for the Service • Reference – Service needed in order to execute
The Logical Interface … • Service provides an Interface • Caller expects to call same Interface
Processes and Services … • Process invokes Services • Process exposes an Interface
Logical View of Processes and Services … • Process exposes an Interface • Process invokes Services • It looks just like any other Service
I R Service Component Architecture: Overview Component Interface:How to call this component Interface Reference Reference:What thiscomponents calls Implementation Declarative QOS: Security Communication styles Transactional behavior BusinessRules HumanTask StateMachine Selector WESB Mediation Interface Maps BPEL Java Implementation Types
get Approved Approved/ Denied If Approved then Send letter offering gold If NOT Approved Send letter offering Credit counseling service SCA programming model in action Java Application Sell additional services based on customer profile Human Task Human intervention on suspect applications to prevent fraud Imported EIS System Call Credit Rating service from an existing application Business State Machine WS-BPEL Business Process Adapting to business events Flexibly building business processes based on standards Business Rules Enable rapidly changing customer decision point
Composition: Modules, Imports and Exports … ‘Exports’ advertise capability out from a module Module ‘Imports’ call capability from external services or modules • Module: Assembly of SCA components • Unit of deployment: J2EE EAR file • A (re-usable) Service: Interface with binding and implementation
Calling external systems Import Interface + binding: REST SCA Web Service (SOAP/HTTP, SOAP/JMS) JMS MQ MQ/JMS Stateless Session Bean Outbound Adapters Exposing to external systems Export Interface + binding: REST SCA Web Service (SOAP/HTTP, SOAP/JMS) JMS MQ MQ/JMS Inbound Adapters Interacting with the outside world
Adapters acts as a mediator to the asset One face looks like a Service (SCA component) One face looks like a native user Adapters…..integrating existing systems/applications SCA
All adapters are included in WebSphere Integration Developer Application Adapters SAP, Siebel, PeopleSoft, JD Edwards, Oracle E-Business Suite, Technology Adapters Flat File, FTP, JDBC, Email, I/Series, CICS and IMS Wizard driven configuration Transforms backend into SCA component with Interface and Business Objects J2C Adapters
Process:Order doOrder Adapter forRelational DB Library: OrderLib Store Order ApproveOrder BO:Order Interface MapConvert toDB2 Human Task:Approve Order IF: StoreOrder SCA: Using Modules for Encapsulation and Reuse • Modules: Encapsulate and Reuse Functionality • Libraries: Share common definitions Get CustomerStatus web service ApproveOrder Module: Approve Order Manually Store Order Module: Process Order Module: Update Order Database DB2
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
I I I I Implementation Implementation R R BO BO BO BO = Business Object Business Objects:Data representation within Process Server Service Module Service Component Export (Data Handler) Service Component • Uniform data representation within Process Server • Flowing between component interfaces • Builds on top of XML and Java SDO standard • Data Handlers convert data to/from XML as required Business Rule Import (Data Handler) Process
Benefit: Common model for representing data within WebSphere Process Server Consistent logical representation, independent of data source or wire format Based upon SDO and XML standards Reduces effort, reduces project times, simplifies integration work Business Objects: Common Data Model Supports Nesting Inheritance Aggregation Common data representation in WebSphere Process Server
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
Reference doOrder Interface Map BusinessObject Map Interface submitOrderSAP SAPOrder Order Relationship OrderID SAPID Mapping services Interface:doOrder(Order) Interface:submitOrder(SAPOrder) BO (Order) BO(SAPOrder)
Demo SOA Core Supporting Services
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
A formal specification for Business Process description and execution Business Process Execution Language Invented by a core set of companies led by IBM and Microsoft Now a standard through OASIS Current Technical Committee BPEL …
Orchestration of Services Each participant described through Service declaration BPEL becomes “glue” that describes relationships between Services BPEL = Process Choreography …
BPEL is described as an XML Document … Not meant to be particularly human readable! Creating WS-BPEL … <sequence> <assign> <copy> <from variable="PO" part="customerInfo"/> <to variable="shippingRequest" part="customerInfo"/> </copy> </assign> <invoke partnerLink="shipping" portType="lns:shippingPT" operation="requestShipping" inputVariable="shippingRequest" outputVariable="shippingInfo">
Overview of WS-BPEL Basic Activities … Invoke Invoke a one-way or a request-response operation offered by a partner. Reply Reply to a message that was received. Receive Wait for a message to arrive. Optionally start a new process instance when the message arrives. Throw Generate a fault from within the business process. Assign Update the values of variables with new data. Rethrow Rethrow a fault which was caught Wait Wait for a given period or until a certain time has passed. Compensate Call a compensation handler Terminate Immediately terminate the process instance. Empty A "no-op" instruction in the business process.
Overview of WS-BPEL Structured Activities … Flow Multiple activities that are performed concurrently Sequence Multiple activities that are performed sequentially Switch (Choice) Select one activity branch from a set of choices Link Synchronize two activities in a Flow to enforce a particular execution order Pick (Receive Choice) Block the process waiting for an incoming event from one or more sources. While Repeat an activity until a boolean condition has been met
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
Human Task as a Service … • Human interaction identical to a Service • Process doesn’t know whether it is working with a person or automated technology • Human task described by: • Interface • Data parameters • Human task can be replacedby alternative as needed
Human Task ManagerSupporting all aspects of human interaction • Full integration of human workflow into SOA • Rich task assignment capabilities • Support of multiplestaff/organization directories, e.g. LDAP • Ability for dynamictask assignment • Re-direct work to substitutes in case of absence • Multi-level escalation mechanisms • Notification through e-mail and notification tasks • Dynamic task prioritization • Support for ad-hoc human collaboration • Create human tasks on-the-fly, extend pre-defined process models dynamically • Follow-up of manual tasks
Build your own Java API Generic Interface for Web Clients (SOAP/HTTP, HTTP/REST, JMS) Client Generator Framework JSP/JSF Portlets Lotus Forms Business Space Widgets BPC Explorer (‘out of the box’, highly customizable) Support two process user roles Process Admin functions (start, stop, re-start, suspend, compensate, track/trace etc.) Typically used at development as well as production time Process end-user functions (claim, complete, suspend, transfer etc. work) Typically used at development time Business Space (‘out of the box’, highly customizable) New Web2.0 based interface to support all BPM roles Human Task ManagerClient Support
Business Space:The user interface for the complete BPM suite. Business Users IT Leader Business Leader IT Developer Process Owner Business Analyst IT Architect Business Space capabilities of IBM BPM suite Aligning Business and IT for Continuous Process Optimization Business IT
Business Space Widget Palette IBM offers widgets out of the box for customer to view/interact with processes Multiple product views in one dashboard Non technical people can build their own dashboards and mix and match widgets
WebSphere Application Server ND (J2EE Runtime) BusinessProcesses HumanTasks BusinessStateMachines BusinessRules BusinessObject Maps DynamicServiceSelection Mediation Flows(ESB) InterfaceMaps Relation-ships Service ComponentArchitecture BusinessObjects Common EventInfrastructure WebSphere Process Server V6Components ServiceComponents SupportingServices SOA Core
Business State Machines • Business State Machines • Based on UML 2.0 State Machines • Event-Driven Business Processes focused on business states • Full Support for State Machine Programming Model • States, Events, Actions, Guards, … • State Machine Authoring / Debugging / Logging - Transition - Events (inbound operation - Interfaces) - Action (logic) - Guard (logic) State - State entry (logic) - State exit (logic) - Composite States - Time-out