BPEL foundation summary

xiaoxiao2021-03-06  14

Information from

1 Use BPEL4WS business process

http://www-900.ibm.com/developerWorks/cn/webservices/ws-bpelcol/index.shtml

2 Web Service: BPEL4WS topic

http://www-900.ibm.com/developerWorks/cn/webservices/ws-theme/ws-bpel.shtml

What is BPEL4WS?

Business Process Execution Language BPEL4WS (Business Process Execution Language for Web Services) is a specification standard designed to integrate Web Services. It is essentially IBM's WSFL (IBM Web Services Flow Language) and combinations of Microsoft's XLANG, which has now become industry standards. WSFL supports graphical processes, and Xlang has a unique method in structured construction, and BPEL4WS is absorbing the advantages of both, and abandoning some complex and cumbersome parts, forming a more natural description business activities. Abstract high-level language.

P.s

There will be two statements here: processes and integration!

A "flow link to the web service" and a "integration of web services" are the same!

BPEL4WS provides an XML annotation and semantics that specify a web-based business process behavior. The BPEL4WS process is defined using a partner's interaction. Partners can provide services to the process, or request services to the process, or participate in two-way interactions of the process. BPEL arrays a Web service in a specified order, which is far-reaching for the call to the service collection. BPEL also assigns partners for each service. You can use it to specify a description of the public interface and executable process of the partner.

BPEL4WS positioning is a web service standard for integration. You can create different activities that can complete WEB service calls, manipulate data, throw faults or terminate one process, and then connect them, creating complex processes. These activities can nest in structured activities, structural activities define the operating mode of the activities, such as serial or parallelism or depends on certain conditions.

P.s

BPWS4J (Business Processes In Web Services for Java) is an implementation of the BPEL4WS specification, which includes a runtime engine and an editor for creating a BPEL4WS process (it is an Eclipse plugin).

BPEL4WS features

1, BPEL4WS grammar is completely based on XML specification, if it does not consider its program language characteristics, you can understand it as a normal XML document specification, that is, you can correspond to all nodes in BPEL4WS to a virtual DTD. Document. If it doesn't consider its program characteristics, everyone is just in accordance with the specification defined by this DTD when writing the BPEL file, and is written in a normal XML file. BPEL4WS is mainly based on the following XML specification, WSDL 1.1, XML Schema 1.0 and XPath1.0. WSDL messages and XML Schema type definitions provide all data models required for the BPEL4WS process, all required external resources and partners are described as WSDL services.

If you do a more in-depth study for the syntax of the BPEL4WS language, you will find that it is actually inheritance and development of the original programming language. BPEL inherits (owned) Some basic characteristics of traditional programming languages ​​combine the language of commercial processing characteristics! For example, it also has an operation of assignment, loop, error capture, and it provides synchronization and asynchronous processing of remote calls, providing parallel operations, providing compensation operations, etc.

2. Although BPEL4WS is defined as a business executive language, it does not actually perform any details in the business process, that is, it does not involve the storage and processing of commercial data. BPEL4WS language should be a descriptive language in essence, it just described when it is? What order? Where is it? Want to call those web services? How to organize these calls? 3, BPEL4WS is a real distributed system. For traditional distributed systems, the distributed system implemented by BPEL4WS has higher flexibility, which is mainly reflected in the following aspects:

(1) Each node machine can be a heterogeneous system

(2) You can dynamically select the node machine during runtime.

(3) Can communicate various communication protocols as long as the SOAP protocol is compliant.

Basic concept of BPEL4WS

BPEL4WS supports two distinctive use situations:

1. Implement the executable business process.

2. Describe the abstract flow of the inconsistent.

As a description language of the executable process, the role of BPEL4WS is to integrate a set of existing services to define a new Web service.

Figure 1. View of the web service implemented as a BPEL4WS process

Realize service

The BPEL4WS process is basically a flowchart, similar to a flow chart used to express algorithms. Each step of the process is called an activity.

Basic activities are the easiest form of interaction with the outside world. They are disordered individual steps, interact with services, operate data or processing exceptions. There are some basic activities:

