SOA Talk - A SearchSOA.com blog

SOA Talk:

 

A SearchSOA.com blog


The SOA blog with observations and commentary for architects and developers about SOA, Web services, integration technologies (ESBs, Grids, XML) and development platforms such as Java EE and .NET

Java EE 6 needs SCA, SAP architect says

Java EE 6, now in the development stage, needs to embrace the service component architecture (SCA) specification, argues Sanjay Patil, standards architect at SAP AG.

The Java Community Process Web page for Java EE 6 indicates that SCA is being considered for the next version of the enterprise platform. So in a conversation at this week’s Java One with the SAP standards guru, SearchSOA editors asked Patil if consideration should move to implementation.

Should SCA be part of Java EE 6?

“I certainly think it should,” Patil answered. “The main reason is SCA is really about assembling applications in a technology neutral way. If it was about a specific platform, such as Java EE, you could say there are enough APIs and libraries for Java applications. But if you look at the key value of SCA it’s about recognizing the fact that customers have different technologies, Java EE, BPEL, BPM systems, traditional EAI systems. They have a variety of communications mechanisms including Web services, JMS, and EDI.”

Facilitating SOA development in these heterogeneous environments was the driver behind the creation of the SCA specification by a vendor group that included SAP, IBM, Oracle Corp., and BEA Systems Inc. SCA is now making its way through the standards process at OASIS.

While there was a dearth of official talk about enterprise Java in the Java One keynote, Patil said the Java Enterprise Edition will be a major player in service component development.

“One of the main component technologies is going to be Java EE,” he said. “Our NetWeaver product is based on Java EE 5. So in our view it is important that Java EE support this high-level composition standard, SCA.”

JavaOne report: Apache Tuscany, can SOA be this easy?

In front of a packed room of a few hundred developers at the 2008 JavaOne conference yesterday, IBM’s Jean-Sebastien Delfino gave a presentation of the Apache Tuscany project, an open source implementation of the Service Component Architecture (SCA) standard. SCA is designed to facilitate a standard method of constructing, assembling and developing composite services and the Tuscany implementation (currently in version 1.2) looks to be ridiculously easy to use.

One of the mantras in the SOA space is that it’s hard to do. Sure enough, enterprise architecture and end-to-end governance come with a high degree of difficulty, but Tuscany seemingly has made it a snap to stitch together a composite, Web-based service. According to Delfino, the idea is to abstract away the plumbing details using HTML-style annotations and map out the business logic of the service.

Version 1.2 of Tuscany (which also leverages the Service Data Objects specification) has added distributed SCA domain management, an Eclipse plug-in, Atom binding through Apache Abdera project, improved JMS binding and an OSGi runtime. Delfino used Tuscany for a demo of a fruit store which starts with an online catalog and shopping cart. For those functions he used carrot tags to name the components and declare their implementations, properties and bindings. The transport protocols could be switched just by changing a tag, Delfino chose Atompub and JSON-RPC. He noted that he was running the service a Java SE environment, saying “It doesn’t have to run in a big app server. … Basically you have an Ajax app designed as a set of SCA components.” He added the whole process takes about 15 minutes.

Then he showed how to add a new component class (vegetables in this case) and a database, the latter of which involved another Atompub feed. After that he added a third-party supplier to the service by inserting a single SOAP binding line. “You can point to a WSDL if you want or specify policies,” he said.

Finally he showed off some widget functionality Tuscany has added to the SCA process, allowing the service to communicate with HTML.

Of the widget he said, “This is still an SCA component. It still talks to the catalog. You don’t need to change the model to speak to the client side.”

It should be interesting to see what the adoption rate for Tuscany is during the rest of the calendar year, particularly in terms of who uses it, because it comes across as being a fairly simple service creation tool. Basically, if you can handle some basic HTML coding, it would seem you’ve got the savvy to use Tuscany.

What’s next for Java? Take a look at GlassFish.

I’m heading out to the JavaOne conference this week and it struck me that Java has had a very quiet year. Two years ago Sun launched Java EE 5 and almost immediately analysts began to call it a heavyweight dinosaur not likely to survive in an SOA world. Sun and others insisted Java would become more modular in the future, but last year Sun concentrated mostly on client development during JavaOne and it’s most momentous move during that past 12 months was to acquire MySQL, which doesn’t exactly point to any new directions for Java.

So what tea leaves can we read? I asked Brad Shimmin over at Current Analysis his thoughts and he said:

My impression with Java’s momentum is that it has reached a point where the platform needs to remain “consistent” top to bottom while affording specialization — much as Spring specialized as an alternative to EJB. I think Java EE 6 heads in this direction greatly with a highly modular approach that lets ISVs certify against particular aspects of the standard. That’s a good thing. Look at GlassFish for a vision of where this whole modularity thing is heading with its use of OSGi.

Well, sure enough, GlassFish v3 has OSGi support and a bunch of cool little subprojects like RESTful Web services, XML pipeline processing and an Ajax UI. Might we see the relationship between OSGi (and probably the Eclipse Foundation) and Java deepen? Now that would be revolutionary. The JCP page on Java EE 6 also mentions that Service Component Architecture could be part of the Java enterprise platform in the future.

Yet it makes you wonder if Java EE 6 has as much to offer the world as GlassFish v4 … or v5 even. Back in 2005, Sun had two hot new kids on the technology block - GlassFish and JBI. While JBI hasn’t gone much of anywhere, Sun continues to push and innovate with GlassFish. Why break a winning streak? What more can be done with the open source application server? Perhaps the biggest news this week won’t be what’s new for Java, but what’s coming up in GlassFish.