Difference between task type PA and PIPA

99 views
Skip to first unread message

Mahesh Babu paluru

unread,
Sep 9, 2009, 10:53:11 PM9/9/09
to tempo-dev
Hi,
I have couple of questions specified below.
1.what is the main difference between PA and PIPA task?
2.How can user/developer identify whether it is PA or PIPA task?
3.I saw absentee request process already deployed in intalio bpm
server. what is the use of this process and where we can use this
process.

i deployed MyFirstBPM example (Intalio BPM Examples)into intalio BPM
server. now i am trying to initalize the process remotely through the
example given in intalio tempo source code(tms-client project). My
First BPM example is expecting the following inputs from the user
like

Greeting :
To Who :

Please tell me how send inputs to this process through tms client
program. if possible send me the code also. And what are various ways
to send input and start this process.

Thanks and Regards
Mahesh Babu

Nicolas Modrzyk

unread,
Sep 10, 2009, 12:32:17 AM9/10/09
to temp...@googlegroups.com
Hi,

Welcome to the tempo-dev list !

>  I have couple of questions specified below.
> 1.what is the main difference between PA and PIPA task?
PA is an activity task, and would be considered as a regular task on
your todo list. PIPA is some kind of permanent task, that will trigger
the start of a process when used.

> 2.How can user/developer identify whether it is PA or PIPA task?
The task type is different.
UI-wise we have also separated them in different tabs.

> 3.I saw absentee request process already deployed in intalio bpm
> server. what is the use of this process and where we can use this
> process.
This is a sample process.
Other process we have been putting up together for Tempo are located there:
http://github.com/hellonico/tempodevprocesses/tree/master

>
> i deployed MyFirstBPM example (Intalio BPM Examples)into intalio BPM
> server. now i am trying to initalize the process remotely through the
> example given in intalio tempo source code(tms-client project). My
> First BPM example is expecting the following inputs from the user
> like
>
>  Greeting :
>   To Who :
>
> Please tell me how send inputs to this process through tms client
> program. if possible send me the code also. And what are various ways
> to send input and start this process.
This is all explained in the following post:
http://intaliotempo.wordpress.com/2009/08/27/automated-human-workflow-with-tempo/

Keep us updated about your progresses.

Best Regards,

Nico

Mahesh Babu paluru

unread,
Sep 10, 2009, 10:26:45 AM9/10/09
to tempo-dev
Nico,
Thank you for your valuable inputs. whenever i deploy any process, it
will shows up under the bpms console.

http://localhost:8080/bpms-console/processes.htm

and not under UI Framework(UI-FW).

http://localhost:8080/ui-fw/tasks.htm

But when i start the process deployed under bpms console, it shows up
under instances tab of bpms console in READY status and then it shows
up under UI Framework. when i click complete button in UI framework,
it disappears here. In BPMS console, it shows up complete.

Please validate whether i am doing correct or not.

But i will always see absentee request under BPMS console and UI
Framework(UI-FW) as well both and never see my process shows up under
both BPMS console and UI-Framework.

How can i make process shows up under BPMS console and UI Framework(UI-
FW) as well both.

Thanks and Regards
Mahesh Babu




> This is all explained in the following post:http://intaliotempo.wordpress.com/2009/08/27/automated-human-workflow...

Mahesh Babu paluru

unread,
Sep 10, 2009, 11:38:13 AM9/10/09
to tempo-dev
Hi nick,
I deployed this example 'SimpleCreateComplete" listed under the
following url and able to see this process under BPMS-CONSOLE,UI-FW(Ui
Framework). And i tested the process also. It runs successfully.

http://github.com/hellonico/tempodevprocesses/tree/master

It is expecting the following inputs Name and Email.

In order to start this process from java client, could you please
send me pseudo code to start this process. From there i can go.

Thanks and Regards
Mahesh Babu


Nicolas Modrzyk

unread,
Sep 10, 2009, 12:21:49 PM9/10/09
to temp...@googlegroups.com
> Hi nick,
I will stick with Nico if you do not mind :)

>   I deployed this example 'SimpleCreateComplete" listed under the
> following url and able to see this process under BPMS-CONSOLE,UI-FW(Ui
> Framework).  And i tested the process also. It runs successfully.
>
It appears in both bpms-console and ui-fw because
- it is a process, so it will show up in the console anyway
- it has a PIPA, a task to start a process, so it will show up in the
process tab of the user it has been assigned to.

