Simon Laws wrote:
On Thu, Dec 16, 2010 at 7:19 PM, Hudgins, Paul <[email protected]> wrote:
We are looking at deploying Tuscany SCA within a WebLogic host, but not as a
web app (which is what most examples utilize). Instead, we will be adding
Tuscany SCA to our existing EAR which is composed of EJB modules. These
EJBs will be exposed using binding.rmi on the service side and referred to
using binding.ejb on the reference side (since our current implementation is
100% EJB). It seems simple enough to package up all the Tuscany libs as
part of the EAR’s APP-INF/lib directory and add in all the
implementation.java source and class files into the EAR. However, what
triggers the SCA runtime to start and consume the composite file(s)?
Tuscany has APIs for doing this. You need to first create an SCAContribution
containing your composite file(s), and then you need to create and start
an SCANode. Take a look at [1] for an example of how to do this.
Simon
[1]
http://svn.apache.org/repos/asf/tuscany/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/JumpstartLauncher.java
Paul Hudgins | Senior Principal Engineer
[email protected] | 1185 Sanctuary Parkway Suite 300 | Alpharetta, GA 30009
USA
Direct +1.678.867.5011 | Mobile +1.678.867.5000 | Fax +1.678.867.3600
Hi Paul
A slightly orthoganol question to start with. What would your
composite look like in this case?
I'm asking as you say "EJBs will be exposed using binding.rmi on the
service side". Do you mean that notionally you are able to talk to
existing EJBs because that's what EJBs are like or that you have a way
of using EJBs as component implementations?
In the SCA specifications there are implementation types like
implementation.ejb and implementation.jee however these really need
deep container integration to make them work properly in Tuscany (this
answers the how does the runtime start question). We have some of that
integration for Geronimo in our 1.x code base (requires a plugin from
Geronimo also) but it's a bit out of date at the moment and we haven't
ported it to 2.x yet. IBM's WebSphere supports it to a certain extent
also. We don't as yet have any support for these implementation types
in WebLogic as far as I know.
You do though close by saying "add in all the implementation.java
source and class files into the EAR" which makes me think that maybe
you're not doing that but using implementation.java. If this is the
case then I be interested to hear what you have in mind. If there's
some kind of start up hook in the EAR (I'm not a JEE expert
unfortunately) then you could potentially hang the Tuscany runtime
start off of that but it would be important to understand the
deployment implications. I.e. what the interplay between any JEE
endpoints that are created is with and SCA endpoints.
Regards
Simon