1 / 29

Alix Cheema Senior Architect, Capgemini

vui
Download Presentation

Alix Cheema Senior Architect, Capgemini

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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.0 State Machine Event driven business processes Creates WS-BPEL under 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

More Related