Brian,

"Is that all it takes to create an SCA compliant application?"

If I interpret that correctly, you're expressing surprise that there doesn't seem to be much to writing SCA applications. If that's correct, then in one important sense, SCA is structured in the right way.

SCA is designed to keep the coding of components simple - the principle is that you don't write your code "for SCA", you "just write code". SCA, like Spring, aims to keep middleware APIs and middleware structures out of your code. The code concentrates on the business problem at hand and simply invokes business interfaces when needing to get at services provided by other components. In Java, those business interfaces simply arrive in your component code through injection - they are there when you need them.

The SCA composite files then describe metadata about your component and the other components & services which it uses. All the "messy stuff" about the set of components that are used to build your solution and the way in which they are connected (communication protocols, endpoint addresses, infrastructure stuff like Security, etc) are placed into the SCA composite files and are used by SCA to generate the right proxies to inject into your code when it runs.

You are right in that it does function in a way similar to Spring (indeed, SCA + Spring is a good combination). The stuff that SCA provides that goes beyond Spring is:

- it deals with systems built using more than one language, not just Java (so you can mix PHP, Java, C++, BPEL....) - it deals with distributed systems, where different parts run on different machines on a network - it deals with the metadata needed to describe communication protocols and infrastructure services in a consistent way

I hope this explanation helps,

Yours,  Mike.


Brian O'Neill wrote:
All,

Excuse the ignorance, but I'm trying to understand the benefits of
designing applications using SCA.  From the sample applications in
Tuscany, it appears as though Tuscany functions much like Spring; it
provides a means to map logical services to their implementations
(dependency injection), and then adds a layer to compose services on top
of that.

The only SCA specific files I see in the samples are the composition
files. (e.g. Calculator.composite)  Thus, it leads to the question, is
that all it takes to create a "SCA-compliant" application?

-brian

--------------------

Brian O'Neill

Technical Architect, Gestalt LLC

mobile: 215.588.6024

http://weblogs.java.net/blog/boneill42/
<http://weblogs.java.net/blog/boneill42/>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to