stavae Absent Member.
Absent Member.
221 views

Creating Workflow that can be triggered from outside the UA


Hi,

I am not even sure if this question will make much sense, or just make
me look silly 🙂

Still, here goes..........

I'm new to Novell IDM. I am trying to create a User Application
Workflow, which would execute a simple "*Approval/Deny*" request.

This is easy enough. However, the purpose of this worklflow is to be
triggered by an external application.

For security reasons, users who seek approval/deny, are not allowed to
log directly into Novell's UserApp. Instead, a separate User Interface
is provided, where they fill in a form (questionnaire). When they click
"SEND" on this form, it is supposed to automatically trigger the
workflow within Novell's UserApp.

This separate User Interface is linked to Novell via *RBPM Web
Services* (not even sure if this would work)

I seem to be out of my depth here; if anyone could provide some tips,
I'd be most grateful

Thanks


--
stavae
------------------------------------------------------------------------
stavae's Profile: http://forums.novell.com/member.php?userid=126238
View this thread: http://forums.novell.com/showthread.php?t=454868

Labels (1)
0 Likes
5 Replies
TE Super Contributor.
Super Contributor.

Re: Creating Workflow that can be triggered from outside the UA


stavae;2190392 Wrote:
> Hi,
>
> I am not even sure if this question will make much sense, or just make
> me look silly 🙂
>
> Still, here goes..........
>
> I'm new to Novell IDM. I am trying to create a User Application
> Workflow, which would execute a simple "*Approval/Deny*" request.
>
> This is easy enough. However, the purpose of this worklflow is to be
> triggered by an external application.
>
> For security reasons, users who seek approval/deny, are not allowed to
> log directly into Novell's UserApp. Instead, a separate User Interface
> is provided, where they fill in a form (questionnaire). When they click
> "SEND" on this form, it is supposed to automatically trigger the
> workflow within Novell's UserApp.
>
> This separate User Interface is linked to Novell via *RBPM Web
> Services* (not even sure if this would work)
>
> I seem to be out of my depth here; if anyone could provide some tips,
> I'd be most grateful
>
> Thanks


You are on the right track. External access to the workflow is
provided by the Web Services interface. I am not sure if I can explain
it enough here, to make any sense, if you are not familiar with Web
Services in general.

What will happen is your UI service will make a web service call (via
SOAP) to start the workflow. The SOAP call will fill in the form just
like a user at the browser, except the form restrictions will not be
enforced as those are done at the browser, you will have to do the form
restrictions in your User Interface.

Go get yourself a copy of SoapUI, a free program that can perform the
SOAP calls. You are going to use the ProvisionBinding service
definition (aka WSDL). That is available on the Administration tab in
User App. Download the WSDL, import it into SoapUI. Select the Start
or Start With Correlation ID service.


Here is a sample call to one of my workflows from SoapUI.


<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://www.novell.com/provisioning/service">
<soapenv:Header/>
<soapenv:Body>
<ser:startWithCorrelationIdRequest>
<!-- arg0 is the DN of the workflow. DO NOT CHANGE -->

<ser:arg0>cn=GrantSomeResource,cn=RequestDefs,cn=AppConfig,cn=UserApplication,cn=Driver
Set,ou=idm,ou=services,o=company</ser:arg0>
<!-- arg1 is the DN of the recepient -->
<ser:arg1>cn=USER17,ou=Users,o=company</ser:arg1>
<!-- arg2 thru arg5 are not used -->
<!-- arg6 is the CorrelationID -->
<ser:arg6>TestFromSoapUI</ser:arg6>
</ser:startWithCorrelationIdRequest>
</soapenv:Body>
</soapenv:Envelope>

This will start a workflow called GrantSomeResource, shown in arg0
above. The recepient is USER17, and there are no other form fields to be
filled in, if there were, they will go in arg2.

The best thing to do is read up on Web Services in general (google is
your friend), read the Novell Docs for any tidbits of info on the built
in services. Just realize that the Web Service call is taking the place
of the user at the keyboard in front of a browser, but without the
browser. Also realize that some of the form restrictions are enforced
at the browser, and you don't have one here. Also try to treat all
incoming form data as text.

Once you start up the learning curve, it will come. You are on the
right track, and you do not look silly...


--
tse7147
------------------------------------------------------------------------
tse7147's Profile: http://forums.novell.com/member.php?userid=4730
View this thread: http://forums.novell.com/showthread.php?t=454868

