You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by Guillaume Nodet <gn...@gmail.com> on 2006/07/27 08:42:41 UTC

JBI Component for Tuscany

Hi, Tuscany and ServiceMix teams !

Some months ago, I have started to develop an SCA JBI Component based on
Tuscany.
At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany members)
and we
talked about working on a better Tuscany integration with ServiceMix, by
combining the
effort of both communities. We decided to bring that on the devs list, so
here it is.

First, let me expose for the Tuscany teams who are not familiar with JBI,
what a Service Engine
provides, and briefly outline how it works.  When developing a JBI
application, you need:
  * JBI components (Binding Components or Service Engines)
  * JBI Service Assemblies
Components are installed on the JBI container and act themselves as
containers.  BCs' role
is to communicate with services or clients outside the JBI bus by using a
known protocol;
this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the other side,
are meant
to provide the business logic: they are routers, transformers, services,
orchestration and they
are not tied to any protocol.  Service Assemblies (SA) are composed of one
or more Service Unit
(SU), each SU being targeted to a known component.  The component is fully
responsible for
handling the SU deployment which content is not specified (it will be
different from one component
to another).  Components are thus containers because they will host
deployments of several SUs.

For Tuscany, the component would be a Service Engine, and I think Service
Unit will be SCA modules.
The component is responsible for
  * deploy and manage SU lifecycles
  * accepting JBI exchanges from the JBI container and process them
The current component already handle service unit deployment, but the
message exchange processing
need to be enhanced / rewritten to provide bi-directional access to the JBI
bus.  From my understanding of Tuscany,
this represent a binding (which is the main thing to complete).  The current
one uses JAXB2 for the
marshalling layer, but maybe you will want to switch to SDO (I choose JAXB2
because I was familiar with
it).

I would also propose that this JBI component may be better hosted at Tuscany
instead of ServiceMix,
as a JBI component only relies on the JBI spec, but it will be highly
dependant on Tuscany. I found hard
to keep on with Tuscany changes during the past months, given the all the
refactoring that occured.

The code is available at
http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/

-- 
Cheers,
Guillaume Nodet

Re: JBI Component for Tuscany

Posted by Venkata Krishnan <fo...@gmail.com>.
Hi Ant,

I can help you wherever you might need an additional hand (in testing,
samples, documentation, website updates etc.).

- Venkat


