J2EE, tempo, Intalio BPMS 6.0

22 views
Skip to first unread message

Dmitry

unread,
Sep 1, 2009, 4:07:46 PM9/1/09
to tempo-dev
Hi everybody! I'm just a beginner in using tempo and I've several
little questions.
1. Can I use Tempo in my J2EE application for human workflow in a
process that is running on Intalio BPMS 6.0?
2. To use tempo I should download it from repo, build it and then
import jar lib to my J2EE application. Am I right? If I'm not, what
should I do then?
3. Where can I find installation (or build) manual?

Regards,
Dmitry

Nicolas Modrzyk

unread,
Sep 1, 2009, 8:55:43 PM9/1/09
to temp...@googlegroups.com
Hi Dimitry,

Welcome to the tempo list.

1. Tempo is the open source code of the workflow part of BPMS 6.0, you
would not need to do anything unless you want to customize some code.
2. As explained in 1, it is already integrated in BPMS,
3. We do not release official builds. You have two choices
3.1 build a server using the open source script tempo_builder.rb in
the source tree. This is not QAed nor tested, apart from the automated
test cases.
3.2 Download BPMS which includes QA, test.

Also, note that this post:
http://intaliotempo.wordpress.com/2009/08/27/automated-human-workflow-with-tempo/
explains how to draw a process using the different tempo apis and
points to a complete J2EE based code test case.

Best Regards,

Nico

Nicolas Modrzyk

unread,
Sep 1, 2009, 8:57:33 PM9/1/09
to temp...@googlegroups.com
I forgot to say the obvious. Intalio propose hands-on trainings really
worth the investment.
http://www.intalio.com/services/training/
It will surely saves you both time and money if you start from scratch.

BR

Nico

Dmitry

unread,
Sep 2, 2009, 5:09:08 AM9/2/09
to tempo-dev
Nico, thanks a lot! that's a really good example! But I still don't
understand some things.

If I want to create process, where I want to complete task from my
j2ee app, what should i do?
1. create task for user (in my process like in "CreateExample")
2. get task from my application using web-service method getTask
3. in my application call web-service method "completeTask" for that
task.

But what will happen to the process after it pass through the
"create" task? My goal is to keep it paused unless user complete his
task from application.
If I look at the example "SimpleCreateComplete" I will see that after
"create" task goes "complete" task and "PA-complete" is invoked.
Should I do the same? Or I can just call "completeTask" ws-method from
my application?

Regards,
Dmitry

On 2 сен, 04:57, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> I forgot to say the obvious. Intalio propose hands-on trainings really
> worth the investment.http://www.intalio.com/services/training/
> It will surely saves you both time and money if you start from scratch.
>
> BR
>
> Nico
>
>
>
> On Wed, Sep 2, 2009 at 9:55 AM, Nicolas Modrzyk<hellon...@gmail.com> wrote:
> > Hi Dimitry,
>
> > Welcome to the tempo list.
>
> > 1. Tempo is the open source code of the workflow part of BPMS 6.0, you
> > would not need to do anything unless you want to customize some code.
> > 2. As explained in 1, it is already integrated in BPMS,
> > 3. We do not release official builds. You have two choices
> > 3.1 build a server using the open source script tempo_builder.rb in
> > the source tree. This is not QAed nor tested, apart from the automated
> > test cases.
> > 3.2 Download BPMS which includes QA, test.
>
> > Also, note that this post:
> >http://intaliotempo.wordpress.com/2009/08/27/automated-human-workflow...
> > explains how to draw a process using the different tempo apis and
> > points to a complete J2EE based code test case.
>
> > Best Regards,
>
> > Nico
>
> > On Wed, Sep 2, 2009 at 5:07 AM, Dmitry<tsekhmist...@yandex.ru> wrote:
>
> >> Hi everybody! I'm just a beginner in using tempo and I've several
> >> little questions.
> >> 1. Can I use Tempo in my J2EE application for human workflow in a
> >> process that is running on Intalio BPMS 6.0?
> >> 2. To use tempo I should download it from repo, build it and then
> >> import jar lib to my J2EE application. Am I right? If I'm not, what
> >> should I do then?
> >> 3. Where can I find installation (or build) manual?
>
> >> Regards,
> >> Dmitry- Скрыть цитируемый текст -
>
> - Показать цитируемый текст -