0 Likes
stavae Absent Member.
Absent Member.

Re: Creating Workflow that can be triggered from outside the UA


tse7147;2190464 Wrote:
> You are on the right track. External access to the workflow is provided
> by the Web Services interface. I am not sure if I can explain it enough
> here, to make any sense, if you are not familiar with Web Services in
> general.
>
> What will happen is your UI service will make a web service call (via
> SOAP) to start the workflow. The SOAP call will fill in the form just
> like a user at the browser, except the form restrictions will not be
> enforced as those are done at the browser, you will have to do the form
> restrictions in your User Interface.
>
> Go get yourself a copy of SoapUI, a free program that can perform the
> SOAP calls. You are going to use the ProvisionBinding service
> definition (aka WSDL). That is available on the Administration tab in
> User App. Download the WSDL, import it into SoapUI. Select the Start
> or Start With Correlation ID service.
>
>
> Here is a sample call to one of my workflows from SoapUI.
>
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ser="http://www.novell.com/provisioning/service">
> <soapenv:Header/>
> <soapenv:Body>
> <ser:startWithCorrelationIdRequest>
> <!-- arg0 is the DN of the workflow. DO NOT CHANGE -->
>
> <ser:arg0>cn=GrantSomeResource,cn=RequestDefs,cn=AppConfig,cn=UserApplication,cn=Driver
> Set,ou=idm,ou=services,o=company</ser:arg0>
> <!-- arg1 is the DN of the recepient -->
> <ser:arg1>cn=USER17,ou=Users,o=company</ser:arg1>
> <!-- arg2 thru arg5 are not used -->
> <!-- arg6 is the CorrelationID -->
> <ser:arg6>TestFromSoapUI</ser:arg6>
> </ser:startWithCorrelationIdRequest>
> </soapenv:Body>
> </soapenv:Envelope>
>
> This will start a workflow called GrantSomeResource, shown in arg0
> above. The recepient is USER17, and there are no other form fields to be
> filled in, if there were, they will go in arg2.
>
> The best thing to do is read up on Web Services in general (google is
> your friend), read the Novell Docs for any tidbits of info on the built
> in services. Just realize that the Web Service call is taking the place
> of the user at the keyboard in front of a browser, but without the
> browser. Also realize that some of the form restrictions are enforced
> at the browser, and you don't have one here. Also try to treat all
> incoming form data as text.
>
> Once you start up the learning curve, it will come. You are on the
> right track, and you do not look silly...




Hi Tse7147,

thanks so much for the detailed, and very helpful response.

I will begin with the SOAP thing.

One thing, though : the Workflow I am trying to execute is a very
simple one. The only purpose of the Workflow is to send a Notification
Email to an Administrator, informing them that a certain user/applicant
has applied for a Resource.

This email will contain a link; when the Administrator clicks on the
link, he will be taken to the External User Interface (not Novell
UserApp).

In other words : nothing happens inside Novell UserApp. The purpose
of the Workflow is to simply send that email.

In a nutshell :

(a) an applicant fills in a form on an external Interface, and clicks
SEND

(b) the Workflow is triggered.

(c) based on the details provided by the applicant, the Workflow will
somehow(?) Provision the data to Novell's eDirectory or ID vault, and
select the correct Administrator (the person who is responsible for
approving or denying that particular request)

(d) the Workflow will send an email to this administrator. This email
contains a link



I have created a simple Workflow, which contains only 3 components :
START.......EMAIL.......FINISH.

However, I assume that, somewhere between START and EMAIL, there should
be an Activity (perhaps, PROVISION or ENTITLEMENT), which will
provision/query the Vault, and find out which Administrator is the
proper person to contact.

No idea how to go about this 😞


--
stavae
------------------------------------------------------------------------
stavae's Profile: http://forums.novell.com/member.php?userid=126238
View this thread: http://forums.novell.com/showthread.php?t=454868

0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: Creating Workflow that can be triggered from outside the UA

