Like any new ecosystem, web services need a rich support structure to survive. Microsoft Corp. hopes its .Net architecture, bred for this new environment but with no experience in the wild, will be a fitter competitor than Sun Microsystems Inc.s Sun ONE, which is based on Suns established Java platform.
Key parts of this IT ecosystem are tools that will make it easy for developers to code for .Net or Sun ONE (Open Network Environment). eWeek Labs tested Microsofts and Suns respective high-end development tools, Visual Studio .Net Enterprise Architect Beta 2 and Forte for Java 3.0 Enterprise Edition beta (the Early Access release) to see how well each will support an organization developing Web services.
Visual Studio .Net will ship by years end; prices have not been announced. Forte for Java 3.0 Enterprise Edition will ship this month for Windows NT 4.0, Solaris 8 and Red Hat Inc.s Red Hat Linux 6.2 and will be priced at $1,995.
Before making a strategic tools choice, its critical for IT departments to consider which platform makes more sense for them.
With the luxury of starting from scratch, Microsoft has designed a new programming model in .Net explicitly for Web services and Internet programming. Its also the most costly and complex Windows development upgrade in a decade and will require major retraining of staff, as well as changes—from minor to significant—to existing code bases, particularly for Visual Basic programs and VBScript-based ASP (Active Server Pages) Web pages.
Those who wish to develop .Net applications will find Visual Studio .Net indispensable not only because of its outstanding usability and deeply integrated .Net focus but also because it has little competition in its space.
The Java platform was an equivalent change when it was introduced more than six years ago, but its now a mature, well-tested and well-established server programming language.
Java developers, therefore, have more tools choices. Forte for Java gains appeal with its new support for EJB (Enterprise JavaBeans) creation and its ability to deploy code to the Sun-Netscape Alliances iPlanet Application Server (we tested with iPlanet Application Server 6.0) and XML (Extensible Markup Language)-based Web services. However, it competes with more- polished products, such as Borland Software Corp.s JBuilder. In addition, Forte for Javas lack of SOAP (Simple Object Access Protocol) is a big drawback.
Both of these platforms, however, have big gaps—more because of vendor politics than of technology. Forte for Java supports only Java programming, of course, while Visual Studio .Net provides a single editing environment supporting development in C++, C#, Visual Basic and ECMAScript (but not Java) languages.
Future versions of Forte for Java will support multilanguage development, according to Sun officials.
Visual Studio .Net
Microsoft clouds the air around .Net by using the term as a technology designation and a brand. Lets be clear: The parts of .Net that are actually new are .Net Framework (the .Net run-time and class libraries) and C#, both of which ship when Visual Studio .Net does.
Microsofts server applications have all been given .Net suffixes, but this is marketing fluff—the servers make no use of .Net Framework. The first real .Net server will be the next version of Microsoft SQL Server, which is not expected until 2003.
Wed also like to make it clear that Microsoft developers will find .Net a huge transition. In fact, Windows development could hardly change more. At its core, .Net is a whole new API for Windows and Web programming. After roughly a decade of use, the mature Win32, Windows COM (Component Object Model) and Microsoft Foundation Classes APIs are being shuffled off into retirement.
All these APIs are still supported, and native Windows programs can still be built with Visual Studio .Net. However, Microsofts direction is now toward .Net development.
.Net provides great benefits when developing component-based applications, especially those using Web and XML technologies, because it has a boatload of enhancements for just that purpose: a new run-time environment and shared-type system that allows mixing and matching components written in any .Net language, a new class library, Web forms interface and database access technologies, XML-based wire protocols, file-based deployment (this is the start of the end of the Windows registry), and a new security model.
Transition costs will correspond to how many of these platform changes IT departments decide to use.
Microsofts C# is an elegant successor to C and C++ and, by no accident, is quite similar to Java. However, C# requires developers to learn yet another language.
Both Visual Basic and VBScript have been changed, so mandatory source-code modifications will be needed before old code will run under .Net.
“Were 96 percent compatible, which means nothing will work out of the box,” said Microsofts Scott Guthrie, lead architect for ASP .Net, in Redmond, Wash., of ASP VBScript code compatibility.
Indeed. We converted a VBScript-based bookstore we wrote in ASP to ASP .Net and had to make numerous syntactic changes to add needed parentheses, remote set statements and change links to point to .aspx files instead of .asp files.
However, in our tests of Visual Studio .Net, we found Web services support completely integrated with the product. We could turn an existing subroutine into a SOAP-based Web service callable over HTTP simply by adding the keyword “WebMethod” in front of a normal language subroutine, and Visual Studio recognizes SOAP-based Web services as first-class citizens, along with native Windows objects.
A “Transaction” keyword allows routines to automatically participate in transactions, and a cool “XMLAttribute” keyword let us do simple XML transformations, such as renaming elements without having to use an XSL (Extensible Stylesheet Language) style sheet (although we could have if we had wanted to).
Visual Studio .Net Enterprise Architect offers new modeling features, including conceptual, logical and physical database modeling tools, as well as full UML (Unified Modeling Language) 1.2 diagramming, code generation and reverse engineering. Visual Studio .Net includes tools for writing PDA (personal digital assistant) and cell phone applications.
Many IT managers will also appreciate new coding policy rules (settable in an XML configuration file) that warned us in Visual Studio .Nets new Task List window when we werent following the coding or HTML style guidelines we had applied.
For Web services creation, ASP gets our most-improved-technology award. As weve said before, ASP is a fair-tending-toward-poor Web scripting language and has been over its head for some time. ASP .Net, part of .Net and intrinsic to Web application development in Visual Studio .Net, was rewritten from scratch (in C#, actually). Like its JSP (JavaServer Pages) competitor, ASP .Net is now a compiled language.
If developers give all their variables type definitions, writing in ASP will be as fast as writing in C#—much faster than before.
In what will also be a huge performance boost, ASP .Net adds a new parameter-aware caching subsystem that can cache entire pages, fragments of pages or individual Web services, with cache expiry based on a timeout, a file system change or an application event. This is an area of catch-up for ASP .Net; Oracle Corp., IBM and Macromedia Inc. already ship application servers with various forms of caching.
ASP .Net has a modern state handling architecture; the current ASPs Session object is unusable in clusters because it has no ability to store state remotely. We could now store state information out-of-process locally or on another server or to a Microsoft SQL Server 7.0 or SQL Server 2000 database.
Cookies are no longer required, either; by setting a “cookieless” option in the ASP .Net application configuration file web.config, ASP .Net automatically adds a session identifier to URLs.
ASP and ASP .Net use different file extensions and can run side by side on the same server, although they wont share session information.
Forte for Java
Forte for Java
Unlike .net, suns sun one development strategy is not highly dependent on one tool (even its own). Forte for Java 3.0 Enterprise Edition is a strong player in its space, providing a broad feature set.
Like Visual Studio .Net, Forte for Java provides facilities for constructing high-level objects accessible over HTTP, extensive editing support for XML and XSL files, facilities for Web scripting and lower-level programming, database editing tools, and source-code control.
Forte for Java 3.0 Enterprise Edition allowed us to create session and entity EJBs, a major change in the product that will allow it to compete directly with other high-end Java development tools, including Borlands JBuilder Enterprise.
Forte for Java provides a capable Java and JSP editing environment, although it doesnt have the editing elegance that Visual Studio .Net does. For example, Forte for Java lacks niceties such as cross-file search and replace, and variable name completion.
Using its new EJB template wizards, we could create session and entity EJBs and then edit their properties using property windows (this level of support is standard in high-end Java tools these days). We then deployed the test EJBs to both iPlanet Application Server and Suns J2EE (Java2 Enterprise Edition) Reference Implementation server once we had installed both servers and registered them with Forte for Java.
Forte for Java 3.0 Enterprise Edition introduces a new system of Web- enabling JavaBeans and EJBs. Using a new Web Service wizard, we created a base Web service and then chose which Java methods we would like to wrap XML interfaces around.
Unfortunately, when we created Web services using these features, we had to use an XML-based—but otherwise proprietary—Enterprise Service Presentation format, which is accessible through custom JSP tag libraries Sun provides for this purpose.
Sun also ships integration software for Macromedias Dreamweaver and Adobe Systems Inc.s GoLive Web page editing tools to automate the process of adding Enterprise Service Presentation JSP tags for users of these packages.
SOAP support is coming in the next version of Forte for Java.
Web Server Director Pro
Visual Studio .Net Enterprise Architect Beta 2
Visual Studio .Net provides a top-notch code design, editing and assembly development environment for Wen and Windows applications. New code policy features make this version of the development platform particularly well suited to organizations with established coding style and design policies. For sheer productivity, Visual Studio .Net sets the pace.
SHORT-TERM BUSINESS IMPACT // Numerous thoughtful editing features such as dynamic help, excellent code completion and a built-in task list boost coding productivity, but .Net platform changes will impose retraining and code conversion costs.
LONG-TERM BUSINESS IMPACT // This version of Visual Studio helps smooth the potentially rocky transition path for MIcrosoft development shops to the new .Net run-time environment and C# language. Its focus on creating standards-based Web services will lower integration and business-to-business application development costs.
Beautifully designed, multilanguage application creation and editing environment; includes full forward and reverse database and UML modeling; SOAP-based Web services are first-class citizens will native Windows objects; strong in HTML and native Windows application design; good first cut at support for PDAs and cell phone development code policy rules help standardize coding practices.
Lacks support for Java; mandatory language changes in Visual Basic and ASPs will require code revision of current applications.
Microsoft Corp., Redmond, Wash.; (800) 426-9400; msdn.microsoft.com/vstudio
Forte for Java 3
.0 Enterprise Edition beta”>
Forte for Java 3.0 Enterprise Edition beta
Large organizations developing in Java will find this new Enterprise Edition version of Forte more suited to their needs, particularly with its EJB and XML capabilities. Those jumping into Web services now will want to pick a tool with SOAP support, however.
SHORT-TERM BUSINESS IMPACT // Organizations using iPlanet Application Server will get a productivity boost from Forte for Java because it is much better than iPlanets old Application Builder development tool.
LONG-TERM BUSINESS IMPACT // Forte for Java paves the way for organizations to transform Java objects into Web services, which can result in better code reuse, easier systems integration and more-flexible IT systems.
New support for session and entity EJB, as well as J2EE applications; basic support for XML-based Web services; can deploy applications directly to iPlanet Application Server; includes TeamWare source control system.
Lacks support for SOAP and other standards-based Web services technologies; editing environment is only average; requires several hundred megabytes of memory for decent performance.
Sun Microsystems Inc., Mountain View, Calif.; (800) 786-7638;www.sun.com/forte/ffj