Microsoft's Enduring Rich Client Advantage

 

Catching Up On the Server Side


James Governor
September 24, 2002

IBM and Oracle have both come up with integrated development environments (IDEs) that approach the levels of productivity offered by Microsoft Visual Studio .NET. The Microsoft Visual Studio advantage—based on widgets, wizards, abstractions, flexibility, and integration between different development tasks—has been eroded as other vendors have copied the Microsoft IDE and related marketing strategies. BEA Systems has also come to market with an intriguing wrinkle on the developer productivity issue with its WorkShop tool, which looks like Microsoft Visual Basic but generates Java-based Web Services for its WebLogic application server.

But Microsoft's competitors have only caught up in terms of server-side development, not client-side. That makes sense in an environment in which the focus is almost exclusively on building business logic, back-end infrastructure, and thin-client applications. Java development by major systems vendors over the last few years has primarily concentrated on servers. Java 2 Enterprise Edition (J2EE) is essentially a foundation for building portable networked applications—many of which explicitly target browser-based thin clients. The formal separation of presentation, business logic, and data is a key tenet and model underpinning J2EE development. Although business logic is supposedly independent of presentation, JavaServer Pages (JSP) is a key Java (and J2EE) specification. JSP uses a page-based model for building user interfaces. In addition to using the Web's HTTP for client-to-server communications and HTML for drawing pages on the browser, JSP extends HTML with "tags" that tell the server how to insert dynamic content. But while the new breed of Java IDE is great for building J2EE back-end services and JSP-based browser applications, they offer very little functionality, if any, for building rich GUIs. It's thin or nothing.