On 04/24/2012 02:16 AM, stavae wrote:
>
> tse7147;2190464 Wrote:
>> You are on the right track. External access to the workflow is provided
>> by the Web Services interface. I am not sure if I can explain it enough
>> here, to make any sense, if you are not familiar with Web Services in
>> general.
>>
>> What will happen is your UI service will make a web service call (via
>> SOAP) to start the workflow. The SOAP call will fill in the form just
>> like a user at the browser, except the form restrictions will not be
>> enforced as those are done at the browser, you will have to do the form
>> restrictions in your User Interface.
>>
>> Go get yourself a copy of SoapUI, a free program that can perform the
>> SOAP calls. You are going to use the ProvisionBinding service
>> definition (aka WSDL). That is available on the Administration tab in
>> User App. Download the WSDL, import it into SoapUI. Select the Start
>> or Start With Correlation ID service.
>>
>>
>> Here is a sample call to one of my workflows from SoapUI.
>>
>>
>> <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:ser="http://www.novell.com/provisioning/service">
>> <soapenv:Header/>
>> <soapenv:Body>
>> <ser:startWithCorrelationIdRequest>
>> <!-- arg0 is the DN of the workflow. DO NOT CHANGE -->
>>
>> <ser:arg0>cn=GrantSomeResource,cn=RequestDefs,cn=AppConfig,cn=UserApplication,cn=Driver
>> Set,ou=idm,ou=services,o=company</ser:arg0>
>> <!-- arg1 is the DN of the recepient -->
>> <ser:arg1>cn=USER17,ou=Users,o=company</ser:arg1>
>> <!-- arg2 thru arg5 are not used -->
>> <!-- arg6 is the CorrelationID -->
>> <ser:arg6>TestFromSoapUI</ser:arg6>
>> </ser:startWithCorrelationIdRequest>
>> </soapenv:Body>
>> </soapenv:Envelope>
>>
>> This will start a workflow called GrantSomeResource, shown in arg0
>> above. The recepient is USER17, and there are no other form fields to be
>> filled in, if there were, they will go in arg2.
>>
>> The best thing to do is read up on Web Services in general (google is
>> your friend), read the Novell Docs for any tidbits of info on the built
>> in services. Just realize that the Web Service call is taking the place
>> of the user at the keyboard in front of a browser, but without the
>> browser. Also realize that some of the form restrictions are enforced
>> at the browser, and you don't have one here. Also try to treat all
>> incoming form data as text.
>>
>> Once you start up the learning curve, it will come. You are on the
>> right track, and you do not look silly...

>
>
>
> Hi Tse7147,
>
> thanks so much for the detailed, and very helpful response.
>
> I will begin with the SOAP thing.
>
> One thing, though : the Workflow I am trying to execute is a very
> simple one. The only purpose of the Workflow is to send a Notification
> Email to an Administrator, informing them that a certain user/applicant
> has applied for a Resource.
>
> This email will contain a link; when the Administrator clicks on the
> link, he will be taken to the External User Interface (not Novell
> UserApp).
>
> In other words : nothing happens inside Novell UserApp. The purpose
> of the Workflow is to simply send that email.
>
> In a nutshell :
>
> (a) an applicant fills in a form on an external Interface, and clicks
> SEND
>
> (b) the Workflow is triggered.
>
> (c) based on the details provided by the applicant, the Workflow will
> somehow(?) Provision the data to Novell's eDirectory or ID vault, and
> select the correct Administrator (the person who is responsible for
> approving or denying that particular request)
>
> (d) the Workflow will send an email to this administrator. This email
> contains a link
>
>
>
> I have created a simple Workflow, which contains only 3 components :
> START.......EMAIL.......FINISH.
>
> However, I assume that, somewhere between START and EMAIL, there should
> be an Activity (perhaps, PROVISION or ENTITLEMENT), which will
> provision/query the Vault, and find out which Administrator is the
> proper person to contact.
>
> No idea how to go about this 😞
>
>

Greetings,
Either add a map action before the email activity where you look up
the correct user, or you add a function within the TO mapping on the
Email Activity to accomplish this.

--
Sincerely,
Steven Williams
Lead Software Engineer
NetIQ
0 Likes
stavae Absent Member.
Absent Member.

Re: Creating Workflow that can be triggered from outside the UA


> or you add a function within the TO mapping on the Email Activity to
> accomplish this.



Please, could you give an idea of what kind of function I could use? I
wasn't able to find anything from Novell's online documentation.


--
stavae
------------------------------------------------------------------------
stavae's Profile: http://forums.novell.com/member.php?userid=126238
View this thread: http://forums.novell.com/showthread.php?t=454868

0 Likes
stavae Absent Member.
Absent Member.

Re: Creating Workflow that can be triggered from outside the UA


No idea how to go about this 😞


--
stavae
------------------------------------------------------------------------
stavae's Profile: http://forums.novell.com/member.php?userid=126238
View this thread: http://forums.novell.com/showthread.php?t=454868

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.