13.07.2015 Views

An Introduction to BPEL standard and its extentions - SoberIT

An Introduction to BPEL standard and its extentions - SoberIT

An Introduction to BPEL standard and its extentions - SoberIT

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>An</strong> <strong>Introduction</strong> <strong>to</strong> <strong>BPEL</strong> <strong>st<strong>and</strong>ard</strong> <strong>and</strong> <strong>its</strong> <strong>extentions</strong>Yanbo WuT-86.5161 Special Course in Information Systems integration,HUT, Finl<strong>and</strong>Abstract. <strong>BPEL</strong> (also known as WS-<strong>BPEL</strong>) is an XML-based language that allows business <strong>to</strong>describe inter or intra enterprise business processes that are connected via Web services. Due <strong>to</strong>the limitation of traditional methods for business integration <strong>and</strong> process au<strong>to</strong>mation, <strong>BPEL</strong>came <strong>to</strong> the picture <strong>and</strong> highly promoted by companies such as IBM <strong>and</strong> Oracle. Specification ofWS-<strong>BPEL</strong> 2.0 has been approved as OASIS St<strong>and</strong>ard. In practice, <strong>BPEL</strong> is typically used whenapprove loan request <strong>and</strong> make travel reservation. To support a broaden range of scenariosinvolving people <strong>and</strong> sub-process within business processes, two <strong>BPEL</strong> extensions,<strong>BPEL</strong>4People <strong>and</strong> <strong>BPEL</strong>-SPE, are developed. Both extensionts are still in their early stages.Due <strong>to</strong> the increased importance of business integation, EU SUPER project started in 2006aiming <strong>to</strong> achieve better cooperation between IT <strong>and</strong> business.


1. INTRODUCTION1.1 BackgroundWeb Service Orchestration (WSO) provides the ability <strong>to</strong> integrate <strong>and</strong> assemble individual Web servicesin<strong>to</strong> <strong>st<strong>and</strong>ard</strong>s-based business processes. It is a bridge <strong>to</strong> connect an enterprise’s Service OrientedArchitecture <strong>and</strong> a critical layer in the web services technology. To facilitate WSO, the Business ProcessExecution Language (<strong>BPEL</strong>) was created <strong>to</strong> <strong>st<strong>and</strong>ard</strong>ize integration logic <strong>and</strong> process au<strong>to</strong>mation betweenweb services. Combination of business process execution <strong>st<strong>and</strong>ard</strong>s <strong>and</strong> Web services promises <strong>to</strong>dramatically reduce costs <strong>and</strong> provide broader interoperability <strong>and</strong> reusability benef<strong>its</strong>.<strong>BPEL</strong> or WS-<strong>BPEL</strong> perm<strong>its</strong> orchestration of web services. While the obvious business activity of ahuman interaction <strong>and</strong> sub-process are not covered by <strong>BPEL</strong>. To support a broaden range of scenarios,several <strong>BPEL</strong> extensions were proposed, <strong>and</strong> in this paper <strong>BPEL</strong>4People <strong>and</strong> <strong>BPEL</strong>-SPE are beingdiscussed.1.2 Objective <strong>to</strong> review current <strong>BPEL</strong> <strong>and</strong> the proposed extensions General picture of <strong>BPEL</strong>, <strong>its</strong> extension <strong>BPEL</strong>4People <strong>and</strong> <strong>BPEL</strong>-SPE Specification of above <strong>st<strong>and</strong>ard</strong> Study the result of EU SUPER project1.3 Scope of this paper Basic concept of latest on <strong>BPEL</strong> related technology Simple case analysis1.4 Research problemIn this paper, I study the current <strong>BPEL</strong> <strong>st<strong>and</strong>ard</strong> <strong>and</strong> what can be achieved with it, as well as the proposedextensions <strong>and</strong> their improvement over the existing <strong>BPEL</strong> <strong>st<strong>and</strong>ard</strong>s.1.5 MethodologyLiterature review is the main methodology used in this project. The sources for literature are from Internet,academic journals, books <strong>and</strong> thesis database.1.6 Structure of report1. <strong>Introduction</strong> of project2. <strong>BPEL</strong> <strong>and</strong> <strong>its</strong> application in business3. <strong>BPEL</strong>4People4. <strong>BPEL</strong>-SPE5. EU Super project6. <strong>BPEL</strong> case study7. Conclusion8. Reference