Call the operation on a web service ()

Waiting for a message to respond to the operation of the service interface called from the outside ()

Response to generate input / output operations ()

Waiting for a while ()

Copy data from one place to another ()

Indicates something wrong with some place ()

Terminate the entire service instance ()

Or don't do anything ().

These primitive activity can be combined into a more complex algorithm by using any structured activity provided by the language. Structured activities specify the order of a set of activities. Structured activities describe how the business process is created by integrating basic activities performed by business processes into the structure, which express the processing of control mode, data stream, fault, and external events involved in the business protocol and during the process. The coordination of message exchange is performed between examples.

The capabilities provided by these structured activities are:

Define an orderly sequence of a set of steps ()

Generate branches using the current "Case-Statement" measures ()

Define a cycle ()

Execute one of several optional paths ()

Provide fault processing functions and compensation processing functions for nesting activities ()

And indicate a set of steps should be implemented in parallel ()

In a set of activities performed in parallel, you can specify the constraints of the execution order by using the link (LINK).

BPEL4WS allows you to recursively combine structured activities to express any complex algorithms, which represent the implementation of services.

partner

As a language for combining a set of services together to form a new service, the BPEL4WS process is composed of calls and / or receiving calls from the client (user service in Figure 1) to other services. The former is done by using activity, the latter is done by using and activity. BPEL4WS puts other service names with process interacts. In this way, the partner or the process is called as a service (called partner), or the service (client partner) that call the flow (client partner). Partners can be divided into the following:

1. Services that are called only by the process.

2. Call only the service service.

3. Or both the process calls the process (which is likely to appear first).

Service link type

The service link type is taken out when modeling the third type of partner. Service link Type is a third party statement, with this declaration to illustrate the relationship between two (or more) services. The service link type defines a set of roles, where each role indicates a group of portType. The idea is that when two services interact each other, the service link type is how to interact with these two services - - what is essentially in nature ------ declaration.

BPEL4WS defines partners with a service link type. Basically, partners are defined: give partners a name, then specify the name of the service link type, determine what role will serve as a role in this service link type, and determine what role will serve as a partner. For purely called partners and pure client partners, there will be only one role in the service link type, so it only indicates a role when defining partners. Partner names will then be used in , , and to indicate the expected partner.

Service reference

How do partners work when running? In order to work at runtime, partners must parse into actual Web services. In this way, the partner is actually the end is a type of service reference, and its type information comes from the service link type and role. The BPEL4WS process itself does not specify how a partner is bind to a specific service; people think this is a binding step when deploying or runtime, which must be supported by BPEL4WS.

solving issues

BPEL4WS is built into the language in the language via and . BPEL4WS's troubleshooting is based on the WSDL's fault concept. In addition, BPEL4WS supports compensating this concept, which is a technique that allows process designers to achieve some compensation actions for certain irreversible actions. BPEL4WS introduces this concept of a role domain, which recursively supports troubleshooting and compensation, and the scope is essentially a fault handling and / or compensation unit.

Service life cycle

The Web service implemented as a BPEL4WS process has an instance lifecycle model. That is, the clients of these services are always interacting with a particular instance of the service (process).

Unlike traditional distributed object systems, the BPEL4WS instance is not created by plant mode. In contrast, the example in BPEL4WS is implicitly created when the message is reached. That is, the example is not identified by an explicit "instance ID), but is identified by some keyword fields in the data message. For example, if the process represents an order implementation system, the invoice number may be a "keyword" domain used to identify a particular instance involved in interaction. Thus, if there is no matching instance when the message arrives at the "start" point, then a new instance is automatically created and associated with keyword data in the message. After positioning the appropriate instance, you can only accept messages in the process of non-starting point; that is, in these cases, the message is actually transmitted to a particular instance. In BPEL4WS, find a suitable instance or create a suitable instance (if necessary) is referred to as message correlation (Message Correlation). The problem to be resolved is to determine a message belongs to that dialog, and an instance of positioning / instantiation in BPEL4WS. THE END

转载请注明原文地址:https://www.9cbs.com/read-47307.html

New Post(0)