You are previewing Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7.
O'Reilly logo
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

Book Description

A Service Oriented Architecture approach has many benefits for your applications, including flexibility, reusability, and increased revenue. You can exploit those benefits to the fullest by following this step-by-step tutorial for WPS and WESB.

  • Develop SOA applications using the WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus (WESB)

  • Analyze business requirements and rationalize your thoughts to see if an SOA approach is appropriate for your project

  • Quickly build an SOA-based Order Management application by using some fundamental concepts and functions of WPS and WESB

  • Do a top-down decomposition of the Order Management application to identify use cases, business processes, and services/components

  • In Detail

    By adopting an SOA approach in Business Process Management (BPM), you can make your application flexible, reusable, and adaptable to new developments. The SOA approach also gives you the potential to lower costs (from reuse), and increase revenue (from adaptability and flexibility). However, integrating basic SOA constructs (such as Process, Business Services, and Components) and core building blocks of BPM (such as Process Modeling and Enterprise Service Bus) in a real-world application can be challenging.

    This book introduces basic concepts of Business Integration, SOA Fundamentals, and SOA Programming Model and implements them in numerous examples. It guides you to building an Order Management application from scratch using the principles of Business Process Management and Service Oriented Architecture and using WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus (WESB). The various detailed aspects, features, and capabilities of the product are conveyed through examples

    We begin with essential concepts on Business Integration, SOA Fundamentals and SOA Programming Model. Then we set up the development environment to build your first Hello Process and Hello Mediation applications.

    Gradually, we build an SOA-based Order Management Application. We cover important aspects and functions of WPS and WESB with numerous practical examples. We show how to analyze your application's business requirements and check if an SOA approach is appropriate for your project. Then you do a top-down decomposition of your application and identify its use cases, business processes, and services.

    Having built the SOA Application, we introduce you to various non-functional topics, including: Administration, Governance, Management, Monitoring, and Security. We also discuss deployment topologies for WPS and WESB, performance tuning, and recommended practices.

    A practical guide to creating, developing, and analyzing project modules and examining deployment topologies for WPS and WESB

    Table of Contents

    1. Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
      1. Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
      2. Credits
      3. About the Authors
      4. About the Reviewers
      5. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Errata
          2. Piracy
          3. Questions
      6. 1. Introducing IBM BPM and ESB
        1. What is Service Oriented Architecture (SOA)?
          1. Process, Business Services, and Components — the core constructs
        2. Achieving success through BPM enabled by SOA
          1. Business Process Management (BPM)
          2. Building blocks of BPM enabled by SOA framework
          3. Business Process Modeling
          4. Business Process Execution (including Choreography)
          5. Enterprise Service Bus
          6. Business Policies and Rules
          7. Business Process Monitoring
          8. Information Model
        3. IBM SOA Reference Architecture
          1. What is Reference Architecture?
          2. Key elements of IBM SOA Reference Architecture
        4. Introducing IBM WebSphere Process Server (WPS)
          1. Role of WPS in SOA
          2. Platform architecture
          3. Common BPM adoption scenarios
        5. Introducing IBM WebSphere Enterprise Service Bus (WESB)
          1. Role of WESB in SOA
          2. Platform architecture
          3. Common WESB usage scenarios
            1. Interaction patterns
            2. Mediation patterns
            3. Deployment patterns
          4. WESB selection checklist
        6. IBM's SOA Foundation lifecycle
        7. IBM's BPM enabled by SOA method
        8. Summary
      7. 2. Installing the Development Environment
        1. WebSphere Integration Developer overview
        2. Prerequisite configuration
        3. Installing WID on Windows
            1. IBM Installation Manager
            2. Starting the Installation
            3. Setting up UTE
              1. WPS and WESB Integrated test environment
            4. Verifying the installation
            5. Post installation activities
            6. Uninstalling WID
        4. Getting Started with WID
            1. Starting WID
          1. Business Integration perspective
              1. Available views
          2. Working with Modules and Libraries
            1. Solution diagram
            2. Assembly Diagram
              1. Palette
              2. Imports and Exports
              3. References and wires
            3. Dependency editor
        5. Words of wisdom — tips, tricks, suggestions, and pitfalls
        6. Summary
      8. 3. Building your Hello Process Project
        1. SOA programming model
          1. Web Services Description Language (WSDL) in a minute
          2. XML Schema Definition (XSD) in a minute
          3. Service Component Architecture (SCA)
            1. Defining SCA
            2. Service Component Definition Language
          4. Service Data Objects (SDO)
          5. Business Process Execution Language (WS-BPEL)
            1. WID and WS-BPEL
        2. Building your first business process
          1. Creating the Integration Solution
          2. Creating library project
            1. Creating and visualizing Business Objects
            2. Creating and visualizing interfaces
          3. Creating the Hello Process BPEL
            1. Creating a new module called HelloProcess
          4. Creating a business process component HelloProcess
          5. Implementing the HelloProcess process
        3. Testing modules and components
          1. Deploying the modules
          2. Executing the modules
          3. Logging and troubleshooting
        4. Words of wisdom — tips, tricks, suggestions, and pitfalls
        5. Summary
      9. 4. Building Your Hello Mediation Project
        1. WS standards
          1. What are mediation flows?
          2. Mediation primitives
          3. Service Message Objects (SMO)
        2. Creating mediation modules
        3. Creating the Hello Mediation Flow
          1. Implementing the HelloMediationModule
        4. Testing modules and components
          1. Deploying the modules
          2. Executing the modules
        5. Summary
      10. 5. Business Process Choreography Fundamentals
        1. Using WPS in the right scenarios
        2. Creating service contracts with interface editor
          1. Development approach with WID
        3. Lingua Franca for BPM — Business Objects
        4. Working with Business Process (WS-BPEL)
          1. Long-running processes and microflows
          2. Using control structures in your processes
          3. Invoke external services using Invoke activity
          4. Data mapping using Business Object Maps
          5. Exception handling in Business Processes
            1. SCA exception types
            2. Compensation
            3. Catch, Catch All, Throw, Rethrow, and Terminate
            4. Exception handling suggested practices
            5. Failed Event Manager
          6. Relationships
          7. Using Visual Snippets
            1. Handling human tasks
        5. Using rule groups and rules
          1. Business rules
            1. Business rule sets and templates
            2. Decision tables
        6. Words of wisdom — tips, tricks, suggestions, and pitfalls
        7. Summary
      11. 6. Mediations Fundamentals
        1. Mediation flows
        2. Service Message Object (SMO)
        3. Working with Mediation primitives
          1. Mediation primitive overview
            1. Implementation steps common to most Mediation primitives
          2. Service invocation
            1. Callout
              1. Properties
              2. Example — Callout
              3. Usage tips
            2. Service invoke
              1. Key use
              2. Properties
              3. Usage tips
          3. Routing primitive
            1. Message filter
              1. Key uses
              2. Example — Message Filter primitive
              3. Test and execution
              4. Usage tips
            2. Endpoint lookup
              1. Key uses
              2. Properties
              3. Usage tips
            3. Flow Order
              1. Properties
              2. Usage tips
            4. Fan Out
              1. Key use
              2. Implementation steps
              3. Properties
              4. Usage tips
            5. Fan In
              1. Key uses
              2. Implementation steps
              3. Properties
              4. Usage tips
          4. Transformation primitives
            1. Message element setter
              1. Key use
              2. Properties
              3. Usage tips
            2. Database Lookup
              1. Key uses
              2. Implementation steps
              3. Example — Database Lookup primitive
            3. Custom Mediation
              1. Key use
              2. Example — Custom Mediation
              3. Usage tips
            4. XSL Transformation primitive
              1. Key use
              2. Example — XSL Transformation primitive
              3. Usage tips
          5. Tracing primitives
            1. Message Logger
              1. Key use
              2. Implementation steps
              3. Usage tips
              4. Example — Message Logger primitive
          6. Error Handling — Stop/Fail
              1. Key use
            1. Implementation steps
              1. Usage tips
        4. Dynamic routing
          1. What is the need for dynamic routing or endpoint selection?
        5. Integration with external systems using adapters
          1. What are adapters?
          2. How different are the adapters when compared to mediation flows?
          3. What are these WebSphere Adapters?
          4. What types of adapter come "out-of-the-box" with WPS/WESB?
        6. Summary
      12. 7. Sales Fulfillment Application for JungleSea Inc.
        1. Business requirements
          1. Business goals
          2. IT goals
          3. IT requirements
        2. Existing JungleSea Inc. applications
          1. Customer Information Management
          2. Order Entry
          3. Product Catalog Management
          4. Customer Billing Management
          5. Order Management
          6. Shipping Management
          7. Inventory Management
          8. Customer Credit Management
          9. Supplier / Partner Management
        3. SOA considerations
          1. Applying the SOA Foundation Lifecycle
        4. Architecture and design
          1. System context
          2. Identified use cases and scenarios
              1. Actors
              2. Use cases
          3. Identified Business Processes
          4. Solution Architecture
          5. Service identification
            1. Service granularity
            2. Top-Down, Bottom-up, and Goal-Oriented Decomposition Analysis
              1. Categorized (Business) Service Portfolio
          6. Identified components and services
        5. Architectural decisions and design patterns applied
        6. Laying out the build plan
          1. Identifying WPS and WESB parts
        7. Summary
      13. 8. Walk the Talk
        1. Shared libraries
          1. Business Doman Libraries
            1. Creating the Common Domain library
            2. BillingDomain-v1_0
            3. CustomerDomain-v1_0
            4. ProductDomain-v1_0
            5. SupplierPartner-v1_0
        2. End Application libraries
        3. Visualizing the solution
        4. Process Services
          1. Process Service — Order Handling
            1. Process Service — Order Handling components
          2. Process Service — CustomerInterfaceManagement
            1. Process Service — CustomerInterfaceManagement components
        5. Business Services and Access Services
          1. Business Services for TrackAndManageCustomerOrder component
            1. Business Service — ProductCatalogMgmt
            2. Business Service — InventoryManagement
            3. Business Service — CustomerCreditManagement
            4. Business Service — SupplierPartnerManagement
            5. Business Service — CustomerBillingManagement
            6. Business Service — ShippingManagement
            7. Business Service — CustomerOrderManagement
            8. Business Service — CustomerInformationManagement
        6. Summary
      14. 9. Building the Order Handling Processes
        1. Module assembly
        2. Steps involved in building business process
        3. Building ProcessServices-CustomerInterfaceManagement
          1. Implementing HandleCustomerContactProfile business process component
            1. Importing application libraries and modules/simulators
            2. Creating and importing JungleSea domain libraries
          2. Creating and/or importing necessary dependent modules
            1. Creating ProcessServices-CustomerInterfaceManagement module
            2. Module assembly and wiring
            3. Implementing HandleCustomerContactProfile BPEL component
            4. Implementing Fault Handling
            5. Testing the business process
        4. Building ProcessServices-OrderHandling
          1. Implementing TrackAndManageCustomerOrder business process component
            1. Creating and/or importing necessary dependent modules
            2. Module Assembly and Wiring
            3. Implementing the business process component
            4. Implementing Fault Handling
            5. Testing the Business Process
        5. Correlation sets in BPEL processes
          1. Anatomy of a correlation set
          2. Using a correlation set
        6. Summary
      15. 10. Integration with Various Applications
        1. Patterns addressed
        2. Module assembly
        3. Testing the modules
          1. Key concepts
            1. Test configurations
            2. Emulators
            3. Monitors
            4. Events
          2. Unit testing
          3. Component testing
        4. Implementing Business Service and Access Service modules
        5. Building BizServices- ShippingMgmt module
          1. Implement the Business Service component
          2. Building AccessServices-Rapid module
            1. Creating the Access Service module
            2. Implementing adapters
            3. Access Service module assembly and wiring
            4. Implementing Mediation Flows
              1. Unit Testing the Mediation Flows
          3. Wiring Business Services and Access Services
          4. Testing the Business Service end-to-end
        6. Building BizServices- CustomerCreditMgmt module
          1. Building AccessServices-Equal module
            1. Create Access Service module
            2. Access Service module assembly and wiring
            3. Implementing Mediation Flows
              1. Testing the Mediation Flows
            4. Wiring to Business Services and Access Services
        7. Building BizServices- SupplierPartnerMgmt module
          1. Building AccessServices-Moonlight module
            1. Create the Access Service module
            2. Implement JDBC adapter
        8. Building BizServices-InventoryMgmt module
          1. Building AccessServices-Alpha module
            1. Creating the Access Service module
            2. Access Service module assembly and wiring
            3. Implement the Mediation module
            4. Testing the Business Service end-to-end
        9. Building BizServices- CustomerBillingMgmt module
        10. Building BizServices- CustomerInfoMgmt module
        11. Summary
      16. 11. Business Space
        1. What is Business Space?
        2. Business Spaces
          1. Launching Business Space
          2. Creating a Business Space
          3. Creating a Business Space template
          4. Sharing a Business Space
        3. Widgets
          1. Adding widgets to Business Space
        4. Summary
      17. 12. Deployment Topologies
        1. Deployment topology considerations
        2. WebSphere Application Server Network Deployment fundamentals
          1. Cells
          2. Nodes
          3. Deployment manager
          4. Profiles
          5. Clusters
          6. Bus
          7. Databases
          8. Vertical clustering
          9. Horizontal clustering
          10. SCA components and cluster
        3. Operational architecture
          1. Infrastructure requirements
          2. Logical operational architecture
          3. Physical architecture
        4. Sales Fulfillment Application deployment topology
        5. Words of Wisdom
        6. Summary
      18. 13. Management, Monitoring, and Security
        1. Solution administration tasks
          1. Using the administrative console
          2. Performing common tasks using the administrative console
            1. Enabling server and application security
            2. Administrative Security procedures — Enabling administration security at profile creation
            3. Installing SCA modules using the admin console
            4. Managing Users and Groups
              1. Integration with LDAP
            5. Configuring Resources
          3. Troubleshooting and Problem Determination
          4. Administration tasks using Business Space
          5. Installing versioned SCA modules
        2. Monitoring WPS/WESB applications
          1. Tools and capabilities provided
          2. Monitoring with BPC Explorer
            1. Configuring BPC Explorer
          3. Service Monitoring with Business Space
            1. Monitoring with Problem Determination Space
          4. Common Event Infrastructure (CEI) and CBE Browser
        3. Words of wisdom — tips, tricks, suggestions, and pitfalls
        4. Summary
      19. A. WID, WPS, and WESB Tips, Tricks, and Pointers
        1. Any suggested method to backup WID?
          1. Restoring a profile from a backup
        2. Increasing WID's heap size
        3. How to add projects and libraries as dependencies in WID?
        4. How to reset a profile within WID?
        5. How to change the level of Web Services Interoperability (WS-I) compliance?
        6. How to change the type of your business process?
        7. How to get the list of ports the server uses for connections?
        8. Various tools and associated URLs that we should be aware of and bookmark
        9. Checking the version of the WPS or WESB server
        10. How to list all defined profiles on a WPS server?
        11. What is the difference between backing up admin configuration and profile backup?
        12. The administrator user ID and password to log in to the administrative console
        13. The recommended WPS deployment topology
        14. Turning off IBM-specific BPEL Extension
        15. Deploying modules with libraries by reference
        16. How to create versioned modules and libraries?
          1. Exporting a versioned SCA Module from WID for server deployment
          2. Some considerations or practices to adopt when dealing with versioned modules
        17. Recommended practices when working in a team environment or when performing team programming
          1. Performing team programming with CVS
        18. Stopping and starting process templates with the admin console
        19. tranLog
        20. Enabling and disabling Cross-Component Trace settings
        21. Use of global variables in a forEach within a BPEL process
        22. Enabling event monitoring in WID
        23. Using DynaCache to improve the performance of your WPS or WESB solution?
        24. What is the difference between Shared context, Correlation context, and Transient context? When to use which?
        25. What is WID history logging?
          1. WID Tracing
        26. BPEL or Mediation Flows — which and when to choose?
        27. Some common business process implementation types and when to use them
        28. Seeing WPS data in a Derby DB
        29. Miscellaneous Snippet Topics
        30. Overriding a Web Service endpoint in a mediation flow
        31. What is deferred parsing in the context of WESB?
        32. Some performance tips and considerations
        33. The difference between testing a module and testing a component
        34. What are the best forums to get help in WID, WPS, and WESB?
          1. Where can I listen or read up on advanced presentations and Webcasts?
          2. What are some useful pointers to articles, IBM redbooks, and other sources for advanced topics related to WID, WPS, and WESB?