官术网_书友最值得收藏!

Understanding the BPEL language

Let's now have a more detailed look into what we did and try to understand what a BPEL process is. A BPEL process is basically a piece of source code with the .bpel extension, which is executed on a process server. BPEL uses the XML vocabulary to write the code. So far, we have used the visual editor to compose the BPEL process. However, we can switch to the source code view.

A BPEL process consists of steps. Each step is called an activity. BPEL supports basic and structured activities. Basic activities represent basic constructs and are used for common tasks listed, as follows:

  • Invoking other web services using <invoke>
  • Waiting for the client to invoke the business process through sending a message using <receive> (receiving a request)
  • Generating a response for synchronous operations using <reply>
  • Manipulating data variables using <assign>
  • Indicating faults and exceptions using <throw> and <rethrow>
  • Waiting for some time using <wait>
  • Terminating the entire process using <exit>

We can then combine these and other basic activities and define complex flows that specify exactly the steps of a business process. To combine basic activities, BPEL supports several structured activities. The most important are as follows:

  • Sequence (<sequence>) for defining a set of activities that will be invoked in an ordered sequence
  • Flow (<flow>) for defining a set of activities that will be invoked in parallel
  • Conditional construct (<if>) for implementing branches
  • While, repeat, and for each (<while>, <repeatUntil>, <forEach>) for defining loops
  • The ability to select one of the number of alternative paths using <pick>

Each BPEL process will also define partner links using <partnerLinks>. Partner links are other services that use the BPEL process or are used by the BPEL process. A BPEL process also declares variables using <variables>.

主站蜘蛛池模板: 乳山市| 德清县| 元江| 平阴县| 普陀区| 游戏| 桑日县| 北海市| 邵东县| 馆陶县| 上蔡县| 邢台县| 浦东新区| 南充市| 修武县| 昌都县| 汽车| 高安市| 天长市| 巫溪县| 会东县| 西盟| 高雄市| 盐津县| 洛宁县| 新津县| 恩平市| 山阳县| 敦煌市| 唐海县| 阿瓦提县| 白河县| 尉氏县| 安陆市| 南靖县| 呼伦贝尔市| 梧州市| 竹山县| 安达市| 柳河县| 通道|