In-Depth

Microsoft makes a play for Web services

Customers say they love their .NET platforms because they’ve helped them to be more productive and reuse code. And they are looking forward to the modeling, teaming and other significant improvements promised in Visual Studio 2005. But observers wonder if Microsoft is pushing Web services too hard at the risk of turning off those who need to develop more tightly integrated applications. Some industry watchers also doubt if Microsoft can penetrate the world of mission-critical enterprise software until it compromises on its insistence that everyone use Windows-based tools for pretty much everything related to development.

<>

Microsoft is certainly not the only industry force pushing Web services these days. IBM, Sun, BEA, Borland and many other suppliers of developer tools are doing the same thing.

However, Microsoft “tends to use all these green field examples,” says Jason Bloomberg, an analyst at ZapThink, a consultancy in Waltham, Mass. “It’s a bit misleading because most Web services are simply new interfaces on existing technology. But a lot of the examples Microsoft uses tend toward brand-new applications.”

Another thing to keep in mind is that “the presence of Web services doesn’t obsolete the need for code — it’s an interface, not a new coding model,” reminds Ron Schmelzer, another ZapThink analyst. “You still need Java, C#, php or Cobol.”

Web services don’t wipe out what’s come before; they simply provide for another level of abstraction to solve a different type of problem, mostly related to integration. And, as some existing Microsoft customers point out, the .NET framework provides the ability to create different types of applications, like it has always done. It’s more that the corporate hype-machine is almost completely focused on Web services these days.

Playing nicely?
Indeed, one of the reasons behind the focus on Web services is to have a stronger story about multivendor integration, an area that’s critical to enterprise customers but one where Microsoft has not been seen as being as strong as some other players. Dana Gardner, a senior analyst who covers application infrastructure at the Yankee Group in Boston, says that perception could hurt Microsoft at this particularly important time in the industry.

“We’ve crossed that threshold where IT is no longer revolutionizing how business is done,” Gardner says. “It’s about how IT can help the business become more efficient.”

As a sort of “factory” that produces applications less expensively, most companies will need to choose just one development platform because of the economics, inefficiencies and training issues involved with multiple ways of creating software, Gardner says. Indeed, one of Yankee’s recent studies suggests that through 2007, some 4 million to 7 million developers globally will change the tools they use for most of their work.

As part of the decision about which platform to use, Gardner says, customers need to consider the essential differences in the philosophies behind Java and .NET. Java has been about open source and giving customers many choices about the tools they can use throughout the development life cycle .NET has been increasingly about driving integration more deeply and broadly into all of its Windows-based products.

Microsoft is betting its message will resonate with the CIO-level crowd, much as the open-source phenomenon began with programmers who enthusiastically embraced the notion of freedom of choice.

If Microsoft wants to be considered in the same breath as some of the traditional enterprise vendors, it “has to go cross-platform,” Gardner says. “IBM and HP will support me on any platform and get me anything I need. Microsoft has to allow the marketplace to write the tools of choice and cross from Windows to Java and back, and reduce the tax that companies have to pay to do both.”

Gardner predicts that mission-critical types of software will “continue to go toward Java” until Microsoft adopts this philosophy.

Not unexpectedly, Microsoft disagrees with that assertion. First, Microsoft makes it clear it will not provide its developer tools on any platform other than Windows. Second, it has some numbers of its own that show an increase in .NET market share relative to Java.

“We’re the Windows company, and I’m not going to apologize for that,” says Prashant Sridharan, senior product manager in Microsoft’s Developer and Platform Evangelism Division. “We believe Windows is the best platform for building apps.” And Microsoft will continue to introduce loads of features and functions to help integrate Windows tools deeper into the Microsoft family.

As for multivendor interoperability, Sridharan says, that’s what Web services are for. “It’s clear that, in most organizations, people have heterogeneous environments,” he says. Microsoft’s development tools will consume any Web service. In addition, developers can modify only those Web services that were created in .NET, assuming they have the permissions to do it, he explains.

Sridharan quotes a survey tool Microsoft uses internally as “the Bible” for developer-related stats. Called DeveloperTracker, or DevTrack for short, the survey shows more than 40% of professional developers use .NET vs. 25% two years ago.

“We’ve been doing DevTrack for over 12 years, and it’s been extraordinarily accurate,” he says.

These internal Microsoft numbers are bolstered by a Forrester Research study quoted by Microsoft execs and conducted earlier this year. In mixed shops with .NET and Java, respondents were asked which platform they would use for the majority of their work this year. Microsoft’s environment was selected 56% of the time.

Another tidbit to keep in mind: Few customers want to do Java and .NET development side by side. If they have both environments, they have separate development efforts and are not part of the same project.

“We don’t see a lot of mixed-mode development,” says Michael Swindell, Borland’s director of Windows development tools. “We’ll see one development group with Java and another with .NET,” with one group perhaps developing an application that needs to get information from the second. “That’s ideally suited for Web services,” he adds.

