SOA Architecture, Governance, and Industry Standards in the Enterprise

Paul Lipton

Subscribe to Paul Lipton: eMailAlertsEmail Alerts
Get Paul Lipton: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal, Apache Web Server Journal, Java Developer Magazine

J2EE Journal: Article

MS Gets It At Last!A Java architect plays with the Beta 2 of .NET...and is pleasantly surprised

MS Gets It At Last!A Java architect plays with the Beta 2 of .NET...and is pleasantly surprised

My first thought, when I heard about .NET, was "Here we go again!" It sounded like yet another attempt on the part of Microsoft to revitalize what appeared to be a fading technology and vision. Increasingly, as a programmer and architect, I was getting the impression that the exciting stuff was happening in the Java universe. For example, there were innovative ideas coming out of the open source community, such as the Apache Struts and Cocoon projects. Also, many of the most interesting books and papers being written were using Java code to illustrate important concepts. All in all, it seemed that many informed minds had already made their language choice. (Besides, I must confess that I've always hated Basic.)

Like many programmers who are comfortable with C++ and Java, I secretly believed that the best programmers preferred object-oriented languages that at least understood what inheritance was, could handle programming exceptions in a mature fashion, and had a syntax that generally didn't remind us of how we used to code back in the pre-PC days (around the time of stone knives and cave dwelling). Also, considering how many times MS had flip-flopped on the issue of Java, there was a general impression that, despite Microsoft's money and its dominance on the desktop, the corporation was lost. They just didn't "get it."

Sea Change for Microsoft?
Well, I've been playing recently with the Beta 2 of .NET, and the biggest shock isn't the dependence on XML or the emphasis on Web services: it's simply that Microsoft finally "gets it." Don't get me wrong; there's not much in .NET that hasn't been done with other technologies. However, .NET does have a consistent technical vision that's at least comparable to what I've seen in competing technologies. Furthermore, that vision is pretty far along.

I won't go down the full list, but see if this sounds familiar to you. As in Java, there is a virtual machine with garbage collection and other enhanced runtime capabilities. On top of this are sets of libraries that demonstrate good object-oriented design principles like encapsulation. Not exactly new ideas, but it's nice to see Microsoft admit that such an approach makes sense. And Microsoft has played to its traditional strengths, as well. The development environment is a thing of beauty. It's comprehensive and carefully thought out. Essentially, everything a developer would want is there to facilitate construction of basic Web services.

NET and J2EE
What does this mean to the many companies that have made sizeable investments in technologies such as J2EE? Expect there to be much marketing hype and misinformation from all sides. For example, Microsoft points out that the .NET virtual machine could run on diverse platforms beyond Windows, which is true enough - but don't expect the major hardware/OS vendors like Sun, HP, and IBM to start lining up for the privilege of porting .NET to their own environments - Microsoft's record on porting to other platforms isn't good. Sure, there are lots of smaller companies that might be able to port .NET, but will major corporations care to depend on these ports?

The same situation exists with languages. Regardless of the legal and marketing issues, Microsoft's recent addition of J# is still a letdown for serious server-side Java developers, as it doesn't support the standard J2EE libraries. However, it does provide a migration path for the small number of loyal J++ users still out there, so all credit to Microsoft for taking care of its own.

More importantly, MS has made a big point of showing how .NET supports multiple programming languages. Picture something like Oberon, Eiffel, and VB programmers all working together. Each, supposedly, would be using the perfect language for the task at hand. But, rightly or wrongly - no flames, please! - most new development today is in VB, C++, and Java (with C# potentially a strong contender just around the corner). The ability to have VB, C#, and C++ work together will be very useful for existing Microsoft customers, but allowing a wider variety of languages may be less useful to many corporations than being able to use a wide variety of vendors. History, of course, will be the judge.

On the one hand, the J2EE vendors are all busy trumpeting the relative maturity of the underlying J2EE platform. On the other hand, Microsoft appears to be one of the clear leaders in Web services, and .NET appears to be built solidly upon a fairly well thought out foundation. So how long is that "maturity lead" that the J2EE community claims going to last?

Timely Focus Issue
That's why this special .NET issue of Web Services Journal is so important. Web services is a much more comprehensive, enterprise-level issue than most vendors want to admit: developing, integrating, securing, protecting and managing Web services are all part of what's needed to be successful. No one vendor, not even Microsoft, will have all the answers. Especially for large enterprises, there are still big questions about how well .NET fits into existing, heterogeneous environments. Some of the most important questions to ask are how do I manage .NET as part of the diverse platforms, systems, and applications already running my business? What are the best ways to integrate .NET applications with legacy applications, and what are the best techniques and solutions?

In the meantime, the industry will witness Microsoft banging the drum loudly when discussing certain industry standards, and remaining conspicuously silent on others. The world of Web services is more than just SOAP, UDDI, and WSDL. There are many other important issues and standards that informed consumers may need to consider. The devil, as they say, is in the details.

More Stories By Paul Lipton

Paul Lipton is VP of Industry Standards and Open Source at CA Technologies. He coordinates CA Technologies’ strategy and participation in those areas while also functioning as part of CA Labs. He is co-chair of the OASIS TOSCA Technical Committee, and also serves on the Board of Directors of the open source Eclipse Foundation, as well as both the Object Management Group and the Distributed Management Task Force in addition to other significant technical and leadership roles in many leading industry organizations such as the OASIS, W3C and INCITS.

Lipton is also an approved US delegate to the international standards organization ISO, as a member of the subcommittee focused on international cloud standards. He is a founding member of the CA Council for Technical Excellence where he leads a team focused on emerging technologies, a Java Champion, and Microsoft MVP.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.