Apache Tuscany Releases First Milestone
Tuscany provides open source implementations for the Service Component Architecture (SCA) and Service Data Object (SDO) specifications and a Data Access Service that supports SDO. This Apache incubated project provides runtimes for both Java (on Tomcat) and C++. The Eclipse SOA Tools Project (STP) has stated its intention to provide tooling support for the platforn neutral specification.
The companies that first announced support for SCA include BEA Systems, IBM Corporation, IONA Technologies, Oracle, SAP AG, Siebel Systems, Sybase, Xcalia and Zend Technologies.
SCA is a technology neutral way to express business level assemblies of components in order to make integrating services and applications easier. SCA manages infrastructure complexities such as transactions, security and reliable messaging and frees the developer to focus on providing business functions. The solutions developed using SCA can be changed declaratively to alter infrastructure capabilities or application configuration properties to meet changing business requirements.
SCA follows this by introducing a small API and a collection of annotations for adding various things to POJOs such as:
- lifecycle annotations
- dependency injection annotations
- messaging annotations
- SCA specific injections
SCA is not a standard and has not been submitted to any standards body at this time. Analyst Dana Gardner provided a mixed review of SCA, particularly noting that both Microsoft and Sun Microsystems are not present in the list of companies announcing SCA. Mark Little from JBoss/RedHat provided on his blog a helpful review of how SCA relates to other specifications. Edwin Kodabakchian of Oracle (a member of SCA) provides a perspective on how SCA relates to JBI.
SCA needs supporting tools to thrive
However I remain skeptical of its future, as it is designed with an assumption that supporting tools will exist. Sure, it's still possible to code up the XML etc with a text editor, but that doesn't mean it's a good idea.
Let's not forget that J2EE was a framework that was designed with this same assumption - we would all use graphical tools and people would never have to code a deployment descriptor by hand. Well, we all know what happened, and this was exactly the kind of thing that led to J2EE being derided as too complicated.
Especially in the Java community, it seems there is an underlying distrust of graphical tools (this is not without justification!) where a text editor could be used instead. When J2EE came along, for various reasons, people continued to put all this tedious infrastructure together manually.. tools like xdoclet came along, but only in reaction to people having to hand code all this stuff - by that time, J2EE's reputation had been firmly established.
Microsoft developers doesn't exhibit this culture, I think, because there's only one tools vendor, and the technologies and tools are released in lockstep.
My open question is - what will prevent SCA going down the same path? Given that all the big players here - IBM, BEA, Oracle, SAP - are all on the Eclipse Consortium, perhaps the results will be different this time around.
The whole Eclipse thing may be a reason why Sun hasn't come to the SCA party. However I honestly don't think that SCA needs Sun to be a success.
Re: SCA needs supporting tools to thrive