I believe this is a classical ESB problem.
I think what you need your component to do is to register an external
endpoint, so that other components interested in S1 can resolve an endpoint
reference using an XML fragment that your BC can understand. So basically
you are applying the bridge pattern.
You are right, you should be able to publish your endpoint and configure
routing by deploying a service unit, if I remember correctly, Guillaume once
told me that the HTTP component can do this, but I don't know if it helps in
your situation.


-----Original Message-----
From: Charles Souillard [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 21, 2006 1:12 PM
To: [email protected]
Subject: general JBI question

Hi all,

I have an application wich provides a service called S1.
This application is running on a remote server and is accessible via 
WebServices.

What is the standard way to "publish" my service in SM. In fact the 
functionnality needed is to use all provided BCs available in SM.
I can read in JBI spec :
"Service Engines are essentially standard containers for hosting 
WSDL-defined service providers adnd service consumers *that are internal 
to the JBI environment*"

So should I
1) create a SE for S1 which will receive messages from the NMR and 
forward them to the WS BC which will call my external S1 service ?
2) create a SE for S1 which will receive messages from the NMR and 
forward them directly to my external S1 service ?
3) create a BC for my S1 service ?

There is no way to "publish" a new service in SM without creating a 
component (BC or SE), is that right ?

Schemas defined in JBI spec in 4.9 Examples is not the same. In fact the 
message is transformed in SM using XSLT. In my case, I only want to 
forward the message without any modification. So conceptually, there is 
no need to have SE between BC1 and BC2...

In the case my S1 service "speaks" a proprietary language, I only have 
to create a new BC, is that right ?

But if I want to use an existing BC like the one doing WS calls, is it 
possible to "publish" my S1 service only by deploying a SU and telling 
it is a provider ?

Thanks fors your help.

Charles

Reply via email to