eXcelon Business Process Manager Technical White...

21
eXcelon Platform 1 eXcelon Business Process Manager Technical White Paper Executive Summary This white paper allows the technical decision maker to understand and evaluate the eXcelon Platform and the capabilities of the eXcelon Business Process Manager™ (BPM) so as to make an informed decision before purchase. This paper describes the eXcelon Platform in brief and then presents the technical aspects of BPM. Organizations are struggling to gain competi- tive advantage by identifying and streamlining eBusiness solutions that create business value by expanding markets, reducing costs, and fostering customer loyalty. One emerging trend is the evolution of enterprises toward a more decentralized, outsource-dependent environ- ment. To build this model successfully, an enterprise needs to integrate outsourced prod- ucts and services into its back-end systems. Hard-coded, point-to-point solutions cannot deliver the required flexibility or speed for today’s eBusinesses, which have IT infrastruc- tures that consist of applications implemented at different times, for different constituencies, with different objectives. An organization must be able to rapidly deploy new business solu- tions and maximize the reuse of existing com- puting resources. This ability enables the enterprise to differentiate itself among its com- petitors. According to Gartner Research, by 2004, mar- ket and economic forces will require global enterprises in certain industries — such as electronics, consumer packaged goods, and energy — to provide collaboration capabilities in 70 percent of their operations. As companies extend their processes to business or trading communities inside or outside their enter- prises, the operating environments that result are very complex. Bringing order to such a chaotic mix of technology, through systems integration, can be a daunting challenge. eXcelon Corporation with its rich industry expertise, is the premier provider of platforms based on XML. eXcelon’s strength results from its deep vertical industry experience, its use of value-based diagnostics, and its holistic approach to design. eXcelon’s superior, award winning products are the key to why eXcelon’s solutions are the best. The emergence of standards creates an opportunity to rapidly implement, monitor, and continuously change composite business applications. Composite business applications are configurable, user-centric business pro- cesses that extend existing software assets to support unique business processes. These processes span multiple systems and constitu- ents across the value chain, integrating a cor- poration's suppliers, customers, and trading partners. The eXcelon Platform meets and exceeds these criteria by enabling an enterprise to

Transcript of eXcelon Business Process Manager Technical White...

Page 1: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process ManagerTechnical White Paper

Executive Summary

This white paper allows the technical decisionmaker to understand and evaluate the eXcelonPlatform and the capabilities of the eXcelonBusiness Process Manager™ (BPM) so as tomake an informed decision before purchase.This paper describes the eXcelon Platform inbrief and then presents the technical aspectsof BPM.

Organizations are struggling to gain competi-tive advantage by identifying and streamliningeBusiness solutions that create business valueby expanding markets, reducing costs, andfostering customer loyalty. One emerging trendis the evolution of enterprises toward a moredecentralized, outsource-dependent environ-ment. To build this model successfully, anenterprise needs to integrate outsourced prod-ucts and services into its back-end systems.

Hard-coded, point-to-point solutions cannotdeliver the required flexibility or speed fortoday’s eBusinesses, which have IT infrastruc-tures that consist of applications implementedat different times, for different constituencies,with different objectives. An organization mustbe able to rapidly deploy new business solu-tions and maximize the reuse of existing com-puting resources. This ability enables theenterprise to differentiate itself among its com-petitors.

According to Gartner Research, by 2004, mar-ket and economic forces will require globalenterprises in certain industries — such aselectronics, consumer packaged goods, andenergy — to provide collaboration capabilitiesin 70 percent of their operations. As companiesextend their processes to business or tradingcommunities inside or outside their enter-prises, the operating environments that resultare very complex. Bringing order to such achaotic mix of technology, through systemsintegration, can be a daunting challenge.eXcelon Corporation with its rich industryexpertise, is the premier provider of platformsbased on XML. eXcelon’s strength results fromits deep vertical industry experience, its use ofvalue-based diagnostics, and its holisticapproach to design. eXcelon’s superior, awardwinning products are the key to why eXcelon’ssolutions are the best.

The emergence of standards creates anopportunity to rapidly implement, monitor, andcontinuously change composite businessapplications. Composite business applicationsare configurable, user-centric business pro-cesses that extend existing software assets tosupport unique business processes. Theseprocesses span multiple systems and constitu-ents across the value chain, integrating a cor-poration's suppliers, customers, and tradingpartners.

The eXcelon Platform meets and exceedsthese criteria by enabling an enterprise to

eXcelon Platform 1

Page 2: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

The eXcelon Platform

• Automate manual processes, which mini-mizes the need for human intervention.Run-time system monitoring and manage-ment is Web based.

• Create new applications, as BPM enablesnew views into existing systems andallows for enhanced development pro-cesses.

• Bring new partners online quickly, sinceinternal document formats and businessprocesses do not have to be changed.

• Easily integrate with existing J2EE-basedinfrastructures using the Enterprise andUniversal Editions.

The eXcelon Platform

eXcelon solutions are deployed on an extensi-ble technology platform that consists of bothcustomized solution-specific components andthe eXcelon Platform that is shared by all appli-cations. Composite business applications arebuilt using a service-based architecture wherenew business processes are assembled fromdiscrete building blocks. These building blocksinclude custom code specific to an organiza-tion, industry-specific reusable componentscalled Business Excelerators, and a processintegration platform called the eXcelon Plat-form. The eXcelon Platform is the foundationthat makes creating and managing compositebusiness applications possible. It wasdesigned for Enterprise-class deploymentsdelivering high throughput, scalable, and highlyavailable business systems based on 100 per-cent XML, J2EE, and other widely acceptedstandards.