On 8/1/06, ant elder <an...@gmail.com> wrote:
>
> I've had a look at this code now I think we should be able to get it going
> on the new code base, so I'll start trying to port it over. Thanks for the
> offer to help, I'm going to need that, and from anyone else who's
> interested
> if this binding is to become a  part of  Tuscany, not only help with the
> code, but also things like testing, samples, documentation, website
> updates
> etc.
>
>    ...ant
>
> On 7/27/06, Guillaume Nodet <gu...@worldonline.fr> wrote:
> >
> > Cool, thx.
> > I'm ready to help in any way I can, so if you have any question on the
> > component or
> > JBI in general, feel free to ask :)
> >
> > Cheers,
> > Guillaume Nodet
> >
> > ant elder wrote:
> >
> > > Bringing this into Tuscany sounds really good to me and I'd like to
> > > help you
> > > do it. I'll go have a look at whats needed to get your current code
> > > working
> > > with the current Tuscany code...
> > >
> > >   ...ant
> > >
> > > On 7/27/06, Guillaume Nodet <gn...@gmail.com> wrote:
> > >
> > >>
> > >> Hi, Tuscany and ServiceMix teams !
> > >>
> > >> Some months ago, I have started to develop an SCA JBI Component based
> > on
> > >> Tuscany.
> > >> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany
> > >> members)
> > >> and we
> > >> talked about working on a better Tuscany integration with ServiceMix,
> > by
> > >> combining the
> > >> effort of both communities. We decided to bring that on the devs
> > >> list, so
> > >> here it is.
> > >>
> > >> First, let me expose for the Tuscany teams who are not familiar with
> > >> JBI,
> > >> what a Service Engine
> > >> provides, and briefly outline how it works.  When developing a JBI
> > >> application, you need:
> > >>   * JBI components (Binding Components or Service Engines)
> > >>   * JBI Service Assemblies
> > >> Components are installed on the JBI container and act themselves as
> > >> containers.  BCs' role
> > >> is to communicate with services or clients outside the JBI bus by
> > >> using a
> > >> known protocol;
> > >> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the
> other
> > >> side,
> > >> are meant
> > >> to provide the business logic: they are routers, transformers,
> > services,
> > >> orchestration and they
> > >> are not tied to any protocol.  Service Assemblies (SA) are composed
> > >> of one
> > >> or more Service Unit
> > >> (SU), each SU being targeted to a known component.  The component is
> > >> fully
> > >> responsible for
> > >> handling the SU deployment which content is not specified (it will be
> > >> different from one component
> > >> to another).  Components are thus containers because they will host
> > >> deployments of several SUs.
> > >>
> > >> For Tuscany, the component would be a Service Engine, and I think
> > >> Service
> > >> Unit will be SCA modules.
> > >> The component is responsible for
> > >>   * deploy and manage SU lifecycles
> > >>   * accepting JBI exchanges from the JBI container and process them
> > >> The current component already handle service unit deployment, but the
> > >> message exchange processing
> > >> need to be enhanced / rewritten to provide bi-directional access to
> the
> > >> JBI
> > >> bus.  From my understanding of Tuscany,
> > >> this represent a binding (which is the main thing to complete).  The
> > >> current
> > >> one uses JAXB2 for the
> > >> marshalling layer, but maybe you will want to switch to SDO (I choose
> > >> JAXB2
> > >> because I was familiar with
> > >> it).
> > >>
> > >> I would also propose that this JBI component may be better hosted at
> > >> Tuscany
> > >> instead of ServiceMix,
> > >> as a JBI component only relies on the JBI spec, but it will be highly
> > >> dependant on Tuscany. I found hard
> > >> to keep on with Tuscany changes during the past months, given the all
> > >> the
> > >> refactoring that occured.
> > >>
> > >> The code is available at
> > >>
> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
> > >>
> > >> --
> > >> Cheers,
> > >> Guillaume Nodet
> > >>
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
> >
>
>

Re: JBI Component for Tuscany

Posted by ant elder <an...@gmail.com>.
Guillaume, I've not forgotten this i'm just a bit tied up right now with
some other parts of Tuscany. I've started on the Tuscany classes for the new
extension framework in the org.apache.tuscany.servicemix package and started
porting the old code to these, feel free to jump in and help, i'll try to
spend more time on it later next week.

   ...ant

