Sorry in advance for the noise if this is not the correct forum for
this:
 
Our group is currently negotiating with another group in our company to
come to an
agreement on a platform for some common services.
 
The other team is pretty well set on EJB3 and JBoss, whereas we had been
leaning
toward SCA Java, in combination with at least Spring.
 
Stangely enough, there seems to be quite a bit of convergence between
the technologies,
and I know that implementation.ejb is actually one of the SCA component
implementation
types.
 
But, can anyone provide a pointer or some arguments in favor of or
against
Spring + Tuscany SCA Java  ( + JBoss?) versus JBoss / EJB3.
 
As a starting point, the EJB3 argument goes something like this:
   . JCP standards based
   . Rich set of application services bundled with app server
   . Built-in clustering capability (distributed coherent cache + JTA
provided
     by app server)
 
I think the Spring / SCA argument would include:
   . Supports heterogeneous components (EJB, Spring, OSGi...)
   . More configurable (lighter weight deployments possible other than
full
     app server).
 
The arguments against Spring / SCA include:
   . Requires assembly of more parts (SCA, Spring, JTOM, Hibernate,
etc.)
   . No built-in clustering capability (Terracotta looked promising, but
our legal department
     will never approve their license, and we don't want "Powered by
Terracotta" all over our
     application, and we're too cheap to pay for it ;-)
   . Not JCP standard
 
My take on the EJB3 case is that while clustering comes bundled, it is
not clear that it
would really buy us anything.  For our app, we don't need load-balanced,
symmetrical
pools of service instances running across multiple JVMs.  We actually
need to carefully
configure which services run where, which are colocated, and which have
affinity to
certain servers.  (Maybe it is possible to configure this with JBoss?  I
know it is with
Tuscany SCA Java.)
 
Also, using EJB3 locks you into EJB-specific annotations, whereas using
SCA with
implementation.ejb, for example, would permit better interoperability
with non-EJB
components.
 
Does anyone want to weigh in on this, or just provide some links?
 
There's a lot of propaganda out there, and a lot of it is FUD or just
plain out of date.
It's hard to make a coherent argument one way or the other.  Any help
would be
appreciated.
 
Thanks.
 
     --Rich
 
 


________________________________

From: Simon Laws [mailto:simonsl...@googlemail.com] 
Sent: Sunday, February 15, 2009 6:43 AM
To: user@tuscany.apache.org
Subject: Re: General selling point question




On Sat, Feb 14, 2009 at 5:51 AM, Moreau, Christopher
<chris.mor...@gdit.com> wrote:


        This isn't a specific technical question, but rather more of a
how to I make the case for Tuscany SCA question.  I am on a project with
multiple contributors.  The SOA has an ESB.  I am having a hard time
figuring out the key role for SCA.  Many of capabilities seem like
things available via the ESB. 

         

        -C

Hi Christopher. 

>From my point of view SCA's role is to provide consistency. For example,
consistency in the programming model used to expose services and exploit
references to other services, consistency in the way you describe the
assembly of components in your solution and consistency in the way that
policy is applied to control quality of service concerns. The SCA model
applies regardless of what implementation or communcation technology you
use. 

In you're scenario how do the multiple contributors implement services
and communicate with the ESB? Do services only ever communicate via the
ESB?

Regards

Simon


Reply via email to