Hi, Manu.
Welcome to Tuscany and thank you for looking into Tuscany/Geronimo
integration.
Please see my comments inline below.
Thanks,
Raymond
----- Original Message -----
From: "Manu George" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Tuesday, May 22, 2007 1:00 PM
Subject: Re: Tuscany sample app
Hi,
I am new to this list and product. I just wanted to know if
there is any work going on in implementing deep integration with
apache geronimo app server. If it is going on I am volunteering to
help. If not I would again like to volunteer to take up that task
along with anyone else interested.
It would be really great that we start the Tuscany/Geronimo integration now
as we have a stable Tuscany code base (the 0.90 relase are being voted on).
A few of other folks have also expressed their interests in this area. Let's
keep all the discussions on this ML so that all of us can participate.
I'm not sure what's the best way to
Currently I have experimented a bit with deep integration and got the
calculator service to deploy on geronimo.What I have achieved is the
ability to deploy Tuscany services on geronimo packaged in a jar with
a geronimo specific deployment descriptor.
This is a very good step forward. Did you use the geronimo module plan for
the jar?
What I have done is created a new Domain class GeronimoSCADomain and
the only difference of this from default SCA domain is that it takes a
ReallySmallRuntime as a parameter instead of creating it. So
effectively one Runtime can be shared among all the SCADomains. I am
assuming that there will be a single SCADomain per application and all
SCADomains will share the same Runtime. Due to my lack of tuscany
knowledge I am not sure if this is the way to go about it. Can any one
of the tuscany gurus clarify if this is the correct approach?
The SCA domain is a collection of runtimes that can host SCA composites. The
domain is logically represented as a SCA composite which include all the
deployable composites activated by all runtimes in the SCA domain. A SCA
domain can span multiple machines over the network. It consists of all the
runtimes that run SCA applications.
I was unable to understand the need to create multiple runtimes for
each sca domain (other than for the web app based integration). If
there are any other reasons can someone please explain why we need a
runtime per app?
Other things that i am experimenting with is the ability to package
the tuscany service along with an ear/war/ejb-jar.
The SCA spec defines a loosely-formed packaging scheme for SCA composites.
Basically, it is the "contribution" concept. A contribution is some kind of
archive such as a folder, a zip, a jar, a rpm, or a EAR. The only
requirement is that the artifacts in the contribution can be represented as
URIs in the hierarchy.
In Tuscany, we have the Contribution service which provides a framework to
plug in Package processors and Artifact processors.
You can find more information here:
http://cwiki.apache.org/confluence/display/TUSCANY/Java+SCA+Architecture+Guide
I am binding the SCADomains created to global jndi and so applications
can access the domains from there and invoke services on them.
This is one way to manage the SCA domain metadata. Then the EE applications
can look up the SCADomain from JNDI and then gain access to the SCA
services.
Thinks that need to be done(not yet thought of how to implement are)
1) Make geronimo resources (Database pools,JMS resources, EJB
references, Gbean references )available to Tuscany
In SCA, we can use reference and binding to access non-SCA services such as
WS, EJB, JMS. This makes external services consumeable by SCA components.
I'm not very sure how to expose other JEE resources such as DataSource, JMS
QCF to SCA components. Maybe a reference with autowire? Maybe a @Resource
annotation?
2) Make Tuscany services accessible accross app servers
There is another important aspect. SCA component services can be promoted
over various bindings. This way, the SCA service can be exposed over
protocols such as Web Service, EJB, JSONRPC, RMI. Non-SCA client (such as
JEE artifacts) can be then access the promoted SCA services over the
protocols without knowing SCA. Of course, other SCA components can talk to
these promoted services using the bindings too.
3) Other things i have missed :)
It would be great if someone could advise me on the tuscany side of
these matters.
Thus I conclude my first post on the tuscany dev list :)
Thanks
Manu
On 5/15/07, Luciano Resende <[EMAIL PROTECTED]> wrote:
The suspicious code was identified on the Contribution Service, and
Tuscany
M2 does not have this service available, that would explain why there is
no
issues with M2.
On 5/10/07, Manu George <[EMAIL PROTECTED]> wrote:
> Hi Jay,
>
> Cool, I have not yet tried the trunk of tuscany. I will try it out with
your fix
>
> Regards
> Manu
>
> On 5/10/07, Jay D. McHugh <[EMAIL PROTECTED] > wrote:
> > I changed my mind.
> >
> > I just went to look at M2 and -way- too much has changed since then.
> >
> > I don't think it would be worthwhile to try it just to see.
> >
> > Cool that it worked though.
> >
> >
> > Jay
> >
> > Jay D. McHugh wrote:
> > > Hey Manu,
> > >
> > > The versions that had trouble were trunk of both.
> > >
> > > I'm surprised that M2 worked (I'll have to try it just to see).
> > >
> > >
> > >
> > > Jay
> > >
> > > Manu George wrote:
> > >> Hi Jay,
> > >> I was able to deploy the tuscany calculator webapp (M2
> > >> version) on the current geronimo trunk w/o any issues. Probably I
> > >> was
> > >> lucky in selecting my versions :). Which version of Geronimo and
> > >> Tuscany were giving the problem?
> > >>
> > >> Regards
> > >> Manu
> > >>
> > >> On 5/10/07, Luciano Resende < [EMAIL PROTECTED]> wrote:
> > >>> Hey Jay, this is very good news, thanks for your help.
> > >>>
> > >>> As for the issue you mentioned, this is done while the Tuscany is
> > >>> scaning and opening the necessary artifacts to process... let me
look
> > >>> at that code in the Tuscany side and check what I can do.
> > >>>
> > >>> I'ĺl let you know about any progress...
> > >>>
> > >>>
> > >>> On 5/9/07, Jay D. McHugh <[EMAIL PROTECTED]> wrote:
> > >>> > I didn't say, but in order to get the app to deploy in Geronimo
> > >>> > I
> > >>> had to
> > >>> > comment out the close() in IOHelper.
> > >>> >
> > >>> > Jay
> > >>> >
> > >>> > Jay D. McHugh wrote:
> > >>> > > Hello all.
> > >>> > >
> > >>> > > Well after wandering through class loaders and deployment
> > >>> managers, I
> > >>> > > finally managed to get the Tuscany calculator sample webapp
> > >>> > > to
> > >>> deploy
> > >>> > > and run under Geronimo.
> > >>> > >
> > >>> > > And, the problem that made it so hard wasn't even in Geronimo
(at
> > >>> > > least not directly).
> > >>> > >
> > >>> > > Tuscany is using a helper class when scanning jar files
> > >>> > > during
> > >>> startup
> > >>> > > (IOHelper).
> > >>> > >
> > >>> > > That class closes the jar file at the same time as it closes
> > >>> > > the
> > >>> input
> > >>> > > stream based on the jar file (as recommended by Sun -
> > >>> > >
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148).
> > >>> > >
> > >>> > > Tomcat doesn't mind having the jar file get closed - Geronimo
does.
> > >>> > >
> > >>> > > Does anyone have any comments on this?
> > >>> > >
> > >>> > > Does anyone know if Tomcat is built to reopen closed jars?
> > >>> > >
> > >>> > > Can Tuscany be changed to stop closing the jar file?
> > >>> > >
> > >>> > > Comments?
> > >>> > >
> > >>> > >
> > >>> > > Jay
> > >>> > >
> > >>> > >
> > >>> > > .
> > >>> > >
> > >>> >
> > >>>
> > >>>
> > >>> --
> > >>> Luciano Resende
> > >>> http://people.apache.org/~lresende
> > >>>
> > >
> > >
> > >
> >
>
--
Luciano Resende
http://people.apache.org/~lresende
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]