Deployment of BPEL process

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Deployment of BPEL process

Joachim
Hello,

I've developped a bpel-process inside PetalsStudio and I now try to deploy the process. The process seems to be syntactically correct (no errors afetr validation) and the service assembly was also deployed sucessfully on Petals ESB (state: started). Now I struggle to test the process:

- I would have assumed that after deployment the pick-step of the process would appear as a new endpoint in the web console, providing a callable wsdl. Unfortunatelly no endpoint  representing the bpel-process shows up in the web console. Are the further steps required (e.g. linking the process as provder to a SOAP-consumer?).

- The services being consumed by the process: so far they are provided as wsdl pointing to an external web service. Do I need any additional wiring from the process to the web services?

Thank you very much in advance for your support!

Best regards
Joachim
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Deployment of BPEL process

Vincent Zurczak
Administrator
This post was updated on .
Hi,

When you created your BPEL process, a jbi.xml file was also generated.
It references the WSDL and service implemented with BPEL. Once the service-unit is deployed, you should have a new endpoint in the bus. You can check its presence by launching Petals CLI and listing the contents of the registry.

Now, you don't see it in the web console.
I guess you are using the web console 2.5.x and Petals 4. Are you searching the end-point in the "Test" tab?

You do not have to expose your BPEL service provider as a web service (with a SOAP consumer), unless you want to test your service with a client like SoapUI. Since the "test" tab does not work correctly with Petals 4 (this web application is about to be replaced very soon), you will have to do that eventually.

Last, but not least...
A BPEL process in Petals can only invoke a service inside the ESB. This is because we do not want to couple the orchestration (BPEL component) and the mediation (binding components). So, your BPEL is syntactically valid. But it will not run, you have to import the external web service in Petals (SOAP provider). Since this operation should not modify the WSDL, you do not have to change your BPEL. Simply create a SOAP SU in provider mode.

I hope this helps.
I have wanted for a very long time to write a tutorial about BPEL. But I have not found time for this, and there were works with a higher priority to deal with first. This, plus the fact that there is no simple way to write service compositions in Petals. It is a more general topic.
« Petals M.D. »
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Deployment of BPEL process

Joachim
Hello Vincent,

thank you very much for your quick reply! I really appreciate!

I checked jbi.xml and discoversd that there are actually no "Provides properties" defined. I played around and discovered that this might be due to the fact, that my wsdl is abstract (I assumed that binding and service entries would only be created after deployment). When I use a conrete wsdl, the "Provides properties" appear.

This leads me to my next question: What do I have to provide in the binding and service section of my provider-wsdl? This information should only be known after deployment?

Thanks again!
Best regards
Joachim
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Deployment of BPEL process

Vincent Zurczak
Administrator
Joachim wrote
This leads me to my next question: What do I have to provide in the binding and service section of my provider-wsdl? This information should only be known after deployment?
Hi,

This is a tough question. The binding section is pretty standard but quite heavy to write, since you must bind all the operations. The service section is quite easy. The most simple approach now is to create another project with a valid WSDL and then mix your old and new project.

Also, I do not see the relation between the fact that the WSDL and process are abstract and the "post-deployment thing". I do not see what you mean. However, what you can do, is let Petals generate the end-point name at deployment time. This has nothing to do with the process being abstract. To generate the end-point at deployment, make sure the end-point name in the jbi.xml is "autogenerate". And make sure this value is also in the WSDL (port name in the service section).
« Petals M.D. »
Loading...