The eXcelon Platform is a service-based solu-tion that serves as an enterprise's eBusinessplatform. The platform eases implementation,fosters data and application integration, andpaves a fast track to interoperability and value.The reason for this is that the platform

• Is a J2EE-based programming model fordefining, designing, developing, anddeploying business systems

• Is designed from the ground up for persis-tently storing XML to manage processinstance context (as an XML document)and data flow

• Has distributed caching and routing poli-cies to dynamically adapt to system loadwithout disrupting other applications

• Allows distributed components to accessdata from local caches at in-memoryspeeds

• Uses transformation technology to man-age the data flows on a many-to-manybasis

The eXcelon Platform is more than a net ser-vices platform — it is the solution that makesnet services and value chain integration possi-ble. It allows companies to provide a "public"net service that has value to its users whilemaking value chain integration work. Keycharacteristics of the eXcelon Platform include

• Ability to create innovative, high-perform-ing, and collaborative business servicesthat are standards based. The platformeasily integrates new data sources, appli-

2 eXcelon Platform

Page 3: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

cations, and devices to enable data, con-tent, and business process sharing andgrowth over time with partners and suppli-ers. The information-rich services supportboth process-to-process and process-to-human interactions.

• Reusable solution components. The plat-form offers varied benefits to businesses— chiefly cost-effective, low risk, and rapidsolution deployment attainable in weeksinstead of months, and industry-specificbusiness process workflows and services.

• Continuous monitoring of key performancemetrics. The platform provides a dash-board that allows clients to monitor theirbusiness solutions against key perfor-mance indicators. This enables continuousbusiness process improvement parallelwith real-time data aggregation analysis todeliver business performance results.

• Comprehensive process automation. Theplatform enables strong business relation-ships that extend beyond transactions withinternal and external partners. It enablesthe automation of processes defined asbusiness documents, making these pro-cesses easier to modify and grow overtime. The high-level approach enablesbusiness analysts to define the businessprocesses, resulting in a greatly acceler-ated development process.

• Reduction in the total cost of ownership forinfrastructure development, administration,support, and maintenance. eXcelon uses100 percent (native) XML to define pro-cesses, store content, and exchange datato support the full scope of existing andemerging XML standards. The extensibilityof XML reduces the cost of ongoing main-tenance and increases the reusability of

existing infrastructure and system inter-faces.

Platform Components

The eXcelon Platform consists of four inte-grated components: Common Business Ser-vices Suite, Business Process Manager,Extensible Information Server™, and StylusStudio™. It also includes integrated develop-ment and integration tools.

Common Business Services Suite

The Common Business Services Suite (CBSS)is a J2EE-integrated programming environ-ment that provides a comprehensive frame-work for creating, executing, and managingnew and existing applications services. CBSSsupports asyncronous access and coordina-tion of disparate systems (such as corporatedatabases, enterprise applications, and inter-nal resources) that perform existing core func-tions that are transparently accessible as plug-and-play business services which can be inte-grated across the value chain.

Business Process Manager

The Business Process Manager (BPM) is anXML-based engine that enables an enterpriseto model and manage distributed business pro-cesses. Unlike traditional workflow enginesdesigned to work solely within the enterprise,BPM allows an enterprise to map existing busi-ness processes into scalable and flexible mod-els capable of handling long-running, complex,and highly collaborative interactions withhuman users and systems both inside and out-side the enterprise.

eXcelon Platform 3

Page 4: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

The eXcelon Platform

The BPM toolset includes the

• BPM Administrator, which allows a user to

-Manage external and internal users

-Manage nodes

-Manage business processes

-Configure BPM

• Process Flow Designer

A Stylus Studio plug-in that allows users tographically define and modify businessprocess control flow, services, and collabo-rations.

End users interact with business processesthrough BPM worklists or user-defined inter-faces.

Extensible Information Server

The Extensible Information Server (XIS) col-lects, transforms, and delivers data and con-tent in any form to any source — in real time,with guaranteed transactional consistency. XISoffers a robust, scalable, W3C standards-based information management solution forcreating a centralized, flexible, and extensiblecommon information model built on XML.

The Dynamic XML Engine (DXE) is the core ofXIS and provides scalable, high-performancedata management for native XML, query andindexing capabilities, and transformation capa-bilities. The DXE Manager is a visual tool thatprovides a single point of administration for XISfor configuring, managing, backup/restoring,and dump/loading. Command-line utilities are

also available to perform these administrativefunctions.

Stylus Studio

The industry-leading, award-winning StylusStudio is an advanced and integrated interac-tive development environment for working withthe various types of files in an XML application.Stylus Studio allows you to

• Edit and query XML

• Work with XSLT

• Map XML to XML

• Debug stylesheets and Java files

• Define schemas

XConnects

A component of XIS, XConnects is the plat-form’s tool for aggregating data and contentfrom legacy formats both inside and outsidethe enterprise into XML. It enables the platformto support connectivity for over 100 structuredand unstructured data sources.

Weblogic Application Server

Using BEA’s Weblogic Application Server,BPM easily integrates with existing Java 2Enterprise Edition (J2EE)-based infrastructurefor interoperability with other J2EE applica-tions.

The following illustration provides a high-levelview of the eXcelon Platform components.

4 eXcelon Platform

Page 5: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

eXcelon Platform 5

Page 6: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

The Business Process Manager

Platform Editions

The eXcelon Platform is available for purchase in the following editions, depending on how it isbundled.

The Business Process Manager

eXcelon’s BPM is a business process manage-ment system (BPMS) that coordinates the pro-cessing between enterprise systems, partners,and users. During the modeling, deployment,and management of new business processes,BPM enables business analysts to work withdevelopers to customize existing business pro-cesses through the expression of businessrules, applying to business problems such as

• Selection

• Assessment, scoring, and prediction

