Buzz

Chat

Menu [toggle]

Online users

9 online users

Style: tikineat.css

Print

BPEL vs Web Forms

Introduction


How could BPEL be used side by side with traditional forms-based web applications?

From A Friend at Oracle


In general, here are some thoughts, although there is overlap and architectural tradeoffs.

- if you are within the context of a group of closely related screens (likely interacting with a single user throughout), and the "workflow"
in this context is the flow across that group of screens, then ADF, struts, etc is probably a better choice.

- if you are at a "higher" level of granularity.. i.e. there is classic "workflow" (different roles, escalation, approvals, different users) across a group of screens, i.e. first user fills out a form, this is put into a workflow queue and assigned/picked up by a second user, etc. or you are coordinating a flow across what is likely distributed web services/applications, then BPEL is probably the better choice.

- in many cases it might make sense to use both, i.e. ADF, struts for the front-end group of screens (splitting the overall screens into groups of closely related page flows) and using BPEL to coordinate across a distributed set of back-end services, or to coordinate workflow between the groups of page flows.

From Oracle Product Development


Sample Code can be found at
http://www.oracle.com/technology/products/ias/bpel/htdocs/1012_support.html#docs

Check the Developers Guide.
Section 16 Worklist Application has sample code and screen shots

This is a very good question. There are 2 classes of use cases:

Use case #1: ADF/JSP/UIX wants to initiate a BPEL process.
For this we offer Java API and tag libraries. There is also a WSDL interface to each deployed BPEL Process so in JDev 10.1.3, you can convert that into a data control and very easily integrate a BPEL process into a page flow.

Use case #2: in the middle of the process, you want a user to step in and review/approve something. In this case the Workflow Service is the best way to intermediate the interaction between the BPEL process and the JSP/page flow. Here is how it works: the BPEL process queues a task for a user in the workflow service. The custom JSP/pageflow uses the API of the worklist service to get the list of tasks, display the right set of pages to the user and then when the page flow is completed, use again the Worklist API to complete the task. In this context, you can think of the task object as a simple "context object" to pass data between the BPEL process and the JSP/page flow.

I hope this clarifies.

My Thoughts


The difficult part is getting the JSP app, which the user is "in front of," to know when to start the page flow.

I think that can be done via the user clicking on a hyperlink in some sort of a work queue user interface. I'm not sure whether this UI would use the worklist API. We have a need in our application for users to see what they have kicked off and which tasks are waiting for their input. It's a very asynchronous application that addresses the realities of hosted apps that must leverage message queues to protect themselves.



Created by: terris. Last Modification: Monday 10 of April, 2006 18:04:02 CDT by terris.

Quick Edit a Wiki Page

Search Wiki PageName

RSS feed Wiki RSS feed Blogs
[ Execution time: 0.28 secs ]   [ Memory usage: 16.02MB ]   [ GZIP Disabled ]   [ Server load: 0.18 ]