2. <strong>BPEL</strong> AND ITS APPLICATION IN BUSINESSWeb service is thought <strong>to</strong> be the next “great thing” in the area of e-commerce <strong>and</strong> system integration.However, Web service is merely “great technology” without a way for business <strong>to</strong> use it, unless there is acommon <strong>st<strong>and</strong>ard</strong> <strong>to</strong> orchestrate multiple services in<strong>to</strong> business <strong>and</strong> audit/manage the results. <strong>BPEL</strong> actsas “glue” <strong>to</strong> connect Web services <strong>and</strong> cohesive business solution, enables the orchestration of tasks inweb-based services.2.1 What is <strong>BPEL</strong>?<strong>BPEL</strong> (Business Process Execution Language), also known as <strong>BPEL</strong>4WS or WS<strong>BPEL</strong>, is an XML-basedlanguage that allows business <strong>to</strong> describe inter or intra enterprise business processes that are connectedvia Web services. <strong>BPEL</strong> is the convergence of language features of IBM’s WebService Flow Language(WSFL) <strong>and</strong> Microsoft’s XLANG [1]. As an XML-based language, <strong>BPEL</strong> describes the logic <strong>to</strong>coordinate Web services in a process flow. The XML grammar can be interpreted <strong>and</strong> executed by a<strong>BPEL</strong> orchestration engine, which controls all activities in the process [1].Many companies including IBM, Oracle as well as open source organizations have released <strong>BPEL</strong>implementations in their platforms <strong>and</strong> <strong>to</strong>ols. The available <strong>BPEL</strong> engines includes Oracle <strong>BPEL</strong> ProcessManager, IBM BPWS4J, Apache ODE, Active<strong>BPEL</strong>, Twister [2]2.2 Why <strong>BPEL</strong> is needed?Traditional methods for business integration <strong>and</strong> process au<strong>to</strong>mation usually involve logic inside ofapplications designed <strong>to</strong> meet a specific business need such as ERP, supply chain, CRM. Thedevelopment, testing <strong>and</strong> making the change of such applications can be quite costly <strong>and</strong> complicated [1-4]. To solve the problem, proprietary Enterprise Application Integration (EAI) <strong>and</strong> Business ProcessManagement (BPM) emerged <strong>to</strong> raise integration <strong>and</strong> process au<strong>to</strong>mation in<strong>to</strong> a new level of software<strong>to</strong>ols [5]. But proprietary EAI <strong>and</strong> BPM are <strong>to</strong>o expensive [5].XML-based Web services came in<strong>to</strong> picture as a solution. However, Web services do not fulfill the need<strong>to</strong> integrate <strong>and</strong> coordinate business processes themselves. This is where <strong>BPEL</strong> appeared (Figure 2.1) [1,5].Adoption of Web services <strong>and</strong> <strong>BPEL</strong> enhances productivity, reduces operating costs <strong>and</strong> betters servicethrough process au<strong>to</strong>mation.


Traditional business integration <strong>and</strong> process au<strong>to</strong>mation methodsExpensive <strong>to</strong> make changesWeb servicesWProprietary EAI <strong>and</strong> BPMToo expensiveImplementation of Internet transportpro<strong>to</strong>cols (HTTP, SMTP)Data model (XML)Message exchanged (SOAP)Description of service operations <strong>and</strong>specifications (WSDL)Publishing <strong>and</strong> discovery of services(UDDI)Unable <strong>to</strong> fill the need themselves<strong>BPEL</strong>Figure 2.1: Development of process integration <strong>and</strong> process au<strong>to</strong>mation [1, 5]2.3 Development<strong>BPEL</strong> 1.0 was initially developed by Microsoft, IBM <strong>and</strong> BEA as <strong>BPEL</strong>4WS in August 2002. In April2003, <strong>BPEL</strong> 1.1 was first submitted <strong>to</strong> OASIS <strong>to</strong> obtain broader acceptance <strong>and</strong> open <strong>st<strong>and</strong>ard</strong>ization [3,6]. The OASIS WS-<strong>BPEL</strong> technical committee voted on 14 September 2004 <strong>to</strong> name their specificationWS-<strong>BPEL</strong> 2.0, <strong>and</strong> approved it as OASIS <strong>st<strong>and</strong>ard</strong> on 12 April 2007 [2, 7].2.4 What can <strong>BPEL</strong> do?<strong>BPEL</strong> makes it possible <strong>to</strong> keep internal business processes separated from external enterprise processes.Hence, changing of internal processes will not affect data exchange between enterprises [3].<strong>BPEL</strong> provides enterprise with a <strong>st<strong>and</strong>ard</strong> for business orchestration <strong>and</strong> execution. It specifies how <strong>to</strong>send/receive XML messages, exchange message with partners, implement parallel or sequential process,manipulate data between partner interactions, define parallel/sequential execution, etc [6].By using <strong>BPEL</strong> it Makes integration with business partners easier <strong>and</strong> more effective Stimulates enterprises <strong>to</strong> further define their business processes, Leads <strong>to</strong> further optimizing the business process


