BPEL Newbie question

View: New views
1 Messages — Rating Filter:   Alert me  

BPEL Newbie question

by Jonathan Lister :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

All the examples I have see so far show a composite application effectively wrapped in a simple request / response type of web service. In other words the client sends one request, the BPEL may then call multiple web services, make decisions etc, but the end result is a single response / reply.

Is it feasible / sensible to use Composite Applications / BPEL to integrate several different operations from different Web Services into one Composite Web Service? For example, imagine that one Web Service provides "authentication", a second provides "metadata" and a third provides "historical data". It is of course possible to write a standard Java Se client that could connect to each of these web services in turn, but it may be neater to aggregate them into one namespace etc, using Composite Application.

A typical use case might be:
1. Client application calls "logon" operation, passing username & password. BPEL calls authentication web service and receives sessionId (if user / password are valid). Return sessionId to client application.
2. Client application now calls "getMetaData" operation, maybe passing sessionId, or maybe sessionId is not needed because the Composite Web Service maintains state. BPEL calls metadata web service and returns list of valid targets for this particular user, together with date spans of various types of historical data.
3. Client application calls "getHistoricalData" operation, passing desired target and date range, BPEL calls historical data web service and returns the requested data.
4. optionally repeat step #3 with different targets / data ranges
5. client calls logout operation

I can see that steps #1 and #2 could be combined into a single request / response operation, assuming the BPEL instance maintains state, but I haven't seen examples of how to structure multiple different external operations on a BPEL process - is there an example somewhere that I could study?

Many thanks