• Classification

• Monitoring

• Configuration verification

• Diagnostics and prediction

• Planning

BPM enables an enterprise to leverage itsexisting IT investments, offering an open archi-tecture based on industry standards. BPM sim-plifies integration with any back-end officesystem, enterprise middleware, or packagedapplication on any platform or operating sys-tem. BPM supports standard business-to-busi-ness collaboration protocols, includingRosettaNet Implementation Framework, Biz-Talk Framework, and the ebXML message ser-vice, without requiring that business partnerson every side of the value chain be running thesame BPMS or a BPMS at all.

NOTE: The RosettaNet and BizTalk proto-cols are currently supplied as customoptions by eXcelon’s Professional Ser-vices Organization.

The need for the production and consumptionof standard business events is being fueled bythe emerging requirement for enterprises,regardless of their size, to engage in businesstransactions with business partners. Such part-ners may vary greatly in the nature of theirbilateral or multilateral business relationships.

Edition XIS BPM CBSSStylus Studio*

Supported Operating Systems

Standard X X Windows NT, 2000, and XPSolaris 2.6, 2.7, and 2.8HP-UX 11

Enterprise X X X Windows NT, 2000, and XPSolaris 2.6, 2.7, and 2.8HP-UX 11

Universal X X X X Windows NT, 2000, and XPSolaris 2.6, 2.7, and 2.8

Stylus Studio Stand-Alone

X Windows NT, 2000, and XP

* The Standard, Enteprise, and Universal editions only support a Windows NT, 2000, and XP version of Stylus Studio

6 eXcelon Platform

Page 7: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

These transactions are asynchronous innature, document centric (hence XML), andtypically Web based.

BPM provides a scalable infrastructure to man-age incoming and outgoing business mes-sages with an explicit process model. Thismodel goes beyond the capabilities of point-to-point architectures that directly tie the back-end systems into the message ports of BPM. Itprovides flexibility and is designed for dynamicenvironments where process definitions, ser-vices, message formats, and participant pro-files change on a daily basis.

BPM Concepts

There are several concepts used throughoutthis paper to describe BPM and its functions:

• Projects

• Business processes

• Collaborations and participants

• Services

• Activities, states, transitions, and guards

• Process roles

• Events

• Nodes

Projects