On 8/2/06, ant elder <an...@gmail.com> wrote:
>
> fyi, i've copied the current servicemix binding code to our repos so we
> can start working on it here now.
>
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/bindings/binding.servicemix/
>
>
>    ...ant
>
> On 8/1/06, ant elder <an...@gmail.com> wrote:
>
> > I've had a look at this code now I think we should be able to get it
> > going on the new code base, so I'll start trying to port it over. Thanks for
> > the offer to help, I'm going to need that, and from anyone else who's
> > interested if this binding is to become a  part of  Tuscany, not only help
> > with the code, but also things like testing, samples, documentation, website
> > updates etc.
> >
> >    ...ant
> >
> >
> > On 7/27/06, Guillaume Nodet < guillaume.nodet@worldonline.fr> wrote:
> > >
> > > Cool, thx.
> > > I'm ready to help in any way I can, so if you have any question on the
> > > component or
> > > JBI in general, feel free to ask :)
> > >
> > > Cheers,
> > > Guillaume Nodet
> > >
> > > ant elder wrote:
> > >
> > > > Bringing this into Tuscany sounds really good to me and I'd like to
> > > > help you
> > > > do it. I'll go have a look at whats needed to get your current code
> > > > working
> > > > with the current Tuscany code...
> > > >
> > > >   ...ant
> > > >
> > > > On 7/27/06, Guillaume Nodet < gnodet@gmail.com> wrote:
> > > >
> > > >>
> > > >> Hi, Tuscany and ServiceMix teams !
> > > >>
> > > >> Some months ago, I have started to develop an SCA JBI Component
> > > based on
> > > >> Tuscany.
> > > >> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany
> > > >> members)
> > > >> and we
> > > >> talked about working on a better Tuscany integration with
> > > ServiceMix, by
> > > >> combining the
> > > >> effort of both communities. We decided to bring that on the devs
> > > >> list, so
> > > >> here it is.
> > > >>
> > > >> First, let me expose for the Tuscany teams who are not familiar
> > > with
> > > >> JBI,
> > > >> what a Service Engine
> > > >> provides, and briefly outline how it works.  When developing a JBI
> > > >> application, you need:
> > > >>   * JBI components (Binding Components or Service Engines)
> > > >>   * JBI Service Assemblies
> > > >> Components are installed on the JBI container and act themselves as
> > > >> containers.  BCs' role
> > > >> is to communicate with services or clients outside the JBI bus by
> > > >> using a
> > > >> known protocol;
> > > >> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the
> > > other
> > > >> side,
> > > >> are meant
> > > >> to provide the business logic: they are routers, transformers,
> > > services,
> > > >> orchestration and they
> > > >> are not tied to any protocol.  Service Assemblies (SA) are composed
> > > >> of one
> > > >> or more Service Unit
> > > >> (SU), each SU being targeted to a known component.  The component
> > > is
> > > >> fully
> > > >> responsible for
> > > >> handling the SU deployment which content is not specified (it will
> > > be
> > > >> different from one component
> > > >> to another).  Components are thus containers because they will host
> > >
> > > >> deployments of several SUs.
> > > >>
> > > >> For Tuscany, the component would be a Service Engine, and I think
> > > >> Service
> > > >> Unit will be SCA modules.
> > > >> The component is responsible for
> > > >>   * deploy and manage SU lifecycles
> > > >>   * accepting JBI exchanges from the JBI container and process them
> > > >> The current component already handle service unit deployment, but
> > > the
> > > >> message exchange processing
> > > >> need to be enhanced / rewritten to provide bi-directional access to
> > > the
> > > >> JBI
> > > >> bus.  From my understanding of Tuscany,
> > > >> this represent a binding (which is the main thing to
> > > complete).  The
> > > >> current
> > > >> one uses JAXB2 for the
> > > >> marshalling layer, but maybe you will want to switch to SDO (I
> > > choose
> > > >> JAXB2
> > > >> because I was familiar with
> > > >> it).
> > > >>
> > > >> I would also propose that this JBI component may be better hosted
> > > at
> > > >> Tuscany
> > > >> instead of ServiceMix,
> > > >> as a JBI component only relies on the JBI spec, but it will be
> > > highly
> > > >> dependant on Tuscany. I found hard
> > > >> to keep on with Tuscany changes during the past months, given the
> > > all
> > > >> the
> > > >> refactoring that occured.
> > > >>
> > > >> The code is available at
> > > >> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
> > >
> > > >>
> > > >> --
> > > >> Cheers,
> > > >> Guillaume Nodet
> > > >>
> > > >>
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > >
> > >
> >
>

Re: JBI Component for Tuscany

Posted by ant elder <an...@gmail.com>.
fyi, i've copied the current servicemix binding code to our repos so we can
start working on it here now.

http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/bindings/binding.servicemix/

   ...ant

