.NET at Two Years: Ready for Prime Time?
By Joseph McKendrick
- By Joe McKendrick
- May 12, 2003
When .NET was first unleashed on the world two years ago, there was, at first, confusion about how Microsoft was positioning the new technology. In a marketing-driven attempt to spread its new gospel, Microsoft affixed the .NET moniker to every product it was shipping, regardless of whether or not the product directly supported .NET. Microsoft has since retrenched and removed the .NET designators from all products except its Visual Studio development toolkit.
“When the .NET brand first appeared, Microsoft applied it to a range of unrelated products,” says David Chappell, consultant and author on .NET. “They’re pulling back from this today, as evidenced by the deletion of ‘.NET’ from Windows Server 2003. I’m glad to see this, since the main things people think of as .NET, such as the .NET Framework, will retain the name. Rather than being just a blurry brand, .NET is becoming a clearly defined set of related products.”
The closest definition of .NET may be that of an application server. Yet, analysts are uncertain as to how to even fit .NET into this category, since it’s so closely intertwined with the Windows operating system. “The application server is hard to separate from the operating system,” says Gautam Desai, vice president at Doculabs Inc. “.NET sits on top of the operating system, and is by itself nothing more than a set of APIs. As soon as you install Windows, you have MSMQ, IIS, transaction services, and other services you get in an application server.”
Most application servers, such as IBM Websphere or BEA WebLogic, function as standalone products. One thing is certain, however: .NET is a rapidly growing application server environment. Developers and IT managers working with the NET Framework appear generally pleased with the rapid application development and deployment capabilities offered by the Framework.
A recent survey from Evans Data Corporation finds that Microsoft’s line of development tools – particularly Visual Basic.NET and C#.NET – lead the market in terms of toolkit choices among enterprise developers. The survey also finds that at this time, Java/J2EE has an edge in the enterprise, used by 70 percent of enterprise developers, versus 55 percent for .NET. However, .NET is expected to close in over the coming year, narrowing the margin to 83 percent versus 72 percent.
The success of these competing platforms is heavily tied into operating system choices. “Very frequently, the real choice isn’t .NET vs. Java; it’s Windows vs. Unix,” says Chappell. “Architecturally, the .NET Framework is similar to Java/J2EE application servers. What I most often see is that .NET is used whenever an organization feels that Windows is the appropriate platform, while a Java-based product is used in other situations.”
It’s likely Microsoft’s .NET may even begin to redefine the entire concept of the application server. “Windows 2003 ships with the .NET Framework on it, which gives you an environment for object instantiation, Web service communication and support, and some core services,” says Tyson Hartman, .NET practice director and technology fellow at Avanade. “At the same time, there’s a transaction server built into Windows Server 2003, along with object and connection pooling, queuing, and other services provided by J2EE application servers.”
The ready availability of Web services in Windows may enhance the perceived ease of development through .NET, says Desai. “The other players are certainly providing valuable technology, and more choices for customers from a technology perspective. But customers are still finding it difficult to use a lot of those tools. J2EE development is simply not easy.”
At this stage in its evolution, .NET’s main advantage is its potential for greatly enhanced programmer productivity. One development firm, Empowered Software, grew a client’s application to a million lines of code as it evolved through various releases of Visual Basic. “Over the past nine months, we rebuilt it with Visual Basic .NET, and it's now less than 400 lines of code,” says Keith Franklin, president of Empowered Software.
Empowered Software’s entire client base has been moved to .NET, to which Franklin attributes a 40 percent to 60 percent reduction in project costs. “You still can’t speed up the analysis or testing,” he points out. “But the core savings are in the design and coding part of the application.”
The experience has been similar for other .NET developers. “When you look at just the sheer number of lines of code, versus what we had to do in DNA or in the COM-based world, it’s far less plumbing,” says Avanade’s Hartman. “The less plumbing you have to write, the less you have to test, and the less moving parts that break. That all adds up in the end, particularly in a large enterprise system. For example, the ability to consume and define Web services almost as a point-and-click function with a couple lines of code inside of Visual Studio is pretty amazing.”
In terms of specific application types, .NET is being deployed to support a wide variety of applications. “Any customer today that wants to develop an application – Web based, rich client, components or Web services – can do so with Visual Studio.NET and the .NET Framework,” says Josh Lee, lead technical strategist at Microsoft. “There are lots of development projects underway with large and small companies on .NET. Obviously, where each company is with those projects depends on the software lifecycle and release points.” In a Web services scenario, “the most likely and common used scenario is to use Web services as an integration technology or programming methodology for integrating between a number of solutions or applications,” Lee adds. “That type of implementation adds to internal processing efficiency.” Lee estimates that internal application connectivity represents about 65 percent of Web services projects.
Analysts point out that Web services-driven applications are driving .NET adoption. “The real driver behind .NET is the whole adoption of Web services and XML-based technology,” says Doculabs’ Desai. “.NET has a ton of features related to parsing XML, getting to the data you need in complex data sets, and achieving high-performance database access with their newest version of SQL Server. The crux of it is definitely Web services, features that allow you to very easily create and deploy very fast applications.”
Another change .NET has brought about is the resurgence of the rich client model, which the industry had been moving away from over the past few years. “.NET makes it easy for people to move back to building rich-client applications,” says Franklin. “Over the last five years, we saw many applications that should have been rich-client applications built as Web-based applications, because of the ease of deployment. Browser interfaces are great for looking up information, and doing some light data entry, and light forms-based processing. But not for heavy accounting applications, or line-of-business applications – most of them would be better off with a rich client application.”
The obstacles to .NET deployments as the technology moves into its third year may not be technical, but organizational. “The greatest challenge that we see consistently is around getting an IT organization ready for the deployment and operations of a .NET Framework-based solution,” says Hartman. “If they were historically a Microsoft shop, the tools and processes for building, and deploying and monitoring the code have changed, so that requires quite a bit of training.” Visual Basic developers themselves may need training in the object-based programming model, he adds.
Overall, .NET requires a new way of looking at development and deployment, industry experts agree. “Developers have to think in a new mindset,” says Franklin. “You have to think as a researcher first, and as a coder second. There’s so many things that are already done for you in the Framework, so if you don’t search first, you end up reinventing the wheel.”