> http://github.com/hellonico/tempodevprocesses/tree/master
>
> It is expecting the following inputs Name and Email.
>
> In order to start this process from java client,  could you please
> send me pseudo code to start this process. From there i can go.

U just need to adapt the input message from this test:
http://github.com/intalio/tempo/commits/master/tms-client/src/test/java/org/intalio/tempo/workflow/tms/client/dependent_tests/RemoteAbsenceRequestTest.java

And you are all set.

Mahesh Babu paluru

unread,
Sep 11, 2009, 10:32:27 AM9/11/09
to tempo-dev
Hi Nico,
Thank you for your valuable inputs. Now i am able to get task list.
But when i try to initialize the process by adopting the message from
the RemoteAbsenceRequestTes,it is failing and throws the following
exception.

http://docs.oasis-open.org/wsbpel/2.0/process/executable
Name: selectionFailure
Explanation: R-Value expression "{OXPath10Expression
$xformInitProcessRequestMsg.root/xform:taskOutput/xform:output/
xform:group/xform:Name}" did not select any nodes.
Line number: 200
Aiid: 59

J2EE client code

String paramUser = "intalio\\admin";
String paramPassword = "changeit";
TokenClient client = new TokenClient(TOKEN_SERVICE);
_log.info("We are trying to authenticate as user:" + paramUser + "
with password:" + paramPassword);
String token = client.authenticateUser(paramUser, paramPassword);
RemoteTMSClient tms = new RemoteTMSClient(TMS_SERVICE, token);
Task[] tasks = tms.getAvailableTasks("PIPATask", "T._description like
'%Start Process%'");
if(tasks!= null){
_log.info("task length:" + tasks.length);
}
String pipaID = tasks[0].getID();
HashMap<String, Object> group = new HashMap<String, Object>();
group.put("Name","Mahesh");
group.put("Email","babu....@gmail.com");
HashMap<String, Object> pipa = new HashMap<String, Object>();
pipa.put("group", group);
tms.init(pipaID, xmlTooling.parseXML(pipa(pipa)));

/**
* Couldn't get a better name :) Prepare some parameters for a
dynamic pipa
* input.
*/
private String pipa(HashMap pipa) throws Exception {
return templateMe("StartServer.ftl", pipa);
}

/**
* Get the Result from templating operation
*/
private String templateMe(String template, Map params) throws
Exception {
Template temp = cfg.getTemplate(template);
StringWriter writer = new StringWriter();
temp.process(params, writer);
return writer.toString();
}


StartServer.ftl
----------------------

<output xmlns="http://example.com/PA/xform" xmlns:xform="http://
example.com/PA/xform" xmlns:tns="http://www.intalio.com/BPMS/Workflow/
TaskManagementServices-20051109/">
<group>
<name>${group.Name}</name>
<email>${group.Email}</email>
</group>
</output>

Please validate the code written and help me to resolve the problem.

Regards
Mahesh

On Sep 10, 12:21 pm, Nicolas Modrzyk <hellon...@gmail.com> wrote:
> > Hi nick,
>
> I will stick with Nico if you do not mind :)
>
> >   I deployed this example 'SimpleCreateComplete" listed under the
> > following url and able to see this process under BPMS-CONSOLE,UI-FW(Ui
> > Framework).  And i tested the process also. It runs successfully.
>
> It appears in both bpms-console and ui-fw because
> - it is a process, so it will show up in the console anyway
> - it has a PIPA, a task to start a process, so it will show up in the
> process tab of the user it has been assigned to.
>
> >http://github.com/hellonico/tempodevprocesses/tree/master
>
> > It is expecting the following inputs Name and Email.
>
> > In order to start this process from java client,  could you please
> > send me pseudo code to start this process. From there i can go.
>
> U just need to adapt the input message from this test:http://github.com/intalio/tempo/commits/master/tms-client/src/test/ja...

Nicolas Modrzyk

unread,
Sep 11, 2009, 9:05:53 PM9/11/09
to temp...@googlegroups.com
Looks like the namespace for the output message is wrong.
That would then explain the selection failure thrown by the engine.

Nico
Reply all
Reply to author
Forward
0 new messages