On 8/1/06, ant elder <an...@gmail.com> wrote:
>
> I've had a look at this code now I think we should be able to get it going
> on the new code base, so I'll start trying to port it over. Thanks for the
> offer to help, I'm going to need that, and from anyone else who's interested
> if this binding is to become a  part of  Tuscany, not only help with the
> code, but also things like testing, samples, documentation, website updates
> etc.
>
>    ...ant
>
>
> On 7/27/06, Guillaume Nodet <gu...@worldonline.fr> wrote:
> >
> > Cool, thx.
> > I'm ready to help in any way I can, so if you have any question on the
> > component or
> > JBI in general, feel free to ask :)
> >
> > Cheers,
> > Guillaume Nodet
> >
> > ant elder wrote:
> >
> > > Bringing this into Tuscany sounds really good to me and I'd like to
> > > help you
> > > do it. I'll go have a look at whats needed to get your current code
> > > working
> > > with the current Tuscany code...
> > >
> > >   ...ant
> > >
> > > On 7/27/06, Guillaume Nodet < gnodet@gmail.com> wrote:
> > >
> > >>
> > >> Hi, Tuscany and ServiceMix teams !
> > >>
> > >> Some months ago, I have started to develop an SCA JBI Component based
> > on
> > >> Tuscany.
> > >> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany
> > >> members)
> > >> and we
> > >> talked about working on a better Tuscany integration with ServiceMix,
> > by
> > >> combining the
> > >> effort of both communities. We decided to bring that on the devs
> > >> list, so
> > >> here it is.
> > >>
> > >> First, let me expose for the Tuscany teams who are not familiar with
> > >> JBI,
> > >> what a Service Engine
> > >> provides, and briefly outline how it works.  When developing a JBI
> > >> application, you need:
> > >>   * JBI components (Binding Components or Service Engines)
> > >>   * JBI Service Assemblies
> > >> Components are installed on the JBI container and act themselves as
> > >> containers.  BCs' role
> > >> is to communicate with services or clients outside the JBI bus by
> > >> using a
> > >> known protocol;
> > >> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the
> > other
> > >> side,
> > >> are meant
> > >> to provide the business logic: they are routers, transformers,
> > services,
> > >> orchestration and they
> > >> are not tied to any protocol.  Service Assemblies (SA) are composed
> > >> of one
> > >> or more Service Unit
> > >> (SU), each SU being targeted to a known component.  The component is
> > >> fully
> > >> responsible for
> > >> handling the SU deployment which content is not specified (it will be
> > >> different from one component
> > >> to another).  Components are thus containers because they will host
> > >> deployments of several SUs.
> > >>
> > >> For Tuscany, the component would be a Service Engine, and I think
> > >> Service
> > >> Unit will be SCA modules.
> > >> The component is responsible for
> > >>   * deploy and manage SU lifecycles
> > >>   * accepting JBI exchanges from the JBI container and process them
> > >> The current component already handle service unit deployment, but the
> > >> message exchange processing
> > >> need to be enhanced / rewritten to provide bi-directional access to
> > the
> > >> JBI
> > >> bus.  From my understanding of Tuscany,
> > >> this represent a binding (which is the main thing to complete).  The
> > >> current
> > >> one uses JAXB2 for the
> > >> marshalling layer, but maybe you will want to switch to SDO (I choose
> > >> JAXB2
> > >> because I was familiar with
> > >> it).
> > >>
> > >> I would also propose that this JBI component may be better hosted at
> > >> Tuscany
> > >> instead of ServiceMix,
> > >> as a JBI component only relies on the JBI spec, but it will be highly
> > >> dependant on Tuscany. I found hard
> > >> to keep on with Tuscany changes during the past months, given the all
> > >> the
> > >> refactoring that occured.
> > >>
> > >> The code is available at
> > >>
> > http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
> > >>
> > >> --
> > >> Cheers,
> > >> Guillaume Nodet
> > >>
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
> >
>

Re: JBI Component for Tuscany

Posted by ant elder <an...@gmail.com>.
I've had a look at this code now I think we should be able to get it going
on the new code base, so I'll start trying to port it over. Thanks for the
offer to help, I'm going to need that, and from anyone else who's interested
if this binding is to become a  part of  Tuscany, not only help with the
code, but also things like testing, samples, documentation, website updates
etc.

   ...ant

