InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Will Sun Add SCA Integration to the Java EE Specification?

Posted by Masoud Kalali on May 21, 2008

Sections
Development,
Enterprise Architecture
Topics
SOA ,
SOA Platforms ,
Java ,
WS Standards ,
SOA Appliance ,
Web Services
Tags
Service Component Architecture ,
Java EE ,
JBI

While the Java community debates over backing SCA or JBI, there are some signs of getting both of them formally incorporated into Java EE 6 (see our earlier coverage of SCA becoming more Java EE-friendly).

There are already some specifications and ongoing efforts for better interoperability of Java EE and SCA artifacts, but to have it officially in the specification is something else.

Recently Jeff Anderson wrote about his chat with Peter Walker, a Senior Staff Engineer at Sun, who is the co-specification lead of JSR 208 - Java Business Integration, concerning formal integration of SCA into Java EE.

The chat between them took place after the discussion panel about SCA at JavaOne 2008, and Peter's answer to Jeff's question about whether Sun will support SCA or not is interesting:

I again tried to press him concerning the rationale of why Sun would not consider SCA, I certainly don't see anything being offered comparably by Sun. His response was that Sun would certainly be open to it, but that their users were simply not asking for it...

Later on Jeff posted The Highlights of SCA at JavaWorld 2008 which includes some interesting points:

IMHO SCA is a better approach than comparable offerings from the JCP world (e.g. Jax-WS, Jax -RS, JBI, etc.). SCA is a true community process backed by both vendors, independence, and professional services organizations. We all heard complaints about Sun's dominance in the Java EE world...

In another part of the blog, Jeff expressed his view about David Chapelle's idea about possible fraction in the Java community because of different programming models:

First of all, Java already has a multitude of programming models; Spring explicitly says that it has its own component model. Not to mention that working with components in a scripting language (like jRuby) is going to use a very different programming model than working with components using the core Java platform language. One of the core strengths of the Java platform is the diversity offers, Microsoft seems to like one approach, one platform, one model, sadly this approach suffers from getting rapidly date, and irrelevant to the people who actually need to use this stuff i.e. the developers.

and

Secondly, the SCA programming model is a POJO programming model, it's based on annotations, XML configurations, and dependency injection. So is uneven adoption somewhat of a concern? Sure because it's a great programming model, but the beauty of DI is that code can be easily plugged into different containers regardless of the model being supported, as long as it's a POJO one, (or POPO) with very little pain, so I think this big concern about disparate programming models is a much ado about nothing.

Appearance of the following comment from Peter prompted Jeff to post a public letter to the Tuscany mailing list asking for any comment or story related to SCA adoption or people's opinion about Sun adoption of SCA:

Peter's comment:

Tell me more about what users want, I'm not hearing it yet. Oh and I'll point out again that JBI and SCA are not in conflict.

What do you think?
Do different programming models really cause fraction in the unified Java community?
Will real world adoption stories and community members comment make Sun add SCA to the Java EE 6 specification?

  • This article is part of a featured topic series on SOA
TLA by Thomas Mueller Posted
True value of SCA? Portability or interoperability? by Jeff Anderson Posted
Re: True value of SCA? Portability or interoperability? by Boris Lublinsky Posted
  1. Back to top

    TLA

    by Thomas Mueller

    SCA: Service Component Architecture

    JBI: Java Business Integration

    TLA: Three Letter Acronym ;-)
    JCP, POJO, POPO, EE, IMHO, Jax-WS, Jax-RS, XML, DI...

    BSB anyone?

  2. Back to top

    True value of SCA? Portability or interoperability?

    by Jeff Anderson

    I also had some additional off-line conversations with David, it seems that the root of our disagreement over SCA is that David feels that the primary value of SCA is being able to create portable services. In my opinion, I like SCA because it allows me to create composite's out of components made of disparate technologies, hence a focus on promoting interoperability.

    Something else I would also like to get other people's opinions on? I.e. where do people see the true value in SCA?

  3. Back to top

    Re: True value of SCA? Portability or interoperability?

    by Boris Lublinsky

    In my mind it is composability. The strength of SCA is its support for explicit dependencies specification without definition of their implementation (dependency injection). This allows to build more loosly coupled components. When components are in place you can combine them into composites, specifying which component implements which dependency and how exactly it can be invoked (bindings + policies). SCA support for components creation using multiple technoloies is an extra bonus.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.