3. <strong>BPEL</strong>4PEOPLE3.1 Limitation of <strong>BPEL</strong>4WS <strong>and</strong> dem<strong>and</strong> for <strong>BPEL</strong>4People<strong>BPEL</strong> perm<strong>its</strong> orchestration of web services, while the obvious business activity of a human interactionwithin a process is not covered by <strong>BPEL</strong> [8], <strong>and</strong> this means that vendors will most probably create theirown proprietary extention <strong>to</strong> <strong>BPEL</strong>, <strong>and</strong> this will result worse interoperability between products, thereforeit makes sense <strong>to</strong> <strong>st<strong>and</strong>ard</strong>ize this part of the process <strong>to</strong>o. However the activities that make up generalbusiness processes are broader than this, because people often participate in the execution of businessprocesses. To support a broaden range of scenarios involving people within business processes, a <strong>BPEL</strong>extension is required [9, 10]. <strong>An</strong> additional group of syntax <strong>and</strong> semantics which focus on the descriptionhas <strong>to</strong> be added <strong>to</strong> <strong>BPEL</strong>.3.2 Development of <strong>BPEL</strong>4PeopleIBM <strong>and</strong> SAP recognized the importance of extending <strong>BPEL</strong> for people <strong>and</strong> jointly published a whitepaper in July 2005 [13, 14, 15, 19]. It addresses various <strong>BPEL</strong>4People requirements <strong>and</strong> scenarios.In June 2007, Active Endpoints, Adobe, BEA, IBM, Oracle <strong>and</strong> SAP published the <strong>BPEL</strong>4People <strong>and</strong>WS-HumanTask specifications, which define an approach for integrating human interactions using WS-<strong>BPEL</strong> 2.0 [9-12]. The authors of <strong>BPEL</strong>4People plan <strong>to</strong> submit the specifications <strong>to</strong> OASIS (Organizationfor the Advancement of Structured Information St<strong>and</strong>ards) in the near future [12].3.3 <strong>BPEL</strong>4People specificationA <strong>BPEL</strong> language contains features needed <strong>to</strong> describe complex control flows. Since human interactionsare usually involved in business process, <strong>BPEL</strong> process should define people as another type ofparticipants.<strong>BPEL</strong>4People is now comprised of two specifications [12]: WS-<strong>BPEL</strong> Extension for People (<strong>BPEL</strong>4People) Version 1.0, which features lay on <strong>to</strong>p of WS-<strong>BPEL</strong><strong>to</strong> describe human tasks as activities that may be incorporated as first-class components in WS-<strong>BPEL</strong> process definitions. Web Services Human Task (WS-HumanTask) Version 1.0, which introduces st<strong>and</strong>-alone human tasks.Web Services Human Task may be utilized by Web services-based applications beyond WS-<strong>BPEL</strong>processes.<strong>BPEL</strong> specification focus on the business activities which interact with Web services. <strong>BPEL</strong>4Peoplespecification extends <strong>BPEL</strong> elements <strong>and</strong> enables the modeling of human interaction patterns [12].Complete specifications of <strong>BPEL</strong>4People 1.0 <strong>and</strong> WS-HumanTask 1.0 can be found at [13, 14].3.3.1 People integrationTo achieve best possible interact between people <strong>and</strong> process, it is essential <strong>to</strong> underst<strong>and</strong> people roles inthe process <strong>and</strong> how process identifies the people <strong>to</strong> interact with.


