TSS Interoperability Blog Correspondent George Lawton met with Mohammad Akif, Senior Architect, Microsoft, at JavaOne. The discussion centered on Akif’s take on WSIT and related phenomena. Akif said service-oriented architecture is finally taking hold. It used to be a small-scale fancy project within an organization that were involved, but now the industry is seeing wide-scale adoption.
Q: What is a typical interop scenario these days?
You have an account opening system implemented in Java system and another in .NET that deals with marketing. Now you need to deal with customers that can span Java and .NET and can have reliable messaging between them. Sun, Microsoft, BEA, IBM, and Oracle have to play nice together. The customers don’t want to throw away their Java assets.
The Web Service Interoperability Technology (WSIT) is an interesting initiative, because it is primarily between .NET 3.0 and Java EE 5.0. However the primary users of this technology are early adopters. WSIT will become more interesting in the future, when more companies move to the technologies.
In the meantime there is a lot of interoperability based Web services which are shared between the different platforms. One of the problems is that there are many choices for how you want to implement Web Services. At the moment, 170 vendors have agreed on the WS basic profile 1.1, which is a subset of the basic standards, and they have committed to testing their products against that set of standards. If you are working to test against this subset of standards, you will be more interoperable with other vendors products.
However, when you want to do reliable messaging and transactions that span tech borders, it does not go far enough. There are other standards that the major vendors have adopted. WSIT goes beyond the basic profile to make sure we do all of the open standards, but adds secure token exchange and transfer across technology boundaries, and we test our technology against those.
We have found that about 70-90% of our customers have both .NET and Java in their systems. I have not visited a single large organization in the last few years that did not have both. They might have decided to standardize on one or the other. But even then, they might have decided to buy a particular product for a certain application.
At the moment, a huge majority is not using Java EE 5.0 and .NET 3.0. They are thinking about moving but have not moved major mission critical systems in entirety. These companies can still develop interoperable applications. We have a large brokerage firm that has a hybrid system with .NET 1.0 and an older version of the JDK.
WSIT improves ease of use in deploying interoperable applications. Without it, there are more things you have to do yourself. If you use Windows Communication Foundation, which is a radical piece of software in terms of the fact that it reduces the numbers of lines of code by an order of magnitude from thousands of lines to tens of lines. Everything becomes possible through the set of technology by default.
Q: Where will middleware add value?
It will add value in terms of some translation and business processing. That is where, if you look at Microsoft BizTalk or Oracle ESB, you are seeing more emphasis on reporting and dashboards. These platforms are now starting to provide more of this out of the box. Why would you want to go with middleware if it is already part of the default? It is not going to go away, but I do see it evolving to a higher level of value.
Q: What are the plans for using WS-Federation at Microsoft?
That is the way forward. All of us on the Java and Microsoft side have tried different approaches. This whole idea of a set of records has not worked. This is where something like a token exchange service comes into play. This is where the WS-Federation standard comes into play. Using this model you can identify a third party service that both parties agrees is reliable and both sides can validate that token. In the future we see more and more of that happening.
Q: What are your ideas for WSIT supporting interoperability with other platforms besides Glassfish V 3.0 and .NET 3.0?In the late 1990s, all of the industry was in a state where inoperability was difficult to achieve. More recently, Microsoft has created teams of people that have produced best practices and patterns for interoperability. We have patterns for working with WebSphere and JBoss. The idea is that there are certain practices you can undertake and we are documenting those and making them available. We have documented the provider model that makes other products first class citizens in the .NET world, which was not the case before.
With Visual Studio, you can access features of Oracle. You can have a .NET mid-tier running against an Oracle or IBM server. Our basic philosophy is that we want for you to be able to choose the product you want. We don’t want to compel you to change your database because you want to use .NET.
One of the big recent announcements was Silverlight, Windows Presentation Foundation Everywhere. That is a cross platform and cross browser technology that is supporting IE, Safari, and Firefox. We want to take away as much coding from you as possible so you can focus on the business logic.
At the show, Microsoft was demonstrating some examples of this technology, including a very high quality video streaming technology that makes watching full-length movies possible. Another demonstration, highlighting WPF (only on .NET 3.0), developed by the British Library, shows the very realistic details possible with the WPF technology.