Hi Samuel,

complex things are described pretty good in the spec [1], however, since
it's a spec, the speak is quite, well, complex ;)

A good entry point is also the BPEL primer [2].

A good introduction can also be found in Sanjiva et al's book [3].

If you were German, I could recommend our book about BPEL ;)

HTH,
  Tammo

[1] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf
[2] http://docs.oasis-open.org/wsbpel/2.0/Primer/wsbpel-v2.0-Primer.pdf
[3] http://www.amazon.com/dp/0131488740

On 10.05.2011 18:41, Samuel Tamassia Martinez wrote:
> 
> Thank you very much for these hints, do you have any site or hint about how 
> you've learned BPEL? I'm newbie and don't know how to make more complex 
> things =/ 
> sorry for the spam and thanks once more...
> 
>> Date: Tue, 10 May 2011 11:37:40 -0400
>> From: [email protected]
>> To: [email protected]
>> Subject: Re: Question about using BPEL
>>
>> Yep. For this use-case though, I think a single process would work just 
>> fine. @Samuel, have a look at the <forEach> with parallel="yes"
>>
>> Cheers,
>> Bob
>>
>> _______________________________________
>> Robert ("Bob") Brodt
>> Senior Software Engineer, JBoss Riftsaw
>> JBoss by Red Hat
>>
>> ----- Original Message -----
>>> I'd like to second that. This is also a nice example for using two
>>> partnerlinks. One for the bi-lateral connection between party host and
>>> process, and another one for the connection between process and
>>> potential guests.
>>>
>>> Anyhow, you also might think of splitting the process into a
>>> party-host-process and a invitation-process. The latter is exactly
>>> like
>>> the process you have described, the first is in charge to spawn an
>>> instance of the first process for each guest and then collect the
>>> results. This is a "request-with-referral" SIP
>>> (http://math.ut.ee/~dumas/ServiceInteractionPatterns/Animation-Request-with-Referral.html)
>>>
>>> I think the important thing is to overcome the procedural thinking.
>>> Instead of having a single process instance that takes care of
>>> everything, it is better to have a process instance for each guest so
>>> that a process instance is directly connected to the state of an
>>> invitation of a guest.
>>>
>>> Tammo
>>>
>>> On 10.05.2011 16:27, Bob Brodt wrote:
>>>> Hmm, here's how I would approach this: A BPEL process, being a
>>>> *service*, needs to receive some kind of request message to initiate
>>>> a new process instance. This could be something like you, as the
>>>> "party host", sending details of your party (guest list, date/time,
>>>> place, etc.) to the process. The process would then send an
>>>> invitation to each person on the guest list with an <invoke> on an
>>>> email service. The <invoke> would have to define a correlation on
>>>> the party invitation message (like the person's first & last name.)
>>>> Then use a <pick> with createInstace="yes" to wait for replies. The
>>>> <onMessage> in the <pick> would use the same correlation data as the
>>>> <invoke> on the guest's reply email. Presumably you would also set a
>>>> timeout (probably the R.S.V.P. date for the party) and have an
>>>> <onAlarm> to handle the "no response" cases. Each email sent to your
>>>> guests becomes a separate process instance, with the correlation as
>>>> a "handle", so your would have N+1 instances (N=number
>>> of guests + 1=the original invitation request) running concurrently.
>>> BPEL is designed for long running processes, and the runtime (ODE in
>>> this case) will persist state information, so even if the server
>>> crashes, your process instances are persisted and will resume when the
>>> server is restarted.
>>>>
>>>> _______________________________________
>>>> Robert ("Bob") Brodt
>>>> Senior Software Engineer, JBoss Riftsaw
>>>> JBoss by Red Hat
>>>>
>>>> ----- Original Message -----
>>>>> coincidently, I've got one problem similar to this. look, i have
>>>>> this
>>>>> case:
>>>>> I want to make a more complex test of BPEL, so, I'll make a
>>>>> business
>>>>> process that send invitations to my party via email. that's the
>>>>> business process:
>>>>> 1- send an email with an invitation and ask for answers about who
>>>>> will
>>>>> go to the party.2- wait for the answers3- if the answer is 'yes',
>>>>> send
>>>>> another email with the party details, else, send an email thanking
>>>>> the
>>>>> person for answering.
>>>>> the problem for me is that how can i wait for some people answer
>>>>> while
>>>>> i have to send the feedback emails... the step 3 depends on the
>>>>> step
>>>>> 2, but at the same time one person answer my email and i have to
>>>>> give
>>>>> the person a feedback, I have to wait other people answer.
>>>>> I don't know if BPEL can do this. for example, if the server shut
>>>>> down, would I have to restart all the process(send the invitations
>>>>> and
>>>>> wait for all answers again)?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> From: [email protected]
>>>>>> To: [email protected]
>>>>>> Subject: RE: Question about using BPEL
>>>>>> Date: Mon, 9 May 2011 15:15:32 +0000
>>>>>>
>>>>>> As you suggest, parallelism should help. I'm not sure about the
>>>>>> dependencies that you're talking about, but correlations could
>>>>>> help
>>>>>> maybe ?
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Samuel Tamassia Martinez
>>>>>> [mailto:[email protected]]
>>>>>> Sent: lundi 9 mai 2011 17:10
>>>>>> To: User ODE
>>>>>> Subject: RE: Question about using BPEL
>>>>>>
>>>>>>
>>>>>> this question looks interesting, I haven't thougt of it, does
>>>>>> anybody knows about?
>>>>>>
>>>>>>> From: [email protected]
>>>>>>> To: [email protected]
>>>>>>> Subject: Question about using BPEL
>>>>>>> Date: Fri, 6 May 2011 14:39:32 -0300
>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>> I am creating a process that should be covered by different
>>>>>>> clients of mine. Each customer will be in a different step in
>>>>>>> this
>>>>>>> process. I am in doubt about using BPEL to address this question,
>>>>>>> since this process would need to perform several steps at the
>>>>>>> same
>>>>>>> time, which to my mind runs away from his purpose.
>>>>>>> I'm thinking of using parallelism, but there are dependencies
>>>>>>> between the steps that must be performed several times for
>>>>>>> different customers.
>>>>>>>
>>>>>>> Thx a lot!
>>>>>>> Bruno Fiusa
>>>>>>>
>>>>>>> "Just do IT."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> -
>>>>>> -----------------------------------------------------------------------------
>>>>>>
>>>>>> E-MAIL DISCLAIMER
>>>>>>
>>>>>> The present message may contain confidential and/or legally
>>>>>> privileged information. If you are not the intended addressee and
>>>>>> in
>>>>>> case of a transmission error, please notify the sender immediately
>>>>>> and destroy this E-mail. Disclosure, reproduction or distribution
>>>>>> of
>>>>>> this document and its possible attachments is strictly forbidden.
>>>>>>
>>>>>> SPACEBEL denies all liability for incomplete, improper,
>>>>>> inaccurate,
>>>>>> intercepted, (partly) destroyed, lost and/or belated transmission
>>>>>> of
>>>>>> the current information given that unencrypted electronic
>>>>>> transmission cannot currently be guaranteed to be secure or error
>>>>>> free.
>>>>>> Upon request or in conformity with formal, contractual agreements,
>>>>>> an originally signed hard copy will be sent to you to confirm the
>>>>>> information contained in this E-mail.
>>>>>>
>>>>>> SPACEBEL denies all liability where E-mail is used for private
>>>>>> use.
>>>>>>
>>>>>> SPACEBEL cannot be held responsible for possible viruses that
>>>>>> might
>>>>>> corrupt this message and/or your computer system.
>>>>>> e
>>>>>> ------------------------------------------------------------------------------
>>>
>>> --
>>> Tammo van Lessen - http://www.taval.de
>                                         

-- 
Tammo van Lessen - http://www.taval.de

Reply via email to