.Net or J2EE? It's a personal thing

As Ventera Corp. undertakes new software development projects for government and commercial clients, its lead architects increasingly find themselves choosing one of two platforms to develop their solutions: .Net or J2EE, according to Brian Stygar, chief technology officer for the McLean, Va.,-based IT consulting company.

As Ventera Corp. undertakes new software development projects for government and commercial clients, its lead architects increasingly find themselves choosing one of two platforms to develop their solutions: .Net or J2EE, according to Brian Stygar, chief technology officer for the McLean, Va.,-based IT consulting company. .Net is a product suite offered by Microsoft Corp., Redmond, Wash., for developing Internet-enabled software. Java 2 Enterprise Edition, or J2EE, is the enterprise-focused development specification based on the Java programming language that originated at Sun Microsystems Inc., Palo Alto Calif. Both platforms were singled out by the Office of Management and Budget to serve as the foundation for the 24 e-government initiatives the office crafted last year."These two are the only prominent ones that are relatively proven in industry," said Debra Stouffer, OMB's federal enterprise architecture program manager, during an industry briefing in April.But while the two architectures offer different approaches to quickly ramping up Web applications ? .Net stressing interoperability, J2EE stressing portability ? software developers and consultants are finding the choice between the two comes down not to features, but to customer preference. "It's a really tough argument when you put the features [of the two platforms] side by side. You will find that there are very few areas where they are different," Stygar said. So the choice often depends on "a profile of the customer and its business," he said. For Ventera, 80 percent of its work is done in Java, Stygar said, including the government work through its General Services Administration schedule for IT services. However, more and more the company is helping agencies determine which one of the two frameworks to deploy, a trend it attributes to OMB and the General Accounting Office encouraging agencies to develop enterprise architectures."We're seeing engagements where we specifically make those architectural decisions for them as a unique service, as opposed to wrapping those decisions in an application-development effort," Stygar said. For example, the company is bidding on work with the Department of Agriculture to determine which framework to use. "Agency personnel used to think much lower level about solving problems; now they're thinking much higher ? of which architecture to use to guide them forward," said John Allen Smith, application development manager for Ventera."The government is slowly but surely moving their requests for proposals over to a Web-services environment," said Jim Castleberry, director of federal sales for J2EE development software manufacturer SilverStream Software Inc., Billerica, Mass. Castleberry said his company is seeing changes in the language in requests for information from government agencies, citing the Air Force as an example of an agency aggressively migrating toward Web services."Agencies don't call out Web services [in RFIs], but they call out every single standard Web services endorses," he said. About 20 percent of the company's U.S. sales come from government agencies, including the Defense Information Systems Agency and the Centers for Disease Control, and from government integrators such as Computer Sciences Corp. and Booz Allen Hamilton Inc.While both .Net and J2EE can be used to deploy Web services and form the foundation of enterprise architectures, they use two radically different approaches. "At its most basic level, the overwhelming difference between the two is language independence vs. platform independence," Stygar said. In Microsoft's .Net environment, developers can write applications in a wide variety of programming languages, from COBOL to C that all can run in a single platform. By contrast, J2EE uses only one language, Java, but the code can be executed on multiple platforms, from a Unix environment to Microsoft Windows. For Microsoft, the main selling point of .Net's multiple language environment are the productivity gains it promises. Programmers can write Web applications in their favored languages without being retrained in Java, and developers can assign their programmers according to their strengths in meeting mission requirements rather than by what languages they are most fluent."When you look at it from a practical standpoint, it's a smoother transition to Web services than going over to a J2EE environment," said Dave Brown, a technology specialist for Microsoft Federal Systems."A lot of the integrators I work with are very candid about that point," said Jack Hersey, Microsoft Federal Systems' manager for channels and partners. "When they need to develop an application quickly, they will use the Microsoft platform."While Microsoft offers practicability, J2EE advocates urge organizations to take a longer view of their software acquisition processes. "Over the last decade, we've seen that the main costs over the life cycle of the software implementation is responding to change," said Sun spokesperson Simon Phipps. When older software doesn't interface with newly purchased hardware and software, organizations must undertake expensive upgrades."Java separates the software from the platform it is running on. So upgrading the platform doesn't break the application," he said. Another advantage of the J2EE approach is that development tools are offered by a greater number of companies than .Net, he said. J2EE development software is offered not only by Sun but also by third-party companies, such as BEA Systems Inc., San Francisco, IBM Corp., Armonk, N.Y., and Oracle Corp., Redwood Shores, Calif. A variety of vendors means that more tools are available, and organizations won't be locked in to one company's products, Phipps said.As different as the philosophies of these platforms are, however, development shops aren't seeing a huge functional distinction between the two, especially since both specifications use Web services, an open standard for using World Wide Web protocols for sharing information and applications. "These are two different worlds, but the interoperability between them is very good," said David Litwack, chief executive officer of SilverStream. "With Web services, applications talk to one another through a common protocol. It doesn't really matter [what platform] is serving the protocol," Smith said. "I think for a few years, the two were on opposite ends of the spectrum, but each addressed their weaknesses and now they're coming closer together," he said.Ted Schadler, a research group director for Forrester Research Inc. in Cambridge, Mass., agreed with the assessment that the J2EE and .NET can be interchangeable for many services."If I were advising a business manager I would say there is not a lot of difference," Schadler said. He said Forrester did a report in 2001 showing the costs for building an e-commerce application using J2EE and .NET models would be similar.Each platform does offer unique advantages, Schadler said. Microsoft has been capitalizing on its wide availability on computer desktops. It has successfully leveraged user productivity toolsets in Microsoft Office to enable Web services. For example, an Excel spreadsheet can access data from customer relation management software from Seibel Systems Inc., San Mateo, Calif. On the other hand, if the services are data heavily or require immense amounts of configuration, J2EE still is the best bet. But the two camps are going after the same market with similar tools, Schadler said. "One way to think about it is from data-center out J2EE is going to be moving to .NET and from line-of-business in, it will be .NET moving to J2EE," he said. For example, while Microsoft server software has not traditionally been known for large deployments, recent benchmarks have shown the Microsoft servers to be gaining on Unix-based platforms, Smith said. Likewise, Microsoft's strong suite of offering user-friendly interfaces is being challenged by J2EE tools. "There is less need for us to be on either side of the fence. We can comfortably suggest either one based on what is best for the client," Smith said. Choosing between J2EE and .Net depends on what existing systems are in place and what environment the IT work force is most comfortable in supporting.If personnel are better trained in Microsoft, then .Net would be a better decision, Smith said. If there is a significant presence of those well-versed in the Unix operating environment, then J2EE might be the better way to go. "The fundamental [reasons for choosing one platform over the other] are very subjective," Litwack said. "The important thing is that if you choose one or the other, you have not built a concrete wall between the two. Web services frees you from the religious wars of who has the better mousetrap."

Choosing a platform depends on a "profile of the customer and its business," said Ventera's Brian Stygar, chief technology officer (center), seen here with Kay Sickafoose, a consultant, and John Smith, director of development.

"Over the last decade, we've seen that the main costs over the life cycle of the software implementation is responding to change." | Simon Phipps, Sun Microsystems Inc.

The main selling point of .Net's multiple language environment is the productivity gains it promises, said Microsoft's David Brown (left) and Jack Hersey.

















































































Staff Writer Joab Jackson can be reached at jjackson@postnewsweektech.com.

NEXT STORY: On the Edge