Microsoft customers: It works for me
For their part, Microsoft customers seem fairly sanguine about these kinds of debates. “We have lots of products, and they’re used by some of the biggest banks in the country,” explains David Spies, senior vice president and chief software architect at Fidelity National Information Systems, a provider of loan and other types of software in Jacksonville, Fla. “A lot of these have settled on Java for enterprise integration. I don’t know how Microsoft is going to break that barrier.”

On the other hand, that hasn’t stopped Fidelity National (no relation to the investment company) from standardizing on .NET as its primary development platform. Like everything else about the computer industry, Spies says, it’s a matter of considering the benefits and drawbacks and understanding that “there’s no magic bullet.” For Fidelity National, “we didn’t spend too much time making the decision” to use .NET over Java, Spies adds.

In 2003, the firm decided to re-architect one of its major loan applications. Originally written in Delphi, the loan software didn’t natively support thin-client architectures or the Web, which customers were asking for.

“One of the major architects of C# -- Anders Hejlsberg -- also wrote Delphi. We looked at the code hierarchies and structures in C# and they looked a lot like Delphi,” Spies says. For Fidelity National, it was a matter of starting in a more familiar place rather than starting completely from scratch.

“Java’s a lot more mature than .NET,” Spies says. “But I figured Bill’s [Gates] got the money and he’ll make it right.”

Joking aside, there were considerations about using a younger platform. “The base .NET controls aren’t as robust as we needed, so we’ve had to do a lot of sub-classes and that kind of thing,” Spies says.

Despite some glitches, it’s been good so far. Support has come from a framework Fidelity National used on top of .NET to help with issues that are common across apps. Called ACA.NET, it’s part of the service provided by Avenade, a Seattle-based Microsoft .NET integrator, and it is not available for purchase separately.

“Our goal is to provide more architectural capabilities right out of the box so that development teams can focus more on the business logic and less on the plumbing,” says Tyson Hartman, .NET Solutions director at Avenade. The firm was formed in 2000 as a joint venture between Microsoft and Accenture.

Fidelity National’s Spies says one of the best parts of ACA.NET is the service-generation framework. “You lay attributes on a class and tell it what type of transmission protocols you want to support. It will generate the code,” he says. Another plus is a logging service to track Fidelity National’s Web services and errors associated with them.

Code reuse in .NET
Other .NET customers are equally enthusiastic. Rob Vettor, senior business technologist at Raytheon’s Enterprise Application Group in Dallas, used .NET to implement an application for tracking everything from missiles to the military radios used in Raytheon’s products. Originally written in ASP, the app was migrated to .NET in 2002. “The primary benefit was that we could build a base set of objects and classes, and then reuse the code,” Vettor says. He says they reuse about 40% of the code within this app.

“Our first version took a year on ASP,” Vettor says. “Then we migrated to .NET and added mainframe data calls” via WRQ’s Verastream host-integration tool that helped to pull different information sources into one place. “We did that in four months,” he explains. Most recently, Raytheon built a new version of its tracking system, tripling its code base in just four months with four programmers.

Vettor is looking for more integrated testing features in Visual Studio 2005. “It would be great if you could step through the code, debug [it] and then it would accept your change and keep going. As things stand now, you have to stop debugging and restart the computer for VS to accept a change.”

Still, that’s a pretty small complaint, he acknowledges. “Now that VS is a single IDE, I can do almost anything on it. I’ve been writing software for 14 years, and before .NET, we always wanted to have this environment and reuse code and do all the stuff your college textbooks said you could. Microsoft has delivered that to us.”

Byron Healy, a senior technical architect with Community America Credit Union (CACU) in Kansas City, Mo., says his organization’s code reuse with .NET averages about 30% in most new applications. When using middleware, that number can go as high as 60%. Helping that along is the use of Logidex, an asset management tool from LogicLibrary that integrates with Visual Studio.

“It’s gone really well. We’ve grown from 50 projects to 100, and we’ve hired only two more people,” Healy says.

One of the features in Visual Studio 2005 that he’s looking forward to is Team System, a way of helping architects collaborate with developers and testers. It promises loosely coupled tools within a tightly integrated framework.

“In the past, we’d bang out the code and throw it over [to] the tester,” or the architect would give a developer a set of diagrams that were pretty much ignored, Healy says. “But now you’ll find that teams aren’t working as individuals anymore.”

In fact, within CACU there’s been a major change in how projects are assigned and driven. There’s now a project office that helps users to figure out what they want and if it -- or part of it -- has been created before. Then a developer is brought in. Another scenario is that the developer is part of the overall architectural team from the beginning of the project.

Most important, Healy says, is that “our original investment in Microsoft tools was $200,000. We’ve had a ROI of $1.5 million in the first three years. I’d rather talk about those numbers [than industry surveys].”

For more information
Microsoft has its full Developer Tools Roadmap online at http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx . It contains detailed information about each tool within .NET, what’s coming within VS2005, and several links to related information.

For a higher-level overview, Eric Rudder, a Microsoft senior vice president in the server and tools business, gave a presentation to financial analysts in July. To read it, visit http://www.microsoft.com/msft/speech/FY04/RudderFAM2004.mspx

Please see the following related stories: Microsoft’s developer roadmap by Johanna Ambrosio

Advice to .NET newbies by Johanna Ambrosio