3.3.1.1 Human rolesIn <strong>BPEL</strong>4People process, four generic human roles are defined: process initia<strong>to</strong>r, process stakeholders,potential owner <strong>and</strong> business administra<strong>to</strong>rs [13, 15].Process initia<strong>to</strong>r is the person who triggers the process instance. The initia<strong>to</strong>r can be either determined bythe process au<strong>to</strong>matically or specially assigned.Process stakeholder is the person who can influence the progress of a process instance. Their responsiblecan be adding attachment, forward task or follow the process progress. If no process stakeholders arespecified, the process initia<strong>to</strong>r becomes the process stakeholder. The process stakeholder is onlyassociated with a process instance.Potential owner is the person who is assigned <strong>to</strong> claim <strong>and</strong> complete the activity.Business administra<strong>to</strong>r is the person who is allowed <strong>to</strong> perform administrative actions on the businessprocess. If no business administra<strong>to</strong>rs are specified, the process stakeholders become the businessadministra<strong>to</strong>rs. Unlike process stakeholder, a business administra<strong>to</strong>r has an interest in all processinstances <strong>and</strong> not just one.3.3.1.2 People linkPeople links are used <strong>to</strong> bind a group of people <strong>to</strong> a business process, they are similar <strong>to</strong> partner linkswhich are used <strong>to</strong> bind Web services <strong>to</strong> processes. People links are usually associated with generic humanroles.Using human roles <strong>and</strong> people link, a people activity is defined (Section 3.3.2.1).3.3.2 ScenariosPeople interaction can be as simple as manual approval, such as giving approval/rejection <strong>to</strong> loan request.People interaction can be more complex involving data, such as feeding cus<strong>to</strong>mer feedback <strong>to</strong> the process.The scope of <strong>BPEL</strong>4People is described in five scenarios [15].3.3.2.1 People activityThe new <strong>BPEL</strong> activity – people activity is not performed by any software, it is the task assigned <strong>to</strong> a user<strong>and</strong> it requires action be performed by that user [15]. The ac<strong>to</strong>r of a people activity is determined by apeople link. In PBEL4People, <strong>BPEL</strong> engine does not invoke Web services, instead it creates <strong>and</strong>distribute a task <strong>to</strong> certain user. <strong>An</strong>d user needs <strong>to</strong> carry out specific action on task. Like <strong>BPEL</strong> activity,people activity has name <strong>and</strong> input/output variable, it allows the specification of deadlines. Moreover,people activity can set a priority, which prioritizes the work people work on [15].3.3.2.2 Initiating processWhen a group of people involved in a business process, it is necessary <strong>to</strong> appoint people who initiate abusiness process.


3.3.2.3 Managing processIn a long-running business process, continuous human involvement may be expected. Let’s use an onlinevoting system as example. The online voting site could be jammed due <strong>to</strong> excess data flow. In order <strong>to</strong>keep the process running smoothly, people with adequate business knowledge should be assigned asbusiness administra<strong>to</strong>rs, <strong>and</strong> shut down the voting system temporarily, when the excess data flow reachescertain lim<strong>its</strong>. These business administra<strong>to</strong>rs (humans) play crucial role <strong>to</strong> ensure the running running <strong>and</strong>best possible outcome of the process[15].3.3.2.4 Human <strong>and</strong> au<strong>to</strong>matic services transitionThis scenario defines that two-way transition between human <strong>and</strong> au<strong>to</strong>matic services must be nondisruptive.3.3.2.5 Advanced people interactionAbove four scenarios are simple task <strong>and</strong> execution actions. In many cases people interact with process ina more complex pattern, which requires <strong>BPEL</strong>4People [15].4-Eyes Principle takes place when decision needs <strong>to</strong> be made independently by two or more users. In theextreme case, users are not allowed <strong>to</strong> know who else is involved in the decision making.Escalation is used if a task does not progress as expected or it does not meet <strong>its</strong> deadline. If it occurs, anotification is sent <strong>to</strong> escalation recipients. Then they will decide further actions <strong>to</strong> get the process backon track.Nominations, just as <strong>its</strong> name implies, it is used <strong>to</strong> nominate user for certain task.Chained execution referes <strong>to</strong> scenario where a sequence of actions is taken by a same person. In thiswizard-style interaction, the person running the process is also the process initia<strong>to</strong>r.3.3.3 TaskThe work people perform is defined as task, which has following properties [15]: Multilingual description Priority Expected data Deadline User interfaceWhen task is integrated with process, two patterns are formed: inline tasks or st<strong>and</strong>alone tasks [15].


