Simon Laws wrote:
On Nov 28, 2007 4:11 PM, Jean-Sebastien Delfino <[EMAIL PROTECTED]>
wrote:
Simon Laws wrote:
[snip]
If I understand this correctly it looks like a reasonable way to extend
the
Fruit&Veg scenario. In the current scenario I believe that the catalog
services, when run from the "cloud" module are running as part of the
distributed domain but rely on the embedded Jetty support .
Correct
So let me
confirm that you are suggesting three new things
1. creating implementation.ejb to support the Vegetable catalog
2. choosing a different hosting option in order to deploy SCA
applications
to a Geronimo server such that they take part in the SCA domain
3. choosing a different hosting option in order to deploy SCA
applications
to a Tomcat server such that they take part in the SCA domain
Yes to 1 and 3.
With (2), the vegetable catalog is an existing JEE application. So we're
not going to deploy it to Geronimo as a new SCA contribution/application
etc, it is already there running on Geronimo, and the point of the
merger is to not have to rewrite it in SCA form, but instead model its
presence in the domain with an SCA composite, then wire to it.
Ah. I see. Ok I like that.
Cool, since you're still busy with the service discovery thing, I
thought I could help by putting together the model and XML support for
implementation.ejb. It's available under sca/modules in
implementation-ejb and implementation-ejb-xml.
This will allow us to describe the existing catalog EJB like that:
<composite name="veggie-catalog">
<component name="VeggieCatalog">
<implementation.ejb ejb-link="catalog-ejb.jar#CatalogEJB"/>
</component>
</composite>
Some day in the future we'll probably want to have more code to
introspect the EJB module and derive its services and bindings, but for
now we should be able to build an interesting scenario with just the
model and no more code than what I just checked in. The idea is to be
able to develop the scenario and explore how to work with existing JEE
apps and different containers in an SCA domain without piling more
runtime code into Tuscany.
For now, we just need to write the description of the service and
binding by hand, something like that:
<componentType>
<service name="Catalog">
<interface.java interface="catalog.Catalog"/>
</service>
</componentType>
and back to the composite:
<composite name="veggie-catalog">
<component name="VeggieCatalog">
<implementation.ejb ejb-link="catalog-ejb.jar#CatalogEJB"/>
<service name="Catalog">
<binding.ejb uri="CatalogEJB"/>
</service>
</component>
</composite>
I'll start to add a module to the store tutorial to host the composite
and componentType.
Let me know when you're done with the service discovery thing and want
to jump in, there's a lot to do, including developing the EJB session
bean itself, getting Geronimo in the picture etc.
Hope this helps.
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]