As the saying goes, imitation is the sincerest form of flattery. Microsoft must be blushing a lot these days. No sooner did Oracle and Sun Microsystems finish lambasting Microsoft's new .NET Framework than each company launched its own Internet application platform—each modeled on the Microsoft .NET Framework.
I'm not surprised that Oracle was the first major competitor to criticize .NET. However, Oracle almost immediately followed this initial burst of criticism with two announcements: portal.oracle.com, which Oracle modeled after the Microsoft .NET Framework, and Oracle9i Dynamic Services, which Oracle modeled after Microsoft's Web Services—a key component of the .NET Framework. If you know anything about Oracle, you won't be surprised by the implementation of Oracle's network application initiative. Oracle designed both new products to use thin clients and big servers—Oracle servers. Like Microsoft .NET, portal.oracle.com is an enterprise portal solution that uses a hosted service model. Oracle9i Dynamic Services delivers a Java- and XML-based framework for creating and managing discrete business services. Although you can find obvious similarities between Microsoft .NET and the latest Oracle announcements, one huge difference is that the Microsoft .NET Framework is platform-agnostic: It doesn't care about the underlying platform as long as the expected Web Services interface is present. In contrast, the Oracle approach requires Oracle application servers. One important aspect that Oracle's strategy and Microsoft .NET have in common is their reliance on XML. Oracle didn't take long to jump on the idea of selling software by subscription, either.
Sun wasn't far behind in announcing its Web services-based architecture, code-named Brazil. Shortly after the Microsoft .NET announcements, Sun roundly denounced Microsoft .NET, blasting C# in particular as an incomplete and inferior Java knock-off. Although I've questioned Microsoft's motives for developing C#, Microsoft has wisely released both the Microsoft .NET Framework Common Language Runtime (CLR) and the C# language to the European Computer Manufacturers Association (ECMA) standards body. With this move, Microsoft has enabled other vendors to incorporate .NET technology and ensure platform interoperability. In sharp contrast, Sun withdrew its Java language and Java Virtual Machine (JVM) from the ECMA standardization process more than a year ago, ensuring that Sun retains sole control over all Java development. Sun's upcoming Brazil project is designed to facilitate integration among applications and Web pages and allow delivery of Web-based applications through a Web browser. However, unlike Microsoft .NET, which is language-independent, Sun has based the Brazil framework solely on Java.
The rapid me-too adoption of Microsoft's development strategies clearly shows that wherever Microsoft goes, others are sure to follow. If nothing else, this wholesale imitation validates the concept behind the Microsoft .NET Framework and the Web Services-based application development model.