Business Process Library Q Business Process Management

From Q-BPM
Jump to: navigation, search

BPEL is a language to define, as business processes, a series of procedures to invoke features of multiple applications on the network in order and execute tasks. Business Process Execution Language.

Contents

Overview of BPEL

What is an Abstract Process?
It represents interaction among business processes, such as a message flow. It does not show the details of business processes.

BPEL is a language to define, as business processes, a series of procedures to automatically utilize features of multiple applications on the network in order and execute tasks. It is used for the following two purposes.

  • Definition of abstract processes
  • Implementation in execution engines

Business processes defined with BPEL are called "BPEL processes" or "BPEL flows."

In processes defined with BPEL, activities are processed automatically, and a series of flows can be invoked as if it were a single service. Such a service is called a "composite application." In addition, services in which features of applications can be used via network are called "web services," and they rely on technologies related to www (World Wide Web). In case of web services, when we send a command, an expected action is automatically returned via web. BPEL is a language to execute processes by using such web services.

Characteristics of BPEL

XML Based

BPEL is a language based on XML (Extended Markup Language). Since it defines prcesses that utilize network to use application features, it is designed based on XML.

Use of Web Services

When defining business processes by using BPEL, basically we need to combine the activities listed below and create a process that is "started when it receives a request message and ends with replying with the execution result."

  • invoke (Call features of applications)
  • receive (Receive requests)
  • reply (Return results)

These are automatically executed via web services.

Comparison of BPMN, BPEL, and XPDL

BPEL neither defines the ways of graphical representation of business processes nor provides specific design techniques for them. BPMN defines the ways of graphical representation of business processes.

Image of BPMN, BPEL, and XPDL
Image of BPMN, BPEL, and XPDL
  BPMNBPELXPDL
CharacteristicsNotation for drawingFormat to save processesFormat to save images
Primary PurposeVisualizationControl over other systemsXMLization of BPMN diagrams
Diagram InformationSuitableImpossiblePossible
Data FormatImageXMLXML

BPEL is an execution language to design processes relying on web services and is useful when we integrate applications and thereby automatically execute processes. The format of data written in BPEL is a text file. On the other hand, BPMN defines the way to draw business process diagrams and is suitable for graphical representation of business processes. The data created by following BPMN are image files. XPDL is a language to save business process diagrams represented in BPMN as text data.

Conversion from BPMN to BPEL

Although mapping from BPMN to BPEL is presented in BPMN, it does not mean that all BPMN artifacts can be converted into BPEL. In many cases, some definitions get complicated or can not be converted.

Example of Conversion

Suppose a case in which, at one part of some business, the subsequent task is different depending on a condition. Let's assume that task "A" is executed "if X is greater than or equal to 10" and that task "B" is executed "if X is less than 10."

BPEL

We can define such business in BPEL as follows. The section after switch near the bottom corresponds to the colored part in the figure below.

<process 
  name="processX" 
  targetNamespace="http://www.questetra.com"
  xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
               ・
               ・
     <partnerLinks>
        <partnerlink partnerLinktype="ns1:RiskAssessmentPT"
             name="assessor"/ partnerRoles="assessor">
               ・
               ・
       <variables>
           <variables messagetype=“ns1:CreditInformationMessage”  name="request"・
               ・
               ・
             <switch name="sub_DeicideRisk">
                <case condition="bpws:getVariableData('request','X')">=10
                    <sequence name="DecideRisk_seq1">
                         <invoke operation="check" inputVariable="request"
                              name="A""outputVariable="risk"
                              portType="ns1:RiskAssessmentPT" partnerLink="assessor"/>
                    </sequence>
                </case>
               ・
               ・

BPMN

Process Diagram Using BPMN
Process Diagram Using BPMN

We can represent this business as a process diagram by following BPMN as shown in the figure on the right. The branching section corresponds to the colored part.

Specification of BPEL

BPEL4WS 1.0

In 2002, this was proposed by IBM, BEA, and Microsoft by combining WSFL, whose specification was being designed by IBM, and XLANG, which Microsoft was developing. BPEL4WS stands for Business Process Execution Language for Web Services.

BPEL4WS 1.1

In 2003, this was submitted to OASIS, a standards organization, by IBM, BEA, Microsoft, SAP, and Siebel.

WS-BPEL 2.0

In 2007, this was published by OASIS. WS-BPEL stands for Web Service Business Process Execution Language.

WS-BPEL Extension for People1.0 (WS-BPEL4People)

This is the extended version of WS-BPEL published by 6 companies, Oracle, IBM, BEA, SAP, Adobe, and Active Endpoints, in 2007. Unlike WS-BPEL, which is suitable for definition of business processes that utilize multiple applications in order during the execution, this is suitable for definition of workflow managing human tasks, such as review, authentication, data input, and so on.

History of BPEL
History of BPEL

Relationship between BPEL and SOA

What is ESB?
ESB stands for Enterprise Service Bus and is a design technique to connect each software via a bus, instead of connecting software individually.

In this case, individual interfaces are not necessary.

SOA is an acronym of Service-Oriented Architecture and is system architecture that aims to establish systems by reciprocally coordinating software parts and features that are designed and organized according to the structural units of business over the network. Once applications that are turned into services by SOA are prepared, we can construct business processes by combining them. BPEL enables us to define such business processes. Furthermore, ESB deals with issues like "how to connect applications."

BPEL Tags

What is Synchronization?
This means to wait until the data are updated upon completion of other tasks in case the results affect the subsequent processes etc.

Basic tag definitions in BPEL are shown below.

  1. Invocation of web services <invoke>
  2. Waiting status (Receive requests) <receive>
  3. Creation of response of synchronized operations <reply>
  4. Data manipulation <assign>
  5. Display of errors and exceptions <throw>
  6. Explicit waiting status for a pre-determined time period <wait>
  7. Termination of the entire process <terminate>
  8. Representation of a set of consecutive activities <sequence>
  9. Representation of a set of activities invoked in parallel <flow>
  10. Case-switch representation of branches (Conditional branches) <switch>
  11. Define loops <while>
  12. Selection among a couple of activities <pick>


Related Articles

References

Toolbox
What links here
Related changes
Upload file
Special pages
Printable version
Permanent link
Questetra BPM Suite
Workflow Sample:Hints on Defining Workflows for Business Analysts and Managers.

Catetory
General nouns | Proper nouns | General-purpose business process | Core business process | Business process for support administration
Q-BPM This website was started by Questetra, Inc. for businesspeople all over the world, who are interested in BPM, but spend a great amount of time on the search of a lot of books, documents, and difficult terms. By saving the trouble of looking up a number of related terms or the time of searching documents, Questetra, Inc. hopes to contribute to businesspeople, interested in BPM, all over the world. Questetra Inc. Q-BPM exemplifies various Sample Processes regarding Business Flow in companies, and support Business Flow Diagram making. (* Business Flow Diagram: Business Flow Chart/Business Diagram/Business Process Diagram) This is Cloud-Source type information sending website that invites collaborators all over the world. In principle, contents in this website are public on the basis of the license called “CC-By SA,” which means “possible to copy under specific conditions.”

Powered by MediaWiki CreativeCommons By SA