POLL

We are looking for more information to tailor our training to better meet the needs of our customers. Please indicate all options that apply.

I would like to attend specialized training from Intalio on BPM as it relates to my application area:


I would like to attend specialized training from Intalio on BPM as it relates to my job function:


I would like to attend specialized training from Intalio on BPM as it relates to my industry:

Login

Subscribe

MAIN arrow Reference Guides arrow Intalio|Designer - Integrating WSDL operations in a process in 5.0

Intalio|Designer - Integrating WSDL operations in a process in 5.0

Print E-mail

Abstract

This article deals with the integration of WSDL operations in a business process in Intalio|BPMS Designer version 5.0.

It introduces key concepts that help the Process Analyst the different ways of integrating a service with a business process.

Intalio|BPMS Designer offers the ability to either specify if your process invokes an operation or if it provides that operation.


Please note that the following concepts do not apply to Intalio|BPMS Designer version 4.

 

 

Services and Processes

A business process is composed of several tasks that can interact with services. A service is triggered by a message and may or may not sends a response back to the caller. Services can be used to send emails, create customers in an ERP system or create a task for a manager.

Services can expose their interfaces to external participants by documenting what data structure they are waiting for, which messages they do expose and where they are exposed i.e. which endpoints can be called in order to trigger the service.

 

WSDL

WSDL documents can be used to describe the interfaces of such services.

WSDL is an XML language developed by the W3C that define the endpoints, the messages and the XML structures of services. WSDL can be used to describe the interface of any service, it doesn't have to be a web service. A web service is just a specific service that you invoke by sending a SOAP message over the HTTP protocol.

 

In Intalio|BPMS Designer, services will always be represented through a WSDL document. The deployment tool will decide which type of service is actually deployed (is it an external webservice, is an SAP BAPI invocation, is it a human task creation...).

 

WSDL Browser

The WSDL Browser allows a Process Analyst to integrate a service in a process without knowing anything about the WSDL specification.

Indeed any WSDL dropped in the Process Explorer can be expanded in a tree structure and you have access to the operations available and the XML structure for each message of the operation as illustrated in the following screenshot:

 

emailwsdl.jpg

The SendEmail operation exposed can be triggered by a request message called 'SendEmailRequest' and sends a response back called 'SendEmailResponse'. Please note that it can also sends back a fault message 'emailFault'.

 

Messages of type request are identified by this icon: wsdlmessageinput.png

 

 


Messages of type response are identified by this icon:

wsdlmessageoutput.png

 

 

 

Message of type fault are identified by this icon:

wsdlmessagefault.png

 

 

 

Please note that the WSDL Browser ensures that Intalio|BPMS Designer integrates natively with operations defined in a WSDL. It ensures that the same objects are

re-used at runtime. There is no need with Intalio|BPMS to plug in a custom web-service connector.

 

Integrating a service

When integrating an operation exposed by a service in a process, it is very important to make the distinction between an operation that a process will invoke and an operation that will invoke a process.

Indeed a service can either be invoked from a process or implemented by this process.

An operation will be represented as a BPMN task in a non-executable pool and from the point of view of that BPMN task, it either provides the operation and it invokes the operation.

 

Before integrating the operation in your process, make sure to create a new pool and mark this pool as non-executable:

contextualmenu.jpg


Providing an operation

 

A task is said to provide an operation when it first receives the message and later sends an answer.

 

Select an operation that you want to invoke from the process - and thus from the point of view of the non-executable pool, this task will provide the operation - and drag and drop it in the non-executable pool.

A pop-up menu will appear asking you how you want to represent this new operation.

providewsdloperationrequestresponsesingletask.png
provide-request_response-one-task.jpg
The operation is represented as one single BPMN task that first receives a message and returns a response
providewsdloperationrequestresponse.png provide-request_response-two-tasks.jpg The operation is represented as a sub-process which contains two tasks: one that receives the request message and the other one that sends the response back.
providewsdloperationoneway.png provide-one-way.jpg The WSDL operation doesn't return any response and it is only expecting a one-way message.

 

 

Invoking an operation

 

A task is said to invoke an operation when it first sends a message and later receives the answer.

 

When a task is invoking an operation, it is expected that the invoked pool is 'implementing' the operation.

Select an operation that you want to implement in your process - and thus from the point of view of the non-executable pool, this task will invoke the operation - and drag and drop it in the non-executable pool.

A pop-up menu will appear asking you how you want to represent this new operation.

invokewsdloperationrequestresponse.png invoke-request_response-one-task.jpg The task is first sending a message and can optionally receive an answer.
invokewsdloperationoneway.png invoke-oneway.jpg The task sends a one-way message and doesn't expect an answer
invokewsdloperationrequestresponsewithfaulthandlersonsubprocess.png invoke-request_response-faulthandler.jpg The task is sending a message first and can optionally receive an answer. The service invoked can also return an fault which will be handled by the Fault Handler.

 

Service Task Annotation

As you may have realized, when a task is either invoking or providing an operation an annotation is created on the task to indicate the nature of the operation.

Those annotations give us a lot of information about what the task is doing and what type of operation is being invoked.

 

invokeonewaywsdloperation.png

This annotation means that the task is sending a one-way message; it invokes a one-way operation.

 


invokerequestresponsewsdloperation.png

This annotation means that the task first sends a message (green arrow) and can optionally receive an answer (blue arrow); it invokes a request-response operation.

 


wsdloperation.png

This annotation means that the task provides a service operation

 

 

 

Intalio|BPMS Designer makes also the distinction between an operation that is bound to an endpoint and an operation that is not not bound to a port.

The following icons are used:

wsdloperation.png

 

This annotation represents a WSDL operation that is not tied to a specific endpoint.

 

 

wsdloperationbound.png

 

This annotation represents a WSDL operation that is bound to a defined endpoint.

 

 

Conclusion

In this article we detailled how services were integrated and represented in a business process designed in Intalio|BPMS Designer version.

It is very important to understand that those services represented as WSDL documents are natively supported.

In lieu of a conclusion, please make sure that you understand the following process that illustrates how a BPMN task can invoke a service in three different ways.

Make sure to focus especially on the last task. If you have any trouble figuring out what's going on please discuss it on the forums:

allinone.jpg

 

 

 

Last Updated ( Feb 26 2008 )
  < Prev Next >