Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

download Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

of 19

Transcript of Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    1/19

    WebSphere Process Server made easy, Part 1:Architecture

    Application Server lays the foundation

    Skill Level: Intermediate

    Addison Goering ([email protected])Software Engineer

    IBM

    05 Dec 2006

    This tutorial covers the key architectural concepts of IBM WebSphere ProcessServer. Specifically, it explains how WebSphere Process Server extends theunderlying WebSphere Application Server architecture. It addresses the importantcore set of SOA capabilities, supporting services, and service components. It is the

    first in a series of three tutorials on WebSphere Process Server.

    Section 1. Before you start

    About this series

    IBM WebSphere Process Server is a deployment and runtime environment forbusiness integration applications. It enables the deployment of applications built in a

    service-oriented architecture (SOA) structure. This series of three tutorials exploresthe architecture, installation, configuration, application deployment, and systemresource configuration of WebSphere Process Server.

    About this tutorial

    This tutorial is the first in a series of three. It focuses on WebSphere ProcessServer's utilization of the underlying architecture of IBM WebSphere ApplicationServer, and on how WebSphere Process Server extends that architecture to provideadditional capabilities. It highlights WebSphere Process Server's additional

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 19

    mailto:[email protected]://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtmlmailto:[email protected]
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    2/19

    capabilities, including support for components built on a service componentarchitecture, business objects, supporting services, and events created in thecommon event infrastructure.

    Throughout this tutorial, WebSphere Process Server will be referred to as Process

    Server. WebSphere Application Server will be referred to as Application Server.

    Objectives

    After you complete this tutorial, you'll have a solid foundation on which to build theskills you'll learn in the second tutorial, which presents the steps necessary for asuccessful product installation and configuration.

    Prerequisites and system requirements

    This tutorial is written for administrators whose skills and experience are at anintermediate level. You should have a general familiarity with the administration ofWebSphere Application Server before you begin. No particular system requirementsare needed to complete this tutorial.

    Section 2. An overview of WebSphere Process Server's

    architectureTo understand the architecture of WebSphere Process Server, it is very helpful tohave an understanding of the architecture of WebSphere Application Server.WebSphere Application Server is the foundation for WebSphere Process Server.The infrastructure of Process Server is built on the infrastructure of ApplicationServer. As an analogy, consider the home in which you live, which provides you withshelter and the amenities for living. Your house provides basic services that areessential for day-to-day living, such as electricity, water (well pump, septic system,and so forth), heating/cooling, and shelter from the elements. Each of these servicesis necessary for you to function on a daily basis. At any point in time, you can takeadvantage of any service and build upon it. For example, you may want to build anaddition to your home. In order to accomplish this, the electrical and water servicesare utilized and possibly extended.

    In a similar manner, Process Server builds upon the Application Server framework.The Application Server is the platform on which Java technology-basedapplications run. Application Server provides services such as security, databaseconnectivity, threading, workload management, and so forth that can be used byapplications.

    Figure 1. WebSphere Application Server's architectural capabilities

    developerWorks ibm.com/developerWorks

    ArchitecturePage 2 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    3/19

    Figure 1 illustrates WebSphere Application Server as the base architecture forProcess Server. You can see several engines or containers that provide theenvironment to run Web artifacts, Enterprise JavaBeans (EJB) components, Webservices, and process messages. But what is it that makes WebSphere ProcessServer different from WebSphere Application Server? How is a Process Serverimplementation different from an Application Server implementation?

    How is WebSphere Process Server different from WebSphereApplication Server?

    There are several differentiators between these two products. One major differenceis Process Server's ability to manage the choreography of business processes.Business process choreography is the capability to bring together individual servicesto accomplish a larger piece of work. There are two aspects to business processchoreography: the modeland the runtime.

    The model is a description of the steps and logic required to complete the businessprocess. Process templates are the deployed components in the runtime thatdescribe the business process model. The other aspect is the runtime engines,which are responsible for tracking the state of the process instances, handlinghuman intervention, dealing with exceptions, and routing messages to theappropriate instance of the process. Process instances are created from templatesand exist in the runtime environment. A business process deployed to ProcessServer is a specific type of service component built upon a service componentarchitecture (SCA).

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 3 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    4/19

    A (very) quick overview of business processes

    Most of us are familiar with the concept of a business process. In fact, businessprocesses are part of our everyday lives and we may not even be aware of it.

    Whenever you use an ATM to withdraw money from your checking or savingsaccount, you initiate a business process. Technically, this is considered a microflowor non-interruptibleprocess. Microflows execute in a short period of time, and allactivities are executed under one transaction. If you have ever applied for a loan orcredit card, you participated in a long-runningor interruptiblebusiness process.Figure 2 illustrates the workflow for a very simple loan application business process.By nature, long-running business processes execute one or more sets of activities ina series of transactions. They may take weeks, months, or years to complete.

    Figure 2. A simple loan application workflow with branching

    Business processes define how and when services are used to complete a businesstask. With interruptible processes, multiple execution paths can be defined. In Figure2, there are two paths defined: one for a potential borrower with a good credit rating,and one for a borrower with a poor credit rating. The business process may need tocoordinate activity with another business process -- by checking credit scores with arating service, for example.

    If an error or fault occurs, the business process has a means for handling thosesituations. It may also be necessary to reverse or undo a process. This is known ascompensation. Say, for example, that the call to the credit check service did notreturn a response. There must be reversal or compensation activities in place for theordering process to handle such a situation. Perhaps the loan will be resubmitted orthe credit verification will be performed manually.

    Another aspect of business processes is the involvement of individuals or groups ofindividuals. Human beings are usually involved in an interruptible process. In theloan application process, there are a number steps that require human intervention.

    developerWorks ibm.com/developerWorks

    ArchitecturePage 4 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    5/19

    If the loan application was submitted via a paper form, a clerk may need to enter thecustomer's data. A loan officer may need to perform an initial application review.Each human task has the effect of halting the execution of the process until the taskis completed. Once the task is completed, the business process can continue.

    Section 3. Runtime: The business process container

    WebSphere Process Server provides an environment in which business processescan run. The engine that supports the runtime is called the business processcontainer. It is similar in concept to the Web container and EJB containers inWebSphere Application Server (see Figure 1) that provide an environment in whichto run servlets and EJBs, respectively. The business process container, as shown in

    Figure 3, provides an environment to manage the execution and flow of businessprocesses, and to manage the interaction of people with business processes.

    Figure 3. The business process container provides the environment in whichbusiness processes execute

    You can better understand the architecture of the business process if you visualizeyourself peeling back the layers of an onion. The first layer reveals the business

    process container. Keep in mind that Process Server utilizes the Java 2 PlatformEnterprise Edition (J2EE) architecture supported by WebSphere Application Server.The business process container is comprised of components (the business flowmanager and human task manager), plug-ins, and APIs. The business processcontainer is deployed as an enterprise application. The container is deployed eitherupon installation of the product or at a later point in time via scripts or theWebSphere Application Server administrative console. During the deployment of thecontainer, the necessary data source and Java Message Service (JMS) resourcesare created. This is an example of WebSphere Process Server leveraging theunderlying architecture of WebSphere Application Server.

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 5 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    6/19

    The business process container is deployed as a set of EJBs that leverage the EJBcontainer and its services. Packaged in the application is bpecontainer.jar, whichcontains a synchronous session bean and an asynchronous message-driven beanto provide an interface to the business process container. Also in the application iscompensate_ejb.jar, which provides compensation support for business processes.

    Database and messaging

    A relational database is required by the container. BPEDB is the default name forthe business process engine database. The scripts to create the database arepackaged with the server. This database is used by the container for maintaining thestate of process instances, tracking work items, creating audit trails, and storingprocess templates. In a standalone WebSphere Process Server environment, eithera local or remote BPEDB instance is required. For a single server in a cell, theBPEDB is scoped to the server. For a cluster in a cell, the BPEDB is scoped to the

    cell or the server. In a clustered environment, each cluster member shares a singledatabase, so the cluster members access one central set of data for each businessprocess.

    Messaging is an integral part of Process Server's architecture. There are twomessaging options: embedded (default) messaging or, when the business processcontainer is installed, WebSphere MQ. If embedded messaging is used, all JMSresources are created automatically. If WebSphere MQ is used, then suppliedscripts must be run to create appropriate messaging resources.

    Regardless of the messaging implementation used, there are four message queuesused by the business process container. The first queue, BPEAPIQueue, supportsthe asynchronous interface into the business process container. A message-drivenbean monitors the destination for messages to start a business process. When themessage arrives at the destination, the business process container begins toprocess the request. The second queue, BPEIntQueue, is used by the processnavigation function to pull a message off the queue's destination. The message ispassed to the navigator, where the message is matched to an activity in a specificbusiness process instance. The activity is executed and its result stored in theBPEDB along with a successful completion indicator. A message is placed in theBPEIntQueue destination to call for the next activity. This execution cycle on theBPEIntQueue is repeated until all activities in the business process are completed.

    The third queue, BPERetQueue, is a queue destination used to place messagesfrom the BPEIntQueue that have failed. A message in this queue is retried a certainnumber of times; the number of retries is configurable from the WebSphere ProcessServer administrative console. This destination is necessary so that other validmessages in the BPEIntQueue are processed in a timely manner. When retriedmessages fail after the set retry interval, the fourth queue, BPEHIdQueue, is used.Messages in this queue can be forced by an administrator and retried.

    Business flow manager and human task manager

    developerWorks ibm.com/developerWorks

    ArchitecturePage 6 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    7/19

    The next layer into the onion is the business flow manager, which provides workflowsupport. This support takes the form of a Java implementation that runs in theapplication server. This is another example of how WebSphere Process Server issupported by the underlying WebSphere Application Server architecture.

    The business flow manager is responsible for managing process templatesandprocess instances. Process templates describe the business process model. Atruntime, the business flow manager creates process instances from processtemplates. A process instance is the representation of a single running businessprocess. The business flow manager's job is to manage one or more processinstances concurrently. As shown in Figure 4, there are two interfaces that interactwith business processes: an SCA interface for interacting with other servicecomponents, and a generic process API for interacting with J2EE clients. Theprocess navigation component manages the process state within each businessprocess instance.

    Figure 4. A more complete look at the architecture of the business processchoreographer engine

    Working cooperatively with the business flow manager is the human task manager.The human task manager is responsible for the coordination of requests that requirehuman intervention. It is also responsible for the management of the state of humantasks and work items.

    Peeling the onion back to the next layer reveals three plug-ins provided with thebusiness process container. Each plug-in provides specific functionality to thebusiness flow manager and the human task manager. The data provider plug-inprocesses messages sent to and received from activities. Messages are sent andreceived as either Java objects or messages described by XML. The state observer

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 7 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    8/19

    plug-in informs the business flow manager and the human task manager of thecurrent status of the business activities. The staff plug-in provider is used by thework item manager to search user registries for principals to authenticate.

    Section 4. Staff support

    Staff plug-in provider

    The staff plug-in provider is important because people are often involved inlong-running interruptible business processes and need to be assigned activities tocomplete. In our example loan application business process, a loan officer may need

    to manually approve or decline a loan application. Only users authenticated as loanofficers can perform final loan approvals. The mechanism within the businessprocess container for authenticating principals is known as staff resolution.

    Staff resolution associates the appropriate people with a set of tasks. Staff resolutionis performed by executing staff queries. Staff queries are a combination of roles,verbs, and parameters. A role indicates a permission level. There are ten differentroles:

    Potential instance creator

    Originator

    Potential starter

    Starter

    Potential owner

    Owner

    Editor

    Reader

    Administrator

    Escalation receiver

    The query is purposely created as a generic query by combining the verb, whichspecifies the type of staff query, and the parameter, which defines the values for thequery. The parameter could be an LDAP attribute or the name of the user group, forexample. In Figure 5, the staff query retrieves all the potential owners (role) who areusers (verb) by name (parameter). The staff query is generic by nature.

    The query is actually mapped to the user repository by a transformation file specificto the user repository. This transformation file maps the generic query to a

    developerWorks ibm.com/developerWorks

    ArchitecturePage 8 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    9/19

    user-registry-specific query language. When this step of the business process isreached, tasks may be generated and only made available to those users that fit thepermissions of the staff query.

    Figure 5. WebSphere Integration Developer's staff query editor

    Staff plug-ins are used by the business process choreographer to determine whocan start a process or claim tasks. The staff plug-ins provide transformations thattranslate the query to the appropriate query language of the directory service.Because there may be multiple directory services deployed by an enterprise, eachdirectory server requires a different staff plug-in. Staff plug-ins are registered to the

    runtime by specifying a name and a JAR file. The JAR file contains a configurationfile that further defines the class name.

    Two plug-ins are available by default when the human task manager is installed andconfigured. The first of these is the user registry plug-in, which uses the same userregistry that WebSphere Process Server uses for authentication, but only providestransformation for a small subset of verbs (users, users by ID, group members, andso forth). The system plug-in supports an even more limited number of verbs (users,users by ID, everybody, and nobody). It is not supported in a production environmentand is only designed for testing purposes. A final staff plug-in, the LDAP staffplug-in, is configured after the human task manager is installed. It provides the most

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 9 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    10/19

    verb transformations and is configured to a specific LDAP user registry.

    Runtime aspects of staff support

    The basic functionality of the work item manager and staff plug-in is diagramed inFigure 6. During the execution of a business process, when it becomes necessaryfor a staff member to perform an activity, the business process waits for theexecution of the staff activity to complete. Queries are generated from the BPCExplorer (more on which in a moment) or other business processes. The work itemmanager passes the query to the appropriate staff plug-in provider. The plug-in usesthe transformation to translate the verbs to the appropriate query language of thedirectory server. The query is then executed to retrieve users or user groups. Thequery results are returned to the work item manager, which creates work items forthe selected users with appropriate permission levels. Work items are stored in theBPEDB.

    Figure 6. A business process accesses work items in the business processcontainer

    Work item access

    There are a number of options available for accessing work items. Enterprises canwrite their own custom client applications using the APIs supplied with the product.Another option is the BPC Explorer, which is installed along with the businessprocess container. The BPC Explorer is based on reusable JavaServer Facescomponents and thus can be extended through that framework. The BPC Explorer isconsidered a generic user interface that provides support for tasks and processes. It

    is securable through normal security mechanisms. From its interface, you can workwith the following:

    Task templates

    Process templates

    Process instances

    Activity instances

    Tasks (work items)

    developerWorks ibm.com/developerWorks

    ArchitecturePage 10 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    11/19

    Escalations

    Whichever option is determined best, users are authenticated by normal WebSphereApplication Server mechanisms to view available work items. It is important to notethat the staff plug-in provider is not involved in access to work items. Once the user

    is authenticated, the work item manager provides authorization. The separation ofauthentication and authorization is driven by the underlying WebSphere ApplicationServer architecture. Figure 7 illustrates how a custom client accesses work itemsthrough an external interface to the business process container.

    Figure 7. A client application accesses the business process containerthrough an external interface

    As discussed earlier in this tutorial, WebSphere Application Server providesnumerous services that WebSphere Process Server leverages. Built on the servicesprovided by WebSphere Application Server are three layers that differentiateWebSphere Process Server from WebSphere Application Server. The first of theselayers is the SOA core. The second is a set of supporting services, and the third is

    represented by a set of service components. We'll discuss each of these layers inturn in the next few sections.

    Section 5. SOA core

    Process Server is a key part of an SOA solution. In order to implement an SOA, it isnecessary to have a single model for building applications and a single model for

    representing data. The service component architecture (SCA) is the model forbuilding applications. In the SCA, all application artifacts are components thatprovide one or more services with interfaces that are well defined. Data flows in andout of components in the form of business objects. Service components areassembled and deployed as composite applications. Sitting behind deployedapplications is a common event infrastructure that can capture significant events thatoccur in the system.

    Service component architecture

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 11 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    12/19

    The SCA provides a means for all artifacts to be described as service componentsthat work with business data. The service provided by a component can beimplemented by just about anything: a Web service, a plain old Java object, a BPELprocess, a stateless session EJB, and so forth. Service components provide forinterfaces and references. The interface's job is to describe to other components or

    services how to call the component. Components make use of other services(components) by using a reference. In Figure 8, take note of the service componentnamed doOrder. On the left side is its interface, which describes how the componentis called by other components. The interface is described by a WSDL port type or byJava code. There are references to two other service components, Customer Statusand Approve Order. References describe other service components that acomponent can call.

    Figure 8. The building block of a service module is one or more servicecomponents

    Service components are grouped together into a module. In Figure 8, the module isnamed Order. This particular module provides for the encapsulation of servicesrelated to processing an order. The Order module may be part of an integratedapplication built upon other modules that are connected together. In the samemanner that components have interfaces and references, modules utilize exportsand imports. The module has an export called doOrderthat exposes the interfacesof the encapsulated components in the Order module. This effectively makes theinterfaces available to other clients. The Credit Check import specifies a servicecomponent in another module as if it were a local service.

    Business objects

    Business objects represent the data that flows between service components, bothwithin and between modules. The business object itself is a set of attributes thatrepresent a business entity (such as an Order) and instructions for processing thedata. For example, the Order business object may represent data returned from asynchronous EJB session bean facade or a business process. The business objectis built upon a broader framework that is made up of four elements:

    developerWorks ibm.com/developerWorks

    ArchitecturePage 12 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    13/19

    Business object definition: Provides the name, attributes, properties,version number, and any application-specific information.

    Business graph definition: A wrapper or container around a businessobject that describes any additional capabilities, such as a change

    summary or an event summary.

    Business object metadata definition: Provides summary informationabout the business object.

    Business object services: Defines additional capabilities above andbeyond the basic capabilities, such as create or copy.

    Common event infrastructure

    WebSphere Process Server architecture provides a common event infrastructure

    (CEI) as part of the SOA core. The CEI captures and publishes events emitted fromservice components. The common base event model is the standard format thatdefines the structure of an event. One possible usage of the CEI is to track, audit,and monitor events emitted by business processes. The business processchoreographer also emits events related to activities, variables, and correlation sets.

    Event information is viewed and managed from several clients. The Common BaseEvent browser is available from the administrative console of WebSphere ProcessServer. WebSphere Business Monitor can be used to measure, monitor, and reporton business data based on events. The CEI API is used to build custom clients andaccess event data.

    Section 6. Supporting services

    The second layer that differentiates WebSphere Process Server from WebSphereApplication Server is a set of supporting services. Built upon the SOA core are fivesupporting services that address specific integration and transformation problems forconnecting components. Each service is deployed as a component based on the

    SCA model.

    Interface maps

    The first of these supporting services addresses the challenge of components withdifferent interface signatures. It is not uncommon for components to have differentinterfaces, possibly because components were built by different developmentgroups. Interfaces can be semantically identical, but syntactically different. Forexample, doOrder(order) and submitOrderSAP(SAPOrder), shown in Figure 9, havedifferent interface signatures, but work together in a module. Interface maps support

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 13 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    14/19

    the mapping of interfaces with disparate signatures, and thus the building ofintegration applications constructed from a variety of components.

    Business object maps

    Business object maps are used to map business objects between source and targetbusiness objects. This may be necessary when the attributes of the source andtarget business objects are different. The map shown in Figure 9 establishes thecorrespondence between source and target attributes, thus allowing the exchange ofdata to occur. The order and SAPOrder business objects have different keyattributes: order uses orderID and SAPOrder uses SAPID. In the business object,these attributes are structured differently. The business object map is employed tomap the attributes appropriately.

    RelationshipWhen attributes in a source and destination data type contain equivalent data that isrepresented differently, a relationshipis used to make the necessary transformation.A relationship establishes an association between data from two or more sources.Each data type is considered a role in the relationship. In the relationship illustratedin Figure 9, orderID is one role and SAPID is the other role in the relationship.

    Figure 9. A service module comprised of an interface map, business objectmap and relationship

    Selectors

    developerWorks ibm.com/developerWorks

    ArchitecturePage 14 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    15/19

    There are situations in which a business process may need to call a different servicecomponent based on a specific criteria. For example, the customer support processa company implements on weekends might be different than the one implementedduring the normal work week. The weekend and work week human tasks might beimplemented with different components. This type of differentiation can be

    implemented by a selector. A selector allows the invocation of a different componentwith the same interface based on rules defined in the selector. It is similar in conceptto a business rule, but the implementation is not externalized as with a businessrule.

    Mediation flow

    A mediation flow is a type of component used to intervene between request andresponse services. There are several situations in which you would use a mediationflow. Messages or data can be transformed from one format to another. Logging

    mediations can be used to log messages before they are sent to the next service.Messages can be routed to an appropriate service based on logic in the mediationflow. The logic of a mediation flow is provided by mediation primitives.

    Section 7. Service components

    The third layer that differentiates WebSphere Process Server from WebSphere

    Application Server is a set of service components. Service components are thebuilding blocks of composite applications, built upon the SCA model.

    Business processes

    As noted earlier in this tutorial, a business process is a system or set of proceduresthat is used to accomplish a larger business task. Business processes are supportedby WebSphere Process Server through the support of WS-BPEL (Web Services forBusiness Process Execution Language). WS-BPEL is the specification for modelingbusiness processes and the behavior and flow of those processes. WS-BPEL

    provides a visual representation and definition of a business process through XML,and also defines the runtime behavior of a business process.

    These important behaviors are achieved by using WS-BPEL. The state of theprocess is maintained through variables. Errors are handled through fault-handlingfacilities. Inbound requests can be routed to the correct instance of a process byusing correlation sets, which associate business data within the request thatidentifies the process instance.

    Human tasks

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 15 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    16/19

    WebSphere Process Server provides support for people to participate in businessprocesses through the implementation of human tasks. Human tasks are supportedby the human task manager of the business process container. There are threedifferent categories of human tasks. A participating taskassigns a task to person.For instance, in a loan approval process, once the credit check service completes,

    the business process proceeds to assign an approval task to the loan officer.

    Once the loan approval is completed by the loan officer, the process continues toanother service. This is called an originating task, where a person assigns a task toanother service component. And finally, a human task may call a service, but thetask is completed by another person. This is called a pure human task. In the loanprocess example, a manual credit check performed by a bank clerk could proceed tothe loan approval step performed by the loan officer.

    Business state machines

    There are cases in which business processes cannot be modeled appropriatelyusing simple WS-BPEL. A business process is defined by a sequential flow ofcontrol. Some processes are inherently more state and event driven than others.Consider an ordering process. At any point during the process, an order can beappended or canceled. These events do not lend themselves very well to sequentialbusiness processes. A business state machine can more accurately model theordering process by defining it with append and cancel events.

    However, keep in mind that the business state machine is itself actuallyimplemented by WS-BPEL flows. When you build a business state machine in theediting tool, an XML representation of the state machine is built behind the scenes.The XML is used to generate the WS-BPEL code. The main benefit of using abusiness state machine over a business process is that the state machine bettermodels looping, whereas a business process is more procedural.

    Business rules

    There are instances in which business users will need to make changes to the logicof a business process. It is not reasonable to expect a business analyst, forexample, to directly modify WS-BPEL code and redeploy it. There is a mechanismfor this called a business rulethat externalizes a portion of the business logic.Business rule groupsare a type of supported service component that contain one ormore business rules. A business rule's functionality is described by a decision table,rule sets, or rule templates. Business rules should be implemented when businesspractices change frequently -- when you'd need to apply discounts to product pricing,for instance. A discount business rule could be implemented by stating, "If the dateis between June 1 and August 1, apply the summer discount of 5 percent; otherwise,apply a non-seasonal discount of 2 percent."

    Business rules are externalized through the Business Rules Manager tool. From thistool, an authenticated user with appropriate authorization can browse, edit, andcreate new business rules. Business rules are persisted to a common repository

    developerWorks ibm.com/developerWorks

    ArchitecturePage 16 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    17/19

    (WPRCSDB) that is accessed by all instances of WebSphere Process Server, thusallowing all servers to share the same business rule data.

    Section 8. Conclusion

    In this tutorial, you learned about the architectural relationship between WebSphereApplication Server and WebSphere Process Server. WebSphere Application Serverprovides the runtime foundation for Process Server; however, the foundation isextended in a number of important aspects. The most notable aspect is support forcore SOA constructs, SCA components, and supporting services.

    This tutorial should provide you with a solid understanding of WebSphere Process

    Server architecture and how it supports business integration. The next tutorial in thisseries will take you through the installation of WebSphere Process Server andconfiguration of the business process container.

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 17 of 19

    http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtml
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    18/19

    Resources

    Learn

    More developerWorks tutorials on WebSphere products are waiting for your

    discovery. WebSphere Process Server: IBM's new foundation for SOA,"(developerWorks,

    September 2005): This article discusses very basic product features.

    SW428: Installation and Administration of IBM WebSphere Process Server V6is a fee-based, classroom course that covers installation, configuration,application deployment, and administration for IBM WebSphere Process Serverfor Multiplatforms Version 6.0.

    "WebSphere Process Server V6.0 and WebSphere Integration Developer V6.0:Business flow manager overview": This presentation in the IBM EducationAssistant provides a good reference.

    "WebSphere Process Server business state machines concepts andcapabilities, Part 1: Exploring basic concepts," (developerWorks, October2006): Get up to speed on business state machines.

    IBM Certified Deployment Professional: WebSphere Process Server V6.0: Getcertified on WebSphere Process Server.

    IBM WebSphere Business Process Management Version 6.0 informationcenter: More documentation on the IBM WebSphere Business ProcessManagement products.

    Recommended reading list: Service-Oriented Architecture and WebSphereProcess Server: This is an excellent set of general resources regarding SOAand WebSphere Process Server.

    WebSphere education: More information on training with IBM WebSphereproducts.

    "Business process management: Modeling through monitoring usingWebSphere V6 products": Check out this Redbook, which discusses usingWebSphere Process Server in a larger context.

    "WebSphere Application Server V6 system management and configuration

    handbook": This Redbook provides several good sections on WebSphereApplication Server architecture.

    Get products and technologies

    IBM trial software: Build your next development project with these packages,available for download directly from developerWorks.

    This demo of WebSphere Process Server gives you an overview of thefunctions in Version 6.0.

    Discuss

    developerWorks ibm.com/developerWorks

    ArchitecturePage 18 of 19 Copyright IBM Corporation 1994, 2008. All rights reserved.

    http://www.ibm.com/developerworks/views/websphere/libraryview.jsp?type_by=Tutorials%20and%20online%20courses&S_TACT=105AGX19&S_CMP=wpsprim1http://www.ibm.com/developerworks/websphere/library/techarticles/0509_kulhanek/0509_kulhanek.htmlhttp://www.ibm.com/jct03001c/services/learning/ites.wss/tp/en?pageType=tp_search_results&country=tp&rowStart=0&rowsToReturn=20&searchString=sw428http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpswid/6.0/BusinessProcessChoreography/WPSWIDv6_BPRuntime/player.htmlhttp://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpswid/6.0/BusinessProcessChoreography/WPSWIDv6_BPRuntime/player.htmlhttp://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpswid/6.0/BusinessProcessChoreography/WPSWIDv6_BPRuntime/player.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0610_beers/0610_beers.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0610_beers/0610_beers.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0610_beers/0610_beers.htmlhttp://www.ibm.com/certify/certs/mqdpwspsv6.shtmlhttp://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsphttp://www.ibm.com/developerworks/websphere/library/techarticles/0604_issw/rrlsoa.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0604_issw/rrlsoa.htmlhttp://www.ibm.com/developerworks/websphere/education/enablement/http://www.redbooks.ibm.com/abstracts/sg247148.html?Openhttp://www.redbooks.ibm.com/abstracts/sg247148.html?Openhttp://www.redbooks.ibm.com/abstracts/sg247148.html?Openhttp://publib-b.boulder.ibm.com/abstracts/sg246451.html?Openhttp://publib-b.boulder.ibm.com/abstracts/sg246451.html?Openhttp://publib-b.boulder.ibm.com/abstracts/sg246451.html?Openhttp://www.ibm.com/developerworks/downloads/?S_TACT=105AGX19&S_CMP=wpsprim1http://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2006-07-26+06%3A07%3A11.896688R&S_TACT=105AGX19&S_CMP=wpsprim1http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtmlhttp://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2006-07-26+06%3A07%3A11.896688R&S_TACT=105AGX19&S_CMP=wpsprim1http://www.ibm.com/developerworks/downloads/?S_TACT=105AGX19&S_CMP=wpsprim1http://publib-b.boulder.ibm.com/abstracts/sg246451.html?Openhttp://publib-b.boulder.ibm.com/abstracts/sg246451.html?Openhttp://www.redbooks.ibm.com/abstracts/sg247148.html?Openhttp://www.redbooks.ibm.com/abstracts/sg247148.html?Openhttp://www.ibm.com/developerworks/websphere/education/enablement/http://www.ibm.com/developerworks/websphere/library/techarticles/0604_issw/rrlsoa.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0604_issw/rrlsoa.htmlhttp://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsphttp://www.ibm.com/certify/certs/mqdpwspsv6.shtmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0610_beers/0610_beers.htmlhttp://www.ibm.com/developerworks/websphere/library/techarticles/0610_beers/0610_beers.htmlhttp://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpswid/6.0/BusinessProcessChoreography/WPSWIDv6_BPRuntime/player.htmlhttp://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpswid/6.0/BusinessProcessChoreography/WPSWIDv6_BPRuntime/player.htmlhttp://www.ibm.com/jct03001c/services/learning/ites.wss/tp/en?pageType=tp_search_results&country=tp&rowStart=0&rowsToReturn=20&searchString=sw428http://www.ibm.com/developerworks/websphere/library/techarticles/0509_kulhanek/0509_kulhanek.htmlhttp://www.ibm.com/developerworks/views/websphere/libraryview.jsp?type_by=Tutorials%20and%20online%20courses&S_TACT=105AGX19&S_CMP=wpsprim1
  • 7/31/2019 Wes-wpsprim1-A4 - WebSphere Process Server Made Easy, Part 1

    19/19

    Participate in the discussion forum for this content.

    About the author

    Addison GoeringAddison Goering is a member of the WebSphere Education development team. Hehas been involved in the development of administration courses for WebSphereApplication Server, WebSphere Portal, WebSphere Process Server, and WebSphereESB. He has delivered courses to internal IBM users, business partners andcustomers. Prior to joining IBM, he worked as a software developer for a largeconsulting company. And, many years ago, he taught elementary and middle school.Addison resides in the Chicago area with his wife, five children, four dogs, and fourcats.

    ibm.com/developerWorks developerWorks

    Architecture Copyright IBM Corporation 1994, 2008. All rights reserved. Page 19 of 19

    http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=820&cat=9http://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/legal/copytrade.shtmlhttp://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=820&cat=9