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

An introduction to BPEL

BPEL stands for Business Process Execution Language. The standard body for BPEL is Organization for the Advancement of Structured Information Standards (OASIS) that produces worldwide standards incorporating industry consensus. The syntax of BPEL is XML-based and the current specification is WSBPEL Version 2.0.

BPEL is a programming language that has a mix of structured (blocks) and unstructured (control-links and events). BPEL is used for designing business processes that integrate web services into end-to-end process flow, and for the orchestration of business services. BPEL is mainly used for orchestrating services. The following figure shows the sample structure of a BPEL process:

A brief description of BPEL is given as follows:

  • BPEL is one of the leading specifications to standardize orchestration logic and process automation between web services.
  • The key benefit of BPEL is about leveraging more from existing application assets. BPEL enables legacy applications to be deployed as web services and orchestrated across platforms.
  • Identifying and documenting both the existing and new required high-level business process is a time-consuming but essential job.
  • BPEL enables developers to develop processes quickly by defining the order in which services will be invoked and provide an easy interface to connect processes from external systems.
  • Business Process Execution Language for web services provides a means to formally specify business processes and interaction protocols. BPEL is acting as a glue to bind web services into a cohesive business solution and facilitating their orchestrated interaction within and between enterprises.
  • Web service is an integration model created for allowing integration of systems built using heterogeneous tools and technologies. BPEL is one of the core components for defining composite web services to perform complex business functions.

BPEL syntax is based on XML. Therefore, it may not be a good idea to design and develop BPEL code by using a text/XML editor. A visual BPEL editor under JDeveloper IDE helps to develop and validate BPEL code easily without memorizing the BPEL specifications line by line. The following figure shows the interaction between a BPEL process and other services:

To deploy and execute BPEL processes, one needs Oracle Business Process Manager Engine. Currently Business Process Manager is part of Oracle SOA Suite. This book covers Version 11.1.1.16 of Oracle SOA Suite.

The following figure shows details of the components that interact with a sample BPEL service:

OASIS Web Services Business Process Execution Language (WSBPEL) is a vendor-neutral specification.

BPEL process manager is one of the components of the Oracle SOA Suite. The Oracle SOA Suite is a combination of multiple applications created by Oracle developers and deployed in a WebLogic container. For example, SOA Infra.ear, Adaptors, B2B, and so on.

Four separate main components/engines are included in SOA Suite. Each of these components has been created by Oracle developers using JSP, Servlets, EJB, JMS, RDBMS, and other system components.

  • BPEL Processes
  • Mediator
  • Business Rules
  • Human Task

BPMN (BPM Suite) is another component that can configure along with SOA Suite. SOA Infra is the core application. Similar to any enterprise web application, SOA Suite uses a database for storing the metadata information. For example, SOA Infra application uses database schemas for storing all the application information.

Oracle SOA Suite, along with JDeveloper IDE, enables the following:

  • Design and develop business services
  • Manage business services
  • Orchestrate services in to SOA composite applications
  • Provide a runtime engine for deploying and managing SOA composite applications

The following figure shows different service components of an SOA Suite:

JDeveloper packages various SOA components as SOA composite applications. SOA composite applications may contain some or all of the following components:

  • BPEL processes for process orchestration
  • Human workflows for modeling human interactions such as approving a salary increment for an HR system
  • Mediator for routing and transforming the messages (Oracle Service bus can be used for the same purpose
  • Spring framework for integrating Java interfaces to SOA Composite applications
  • Business rules for acting as a simple rules engine

Since Oracle SOA Suite runs on top of WebLogic container, you can deploy normal J2EE components as part of SOA composite applications; however, it may not be a good idea to use SOA Suite as a normal J2EE container. Separate the J2EE components and deploy it in another instance of WebLogic instances. Some of the J2EE components are listed as follows:

  • Oracle Application Development Framework (ADF) is a Java framework initiated from the original Model View Controller (MVC) framework
  • EJB service for adding enterprise services
  • J2EE technologies such as JSP, Servlet, and JSF for web applications
  • JMS for messaging

Following are the Oracle SOA Suite management applications and services as part of the SOA Suite installation:

  • Welcome Page: http://{hostname}:{port}
  • Admin Server: http://{hostname}:{port}/console
  • Enterprise Manager (EM): http://{hostname}:{port}/em
  • Dynamic Monitoring Service (DMS): http://{hostname}:{port}/dms
  • B2B: http://{hostname}:{port}/b2bconsole
  • Web Services Inspection Language (WSIL): http://{hostname}:{port}/inspection.wsil
  • Web Services Manager (WSM): http://{hostname}:{port}/wsm-pm
  • Composer: http://{hostname}:{port}/soa/composer
  • DefaultToDo: http://{hostname}:{port}/workflow/DefaultToDoTaskFlow
  • Worklist: http://{hostname}:{port}/integration/worklistapp
  • MessagingService endpoint: http://{hostname}:{port}/ucs/messaging/webservice
  • MessagingServices preferences: http://{hostname}:{port}/sdpmessaging/userprefs-ui
  • SOA-Infra: http://{hostname}:{port}/soa-infra/
    Note

    Please note, that for all the service endpoints, you need to replace the hostname and port. For example:

    http://{hostname}:{port}/console

    Where {hostname} is a parameter that you replace with the hostname or IP address of your installation, {port} is the port number on which the server is listening for requests (7001 by default).

    Example of the personal installation URL is as follows:

    http://localhost:7001/console/

The concept of composition is to create enterprise solutions by assembling instead of building from scratch. Object-oriented programming allows for reusing the code within the applications. The concept of composite applications allows for reusing the existing applications.

As shown in the following figure, a brand new building is created by assembling pre-built components to cut down the construction time. Similar to creating a new building by assembling components, BPEL allows for creating business processes from existing services:

主站蜘蛛池模板: 凉城县| 柘城县| 盘锦市| 遵化市| 建德市| 辰溪县| 广州市| 固镇县| 宝兴县| 苏尼特左旗| 抚宁县| 绥芬河市| 蒙阴县| 长春市| 小金县| 博乐市| 扶风县| 上栗县| 红原县| 开阳县| 介休市| 贵州省| 阳朔县| 南漳县| 江孜县| 莎车县| 章丘市| 阿拉善盟| 宜宾市| 德保县| 内黄县| 洱源县| 德令哈市| 宜都市| 鄂托克旗| 通化市| 桑植县| 永顺县| 克什克腾旗| 河北区| 福泉市|