Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [bpel-dev] Process WSDL Interface

Hi James,

 

Thanks for your reply; it made me realize that we did something in one particular way for so long that I forgot about any other possibilities.

 

- interface

In our work we have only been interested in how to invoke a BPEL process from a client, either some Java client to kick off a process or in a hierarchical composition of processes. From that viewpoint, you only care about the portType of the initial activity creating an instance and possibly a reply in case of req-resp interaction.

Of course, you are right. If the same process, for example, acts as a client in an asynchronous interaction and therefore defines a callback operation or has some pick-onMessage, then, strictly speaking, this would be part of its interface.

 

- tns

As we have made such extensive use of hierarchical composition, I guess it was just easier to have the portTypes of a process in a WSDL with the same tns as the BPEL process (you don’t need to worry which WSDL to use for invoking another process). I just need to confirm that this (the tns match between process and WSDL) is not actually needed by any BPEL engine for deployment.

 

- deployment onto runtime

To rephrase my initial question, for deployment we need to derive some information from the partnerLinkType definition used by the partner in the initial create instance activity. So, regardless of any ns or tns, deployment code just needs access to the BPEL model of a process and any WSDL involved.

 

Thanks for clarifying,

 

-- Bruno

 

 


From: bpel-dev-bounces@xxxxxxxxxxx [mailto:bpel-dev-bounces@xxxxxxxxxxx] On Behalf Of James Moody
Sent: 15 March 2006 15:21
To: BPEL Designer project developer discussions.
Subject: Re: [bpel-dev] Process WSDL Interface

 



bpel-dev-bounces@xxxxxxxxxxx wrote on 03/15/2006 10:04:27 AM:

> Hi All,
>
> I have a quick technical question. My runtime extension code will need to
> get hold of the process WSDL interface. I am not sure how the editor is
> going to handle this.
>
> Will there be a 'New BPEL Process' wizard that captures the process WSDL
> interface and makes it available (and information about it, such as
> location, tns) or would my code have to search all partners of the process
> for one defined on a WSDL with matching tns (process.tns = wsdl.tns)?

Hi Bruno,

First of all, there is no one single port type which can be called the "interface" to the process. A process' interface is the union of all port types from partner links which have a "myRole" specified. (Now, one could say that the port type corresponding to the partner link to which the "initial activity" (e.g. receive or pick) is attached is special in some way).

Basically, we envision a new process wizard that will allow one of two paths:
        1. User specifies an existing WSDL port type, and we use that port type to create a partner link (and plt), and create an initial receive (and reply, if it's a req/resp operation) attached to that partner link.
        2. User says "create me a new WSDL port type". We create a new wsdl file with a port type with one operation, as well as a plt, and a bpel process with a receive and reply and partner link which is attached to the port type we just created.

I don't think there is any necessary relationship betwen the tns of the process and the tns of the wsdl - they are orthogonal - they can be the same, or not. The import statements in the bpel file will clearly specify the location of the referenced wsdl files.

I hope this answers your questions.

james


Back to the top