Nicolas Modrzyk

unread,
Sep 2, 2009, 5:20:49 AM9/2/09
to temp...@googlegroups.com
Hi Dimitri,

If you want the process to pause, you need that extra complete method,
that will wait for the proper "complete" message from the user. That
is the very reason we call this Create-Complete.
You need the two steps, otherwise as you pointed out the process will
not wait for the input of the user.

Anything you find and discover is worth being documented, so if you
put together some kind of document please do not hesitate to share it
with us.

Regards,

Nico


2009/9/2 Dmitry <tsekhm...@yandex.ru>:

Dmitry

unread,
Sep 2, 2009, 6:29:12 AM9/2/09
to tempo-dev
Hi, Nico!

So, in order to make the process wait for user complete it i should
place an extra "complete" task in executable pool, then place a task
"UserComplete" to a non-executable participant pool. After that define
a implicit operation on "UserComplete" as invoke wsdl operation
"completeTask" and connect it to the task in the executable pool. And
when a new task is created, from my application I call a web-service
service "competeTask" with that taskId and other params. Is everything
right?

Regards,
Dmitry

On 2 сен, 13:20, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> Hi Dimitri,
>
> If you want the process to pause, you need that extra complete method,
> that will wait for the proper "complete" message from the user. That
> is the very reason we call this Create-Complete.
> You need the two steps, otherwise as you pointed out the process will
> not wait for the input of the user.
>
> Anything you find and discover is worth being documented, so if you
> put together some kind of document please do not hesitate to share it
> with us.
>
> Regards,
>
> Nico
>
> 2009/9/2 Dmitry <tsekhmist...@yandex.ru>:
> >> - Показать цитируемый текст -- Скрыть цитируемый текст -

Nicolas Modrzyk

unread,
Sep 2, 2009, 7:29:31 PM9/2/09
to temp...@googlegroups.com
Yes. :)

2009/9/2 Dmitry <tsekhm...@yandex.ru>:

Dmitry

unread,
Sep 4, 2009, 5:09:27 AM9/4/09
to tempo-dev
Ok, thanx for help!

When I try to create task like in the createExample an error occurs
"Invalid participantToken... payload container element must contain
exactly one child element". Is participantToken needed to create task?
What can be wrong?

Regards,
Dmitry


On 3 сен, 03:29, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> Yes. :)
>
> 2009/9/2 Dmitry <tsekhmist...@yandex.ru>:

wassim

unread,
Sep 4, 2009, 1:45:44 PM9/4/09
to tempo-dev
Hey Nico,

I'm seeing the same questions over and over again by the new comers. I
have documented some of my work on Intalio's solutions, the only
problem is it's in french.. If anyone's interested i can post them.
As for the ruby script for tempo i tested it on linux, mac and
windows, the whole windows version doesn't know how to unzip files
correctly, and it's sadly due to files inside the zip having
permissions on them when you port from unix (I'm guessing you too
develop on the Mac). When you extract the files by hand (that's what i
did for all the webservices deployed on tomcat like fds, wds, ui-fw,
ode ..) you notice some have read-only turned on in the properties
pane. This actualy messes up undeployment of assemblies archived with
a linux machine, because some of the file are read only. I hope this
helps people having such problems, and if you're still not clear on
the subject, i don't mind explaining.

Regards,
Wassim

