While the public at large focuses on the acrimonious battle for browser dominance, Microsoft is gunning for a broader - and more lucrative - corporate war: the battle for enterprise software infrastructure.
The company launch led a sizeable salvo at the TechEd Microsoft developers conference in the US recently as it details its strategy to build computer systems using server-side distributed components. Attempting to port the ease of use of client-side components brought to the world of GUI development onto the server, Microsoft is placing heavy bets on the next generation of its Microsoft Transaction Server (MTS), dubbed COM+.
Initially described as a "component coordinator" that would act as an object request broker (ORB) and transaction monitor, MTS has been in corporate developers' hands for almost a year and a half, but hasn't fully taken root. Although it has proved it can ease the construction of three-tier applications, MTS has not scaled into the realm of classic high-end online transaction processing (OLTP) applications, according to analysts and users.
COM+ includes the MTS development and deployment tool as well as a series of services, including events, a publish-and-subscribe event model, dynamic load balancing, and queued components via Microsoft Message Queue Server.
At TechEd, Microsoft showed the world that it is offering attribute-based programming, or the capability to build a server-side component and tag it as a transactional object or a queued object.
What for? Although that general goal is quite clear, where that capability will appear has been murky, Microsoft officials concede. MTS 1.0 and 2.0 were released in the Windows NT option pack, but the company has done a poor job of marketing it until now, officials say.
The company is often accused of over marketing and under developing, according to Vic Gundotra, Microsoft's newly appointed director of platform marketing.
"Ironically, MTS has been on the market and we have not managed to get the message across," Gundotra says.
Some believe this is partly because the company's object strategy has been confusing. But Microsoft also realised that the entire development environment needed to support MTS to really make an impact. COM+ functionality has to be built into the Microsoft Repository so components can be stored and accessed by its Visual Studio 6.0 development environment. Visual Studio 6.0 was shown at TechEd.
Simply the naming of Microsoft's component strategy has been tough to follow. In fact, for the past five years Microsoft has had on average one component strategy per year.
First there was OLE, which was based on the Component Object Model (COM). Later COM was extended with its brother Distributed COM for distributed component communication.
Then with the advent of the Internet and Java applets, Microsoft renamed its components, which were called controls, with the blanket label ActiveX to cover its entire strategy. ActiveX even got its very own industry body called the Open Group, whose purpose was to port ActiveX to other platforms, but few results have come of it. To help promote the concept of three-tier, or n-tier, computing and server-side development, Microsoft's transaction coordinator or MTS was created, which is now being followed by COM+.
"The naming madness must stop," Gundotra says. "I have been saying that we should retain the name COM . . . But if you look closely you will see that the strategy and the technology have remained constant, and all that has changed is the name."
This may be so, but in the meantime Sun Microsystems came along and called its version of ActiveX components JavaBeans, and its version of MTS components Enterprise JavaBeans (EJBs). Implementations of EJB, which promise cross-platform development that ties into existing transaction processing systems and CORBA middleware, is where the enterprise battle line is drawn, analysts say.
"Microsoft wants to counter the growing momentum of EJB," says Yifim Natis, an analyst at the GartnerGroup. "EJB today is the state-of-the-art component model." Microsoft is indeed keen to position MTS against EJB and says COM+ goes a step further, offering language choice, database connection pooling, and administration. Once the EJB specification is fleshed out with the Java Transaction Services API and the Java Messaging API, both architectures look remarkably similar, on paper at least, according to ISVs. For the most part, EJB is still a specification with some implementations available from vendors including Sybase, WebLogic, Forte, and Gemstone.
COM+, which was announced last year at TechEd, is still not available.
"We can't give a release date for COM+ because we haven't decided when it will be released," says Joe Maloney, Microsoft's group manager for COM and MTS, in Redmond.
Despite this, the component message from Microsoft is beginning to become clearer. The company will, for instance, offer basic services for component development, including messaging, transactions, remote, and Web capabilities, as well as Active Directory, Active Data Objects, and scalability. These services are eventually headed into Windows NT, according to Mike Risse, group product manager for Visual Studio.
Serving up objects
Microsoft's aim is also to make it easy to build these server components in its tools, and several companies are already doing that. Boeing Aerospace is using MTS to build server-side transaction components that provide the company with inventory management, order processing, and maintenance. "We are a group that is constantly being asked to do more and more for less money," says Boyd Nolan, project manager at Boeing's engineering service division, in Seattle. Nolan is using Microsoft Visual Basic and Visual InterDev to build server-side objects. The objects are then tagged as transaction-aware objects and can be run on top of MTS. MTS is coupled with Internet Information Server to provide application server-like capability, according to Nolan. "I keep hearing that you don't use Microsoft for mission-critical applications," Nolan says. "But we build the systems that manage the inventory for Air Force One, and there is nothing more mission-critical than Air Force One."
However, Microsoft will show developers how applications can be built in Visual Studio and used in server-side programming. Microsoft itself has built an MTS expense-tracking system for use on the Microsoft campus in Redmond, which will be released as a sample code at the show this week.
Moreover, Visual Studio will not be the only environment in which you can deploy server-side objects, according to Maloney.
Senior Microsoft officials have said in the past that the company will never port COM+ or MTS to any other platform because that would erode Microsoft's capability to provide complete integration. Despite this, Microsoft can be expected to roll out a long list of partners for COM+. For instance, in the tools arena the company is thought to be working with Inprise (formally Borland) and Powersoft to enable end users to build server-side components in their tools.
"We think that Microsoft has it half right," says Rob Veitch, Sybase's director and general manager of Powersoft languages. "We agree with the focus on distributed systems over Windows NT and Unix, but our primary focus is on Java. But we will support COM."
Microsoft's protracted enterprise push and the Internet is forcing the company to take other operating system and database platforms into account. For instance, Microsoft is working with ORB vendor Iona Technologies to enable it to run MTS objects within its CORBA-based Orbix Object Transaction Monitor software. Microsoft may have got off to a slow start with MTS just as the company got off to a slow start with Windows and was completely left behind by the Internet. But Microsoft's capability to steer the third-party industry to MTS and COM+ is crucial to its success.
Ultimately, it's Microsoft's desktop dominance and the continued adoption of three-tier applications that will act as a springboard onto the server.
Staking new ground
by Niall McKay
Microsoft Transaction Software (MTS) is coming up on its third version and has been on the market since 1996, but it is only recently that corporations in the US have begun deploying the software to build transaction-based systems.
"The sweet spot for MTS is really electronic commerce," says John Rymer, director and senior consultant at Upstream Consulting, in the US. "It is then that the Visual Basic community needs transaction-based programming. Until now it has not really taken off."
Corporate Software is a software reseller and consultancy that supplies large US corporations with desktop software such as Lotus Notes. For Corporate Software, MTS has provided the opportunity to move its regular customers from a telephone-based ordering system to a Web-based system.
"Corporate customers log on to our site and they get a customised active server page," says Alison Webb, technical project manager at Corporate Software. "Then they make an order and a Visual Basic object is created that pulls up their information from SQL Server."
Corporate Software uses MTS sitting on top of Microsoft Internet Information Server (IIS). Objects are generated from IIS, and MTS coordinates transactions with SQL Server.
However, these transaction objects would typically carry out tasks such as going to SQL Server and pulling up data on a customer; however, they would not carry out automatic billing or credit card verification.