Results of a survey of about 500 Java developers, conducted and posted by CodeFutures, found plenty of interest in service-oriented architecture, but also found many are already having issues in terms of performance bottlenecks. (Results and reactions are also posted at TheServerSide.com.)
The survey finds that three quarters of enterprises using Java (76.5%) are using or planning to move into SOA. While there is always a high percentage of respondents in any survey that say they will someday look into the hottest technology or methodology, this shows that the SOA concept is gaining a lot of traction in the Java community.
There was an interesting admission coming out of the survey, however. More than 31% of respondents said they were having scalability problems with their Java applications, and 56% say they have very high throughput requirements with their Java applications that are currently unmet. This seems to be more of a statement about Java than SOA, but does point to a major challenge that we'll face as SOAs grow in scope and purpose. PJ Murray of CodeFutures is very cautious about the results of this survey, and observes that this result is "technically not a surprise. But its interesting that almost one in three Java developers are willing to ADMIT scalability problems."
About 30% of the group report they have C++ applications that they may wish to use in Web services and SOA. Murray's take on this is while the percentage wanting to service-enable C++ apps is extraordinary, it's careful to note that the question is phrased as 'may wish' rather than a more definitive ‘plan to use’. Plus, the survey went out to high-end companies that likely have C++ application portfolios.
He adds, however, that there were many respondents that did not have C++ development groups in their enterprises that were still interested in C++ Web services. "That seems to imply that legacy applications written in C++ are going to be maintained and used through Web services."
That reminds me of a conversation I had a while back with Cory Isaacson of Rogue Wave Software, who pointed out that there is key role C++ applications can play in emerging service-oriented infrastructures. He said that while Java "certainly has been tremendously successful and it’s a great program in language for business logic, but it’s not so good for back-end processing." Why? Because "it’s very difficult for Java environments to process large XML messages, because Java just can’t allocate memory nearly as efficiently as native code can. With the challenges that we’re going to see with Web services and very large messages, C++ and native code may be the only way to go in a lot of instances."
Murray also points out that the CodeFutures survey was conducted around the time the Service Component Architecture (SCA) was announced, which may help ensure the neutrality of SOA, regardless of languages or protocols underneath.
The bottom line is that SOA will happen in many shapes and sizes. It's all about loosely coupling (or uncoupling) services that serve the pressing business need. The language underneath could be Java or C#, or it could be Cobol or RPG.