<strong>BPEL</strong> Process<strong>BPEL</strong> Process<strong>BPEL</strong> Process<strong>BPEL</strong> ProcessPeopleActivityPeopleActivityPeopleActivityPeopleActivityInlineHumantaskInlineHuman taskSt<strong>and</strong>aloneHuman taskCallableWSDLInterfaceHTPro<strong>to</strong>colInterfaceSt<strong>and</strong>alone HumantaskFigure 3.1: Interaction patterns between process <strong>and</strong> task [15]In Pattern 1, the task is specified inline within a People activity. In Pattern 2, the task is specified inlinewithin the <strong>BPEL</strong> process. In both patterns, the task au<strong>to</strong>matically shares process context <strong>and</strong> data.In Pattern 3, the task is defined externally <strong>to</strong> the process without a specific interface, In that wayapplication vendors can expose their functionality as tasks which can be called from <strong>BPEL</strong> processengines.Pattern 4 is like 3 except that the task interface is specified using a callable WSDL, which is invokedusing Web services. Moreover, WS-HumanTask is used for communication between process <strong>and</strong> task.4. WS-<strong>BPEL</strong> 2.0 EXTENSIONS FOR SUB-PROCESSES – <strong>BPEL</strong>-SPE4.1 Dem<strong>and</strong> for <strong>BPEL</strong> -SPEBesides excluding people action, <strong>BPEL</strong> does not support the explicit definition of business “fragments”that can be invoked from another (or the same) business process either [16]. In both the <strong>BPEL</strong>4WS 1.1<strong>and</strong> the WS-<strong>BPEL</strong> 2.0 specifications,, the only way <strong>to</strong> simulate this behavior is <strong>to</strong> define a completebusiness process as an independent service <strong>and</strong> invoke it via invoke activity. However, sub-process iscompletely hidden from <strong>its</strong> parent process, namely it does not have lifecycle coordination with <strong>its</strong> parentprocess.4.2 Development of <strong>BPEL</strong>-SPEIn September 2005, IBM <strong>and</strong> SAP published a white paper called Extensions for Sub-Processes (<strong>BPEL</strong>-SPE). The paper calls for the explicit definition of sub-processes, allowing for the reuse of the subprocess,tight coupling of the sub-process's lifecycle with <strong>its</strong> parent process, <strong>and</strong> the ability of the subprocess<strong>to</strong> access <strong>its</strong> parent processes data [16]. The language specification defining the precise syntax<strong>and</strong> semantics will be published in the future.


4.3 Sub-processAs a fragment of <strong>BPEL</strong> code a sub-process should be reused within a process or across multiple processes[15]. It can be defined as st<strong>and</strong>alone sub-process <strong>and</strong> inline sub-process (Table 4.1).Table 4.1: Sub-processes typesSt<strong>and</strong>alone Sub-processDefinition Defined within another<strong>BPEL</strong> processReuseReused only within thatprocessAccess <strong>to</strong> variables Can access only globalprocess variablesProperties Have <strong>its</strong> own variables,partner links, receiveactivityInline Sub-processDefined as a <strong>BPEL</strong> processReused across other <strong>BPEL</strong>processCan access no variables fromother processesDoes not have <strong>its</strong> ownvariables, partner links,receive activity4.4 Invoke activityTwo invoking mechanisms between parent process <strong>and</strong> sub-process are supported by <strong>BPEL</strong>-SPE Via a reply activity Via a one-way invoke activityParentProcessWSDL request responseSub-ProcessFigure 4.1: Receive-reply invocation mechanisms [15]Sub-process receives the input message via <strong>its</strong> receive activity <strong>and</strong> responds the message via <strong>its</strong> replyactivity.


ParentProcessCall...partnerLink=”PL”requestOperation= “op1”responseOperation= “op2”Op1Sub-ProcessOp2PT2PLPT1Figure 4.2: Receive-invoke invocation mechanisms [15]The parent process uses call activity <strong>to</strong> call sub-process. The call activity specifies the port type which isused <strong>to</strong> send the input message <strong>to</strong> sub-process <strong>and</strong> port type which contains the operation <strong>to</strong> be used bysub-process <strong>to</strong> return a message. Several parent processes can call same sub-process, which means subprocessneeds <strong>to</strong> return message <strong>to</strong> different endpoints. Therefore it is important that those endpoints inparent processes are recognizable by the process engine hosting sub-process, so that response messagecan be sent back successfully [15].4.5 Coordination scenariosThere are seven coordination scenarios between a parent process <strong>and</strong> a sub-process (Figure 4.3)[15]Parent processRequest operationResponse operationCloseCloseSub-processFigure 4.3a Invocation of sub-process without compensationSub-process is invoked <strong>and</strong> message is returned. After parent process is completed, sub-process is closed.


