First off I wouldn't try and model it as a single process, but as a
set of processes.  I probably wouldn't try to build the overall
process in BPEL but have that as the behaviour of the "Buy" service to
the customer.  This would mean storing the state after invocation and
then validating state as the new process kicks off.  In this model you
have to conceptually model "wait" but not do it programmatically.

If you did want to have an over-arching process I'd put that outside
the service as an orchestrator of the various capabilities in the
service, then expose that wrapper out to the world (which because of
the various callbacks will have several end-points), but I'm not sure
what that would gain you, in this model you'd have to model wait with
several potential new entrances.

The over-arching element here is that business processes are fairly
loose elements and modelling them in BPEL might not always be the best
way.

Steve


On 19/07/06, Ashley at Metamaxim <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
>
>
>
> Dear All
>
> I think that the "wait" issue raised by Todd in his post on definitions is an 
> interesting one.
>
> Here is a little example which seems quite nasty when you try to model the 
> "waits":
>
> The XYZ company offers a service for its customers to buy products. To use 
> this service, a customer has to invoke three operations in turn:
>
> - PlaceOrder
> - ConfirmOrder
> - Pay
>
> An arbitrary time can elapse (e.g., several days) between the invocation of 
> each.
>
> At any time during this, the customer can invoke:
>
> - Cancel
>
> to cancel the order.
>
> Within XYZ, handling PlaceOrder is a manual process that requires the 
> following to be done:
>
> - ConfirmCustomerCredit
> - ConfirmStockAvailability
> - CalculateOrderPricing
>
> These three are handled as manual internal processes by XYZ, in parallel. 
> Because they are complex processes requiring specialist skills, each can also 
> sometimes take several days to complete. While they are in progress (i.e., 
> until all three have been completed), the customer is blocked from invoking 
> the ConfirmOrder operation, but can Cancel.
>
> What does the process for this service look like (say in BPEL)? When I try it 
> (using PICK for all the events, including the completion of the internal 
> processes), it gets complicated -- more complicated than I think it should be.
>
> Anyone up for trying it?
>
> Rgds
> Ashley
>
> 




------------------------ Yahoo! Groups Sponsor --------------------~--> 
See what's inside the new Yahoo! Groups email.
http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/NhFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/service-orientated-architecture/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to