On 2 sep, 11:20, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> Hi Dimitri,
>
> If you want the process to pause, you need that extra complete method,
> that will wait for the proper "complete" message from the user. That
> is the very reason we call this Create-Complete.
> You need the two steps, otherwise as you pointed out the process will
> not wait for the input of the user.
>
> Anything you find and discover is worth being documented, so if you
> put together some kind of document please do not hesitate to share it
> with us.
>
> Regards,
>
> Nico
>
> 2009/9/2 Dmitry <tsekhmist...@yandex.ru>:

Nicolas Modrzyk

unread,
Sep 4, 2009, 7:57:36 PM9/4/09
to temp...@googlegroups.com
Hi Wassim,

Indeed you are right.

If you have something ready for beginner this is a great news.
I have created an account for you on the wiki, (creds sent in a separate emails)
http://tempo.intalio.org/

Any documentation contribution is very welcome !

BR

Nico

2009/9/5 wassim <wassim...@gmail.com>:

Dmitry

unread,
Sep 7, 2009, 11:13:27 AM9/7/09
to tempo-dev
Hi Nico!

Now almost everything is working! But there's one more bug. After I
create task and call complete method of TaskManagementSystem it
completes but the process is still waiting for invoking complete-task.
May be my process is incorrect. As I wrote, I did these steps while
creating my process
1. place a task "UserComplete" to a non-executable participant pool.
2. define operation on "UserComplete" as INVOKE wsdl operation
3. place a task "completeTask" to a executable process pool.
4. connect UserComplete and completeTask but without any changes in
Mapper view.

in my java code I call "complete" method with taskId. Task is
completed, but the process is still waiting...

"completeTask" and connect it to the task in the executable pool

On 5 сен, 03:57, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> Hi Wassim,
>
> Indeed you are right.
>
> If you have something ready for beginner this is a great news.
> I have created an account for you on the wiki, (creds sent in a separate emails)http://tempo.intalio.org/
>
> Any documentation contribution is very welcome !
>
> BR
>
> Nico
>
> 2009/9/5 wassim <wassim.we...@gmail.com>:
> >> >> - Показать цитируемый текст -- Скрыть цитируемый текст -

Nicolas Modrzyk

unread,
Sep 7, 2009, 8:45:12 PM9/7/09
to temp...@googlegroups.com
Hi,

Complete should be called on TMP, not TMS.
TMP is handling the task state, and the interaction with the process.

Nico

2009/9/8 Dmitry <tsekhm...@yandex.ru>:

Dmitry

unread,
Sep 8, 2009, 8:02:53 AM9/8/09
to tempo-dev
Hi!
I tried to call complete on TMP (with taskId and participantToken),
but got such error every time:

ERROR [org.apache.axis2.transport.http.AxisServlet] [http-8080-
Processor38] null
java.lang.NullPointerException
at org.apache.ode.axis2.ODEService.onAxisMessageExchange
(ODEService.java:162)
at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic
(ODEMessageReceiver.java:69)
at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic
(ODEMessageReceiver.java:52)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive
(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest
(HTTPTransportUtils.java:167)
at org.apache.axis2.transport.http.AxisServlet.doPost
(AxisServlet.java:142)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)

There is no another log files with more detailed trace... so I don't
know how to solve this problem.


On 8 сен, 04:45, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> Hi,
>
> Complete should be called on TMP, not TMS.
> TMP is handling the task state, and the interaction with the process.
>
> Nico
>
> 2009/9/8 Dmitry <tsekhmist...@yandex.ru>:

Nicolas Modrzyk

unread,
Sep 8, 2009, 8:05:43 PM9/8/09
to temp...@googlegroups.com
Same as on the Intalio forums.
Please avoid cross posting.

Adding the link to your answer here:
http://intaliotempo.wordpress.com/2009/08/27/automated-human-workflow-with-tempo/

For future reference.

BR

Nico

2009/9/8 Dmitry <tsekhm...@yandex.ru>:
Reply all
Reply to author
Forward
0 new messages