On 7/27/06, Guillaume Nodet <gu...@worldonline.fr> wrote:
>
> Cool, thx.
> I'm ready to help in any way I can, so if you have any question on the
> component or
> JBI in general, feel free to ask :)
>
> Cheers,
> Guillaume Nodet
>
> ant elder wrote:
>
> > Bringing this into Tuscany sounds really good to me and I'd like to
> > help you
> > do it. I'll go have a look at whats needed to get your current code
> > working
> > with the current Tuscany code...
> >
> >   ...ant
> >
> > On 7/27/06, Guillaume Nodet <gn...@gmail.com> wrote:
> >
> >>
> >> Hi, Tuscany and ServiceMix teams !
> >>
> >> Some months ago, I have started to develop an SCA JBI Component based
> on
> >> Tuscany.
> >> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany
> >> members)
> >> and we
> >> talked about working on a better Tuscany integration with ServiceMix,
> by
> >> combining the
> >> effort of both communities. We decided to bring that on the devs
> >> list, so
> >> here it is.
> >>
> >> First, let me expose for the Tuscany teams who are not familiar with
> >> JBI,
> >> what a Service Engine
> >> provides, and briefly outline how it works.  When developing a JBI
> >> application, you need:
> >>   * JBI components (Binding Components or Service Engines)
> >>   * JBI Service Assemblies
> >> Components are installed on the JBI container and act themselves as
> >> containers.  BCs' role
> >> is to communicate with services or clients outside the JBI bus by
> >> using a
> >> known protocol;
> >> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the other
> >> side,
> >> are meant
> >> to provide the business logic: they are routers, transformers,
> services,
> >> orchestration and they
> >> are not tied to any protocol.  Service Assemblies (SA) are composed
> >> of one
> >> or more Service Unit
> >> (SU), each SU being targeted to a known component.  The component is
> >> fully
> >> responsible for
> >> handling the SU deployment which content is not specified (it will be
> >> different from one component
> >> to another).  Components are thus containers because they will host
> >> deployments of several SUs.
> >>
> >> For Tuscany, the component would be a Service Engine, and I think
> >> Service
> >> Unit will be SCA modules.
> >> The component is responsible for
> >>   * deploy and manage SU lifecycles
> >>   * accepting JBI exchanges from the JBI container and process them
> >> The current component already handle service unit deployment, but the
> >> message exchange processing
> >> need to be enhanced / rewritten to provide bi-directional access to the
> >> JBI
> >> bus.  From my understanding of Tuscany,
> >> this represent a binding (which is the main thing to complete).  The
> >> current
> >> one uses JAXB2 for the
> >> marshalling layer, but maybe you will want to switch to SDO (I choose
> >> JAXB2
> >> because I was familiar with
> >> it).
> >>
> >> I would also propose that this JBI component may be better hosted at
> >> Tuscany
> >> instead of ServiceMix,
> >> as a JBI component only relies on the JBI spec, but it will be highly
> >> dependant on Tuscany. I found hard
> >> to keep on with Tuscany changes during the past months, given the all
> >> the
> >> refactoring that occured.
> >>
> >> The code is available at
> >> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
> >>
> >> --
> >> Cheers,
> >> Guillaume Nodet
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>

Re: JBI Component for Tuscany

Posted by Guillaume Nodet <gu...@worldonline.fr>.
Cool, thx.
I'm ready to help in any way I can, so if you have any question on the 
component or
JBI in general, feel free to ask :)

Cheers,
Guillaume Nodet

ant elder wrote:

> Bringing this into Tuscany sounds really good to me and I'd like to 
> help you
> do it. I'll go have a look at whats needed to get your current code 
> working
> with the current Tuscany code...
>
>   ...ant
>
> On 7/27/06, Guillaume Nodet <gn...@gmail.com> wrote:
>
>>
>> Hi, Tuscany and ServiceMix teams !
>>
>> Some months ago, I have started to develop an SCA JBI Component based on
>> Tuscany.
>> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany 
>> members)
>> and we
>> talked about working on a better Tuscany integration with ServiceMix, by
>> combining the
>> effort of both communities. We decided to bring that on the devs 
>> list, so
>> here it is.
>>
>> First, let me expose for the Tuscany teams who are not familiar with 
>> JBI,
>> what a Service Engine
>> provides, and briefly outline how it works.  When developing a JBI
>> application, you need:
>>   * JBI components (Binding Components or Service Engines)
>>   * JBI Service Assemblies
>> Components are installed on the JBI container and act themselves as
>> containers.  BCs' role
>> is to communicate with services or clients outside the JBI bus by 
>> using a
>> known protocol;
>> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the other
>> side,
>> are meant
>> to provide the business logic: they are routers, transformers, services,
>> orchestration and they
>> are not tied to any protocol.  Service Assemblies (SA) are composed 
>> of one
>> or more Service Unit
>> (SU), each SU being targeted to a known component.  The component is 
>> fully
>> responsible for
>> handling the SU deployment which content is not specified (it will be
>> different from one component
>> to another).  Components are thus containers because they will host
>> deployments of several SUs.
>>
>> For Tuscany, the component would be a Service Engine, and I think 
>> Service
>> Unit will be SCA modules.
>> The component is responsible for
>>   * deploy and manage SU lifecycles
>>   * accepting JBI exchanges from the JBI container and process them
>> The current component already handle service unit deployment, but the
>> message exchange processing
>> need to be enhanced / rewritten to provide bi-directional access to the
>> JBI
>> bus.  From my understanding of Tuscany,
>> this represent a binding (which is the main thing to complete).  The
>> current
>> one uses JAXB2 for the
>> marshalling layer, but maybe you will want to switch to SDO (I choose
>> JAXB2
>> because I was familiar with
>> it).
>>
>> I would also propose that this JBI component may be better hosted at
>> Tuscany
>> instead of ServiceMix,
>> as a JBI component only relies on the JBI spec, but it will be highly
>> dependant on Tuscany. I found hard
>> to keep on with Tuscany changes during the past months, given the all 
>> the
>> refactoring that occured.
>>
>> The code is available at
>> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
>>
>> -- 
>> Cheers,
>> Guillaume Nodet
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: JBI Component for Tuscany

Posted by Guillaume Nodet <gu...@worldonline.fr>.
Cool, thx.
I'm ready to help in any way I can, so if you have any question on the 
component or
JBI in general, feel free to ask :)

Cheers,
Guillaume Nodet

ant elder wrote:

> Bringing this into Tuscany sounds really good to me and I'd like to 
> help you
> do it. I'll go have a look at whats needed to get your current code 
> working
> with the current Tuscany code...
>
>   ...ant
>
> On 7/27/06, Guillaume Nodet <gn...@gmail.com> wrote:
>
>>
>> Hi, Tuscany and ServiceMix teams !
>>
>> Some months ago, I have started to develop an SCA JBI Component based on
>> Tuscany.
>> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany 
>> members)
>> and we
>> talked about working on a better Tuscany integration with ServiceMix, by
>> combining the
>> effort of both communities. We decided to bring that on the devs 
>> list, so
>> here it is.
>>
>> First, let me expose for the Tuscany teams who are not familiar with 
>> JBI,
>> what a Service Engine
>> provides, and briefly outline how it works.  When developing a JBI
>> application, you need:
>>   * JBI components (Binding Components or Service Engines)
>>   * JBI Service Assemblies
>> Components are installed on the JBI container and act themselves as
>> containers.  BCs' role
>> is to communicate with services or clients outside the JBI bus by 
>> using a
>> known protocol;
>> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the other
>> side,
>> are meant
>> to provide the business logic: they are routers, transformers, services,
>> orchestration and they
>> are not tied to any protocol.  Service Assemblies (SA) are composed 
>> of one
>> or more Service Unit
>> (SU), each SU being targeted to a known component.  The component is 
>> fully
>> responsible for
>> handling the SU deployment which content is not specified (it will be
>> different from one component
>> to another).  Components are thus containers because they will host
>> deployments of several SUs.
>>
>> For Tuscany, the component would be a Service Engine, and I think 
>> Service
>> Unit will be SCA modules.
>> The component is responsible for
>>   * deploy and manage SU lifecycles
>>   * accepting JBI exchanges from the JBI container and process them
>> The current component already handle service unit deployment, but the
>> message exchange processing
>> need to be enhanced / rewritten to provide bi-directional access to the
>> JBI
>> bus.  From my understanding of Tuscany,
>> this represent a binding (which is the main thing to complete).  The
>> current
>> one uses JAXB2 for the
>> marshalling layer, but maybe you will want to switch to SDO (I choose
>> JAXB2
>> because I was familiar with
>> it).
>>
>> I would also propose that this JBI component may be better hosted at
>> Tuscany
>> instead of ServiceMix,
>> as a JBI component only relies on the JBI spec, but it will be highly
>> dependant on Tuscany. I found hard
>> to keep on with Tuscany changes during the past months, given the all 
>> the
>> refactoring that occured.
>>
>> The code is available at
>> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
>>
>> -- 
>> Cheers,
>> Guillaume Nodet
>>
>>
>