Parent processRequest operationResponse operationCompensateCompensateSub-processFigure 4.3b: Invocation of sub-process with compensationSub process is invoked <strong>and</strong> message is returned. Compensation occurs <strong>and</strong> it passes <strong>to</strong> sub-process.Parent processSub-processRequest operationResponse operation – fault dataFigure 4.3c: Invocation of sub-process with application faultSub process is invoked, but it does not send result back <strong>to</strong> parent process, instead it sends fault data <strong>and</strong>closes.Parent processSub-processRequest operationAbnormalSubprocessTerminationFigure 4.3d: Invocation of sub-process with application faultSub process is invoked, but it does not send message back <strong>to</strong> parent process as it should be.AbnormalSubprocessTermination is sent <strong>to</strong> parent process.


Parent processRequest operationTerminateTerminateSub-processFigure 4.3e: Invocation of sub-process with terminationSub process is invoked. Parent process is terminated <strong>and</strong> termination is passed <strong>to</strong> sub-process. Finally,termination completion is sent back <strong>to</strong> parent process.Parent processSub-processRequest operationSubprocessExitedFigure 4.3f: Invocation of sub-process with exit (parent process <strong>to</strong> sub-process)Sub process is invoked. Parent process encounters an exit activity <strong>and</strong> exit is passed <strong>to</strong> sub-process.SubprocessExited is sent <strong>to</strong> parent process.Parent processRequest operationSub-processExitedFigure 4.3g: Invocation of sub-process with exit (sub-process <strong>to</strong> parent process)Sub process is invoked <strong>and</strong> it encounters an exit activity. The exit is passed <strong>to</strong> parent process. Sub-processex<strong>its</strong> in turn.4.6 Future actionThe white paper only recognizes the problem of process reused in <strong>BPEL</strong>, describes different invocationscenarios <strong>and</strong> coordination mechanisms between parent process <strong>and</strong> sub/process. However, no consensuson how the problem should be resolved. No other official paper had been released than <strong>BPEL</strong>-SPE whitepaper. Detailed <strong>BPEL</strong>-SPE language specification (syntax <strong>and</strong> semantics) is still under construction


5. EU PROJECT SUPERIt happens quite often that IT staff is needed <strong>to</strong> solve business problems. The situation is quitetroublesome, which is both resource <strong>and</strong> time consuming. The needs for better alignment between IT <strong>and</strong>business are getting stronger.Starting on 1st April 2006 Semantics Utilised for Process Management within <strong>and</strong> between EnterpRisesproject, also called SUPER project, is an integrated project funded by European Sixth FrameworkProgram. It has 3-year duration. 19 educational <strong>and</strong> industrial partners take part in the project [17, 18].Overall budget of the project is 16.4 M Euro, of which 11 M Euro is from funding [18].SUPER project intends <strong>to</strong> raise business process management (BPM) from the IT level <strong>to</strong> the businesslevel. It will enable business <strong>to</strong> use information technology more efficiently <strong>and</strong> <strong>to</strong> make cooperationbetween IT <strong>and</strong> business better. To achieve this objective, the project aims at adopting Semantic WebServices technology <strong>to</strong> make companies more adaptive.In 2006 the BPM domain was framed. In 2007 SUPER focused on the <strong>to</strong>ols of semantic technologies inthe business process domain [19].6. CASE STUDY – EXAMPLE OF THE USE OF <strong>BPEL</strong><strong>BPEL</strong>4People <strong>and</strong> <strong>BPEL</strong>-SPE are still on their very early stage, no specification has been approved asOASIS <strong>st<strong>and</strong>ard</strong>. Since, their language specifications <strong>and</strong> structures are based on <strong>BPEL</strong>, I will take asimple <strong>BPEL</strong>WS example <strong>to</strong> illustrate how <strong>BPEL</strong> related application is used in practice [20].6.1 Case scenariosIn the case, a loan procurement application is implemented by a bank called Superloan. <strong>An</strong> applicantsends a loan request, then the request is h<strong>and</strong>led by Superloan, finally the decision is sent back <strong>to</strong>applicant stating whether the loan is permitted or not.6.2 Setting up the systemIn <strong>BPEL</strong> receive activity, invoke activity <strong>and</strong> reply activity are used for getting a message, invoking theWeb service <strong>and</strong> returning results <strong>to</strong> cus<strong>to</strong>mer respectively [20, 21]. Since above three actions are takenon after the other, it needs sequence activity <strong>to</strong> ensure they occur in right order. That will means firstreceive <strong>to</strong> get the message, then invoke <strong>to</strong> call Superloan approval process, <strong>and</strong> finally reply <strong>to</strong> senddecision <strong>to</strong> applicant (Figure 6.1).


