Rise in “Hybrid” J2EE-.NET Apps Prompts Unity
Gartner predicts that 30% of all new apps will be "hybrid" J2EE/.NET within 2-3 years. That is pushing a new era in cooperation among J2EE-Microsoft relations. See how Sun, IBM, BEA, Compuware, Sonic and others, have one-on-one projects with Microsoft to craft a new set of tools, standards and Best Practices for better interop.
The Gartner Group says Java/.NET interop will gain an ever bigger spotlight over the next 2-3 years, as up to 30% of all new enterprise apps will be Java/.NET “hybrids.”
This coming wave in interop requirements is pushing a new era in cooperation among J2EE-Microsoft relations. In fact, Sun, IBM, BEA, Compuware, Sonic and others, have – or are intensifying -- one-on-one projects with Microsoft to craft a new set of tools, standards and Best Practices for better interop.
Inside Gartner’s “Hybrid” J2EE/.NET World
Gartner’s interop research note said, in part:
“The general trend … has been the homogenous use of each technology family within a single application development project. Interaction and integration between [Java and .NET] occurred primarily as a component of enterprise application integration (EAI) efforts. This will change significantly … as many projects will begin to leverage both within the scope of single-application solutions …”No wonder Java’s other top vendors -- IBM, BEA, Compuware and Borland – are all working one-on-one with Microsoft on interop tools, techniques and Best Practices.
This Integration Developer News “Special Report” aims to give devs and architects an armchair tour of the scope and depth of how J2EE leading vendors are working with Microsoft to push the availability of next-gen interop technologies and Best Practices.
J2EE Leaders See a Big Upside to
One-on-One Partnerships with Microsoft
“The Java community… needs to work with [Microsoft on] other side of the fence to build solutions for web services, SOA [Services Oriented Architectures] and such new [approaches],” said Miko Matsumura, who served as Sun’s chief Java evangelist from 1995 to 2000.
“Despite worries from some in the Java community, it’s pretty obvious that Java developers will gain a lot more by doing interop [with .NET] than they lose,” he said. For his part, Matsumura’s is working through OASIS to rekindle the dormant SOA Blueprints project, once hosted by The Middleware Company.
If JavaOne is any indication, the fences between J2EE and .NET are definitely coming down.
Simon Guest, an interop specialist and senior program manager on Microsoft's Architecture Strategy Team, presented at JavaOne. “We were real gratified by our reception at JavaOne,“ Guest said.
Following Microsoft’s Andrew Layman co-keynote with Sun’s Mark Hapner, Guest commented, “we got really good applause from the audience. A lot of developers came by our booth to tell us they were glad we were there, which was good to hear.” The implication being that Java users and developers are also telling Java vendors it’s OK to work closely with Microsoft on interop.
“Customers tell us that .NET has come more front and center for them, [so] our focus on .NET interop has intensified,” said Jeff Jones, IBM’s director of strategy for information management software (IMS).
J2EE/.NET interop is “extremely important” to IBM customers, Jones told IDN. So important, he said that, “[IBM and Microsoft] now have a jointly staffed lab in [Kirkland] Washington.” At that lab, IBM has woven support into DB2 for .NET devs, and made “great progress with our ability to interop with Windows Server 2003 and the upcoming 2005 [version],” Jones added.
Interop is also pushing the agenda at IBM’s Websphere group. “IBM has literally hundreds of people working on interop issues, and we do a lot of joint testing, and work with Microsoft,” said Scott Cosby, IBM's Websphere product manager. “Our [customers’] developers have moved way beyond Java-centric issues, so they need tools that can hook in easily between Java and non-Java environments,” Cosby told IDN. IBM’s Websphere MQ 6.0 added native .NET client code to allow .NET devs to directly invoke MQ without needing an adapter. The code was jointly developed by IBM and Microsoft, Cosby said.
BEA is also intensifying its interop programs with Microsoft, but their approach is a bit different than Big Blue’s. BEA execs say J2EE/.NET interop will be key to providing better “unified support” for .NET and J2EE programming models, making it easier for developers and architects to program in a mixed environment.
Earlier this spring, BEA introduced its AquaLogic Service Bus, an abstraction layer designed to sit above Java/J2EE and .NET environments. The abstraction layer will enable devs to share application assets that used to be frozen in J2EE or .NET silos. BEA CEO Alfred Chuang described ASB’s approach to unifying J2EE and .NET as, “a realization that .NET is something that [J2EE] as an industry can't ignore.. [Microsoft has] made some inroads using .NET in a service-based approach in the back room”.
For Sun Microsystems there are very compelling reasons to partner with Microsoft, and work to improve J2EE/.NET interop tools and approaches. Customers of both companies are demanding interoperability at all levels, but perhaps most importantly interop must come with a unified security model.
According to Sun CEO Scott McNealy, this push back from the marketplace simply can't be ignored. He said that this deeper cooperation with Microsoft is in direct response to, "the prodding of almost every customer we have”. McNealy emphatically stated that customers are telling him, “Cut the rhetoric, Scott, and go get interoperable [with .NET]. Stop the noise”.
As Sun and Microsoft interop experts joined together on the JavaONE stage, McNealy demonstrated a new interop security standard, dubbed Message Transmission Optimization Mechanism [MTOM]. MTOM enables developers to send binary attachments between Java and .NET using Web Services, while retaining the protections offered by WS-* security and reliability specs.
Microsoft’s Guest had this to say about the demonstration, “Today, neither SOAP with attachments (SwA) or DIME works well with WS-Security or WS-ReliableMessaging. So, the light bulbs went off for developers, I think, when we showed [attendees] how they can use MTOM to send a JPEG, a GIF or other binary attachments over web service is a cross-vendor and secure way.” [sic]
MTOM support will be added to the next version of Sun’s JAX-WS and is already included in Microsoft’s WSE 3.0 CTP release. For devs that don’t want to wait, the code is available early access is available now from java.net.
There's even more Sun and Microsoft cooperation in the works. Last May, Sun’s McNealy and Microsoft CEO Steve Ballmer set out their joint agenda for a pair of eye-raising Java/.NET security interop initiatives: (1) The Web Single Sign-On Metadata Exchange Protocol -- to define how a service can query an identity provider; and (2) Web Single Sign-On Interoperability Profile -- to define an interop profile that will allow single-sign on from either Liberty-based or WS-Federation.
Even Java-based firms with well developed messaging technologies are paying more attention to Microsoft's interop efforts.
Sonic Software, a leading provider of JMS and ESB (Enterprise Service Bus) technologies, says interoperable ESB approaches will offer new options for J2EE and .NET interop architects and devs.
“The good news for using ESB as an interop technology is there are elements of Microsoft’s Indigo and BizTalk that smell a lot like an ESB,” said Dave Chappell, Sonic’s vice president and chief technology evangelist. Chappell, who is credited with inventing the JMS architecture, explains, “Indigo, for instance, [will] let you have a message bus to extend into web services for interop messaging, and it promotes an interface for message-oriented and loosely coupled applications.”
Chappell feels that ESBs – whether from the Java or the .NET side – will become an important interop bridge between J2EE and .NET assets. “For all the talk about interop between Java and .NET, we feel there will also be a third target, which will be the ESB.”
Tools vendor Compuware said that customer demand for better J2EE/.NET interop tools is heating up. “Demand [for interop] is starting to hit critical mass for many of our customers,” said Mike Burba, Compuware’s product manager. “We are definitely seeing signs of the ‘hybrid’ Java/.NET applications that Gartner talks about.”
Burba said the jump in “hybrid” projects will change the way Java and Microsoft devs work together. “Today, enterprise [development] has for the most part, had a Java team and a .NET team," he said, "But…, as we see [users] trying to mix assets between [Java and .NET teams] in a single project, devs are running into trouble at the business level. Today, there are just no standards to pass [higher level Java or .NET] components back and forth.”
Burba said that Compuware uses UML modeling and MDA to fill the [data interop] gap. Looking to extend that success to the business logic level, the company is working with Java vendors and Microsoft to improve metadata technologies for data and logic sharing.
Microsoft – Pushing Interop To the Data Layer
Microsoft also sees the need to design “up-the-stack” solutions to cope with the more difficult (and tricky) data interop issues between J2EE and .NET. “I can install any version of Websphere and .NET on two separate machines; and thanks to Web services and standards, interconnecting the two is fairly trivial,” Microsoft’s Guest said. “The real issue for customers is exchanging data.”
As [interop] tools and implementations [in Java and .NET] have progressed, Guest said it is getting very easy to create web services that generate the correct WSDL, XML or XSD. “But these capabilities do little to directly solve data interop pains,” he said. Therefore, Guest and his team are turning attention to some still-unsolved data exchange questions.
Guest pointed out that, “The questions developers should be asking are ‘How do I define a customer, order, or product on one [Java/J2EE] system so that it will correctly translate to a customer, order, or product on another [.NET] system?” Looking at data interop in this way, Guest said, requires customers to make a lot of assumptions about what [they] mean by ‘customer’, and to also make sure that ‘customer’ means the same on the J2EE side and the .NET side. “Even though the basic Web services [connection] technologies are correct, many times we’re crossing our fingers and hoping the data will translate correctly,” he said.
This research work touches many elements, Guest said, including the WS-I Basic Profile, XML, and even data semantics and XML vocabularies. The work is prompting Microsoft to collaborate not only with Java/J2EE vendors, but with providers of SQL/XML databases.
One approach to emerge from this work is an interop-enabling methodology that many in the industry are calling “Contract First.” The approach helps developers better assure their code with interop because rather than a “code first” approach, Contract First alerts devs to how their code will need to interop before it is built.
“’Contract First’ is about defining the contracts for how data will be shared," Guest said. "Typically, that means the developer would not code the application first; rather he would first describe the data – today this can be done by creating the WSDL or XSD file before writing any code. Once the developer has this data definition, then he goes to his platform [Java or .NET] and uses tools to put this data into platform-specific classes. And once that's done, he can work with the data as if it were a native Java or .NET type.”
Bright Future for Java, .NET Partnerships
“We’re already working with IBM, BEA, Sun, Oracle and even Open Source projects to get these data [interop] pieces in place," Guest said. "My prediction is that in the near future, we’ll see more scenarios and patterns for mixed Java/.NET applications come to the forefront." In fact, because IBM and BEA J2EE app servers already support XSD files, , J2EE devs can already take the first steps in building “Contract First” compliant projects that will cut the complexity of being shared with .NET, Guest added.
Meanwhile, with plenty of progress already made – and more expected -- leading Java vendors say these bi-lateral relationships with Microsoft are bound to pick up steam.
IBM’s Scott Cosby summed up his outlook on J2EE/Microsoft partnerships this way to IDN:
“There is a core [in the Java community] that might say, “Shouldn’t everything be done through a standards body?” And, that’s a reasonable question. But we’ve got to realize that standards bodies are the slowest [approach]…We know our developers are [working in] a rich mix of environments, and they need tools that can hook in easily, so we will continue to pursue partnerships and other ways to improve our interop with non-Java development environments.”