<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Is SCA New Java EE?</title>
	<atom:link href="http://myarch.com/is-sca-new-java-ee/feed/" rel="self" type="application/rss+xml" />
	<link>http://myarch.com/is-sca-new-java-ee</link>
	<description>Builds and bytes</description>
	<pubDate>Thu, 20 Nov 2008 23:49:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Shigeru Takehara</title>
		<link>http://myarch.com/is-sca-new-java-ee#comment-11360</link>
		<dc:creator>Shigeru Takehara</dc:creator>
		<pubDate>Mon, 25 Jun 2007 19:42:10 +0000</pubDate>
		<guid isPermaLink="false">http://myarch.com/is-sca-new-java-ee#comment-11360</guid>
		<description>When we consider the portability and agility, develop components based on IOC framework like Spring, which does not rely on "container" and provide a wrapper layer for a specific "container". For example, I develop a component based on Spring, if I need to make it run on SCA, I add a wrapper class or may simply take advantage of Spring binding of SCA. If I need to make it run on JBI, I do the same. If I use SCA with Spring, The SCA is used for for easier web service setup. (I'm not so sure how much it make easier, though).</description>
		<content:encoded><![CDATA[<p>When we consider the portability and agility, develop components based on IOC framework like Spring, which does not rely on &#8220;container&#8221; and provide a wrapper layer for a specific &#8220;container&#8221;. For example, I develop a component based on Spring, if I need to make it run on SCA, I add a wrapper class or may simply take advantage of Spring binding of SCA. If I need to make it run on JBI, I do the same. If I use SCA with Spring, The SCA is used for for easier web service setup. (I&#8217;m not so sure how much it make easier, though).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SCA and JBI Mean Nothing for SOA? &#124; MyArch</title>
		<link>http://myarch.com/is-sca-new-java-ee#comment-10533</link>
		<dc:creator>SCA and JBI Mean Nothing for SOA? &#124; MyArch</dc:creator>
		<pubDate>Thu, 07 Jun 2007 03:53:49 +0000</pubDate>
		<guid isPermaLink="false">http://myarch.com/is-sca-new-java-ee#comment-10533</guid>
		<description>[...] I certainly agree with his assessment that SCA (can't really speak about JBI) is more of a generic component-centric programming model than a SOA implementation framework. I blogged about it before. However, I do think that SCA is going to provide a lot of value in the area of application architecture and just general component reuse. A technology or a framework does not have to be about SOA to be useful. [...]</description>
		<content:encoded><![CDATA[<p>[...] I certainly agree with his assessment that SCA (can&#8217;t really speak about JBI) is more of a generic component-centric programming model than a SOA implementation framework. I blogged about it before. However, I do think that SCA is going to provide a lot of value in the area of application architecture and just general component reuse. A technology or a framework does not have to be about SOA to be useful. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bert Lamb &#187; links for 2007-05-08</title>
		<link>http://myarch.com/is-sca-new-java-ee#comment-8072</link>
		<dc:creator>Bert Lamb &#187; links for 2007-05-08</dc:creator>
		<pubDate>Tue, 08 May 2007 09:19:26 +0000</pubDate>
		<guid isPermaLink="false">http://myarch.com/is-sca-new-java-ee#comment-8072</guid>
		<description>[...] Is SCA New Java EE? &#124; MyArch Nice write up on SCA (tags: SCA Apache Tuscany) [...]</description>
		<content:encoded><![CDATA[<p>[...] Is SCA New Java EE? | MyArch Nice write up on SCA (tags: SCA Apache Tuscany) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Ananiev</title>
		<link>http://myarch.com/is-sca-new-java-ee#comment-8043</link>
		<dc:creator>Alexander Ananiev</dc:creator>
		<pubDate>Tue, 08 May 2007 02:17:11 +0000</pubDate>
		<guid isPermaLink="false">http://myarch.com/is-sca-new-java-ee#comment-8043</guid>
		<description>Mike, 

Thank you for your detailed comments and also for clarifications. I can certainly see how SCA can complement Spring and EJB3 solutions as opposed to being an alternative to these technologies. However, taking by its face value, SCA is a component framework/programming model and so are Spring and EJB3. If I understand you correctly, you're saying that Spring and EJB3 could be used as the underlying mechanism for implementing the SCA spec or at least some of its aspects. But as long as we only use SCA for defining our components, as opposed to Spring context files or EJB3 annotations, this underlying mechanism really becomes irrelevant. If as a developer I can implement my entire application using SCA component descriptors/annotations and appropriate policies, why would I need to go to a lower level and deal with the intricacies of EJB3 (assuming that all EJB annotations/attributes can be expressed as SCA policies)? Additionally, adopting a single component model can be extremely advantageous at the enterprise level as not all components could be/should be expressed as services and so there's still going to be a need to share components by physically consuming their code in different applications. 

So I still think that in developers minds SCA will be seen more as an alternative to other component models/application frameworks as opposed to a nice complementary abstraction layer.

Best regards, 
Alexander</description>
		<content:encoded><![CDATA[<p>Mike, </p>
<p>Thank you for your detailed comments and also for clarifications. I can certainly see how SCA can complement Spring and EJB3 solutions as opposed to being an alternative to these technologies. However, taking by its face value, SCA is a component framework/programming model and so are Spring and EJB3. If I understand you correctly, you&#8217;re saying that Spring and EJB3 could be used as the underlying mechanism for implementing the SCA spec or at least some of its aspects. But as long as we only use SCA for defining our components, as opposed to Spring context files or EJB3 annotations, this underlying mechanism really becomes irrelevant. If as a developer I can implement my entire application using SCA component descriptors/annotations and appropriate policies, why would I need to go to a lower level and deal with the intricacies of EJB3 (assuming that all EJB annotations/attributes can be expressed as SCA policies)? Additionally, adopting a single component model can be extremely advantageous at the enterprise level as not all components could be/should be expressed as services and so there&#8217;s still going to be a need to share components by physically consuming their code in different applications. </p>
<p>So I still think that in developers minds SCA will be seen more as an alternative to other component models/application frameworks as opposed to a nice complementary abstraction layer.</p>
<p>Best regards,<br />
Alexander</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Edwards</title>
		<link>http://myarch.com/is-sca-new-java-ee#comment-8024</link>
		<dc:creator>Mike Edwards</dc:creator>
		<pubDate>Mon, 07 May 2007 18:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://myarch.com/is-sca-new-java-ee#comment-8024</guid>
		<description>Alexander,

Nice article - as one of the perpetrators of SCA, I'm glad that you've recognized its potential!

There are a few comments I'd like to follow up on.

"SOA and Web services are not the main focus of SCA" - well, it was certainly the intention that SOA is the main focus of SCA - it's designed as a way of building solutions using an SOA.  I agree that Web services is not such a focus - SCA is designed to "sit above" Web services and mask much of their complexity.  However, you are right in pointing out that it is perfectly possible to build an SCA solution without ever using Web services - using for example messaging via JMS, as you correctly identify in your article.  Many companies have already built solutions of that kind already.

"SCA directly competes with Spring.." - well, in a word, - no.  SCA is designed to fit with IOC frameworks like Spring - they match each other very nicely.  Indeed, you can envisage building a very neat SCA Java implementation using the Spring IOC container as its core, with SCA metadata being used to describe and handle remote services and remote connections. Certainly, Spring can be a great implementation type for SCA in a heterogeneous solution, say using BPEL as you describe.  I'm giving a talk about just this at JavaOne this week.  SCA and Spring share a common philosophy of keeping complex details out of the business code in Java implementations.

SCA has its own simple Java POJO implementation type for cases where other frameworks are not available (an example might be a small device, where space and function are limited).  I agree with you that I would not envisage using both an SCA POJO container and a Spring container in one solution - but Spring has useful capabilities that assist in building a service implementation (eg Persistence integration).

"Spring also directly completes with Java EE" - well, not really.  Java EE can again be one component type in a larger SCA application.  EJB 3.0 beans support the SCA philosophy of keeping middleware APIs out of business code, so they are a good match - but SCA can integrate with EJB 2.1 session beans too.

"On the Web services side it is not entirely clear how SCA is going to be able to support all the capabilities provided by JAX-WS".  This is definitely a case of "yes" and "no".  "Yes", SCA will be able to support all the varieties of underlying SOAP messaging like bare and wrapped, through configuration parameters on the Web services SCA bindings.  "No" in that JAX-WS makes detailed and complex information available through its API, like headers and other stuff that SCA regards as "plumbing" that is best kept out of application code (SCA would deal with such stuff more through binding extensions....)

You hit the nail on the head when you say that SCA is not tied to Service Data Objects (SDO).  SDOs are a great way of handling data, but if you want to use other data handling frameworks like JAX-B, you can help yourself.  Of course, SDO has some advantages, such as treating XML data and relational data in a uniform way, or providing a disconnected data model allowing for retrieval and subsequent update.... (but I wont bore you with all that !).

"Component Interfaces still have to be defined in Java or WSDL" - this is really not true at all.  SCA can in principle support any interface definition language that you choose.  The current SCA C++ specification makes this clear - you you a form of C++ header files to define an interface in C++.  What SCA DOES say is that any "remotable" interface (ie one that might be accessed over a network and may be accessed by a component written in a language technology different from the provider), that must be TRANSLATABLE into WSDL - ie WSDL forms a "meeting point" for different languages and runtimes.  So in the case of C++, for example, there is a WSDLC++ mapping defined, just as there is for WSDL Java.  Whether folks will define interfaces for PHP, Ruby, etc, remains to be seen, but the principle of being able to map to WSDL is important....

You question if SCA bindings are capable of handling different data formats when transmitting data over specific transports - and the answer is "yes".  This is called a "data binding" and it basically says how the parameters of the service operation get mapped by bytes on the wire.  As you rightly identify, there are many possibilities when using JMS over some messaging platform (SOAP over JMS being just one example.....).  The data bindings are a piece of work that the Bindings group are still working on, but Tuscany already has some implementations of these...

Thanks for your interest and yes, Tuscany is well worth watching, along with OASIS, where the SCA specifications have now moved for formal standardization.

Yours,  Mike Edwards
Chair of SCA Assembly working group, Open SOA collaboration.
www.osoa.org</description>
		<content:encoded><![CDATA[<p>Alexander,</p>
<p>Nice article - as one of the perpetrators of SCA, I&#8217;m glad that you&#8217;ve recognized its potential!</p>
<p>There are a few comments I&#8217;d like to follow up on.</p>
<p>&#8220;SOA and Web services are not the main focus of SCA&#8221; - well, it was certainly the intention that SOA is the main focus of SCA - it&#8217;s designed as a way of building solutions using an SOA.  I agree that Web services is not such a focus - SCA is designed to &#8220;sit above&#8221; Web services and mask much of their complexity.  However, you are right in pointing out that it is perfectly possible to build an SCA solution without ever using Web services - using for example messaging via JMS, as you correctly identify in your article.  Many companies have already built solutions of that kind already.</p>
<p>&#8220;SCA directly competes with Spring..&#8221; - well, in a word, - no.  SCA is designed to fit with IOC frameworks like Spring - they match each other very nicely.  Indeed, you can envisage building a very neat SCA Java implementation using the Spring IOC container as its core, with SCA metadata being used to describe and handle remote services and remote connections. Certainly, Spring can be a great implementation type for SCA in a heterogeneous solution, say using BPEL as you describe.  I&#8217;m giving a talk about just this at JavaOne this week.  SCA and Spring share a common philosophy of keeping complex details out of the business code in Java implementations.</p>
<p>SCA has its own simple Java POJO implementation type for cases where other frameworks are not available (an example might be a small device, where space and function are limited).  I agree with you that I would not envisage using both an SCA POJO container and a Spring container in one solution - but Spring has useful capabilities that assist in building a service implementation (eg Persistence integration).</p>
<p>&#8220;Spring also directly completes with Java EE&#8221; - well, not really.  Java EE can again be one component type in a larger SCA application.  EJB 3.0 beans support the SCA philosophy of keeping middleware APIs out of business code, so they are a good match - but SCA can integrate with EJB 2.1 session beans too.</p>
<p>&#8220;On the Web services side it is not entirely clear how SCA is going to be able to support all the capabilities provided by JAX-WS&#8221;.  This is definitely a case of &#8220;yes&#8221; and &#8220;no&#8221;.  &#8220;Yes&#8221;, SCA will be able to support all the varieties of underlying SOAP messaging like bare and wrapped, through configuration parameters on the Web services SCA bindings.  &#8220;No&#8221; in that JAX-WS makes detailed and complex information available through its API, like headers and other stuff that SCA regards as &#8220;plumbing&#8221; that is best kept out of application code (SCA would deal with such stuff more through binding extensions&#8230;.)</p>
<p>You hit the nail on the head when you say that SCA is not tied to Service Data Objects (SDO).  SDOs are a great way of handling data, but if you want to use other data handling frameworks like JAX-B, you can help yourself.  Of course, SDO has some advantages, such as treating XML data and relational data in a uniform way, or providing a disconnected data model allowing for retrieval and subsequent update&#8230;. (but I wont bore you with all that !).</p>
<p>&#8220;Component Interfaces still have to be defined in Java or WSDL&#8221; - this is really not true at all.  SCA can in principle support any interface definition language that you choose.  The current SCA C++ specification makes this clear - you you a form of C++ header files to define an interface in C++.  What SCA DOES say is that any &#8220;remotable&#8221; interface (ie one that might be accessed over a network and may be accessed by a component written in a language technology different from the provider), that must be TRANSLATABLE into WSDL - ie WSDL forms a &#8220;meeting point&#8221; for different languages and runtimes.  So in the case of C++, for example, there is a WSDLC++ mapping defined, just as there is for WSDL Java.  Whether folks will define interfaces for PHP, Ruby, etc, remains to be seen, but the principle of being able to map to WSDL is important&#8230;.</p>
<p>You question if SCA bindings are capable of handling different data formats when transmitting data over specific transports - and the answer is &#8220;yes&#8221;.  This is called a &#8220;data binding&#8221; and it basically says how the parameters of the service operation get mapped by bytes on the wire.  As you rightly identify, there are many possibilities when using JMS over some messaging platform (SOAP over JMS being just one example&#8230;..).  The data bindings are a piece of work that the Bindings group are still working on, but Tuscany already has some implementations of these&#8230;</p>
<p>Thanks for your interest and yes, Tuscany is well worth watching, along with OASIS, where the SCA specifications have now moved for formal standardization.</p>
<p>Yours,  Mike Edwards<br />
Chair of SCA Assembly working group, Open SOA collaboration.<br />
<a href="http://www.osoa.org" rel="nofollow">http://www.osoa.org</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