Re: JBI Component for Tuscany

Posted by ant elder <an...@gmail.com>.
Bringing this into Tuscany sounds really good to me and I'd like to help you
do it. I'll go have a look at whats needed to get your current code working
with the current Tuscany code...

   ...ant

On 7/27/06, Guillaume Nodet <gn...@gmail.com> wrote:
>
> Hi, Tuscany and ServiceMix teams !
>
> Some months ago, I have started to develop an SCA JBI Component based on
> Tuscany.
> At last ApacheCon EU, I met with Jeremy Boynes (and other Tuscany members)
> and we
> talked about working on a better Tuscany integration with ServiceMix, by
> combining the
> effort of both communities. We decided to bring that on the devs list, so
> here it is.
>
> First, let me expose for the Tuscany teams who are not familiar with JBI,
> what a Service Engine
> provides, and briefly outline how it works.  When developing a JBI
> application, you need:
>   * JBI components (Binding Components or Service Engines)
>   * JBI Service Assemblies
> Components are installed on the JBI container and act themselves as
> containers.  BCs' role
> is to communicate with services or clients outside the JBI bus by using a
> known protocol;
> this includes HTTP, HTTP+SOAP, JMS, JMS+SOAP, etc...  SEs on the other
> side,
> are meant
> to provide the business logic: they are routers, transformers, services,
> orchestration and they
> are not tied to any protocol.  Service Assemblies (SA) are composed of one
> or more Service Unit
> (SU), each SU being targeted to a known component.  The component is fully
> responsible for
> handling the SU deployment which content is not specified (it will be
> different from one component
> to another).  Components are thus containers because they will host
> deployments of several SUs.
>
> For Tuscany, the component would be a Service Engine, and I think Service
> Unit will be SCA modules.
> The component is responsible for
>   * deploy and manage SU lifecycles
>   * accepting JBI exchanges from the JBI container and process them
> The current component already handle service unit deployment, but the
> message exchange processing
> need to be enhanced / rewritten to provide bi-directional access to the
> JBI
> bus.  From my understanding of Tuscany,
> this represent a binding (which is the main thing to complete).  The
> current
> one uses JAXB2 for the
> marshalling layer, but maybe you will want to switch to SDO (I choose
> JAXB2
> because I was familiar with
> it).
>
> I would also propose that this JBI component may be better hosted at
> Tuscany
> instead of ServiceMix,
> as a JBI component only relies on the JBI spec, but it will be highly
> dependant on Tuscany. I found hard
> to keep on with Tuscany changes during the past months, given the all the
> refactoring that occured.
>
> The code is available at
> http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-sca/
>
> --
> Cheers,
> Guillaume Nodet
>
>