The eXeclon Platform uses the concept of aproject. A BPM project is a group of relatedbusiness processes. Each BPM project is aseparate administrative domain and it has itsown configuration file. BPM uses this configu-ration file to maintain information related to thatproject. When BPM is installed, it creates thisfile and stores it in an XMLStore. (XIS main-tains XMLStores, which contain persistent XMland non-XML data.

A BPM project

• Maintains a directory, in an XMLStore, thatcontains the definitions of BPM constructsdefined in that node; for example, processdefinitions, collaborations, and services.

• Can include any number of business pro-cesses, which you define.

• Is an administrative domain with its ownaccess control list. When a user logs in toBPM Administrator, that user has accessto exactly one BPM project. To managemultiple projects, the user must log in toBPM Administrator with a different accountfor each project.

• Has at least one BPM Process FlowEngine (PFE).

• Is a single namespace for document typesand events.

• Maintains a directory that contains partici-pant information, or has its own base DN(Distinguished Name).

• Has a BPM Node Manager for each hoston which the project resides.

Typically, a BPM project is developed on onehost and deployed on another host. To deploythe project, it is necessary to create a newproject on the deployment host. Once that isdone, there are two ways to deploy the project:

• Copy the ./definition tree from the devel-opment configuration file to the newproject's configuration file. For all otherparts of a BPM project, the BPM Adminis-trator is used to recreate them on thedeployment host. This includes specifica-tion of nodes, adapters, and participants.

• Copy the entire development project to thenew project on the deployment host. Itmight be necessary to change host names,and it is possible, of course, to add newparticipants.

Using a loopback adapter, users can simulatean enterprise system in a process and test aBPM project without all the services in place.The loopback adapter never leaves BPM butreturns to the sender.

eXcelon Platform 7

Page 8: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

BPM Concepts

Business Processes

In an enterprise, a business process is a pre-defined sequence of steps that accomplishessome unit of work in the context of the enter-prise.

Business processes are as varied as the busi-nesses in which they are used. For example,there might be business processes for thesetypes of tasks:

• Purchasing supplies and materials frompartners

• Maintaining inventory

• Delivering new products to partners andcustomers

• Upgrading released products

• Selling products to other businesses andto consumers

• Communicating with employees

• Managing a manufacturing process

In BPM, a business process is represented asan UML activity graph in Stylus Studio andincludes all of the operations performed byBPM to accomplish a specific task.

Typically, a business process makes use ofone or more documents throughout its execu-tion. These documents do not necessarilyremain constant throughout the execution ofthe business process, as various particpantshave the potential to operate on the docu-ment(s). For example, each may be responsi-ble for some particular aspect of a documentsuch as generating a requisition form, adding aprice to the form, approving the form, and gen-erating a PO. In BPM, users can define busi-ness processes so that BPM stores these in-flight documents.

When using the Process Flow Designer todefine a process, the user creates a UML

activity graph that represents the control flowof the process. This graph models the states,activities, events, transitions, and other con-structs that make up the business process con-trol flow.

Collaborations and Participants

When BPM executes a business process, itdoes so by executing operations that are partof one or more collaborations. A collaborationdefines a framework for two parties toexchange messages as part of a business pro-cess. The messages can be notifications, ser-vice invocations, or service responses. Oneparty to every collaboration is a business pro-cess that the user uses BPM to define. Theother party, which the user also defines, can bean internal user, a partner, another BPM pro-cess, an enterprise system, or a group. Oneparty initiates the collaboration and the otherparty provides the collaboration. However,either party can provide a service to the otherparty.

When defining a collaboration, the user definesthe collaboration roles played by each party tothe collaboration. For example, the two rolesmight be buyer and seller, student and regis-trar, or engineer and bugtracker. In addition,the user identifies which party initiates the col-laboration and which party provides the collab-oration.

A participant in a collaboration can be an inter-nal user, an internal enterprise system, anexternal partner, or a group of participants.Users use the BPM Administrator to configureparticipants. BPM maintains a directory thatcontains information about participants. Foreach participant in each collaboration, someset of protocols and standards that BPM usesfor communication between BPM and that par-ticipant is specified. At run time, BPM deter-mines which participants to collaborate with.

8 eXcelon Platform

Page 9: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

When BPM executes a business process, thebusiness process collaborates with one ormore participants to accomplish the definedactivities. In addition to collaborating with par-ticipants, the business process can collaboratewith other business processes that the userdefines.

A collaboration profile holds information aboutthe document format, adapter, and transportprotocol to be used to route a message in acollaboration. When BPM needs to send amessage, BPM obtains a computed collabora-tion profile from the directory module. BPMneeds the computed collaboration profile todetermine how to send a message to a particu-lar participant. A collaboration profile containsfields for the following information:

• Document format.

• Adapter or process name.

• Adapter or process parameters. A list ofparameters is a map of keywords andassociated values. The meanings of thekeyword/value pairs depend on theadapter or process.

• Transport protocol name.

• Transport profile, which contains anaddress and possibly other informationneeded to establish a connection.

The advantage of putting this information in acollaboration profile is that the information isnot in the process definition. Keeping this infor-mation separate from the process definitionallows different participants to dynamically beparties to the collaborations defined in thebusiness process.

Services

When BPM executes the steps defined in acollaboration, it engages in a sequence ofrelated interactions with a single party. Eachinteraction consists of the sending of a mes-sage that invokes a service, possibly togetherwith a reply that contains the service's outputfor that invocation.

BPM or a participant can send messages thatinvoke services. One of the tasks involved indefining a business process is to define activi-ties that invoke services. The recipient of a ser-vice-invoking message executes a service.Execution of a service usually consists of pro-cessing a business document. For example, aProcessPO service might process a purchaseorder and send a purchase-order acknowl-edgement document in a response message.

Activities, States, Transitions, and Guards

A state in a process flow is a “time slice” wheresome optional actions can occur and where abusiness process waits for one or more eventsto occur that control the flow of the businessprocess.

An activity is a state that either invokes a ser-vice or sends a response message from a ser-vice. A state that is not an activity waits for anevent that meets the conditions of one of thestate’s transitions.

A transition is a link from one state to anotherstate that is used to control the flow of the busi-ness process. They are typically associatedwith message events. Users can specify one ormore guards for each transition.

A guard is an XPath expression to be evalu-ated against a document known by the busi-ness process, referred to as an in-flightdocument. When a transition is about to occur,BPM evaluates the XPath expressions one at atime against the in-flight document. As soon asa guard evaluates to true, BPM fires the asso-ciated transition. If no guards evaluate to true,the transition does not fire. If there are noguards, the transition always fires.

Process Roles

A process role is the role performed by a partythat collaborates with a business process. Forexample, a process role could be buyer,seller, student, registrar, engineer, orbugtracker.

eXcelon Platform 9

Page 10: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

BPM Concepts

Each process role name in a particular busi-ness process must be unique. This allowsBPM to distinguish one party from another.

Identification of the roles in the process is infact more important than identification of theactual participants. BPM executes processesthat interact with participants that play roles inthe process. For example, in the purchase pro-cess, in the collaboration between BPM and anERP system, the ERP system plays the role ofPurchaseOrderClerk. There are many opera-tions the ERP system can perform, but in thiscollaboration, the process role of the ERP sys-tem is that of processing a purchase order.

Events

An event is when any internal or external pro-cess signals its status to BPM it in a way thatcauses BPM to take further actions. Types ofevents in BPM include message events,change events, internal events, and errorevents.

BPM provides an event notification servicethat notifies users, partners, enterprise sys-tems, and groups, about particular process andactivity events. BPM maintains a list of notifica-tions per user, which are stored in a separateXML file.

When an event is generated or received byBPM, any state that has transitions definedthat match the event will be analyzed. Eachtransition can have an optional guard that fur-ther controls which transition to fire.

Admin Server

The Admin Server is an HTTP server thatenables the administration of BPM. TheAdmin Server runs an HTTP transport lis-tener and several adapters that performvarious BPM Administrator functions suchas node management, process managementand participant management. For mostinstallations, there should be only one perproject.

Nodes

BPM relies on nodes to provide partner com-munications, enterprise application integra-tion, distributed component models, and userinteractions. A BPM node

• Is an operating system process

• Contains zero or one Process Flow Engine

• Runs a Java VM

• Runs any number of transport listeners,inbound handlers, outbound handlers, andtransport senders

A BPM node is essentially a container for thecode that consitutes BPM. A single machinecan host multiple BPM nodes. Each BPM nodecan belong to exactly one BPM project. Morethan one node can use the same configurationfile. All nodes that use the same configurationfile belong to the same BPM project.

BPM has a Node Manager, a Java proces thatcontrols node processes. The Node Manager

• Loads the BPM node into a JVM process

• Provides an interface to start and stoplocal BPM nodes

• Hosts an RMIRegistry thread

Adapters

An adapter handles different packaging proto-cols between participants and BPM. Anadapter consists of an inbound handler (BPMreceives messages from participants) and anoutbound handler (BPM send messages toparticipants), each of which is implemented asa Java class. For messages BPM receivesfrom participants, the inbound handler

• Decodes the message into one or moredocuments.

• Fills in relevant fields in the message eventthat the transport listener created for thismessage. The relevant fields include thedocuments the message contains.

10 eXcelon Platform

Page 11: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

• Calls the message router, which deter-mines whether to send the message to thePFE or to an outbound handler.

For messages BPM sends to participants, theoutbound handler

• Examines the participant address informa-tion in the collaboration profile to select thetransport protocol to use to send the mes-sage

• Packages the message for the selectedtransport protocol

• Invokes the selected transport sender andpasses the message to it

BPM has its own node framework to run andadminister adapters, and it has its own “inter-nal messaging” to communicate asynchro-nously between adapters. BPM includes thefollowing adapters:

• simple

This adapter can call the HTTP, FTP, JMS,or email transport senders. It is for mes-sages that contain exactly one XML docu-ment.

• ebXML Messaging/TRP

This adapter is intended for use in commu-nicating via ebXML.

• EJB (Enterprise JavaBeans)

Each adapter uses one of the supported pack-aging protocols to package a message in aparticular way. For example, the simpleadapter decodes the body of an HTTP POSTrequest, JMS message, or email message intoa single XML document.

BPM Architecture

Conceptually, the BPM architecture has threemain components:

• Process Flow Engine (PFE)

• Directory module

• Communication frameworkThese threecomponents have clearly separate respon-sibilities. This architecture allows you tohold any one of these constant and varythe others. Each time your business pro-cess uses a collaboration.

• The Interaction between parties is thesame.

• The parties can be different.

• The protocols used can be different foreach party.

The following figure shows the PFE at the coreof BPM:

Physically, the BPM architecture consists ofnodes. Each node can run either one PFE ornone, multiple transport protocol listeners, andmultiple inbound and outbound handlers (alsocalled adapters).

The following figure shows an example of aphysical BPM project:

PFE Directory Module

Communication Framework

Participants

eXcelon Platform 11

Page 12: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

BPM Architecture

In a BPM project, each node can communicatewith every other node. Also, each PFE isresponsible for a particular subset of businessprocesses. For example, suppose NodeAreceives a message that is part of a businessprocess being run by the PFE on NodeB.NodeA forwards the message to NodeB.

BPM relies extensively on the integrated com-ponents of the eXcelon Platform to provide thecapabilities to design, develop, monitor, andupdate processes. For example, BPM usesXIS to handle flexible document formats, effi-ciently store and query XML documents, andstore any kind of data (XML or non-XML). TheStylus Studio toolset provides the capabilites todesign business processes and collaborationsand edit or update them as needed.

Process Flow Engine

The PFE manages long-running transactionsand real-time messaging events and is not lim-ited to simple request/response interactions.This robust engine lets a company model andtrack arbitrary, complex business processesspanning days, weeks, or longer and caninclude customers, suppliers, partners,employees, and existing business systems.

The PFE orchestrates and executes the workin an automated business process. The com-pletion of an activity that has multiple possibleresults is modeled as different messageevents. Each of these message events cantrigger a transition.

12 eXcelon Platform

Page 13: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

In UML, activity completion is traditionally mod-eled with a single completion transition, whichcan be followed by a branch that queries theoutcome.

Modeling activity completion as multiple transi-tions works well in BPM because guards areXPath expressions that are evaluated againstdocuments in the message event. In a processbranch, guards are evaluated to determine thecontrol of flow for the business processinstance.

The PFE supports advanced modeling fea-tures, including:

• Collaborations

• Long transactions with support for com-pensating transactions

• Event notifications

• Exceptions

BPM manages explicit data flow associatedwith the process flow and the message flow.The PFE manages the life cycle of all the busi-ness documents. The control flow is directlyevaluated against the business document con-tent wherever appropriate (for example, inbranching, performer identification, and param-eterization of services). The types of messageevents that enter BPM from internal and exter-nal participants are used to determine the con-trol flow of business processes.

Directory Module

The directory module keeps track of users,partners, enterprise systems, and groups thatparticipate in collaborations. The directorymodule maintains addresses and otherattributes and information about how mes-sages are exchanged. This allows BPM to lookup participants, find a participant for a collabo-ration, and correctly exchange messages withthe selected participant.

BPM accesses and stores directory informa-tion via standard Java JNDI (Java Naming and

Directory Interface). BPM can make use of anexisting site's LDAP implementation to takeadvantage of the existing information assetscontained within it. BPM also provides a JNDIinterface to XIS (the default configuration) forsites that are not using an LDAP repository.

Communication Framework

The communication framework provides thebridge between the PFE and outside servicesand systems. It sends messages from partici-pants to the PFE and from the PFE to partici-pants. The framework is made up of threelayers in addition to a message router. Foreach layer, a user can specify which standardsand protocols BPM should use when it sendsor receives a message. The layers are

• Transport protocol layer specifies the pro-tocol BPM uses to send or receive a mes-sage. For example, this might be HTTP,HTTPS, FTP, or email.

• Packaging protocol layer specifies howBPM packages documents into messages.It can also specify information for encryp-tion, digital signatures, and routing. It canspecify information about acknowledge-ments, receipts, retransmissions, and elim-ination of duplicate messages.

• Document format layer specifies the for-mat of documents that are included inmessages. An enterprise might pick anXML format that is popular with its part-ners, or an XML format that is an industrystandard, or define its own XML schema.

The user must decide which protocols andstandards to use with each participant. Also,the decision on which standard or protocol touse in each layer is independent of the deci-sion on which standard or protocol to use in theother layers. Process flow definitions can alsobe defined independent of these decisions.Once this information is obtained, the user canuse the BPM Administrator to specify each par-ticipant and the standards and protocols to usewhen BPM communicates with that participant.

eXcelon Platform 13

Page 14: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

BPM Architecture

New partners with a different protocol require-ment can be added without changing processflow definitions so that existing partners are notaffected by this change. Examples of thismight be a new revision of the ebXML mes-sage specification, or RosettaNet implementa-tion framework specification, or possibly evena direct RMI connection over a dedicated port.

A new or changed document format can alsobe added. For example, a new "standard" doc-ument for a purchase order has been devel-oped. This "standard" can be supported

without changing the business process. In thecase where there are multiple participants forwhich one or more of the same protocols andstandards need to be specified, a user can addparticipants to a group and specify the valuesfor the group. The transport protocols andpackaging protocols that each BPM node runscan also be configured.

The following table shows the communicationframework component that BPM uses in eachlayer when it sends and receives messages.Each of these layers is described in detail.

Transport Protocol Layer

The transport protocol layer specifies thetransport protocol BPM uses to send andreceive messages. A document always arrivesat BPM by way of a transport protocol.

BPM supports the following transport proto-cols:

• HTTP (Hyper Text Transfer Protocol) orHTTPS, which is HTTP with SecureSocket Layer (SSL)

• FTP (File Transfer Protocol)

• Electronic mail (SMTP/POP3) (Simple MailTransfer Protocol/Post Office Protocol)

• JMS (Java Message Service)

Because BPM is extensible, it allows users toadd other transport protocols as required by agiven implementation. BPM Administratorenables a user to configure each BPM node torun a particular transport protocol. It is neces-sary to specify the port the transport protocollistens on, any other parameters the transportprotocol should use, and one or more adapters

that the transport protocol should use to pack-age messages. For example, suppose a BPMnode is configured on the local host to runHTTP and listen on port 8080. The transportprotocol picks up any messages sent to thelocal host on port 8080.

A transport protocol includes a transport lis-tener and a transport sender. A transport lis-tener is a code component that receives amessage in a protocol-specific format andpasses the raw bytes to an adapter. BPMtransport listeners

• Identify and authenticate the participantsending the message.

• Decode and read the received message.

• Create a message event, which is the cen-tral data structure in the communicationframework. A message event contains oneor more documents and metainformationabout the message, such as its sender andreceiver.

• Select the inbound handler that will pack-age the message.

BPM Communication Framework Layer

Component BPM Uses When BPM Receives Message from

Participant

Component BPM Uses When BPM Sends Message to

Participant

Transport protocol layer Transport listener Transport sender

Packaging protocol layer Inbound handler (adapter) Outbound handler (adapter)

Document format layer Stylesheet or Java component Stylesheet or Java component

14 eXcelon Platform

Page 15: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

To select the inbound handler, the transport lis-tener checks its list of bindings. A bindingmaps an address to an inbound handler. Whena BPM node is configured to use a particulartransport protocol, these bindings have to bespecified.

Each transport protocol also includes a trans-port sender. When an outbound handler is fin-ished packaging a message, it sends themessage to the transport sender for the trans-port protocol specified in the computed collab-oration profile.

Packaging Protocol Layer

The packaging protocol layer specifies howBPM packages documents into messages.The Java code component that does this iscalled an adapter.

BPM is compatible with the following packag-ing protocols:

• ebXML Message Service

• RosettaNet Implementation Framework

• BizTalk Framework

Document Format Layer

The type of a document indicates its purpose.For example, a purchase process mightinclude the following document types:

• Purchase order

• Purchase order acknowledgement

• Advance shipping notice

• Invoice

• Invoice acknowledgement

Different partners (and different systems withinan enterprise) might use different formats forthe same type of document. For example, onepartner might want to receive purchase ordersin OAG format while another requires ebXML.

BPM handles different formats by performingautomatic translation as necessary, via thedocument format layer. When a step in a busi-ness process sends a document, BPM musthave information about the type of the docu-ment so that it can correctly handle it. BPMalso needs information about each format thatparticipants might use for each type of docu-ment, such as XPath expressions the processcan use to determine whether a given docu-ment is in a particular format.

A particular document type has a canonical for-mat and it can have multiple external formats.Canonical format is internal to BPM, being theformat in which BPM stores all XML docu-ments. External format is any format that is notcanonical format. For each canonical docu-ment type, there can be multiple external for-mats. In other words, a user can write anynumber of XSLT stylesheets or Java compo-nents that transform a document in canonicalformat to a document in an external format.

The number of mappings required to and fromcanonical to external format is simply 2*N(where N is the number of external formats).Traditional EAI systems require a mappingfrom each external format to each internal sys-tem format resulting in N*N translations.

Sometimes BPM needs to use the informationin a document of one canonical type to createa document of another canonical type. Forexample, a purchase order might have all theinformation required in a shipping notice. Touse a purchase order as the source for a ship-ping notice, BPM must perform a projection tocreate the purchase order from a shippingnotice. A projection converts a document ofone canonical type to a document of anothercanonical type. The format of the source andtarget canonical types is always the same.

The XSLT stylesheet or Java component thatperforms each projection required by abusi-ness process must be registered using theBPM Administrator.

eXcelon Platform 15

Page 16: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

BPM Management

Message Router

The message router is responsible for routingmessages between BPM components. Themessage router does this by examining thefields in the message event and looking up val-ues for any blank fields.

A message event is the central data structurein the communication framework. When BPMreceives a message, the transport listener cre-ates a message event. When BPM sends amessage, the PFE creates a message event. Amessage event contains zero, one, or moredocuments. The contained documents are typi-cally XML documents, but can be non-XML aswell. A message event also contains metadataabout the message, such as the following:

• Sender and receiver of the message

• Type and format of included documents

• Information about the adapter to use topackage the message, or the process tostart, or the process to continue

A message event must contain the format andtype of any documents it contains. If aninbound handler has not already filled in thismetadata, the message router tests the docu-ments to determine their format and type. Themessage router then enters this information inthe message event.

The message router also determines the desti-nation of the message. If the contained docu-ment includes a correlation string, it meansthat the message is part of an ongoing collabo-ration. The message router uses the correla-tion string to determine where to send themessage. If there is no correlation string, itmeans that the message is initiating a collabo-ration. The message router then sends themessage to the PFE or to an outbound han-dler, consulting an internal table to determinewhich outbound handler to use. If necessary,the message router translates the documentsinto the format needed by the receiver of themessage, and finally dispatches the message.

The following table shows the routes a mes-sage can take through BPM:

BPM Management

BPM provides tools that allow users to manageand monitor BPM, perform configuration andadministration tasks, monitor business pro-cesses, and configure participants, groups,and nodes in BPM as well as control security.

Some of the administrative capabilities pro-vided by BPM are as follows:

• Node management

Enables users to monitor, stop, start, edit,disable, or remove node managers, nodes,and adapters. Users can also create logsfor individual components of BPM at vary-ing levels of detail. This feature allowsload-balancing by distributing processesamong existing nodes.

From To Purpose

Inbound handler PFE To start or continue a process

PFE Outbound handler To perform a service for a running process

Outbound handler PFE To indicate a response or a successful completion of a service

Inbound handler Outbound handler To perform a synchronous service

PFE PFE To perform a service request by one process that is using another process

16 eXcelon Platform

Page 17: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

• Participant management

Enables users to create and configure per-missions for all the participants in a BPMprocess. Participants include internalusers, business partners, enterprise andERP systems, and groups. This featurealso enables the user to work with an exist-ing LDAP provider, if one is used in anenterprise and includes the specification ofcollaboration profiles and address informa-tion.

• Process management

Enables users to monitor current andclosed processes, as well as search pro-cess IDs, in-flight documents, or partici-pants, among other processcharacteristics.

• System management

Enables users to configure BPM and BPMprojects. This includes configuring the par-ticipant directory, nonrepudiation options,document types, and routing rules. It isalso possible to configure the location andcharacteristics of the PFE and BPMAdministrator.

• Worklist management

Enables users to interact with businessprocesses through a worklist. A user cancreate new documents that start or areinputs to processes, and also receive andview documents that are produced by pro-cesses or are error messages from busi-ness processes.

Security

BPM protects sensitive corporate data andtransactions. In addition to supporting X.509digital certificates, access control lists, non-repudiation, and audit logging, BPM providesthe following security features:

• SSL support

BPM supports Secure Socket Layer (SSL),also known as Transport Layer Security(TLS), and everything about how it works.SSL allows each side to authenticate theother. BPM uses SSL with only HTTP (alsoreferred to as HTTPS).

• Nonrepudiation

The BPM nonrepudiation feature allowsmessages to be saved in the original for-mat they had when they arrived. After BPMreceives a message, the business processtypically modifies the contents. If the mes-sage that BPM receives is a digitallysigned message, that message can besaved in its original format in case it is evernecessary to produce it as proof of a busi-ness interaction. A digitally signed mes-sage is equivalent to a hardcopy signedcontract.

• Authentication

When BPM receives a message from apartner, the communication frameworktries to authenticate the sender. Howauthentication is done depends on thetransport listener and inbound handlerbeing used. However it is done, the com-munication framework adds the authenti-cation information to the message itforwards to the PFE.

If a partner is using HTTP, a Web browsercan prompt for a user name and password.BPM checks what the partner entersagainst the partner user name and pass-word that are in the directory. If the valuesmatch, BPM allows the connection. Simi-larly, if a partner uses FTP to communicatewith BPM, the protocol prompts for a username and password, which BPM tries toauthenticate.

With SSL, authentication is more rigorous.When a connection is first formed, there ismuch communication between the two ends,and SSL authenticates using public keyencryption and certificates.

When the eXcelon Extensible Information

eXcelon Platform 17

Page 18: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

EAI Systems

Server (XIS) runs in secure mode, access tostored data is limited to only those users whohave the administrator user name and pass-word. BPM can continue to access data asneeded, but individual users must specify theadministrator user name and password to haveaccess.

EAI Systems

EAI (Enterprise Appplication Integration) sys-tems traditionally are used to integrate sys-tems using low-level formatting and messagingcapabilities. BPM is designed in such a way asto leverage existing EAI investments by provid-ing a service-based interface to an EAI-enabled service which can be modeled as partof an business process. Because the BPMarchitecture can support both synchronous andasynchronous service invocations, EAI andany other system architecture framework (suchas J2EE, COM+, or CORBA) easily integrate.Additionally, BPM can provide all the requiredapplication integration framework if existingEAI systems are not involved. Application-based services can be written using the com-munication framework, and the control flow willbe managed by the PFE.

J2EE Interoperability

Using BEA’s Weblogic Application Server,BPM easily integrates with existing Java 2Enterprise Edition (J2EE)-based infrastructurefor interoperability with other J2EE applica-tions.

Although BPM itself is not an enterprise javabean, it can locate and invoke (EJB) compo-nents (initialize or continue a workflow) viastandard protocols. BPM can also exchangemessages between EJB. JNDI is used as acommon interface to locate BPM and EJBs.

BPM includes an out-of-the-box EJB adapter,so it is not necessary to write customer ser-vice/adapters.

ebXML Support

BPM supports the run-time functional aspectsof the ebXML messaging specifications, morespecifically the ebXML message exchangeprotocol. BPM also supports design and devel-opment activities. BPM uses the ebXML mes-saging layer for handling ebXML messages.Many of the architectural underpinnings ofBPM are based around some of the key designof notions of ebXML, specifically conversationsand collaborations.

18 eXcelon Platform

Page 19: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

To understand the level of support of ebXML inBPM, it is helpful to walk through the design-time and run-time actions that occur in a typical

ebXML implementation. The following illustra-tion separates the design-time and run-timecomponents of the system:

Starting at design time, a business analystdefines a collaboration definition with StylusStudio. This collaboration definition is synony-mous with the Business Process SpecificationSchema (BPSS). If there is a well-definedstandard BPSS, the design-time step of creat-ing the BPSS is not required. The output ofthis step is an XML-based collaboration defini-tion.

Additionally the BPM Administrator can beused to provide things that are outside of thescope of the ebXML specifcations such as to

• Set up the low-level transport protocolsthat a specific partner might require

• Provide document-to-document transla-tions if a specific partner is using a docu-ment format that differs from the primarydocument format used by the system

Any changes made on behalf of a specific part-ner by the BPM Administrator are completelyindependent of the process flow definition thatwas created at design time.

eXcelon Platform 19

Page 20: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

High Availability

Once the deployment and design-time activi-ties are completed, BPM handles the run-timeaspects of ebXML communication via theebXML TRP Adapter, which essentially imple-ments the ebXML concept of Business ServiceInterface (BSI). The ebXML TRP Adapter isreponsible for the following tasks:

• Ensuring that the message sequencedescribed in the BPSS is correct

• Providing security services

• Authentication (verification of identity)

• Authorization (access controls)

• Privacy (encryption)

• Integrity (digital signature)

• Nonrepudiation

• Logging and tracing

• Reliable messaging through support of theebXML Reliable Messaging Protocol

• Graceful reporting and handling of errorconditions

The BPM architecture also supports the devel-opment of adapters together with other com-mercial software products that are designed toprovide reliable message delivery using alter-native protocols (such as JMS implementa-tions that operate over HTTP). This support isavailable because the ebXML specificationsallow for reliable messaging using protocolsother than the one specified by the ebXMLReliable Messaging Protocol.

In future releases of BPM, partners will be ableto dynamically discover and retrieve informa-tion from other partners that have implementedebXML services. Until then, eXcelon’s richtoolset and its integration with modeling toolsthat support collaboration definitions throughBPSS should allow for efficient deployment ofebXML services and collaborations with abroad range of partners.

High Availability

To meet real-time demands of an organization,partners, suppliers, and customers, businessinfrastructures need to be online all the timeand have stable and capable computers avail-able 24 hours a day. The eXcelon Platformprovides high levels of application availabilityand ensures fault tolerance. In support of highavailability, the eXcelon Platform integrateswith software clustering solutions such as Veri-tas Cluster Server, Sun Clusters, and MicrosoftClusters.

The eXcelon Platform supports four majorhigh-availability features:

• Removal of single points of failure

Provides the ability to avoid interruption ofservices to clients if a hardware or soft-ware component fails

• Performance scalability

Allows expansion without requiring a totalreplacement of existing hardware toincrease processing levels

• System and resource failover protection

Allows for any component resource to betaken over by another cluster member

• Resource sharing

Offers resources to clients such as files,printers, and applications

The eXcelon Platform supports active/passiveclustering. A standby server monitors a contin-uous signal from the active server. Thestandby server remains in a backup passivemode until it recognizes that the active serverhas failed. It then comes online and takes con-trol of the cluster. When the primary servercomes back online, manual intervention maybe necessary on the part of the administratorto revert the systems to their original state.

20 eXcelon Platform

Page 21: eXcelon Business Process Manager Technical White Paperextras.springer.com/2003/978-3-642-62886-3/eXcelon... · The extensibility of XML reduces the cost of ongoing main-tenance and

eXcelon Business Process Manager White Paper

Disaster Recovery

The eXcelon Platform supports disaster recov-erability of business processes and other datain the case of a system crash. All of BPM’sstate information is stored in the XIS databasemanagement system (DBMS). XIS implementsatomic transactions so that the state of thedatabase is always consistent even in the faceof system crashes. XIS uses modern, efficienttransaction technology including write-aheadlogging and two-phase locking. Databaserecovery is entirely automatic.

Within BPM, internal communication is donewith a reliable queueing system, based onJava RMI and eXcelon’s own database tech-nology. Removing an item of work from aqueue, and doing the work, are both doneinside the same transaction so that theenqueued work item is always done once andonly once, even in the face of crashes at anypoint. Once BPM accepts a message, it never"loses" or "drops" the message — everything isunder strict transactional control.

Helpful References

You can obtain these documents from youreXcelon sales representative.

For more information about business benefitsand ROI, refer to the document, Powering theExtensible Enterprise — Key Differentiatordetails.

For more information about the eXcelon Plat-form, refer to eXcelon’s marketing collateral.

For more information about the major compo-nents of ebXML and their relationship anddependencies to one another, refer to theebXML BPSS v1.0 specification.

For more information about ebXML messag-ing, refer to ebXML Messaging Service Specif-cation, ebXML Transport, Routing &Packaging. Version 1.0 May 2001.

For more information about collaborations,refer to the Collaboration-Protocol Profile and

Copyright © 1989-2001 by eXcelon Corporation. All rights reserved. Object Design, ObjectStore, Leadershipby Design and Object Exchange are registered trademarks of eXcelon Corporation. eXcelon, EXLN, Xpress,eXcelon Extensible Information Server, eXcelon Business Process Manager, eXcelon Stylus Studio, Stylus,Cache-Forward, and Javlin are trademarks of eXcelon Corporation. All other trademarks are the property oftheir respective owners.

eXcelon Platform 21