ApplicantSuperloan<strong>BPEL</strong>WS loan approval processLoan approverWeb servieFigure 6.1: Loan approval process6.3 Service descriptionIn order <strong>to</strong> exchange the message <strong>and</strong> invoke the Web service WSDL, description of services involved inthe <strong>BPEL</strong> process must be written beforeh<strong>and</strong>. In this case, loan definitions, loan approval service <strong>and</strong>loan approval process.6.4 Creating process<strong>BPEL</strong> process likes a box where relationship <strong>to</strong> external partners, h<strong>and</strong>lers for various purpose <strong>and</strong>activities <strong>to</strong> be executed can be declared [21]. A <strong>BPEL</strong> process always begins with process.1Each service interaction in <strong>BPEL</strong> process is modeled as a partnerLink. For one partner, there can be aseveral partner links. In order <strong>to</strong> specify the role <strong>and</strong> the type of a partner, PartnerLinkType <strong>and</strong> a rolename are used [21]. In the case the partners are the applicant <strong>and</strong> loan approver. MyRole means the roleprocess plays, while partnerRole means the role that partner plays.1


Message is s<strong>to</strong>red in containers <strong>to</strong> where <strong>BPEL</strong> can have access [20].6.5 Receive, invoke <strong>and</strong> reply activityReceive, reply <strong>and</strong> invoke are the activities for exchanging messages with external partners.Receive is used for receiving messages from an external partner. It always specifies the partnerLink <strong>and</strong>an operation that can be invoked. A process can be initiated by setting createInstance <strong>to</strong> yes in a receiveactivity.After the message is received, loan approver is asked whether the loan will be approved or rejected. Thisis done by invoke activity. Invoke activity is used <strong>to</strong> call a Web service which has been defined as apartner. Like reply, a partnerLink <strong>and</strong> operation have <strong>to</strong> be specified. Executable <strong>BPEL</strong> is requestresponseoperation where both input <strong>and</strong> output variable are required.After decision is made by loan approver, the result is sent <strong>to</strong> applicant via reply activity. Reply activityprovides means <strong>to</strong> send a response <strong>to</strong> partners by specifying a partnerLink <strong>and</strong> operation. A reply activitycan be only placed after a receive activity with same partnerLink <strong>and</strong> operation. After reply activity, theprocess ends. The sequence <strong>and</strong> process tags need <strong>to</strong> be closed.


The diagram 6.2 shows the sequence of actions executed in loan approval process. WApplicant2Requestcontainer1634Loan approverWeb servie4Approvalcontainer1: Applicant sends message2: Message is s<strong>to</strong>red in request container3 & 4: Invocation of Web serviced5: Message from invocation is s<strong>to</strong>red in approval container6: Result is sent <strong>to</strong> applicantFigure 6.2: The sequence of actions executed in loan approval processThe <strong>BPEL</strong> process can be run from <strong>BPEL</strong> engine which has been available in the market (See section 2.1)7. CONCLUSIONS<strong>BPEL</strong> is convergence of language features of IBM’s WebService Flow Language (WSFL) <strong>and</strong>Microsoft’s XLANG. As an XML-based language, <strong>BPEL</strong> describes the logic <strong>to</strong> coordinate Web servicesin a process flow. <strong>BPEL</strong> was first proposed by Microsoft, IBM <strong>and</strong> BEA as <strong>BPEL</strong>4WS in August 2002.On 12 April 2007 <strong>BPEL</strong> 2.0 was approved as OASIS <strong>st<strong>and</strong>ard</strong>. <strong>BPEL</strong> process needs <strong>to</strong> be run via <strong>BPEL</strong>engines, which have been developed by several vendors.<strong>BPEL</strong>-WS provides a <strong>st<strong>and</strong>ard</strong> language for business orchestration <strong>and</strong> execution. By using <strong>BPEL</strong> itmakes integration with business partners easier <strong>and</strong> more effective, it also leas <strong>to</strong> further processoptimization.However, <strong>BPEL</strong> does not cover human interaction. To support a broaden range of scenarios, <strong>BPEL</strong>extensions are required. In June 2007, Active Endpoints, Adobe, BEA, IBM, Oracle <strong>and</strong> SAP publishedthe <strong>BPEL</strong>4People specifications, which define an approach for integrating human interactions using WS-<strong>BPEL</strong> 2.0. The specifications will be sent <strong>to</strong> OASIS for approval in the near future


