Professional Documents
Culture Documents
4 Introduction To BPEL
4 Introduction To BPEL
Lesson Objectives
Build a synchronous BPEL process Deploy the BPEL process to the BPEL Server Initiate the process Manage and administer the process
Introduction to BPEL
BPEL:
Is a technology to create a program that can invoke web services but presents a very intuitive flow-chart type representation that can be easily understood and modified More technically, it is a markup language for composing a set of discrete services into an end-to-end process flow BPEL Process is a web service, hence has a WSDL document that describes its operation invokes operations described in interfaces in the WSDL of other services.
Orchestration Requirements
Process orchestration coordinates services in a process from a single run-time environment Orchestration should enable us to create:
Business processes from services and human activities Integration flows to integrate various applications
Execution sequencing including serial, parallel, or other kinds of control flow dependency patterns Exception handling including transactions and compensations Data flow and manipulation Event handling including timers and other out-of-band events
Why am I telling you about Orchestration! BPEL is a standard for business process orchestration
Oracle BPEL Process Manager is implementation of the BPEL standard. The Oracle BPEL Process Manager consists of the three components. Each component enables you to perform a specific set of tasks:
The design environment (Oracle JDeveloper) enables you to design and deploy BPEL processes. The BPEL Server is where the process is deployed BPEL Control can be used to run and monitor the BPEL process
Create connection to the application server and to the BPEL and ESB Server
By selecting Synchronous BPEL Process, a skeleton is created along with all of the necessary source files are created.
Drag an Assign activity and drop it between the receiveInput and replyOutput activities
Types
Messages
Port types
Partner Links
<process> represent messages a <!-- Partner Links Section: services --> XML documents used <partnerLinks> activities in process. <partnerLink name="service-name" .../> </partnerLinks> <!-- Process Variables Section: message data --> <variables> <variable name="var-name" messageType="type"/> </variables> <!-- ORCHESTRATION LOGIC --> <!-- Activity Flow Section: activities --> <sequence name="main"> <receive .../> <assign><copy><from...><to...></copy></assign> <reply .../> </sequence> </process>
What next?
After development, the BPEL process needs to be deployed Deploying means putting the process in the BPEL server. Deployment can be achieved through
Deploying where?
If you want to use JDeveloper for deploying the process, you need to create connection from JDeveloper to the BPEL Server BPEL server is running in Application server
Recall that the application server houses BPEL, ESB and other servers Application Server Connection to the Oracle Application Server Integration Server Connection to the BPEL Server that utilizes the AS connection created above
After creating the process, we need to compile and build it. When you build your process, all of the process components are packaged into a BPEL suitcase JAR file. The JAR file can be deployed to any Oracle BPEL Process Manager server, simply by copying it into the appropriate deployment directory. JDeveloper uses ANT to build the BPEL process. It generates a build.xml file that builds and deploys the suitcase to your local servers default domain, in this case %ORACLE_HOME%\bpel\domains\default\tmp
2.
In the Applications Navigator, right-click the Hello project and select Deploy > MyBpelServer > Deploy to default domain. Verify that the process compiled and deployed successfully by reviewing the message text in the Messages tab in the Log window of JDeveloper
Deploying a BPEL process makes it a service. This is made possible by automatic addition of <service> and <binding> tag to the WSDL during deployment.
BPEL Console lists all the deployed processes BPEL Console can be used for
Invoking a BPEL process with appropriate input Viewing completed, in process and failed instances Viewing the flow in an instance Viewing messages exchanged in an instance Deploying, undeploying a process Purging instance and sensor data BPEL Admin activities
Initiate a process
Viewing all in-flight, closed and failed instances Deploying a BPEL Process if jar is available Undeploying a BPEL process Bulk operations like undeploying, retiring Setting log levels