Besides excluding people action, <strong>BPEL</strong> does not interaction between sub-process <strong>and</strong> parent processeither. In September 2005, IBM <strong>and</strong> SAP published a white paper called Extensions for Sub-Processes(<strong>BPEL</strong>-SPE). The paper recognizes the problem of process reused in <strong>BPEL</strong>, describes differentinvocation scenarios <strong>and</strong> coordination mechanisms between parent process <strong>and</strong> sub/process. However, noconsensus on how the problem should be resolved. Many efforts still need <strong>to</strong> be made before <strong>BPEL</strong>-SPEspecification is finalized.In order <strong>to</strong> improve the interaction between IT <strong>and</strong> business process management, EU founded projectSUPER was kicked off on 1st April 2006. The project intends <strong>to</strong> adopt Semantic Web Servicestechnology <strong>to</strong> enable business <strong>to</strong> use information technology more efficiently <strong>and</strong> <strong>to</strong> make cooperationbetween IT <strong>and</strong> business better.8. REFERENCE[1] Matjaz B. Juric, A H<strong>and</strong>s-on <strong>Introduction</strong> <strong>to</strong> <strong>BPEL</strong>, accessed 09 DEC 2007,URL: http://www.oracle.com/technology/pub/articles/matjaz_bpel1.html[2] Wikipedia, 2007, Business Process Execution Language, accessed 09 DEC 2007,URL: http://en.wikipedia.org/wiki/Business_Process_Execution_Language[3] 2005, Business Process Executive Language, accessed 09 DEC 2007,URL: http://www.expresscomputeronline.com/20050321/technology05.shtml[4] Chris<strong>to</strong>ph Schittko, 2003, XML conference & Exposition, Web Service Orchestration with <strong>BPEL</strong>,accessed 09 DEC 2007,URL: http://www.idealliance.org/papers/dx_xml03/papers/04-06-01/04-06-01.html[5] Michael Cobban, 2004, What is <strong>BPEL</strong> <strong>and</strong> why is it so important <strong>to</strong> my business? accessed 09 DEC2007,URL: http://www.softcare.com/whitepapers/wp_whatis_bpel.php[6] Oracle White Paper, 2004, Orchestrating Web Sevices: The case for a <strong>BPEL</strong> Server, accessed 09 DEC2007,URL: http://www.oracle.com/technologies/integration/pdf/bpel-case-whitepaper.pdf[7] 2007, The approval of WS-<strong>BPEL</strong> as OASIS <strong>st<strong>and</strong>ard</strong>, accessed 09 DEC 2007,URL: http://www.oasis-open.org/cn/news/2007_04_12.htm[8] Ta’id Holmes, 2007, <strong>BPEL</strong>4People: extending WE-<strong>BPEL</strong> for People, accessed 09 DEC 2007,URL:http://bpel4people.svn.sourceforge.net/viewvc/%2Acheckout%2A/bpel4people/doc/thesis/thesis.pdf?revision=1,[9] 2007, WS-<strong>BPEL</strong> Extension for People, accessed 09 DEC 2007,URL:http://www.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/[10] Yoichi Takayama, 2007, WS-<strong>BPEL</strong> Extension for People, accessed 09 DEC 2007,URL:http://wiki.ramp.org.au/confluence/display/workflow/WS-<strong>BPEL</strong>+Extension+for+People+(<strong>BPEL</strong>4People)[11] Wikipedia, 2007, <strong>BPEL</strong>4People, accessed 09 DEC 2007,URL: http://en.wikipedia.org/wiki/<strong>BPEL</strong>4People[12] 2007, <strong>BPEL</strong>4People Specifications Integrate Human Interactions In<strong>to</strong> Business Process, accessed 09DEC 2007,URL: http://xml.coverpages.org/ni2007-06-25-a.html[13] Ashish Agrawal, etal., 2007, WS-<strong>BPEL</strong> Extension for People Version 1.0,http://xml.coverpages.org/<strong>BPEL</strong>4People-V1-200706.pdf[14] Ashish Agrawal, etal., 2007, Web Services Human Task Version1.0, accessed 09 DEC 2007,URL: http://xml.coverpages.org/WS-HumanTask-V1-200706.pdf

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!