Preference may be the only key

Microsoft's Component Object Model (COM) has arrived in a big way. And it appears that the Common Object Request Broker Architecture (Corba) advocates who have long chided Microsoft for trailing the technical leaders have been left frantically re-examining their object models -- and their business models -- in the wake of Microsoft's all out offensive. COM today can provide secure distributed programming over Distributed Computing Environment (DCE), along with the scalability and robustness of transaction-based processing. To get a picture of where Microsoft has positioned COM in the enterprise, bake together CICS (Customer Information Control System), C++ and secure DCE, and then frost with a sweet GUI (Graphical User Interface) frosting.

Microsoft Transaction Server is the easiest to use TP Monitor yet.

But Corba in the enterprise isn't dead yet. For example, the sudden emergence of Distributed COM (DCOM) has Corba advocates linking arms in a show of support. And, both DCOM and Corba greatly simplify the problem of balancing an enterprise load across an array of servers. Internet Inter-ORB Protocol (IIOP) also has emerged -- belatedly -- as the preferred means of linking previously incompatible products from different vendors.

Adding to this, vendors who have roundly flogged Microsoft for being "closed" and "proprietary" are frantically trying to remove the closed and proprietary nature of their own Corba offerings. Most importantly though, Netscape Communications Corp., Mountain View, Calif.; Oracle Corp., Redwood Shores, Calif.; and IBM have all solidified their commitment to Corba.

To gain a corporate edge

Microsoft, to get a leg up on the Corba competition, has eschewed the idea of middleware and bundled COM, Transaction Server and Message Queuing Server into "enterprise" versions of its operating systems and development tools. And the price/performance of these Microsoft-only solutions looks compelling to corporate information systems departments whose demands are exploding while their budgets are being capped. Instead of development costs of thousands of dollars per seat and runtimes of hundreds of dollars, COM and its enterprise frameworks often come in at near-zero incremental development and runtime dollars. A move to COM looks even more attractive when factoring the price/performance of commodity Wintel machines compared to pricey Unix servers.

But what about the widespread Windows NT scaling myth? Basically, it's just that, a myth. As perpetuated by the popular computer press, the NT scaling myth maintains that NT cannot be scaled to create "large enterprise" solutions. One "proof" offered points to the supposed cap of four processors. Of course NT does not cap the number of processors at four; it does, however, become hard to provide good value in machines with double-digit numbers of processors. Much beyond four processors and memory speed quickly becomes the bottleneck. And with the emergence of gigabit Ethernet, the network is not that much slower than memory anyway. Even IBM chose NT for a recent demonstration of a one billion transactions per day system.

However, Microsoft's most potent weapon for ensuring the corporate acceptance of COM is undoubtedly the Microsoft Transaction Server (also known as Viper). Transaction Server is impressive in how easy it is to use; this will go a long way to ensure its acceptance. MTS provides out-of-the-box integration with any Object Database Connectivity (ODBC) database -- that is, any database in the world.

Also participating in an MTS transaction is Microsoft's new Message Queuing Server (MSMQ). A message queuing server performs a similar function for programs that E-mail provides for people; messages that cannot be delivered immediately are queued in a store-and-forward system for later delivery. Message queuing servers offer guaranteed message delivery, routing, security and priority-based messaging.

Microsoft's Message Queuing Server competes with IBM's popular MQSeries for non-realtime transaction support and, for most software applications, in its rich feature set. MSMQ also provides easy integration with all Windows development tools, Microsoft Transaction Servers and MAPI-enabled clients. Like all BackOffice products, MSMQ offers tight security integration with NT and tight integration with COM.

In addition, Microsoft recently announced "Cedar," a tool to create the appearance of COM objects residing on IBM mainframes. The key component to Cedar is the newly revamped and widely acclaimed Microsoft SNA Server. By taking advantage of Advanced Program-to-Program Communication (APPC) support for transactions, Microsoft is able to draw CICS and Information Management System (IMS) transactions into the MTS framework. Most remarkably, this sleight of hand requires no mainframe footprint. This makes an interesting contrast to IBM's approach of Corba everywhere, and even to Microsoft's DCOM everywhere initiative with Software AG, whose American headquarters are in Reston, Va. Based on this combination, it would appear that it is the Corba proponents who are behind. With the flameout of both Taligent and OpenDoc, Corba zealots cannot point to a single significant object framework written for Corba. (A number are announced, but none are shipping.) While virtually all development tools support COM out of the box, Corba remains a rare and expensive add on. Transaction manager (for example, Pittsburgh-based Transarc Corp.'s Encina) support for Corba also remains stuck in beta testing. And because IIOP works on raw IP instead of DCE, many security issues remain unsettled for this new flavor of Corba.

But is COM everywhere?

Declaring COM to be an intergalactic object standard, Microsoft and Software AG have proceeded to port DCOM to every operating system in the known universe, beginning appropriately with Solaris and Linux. So far, however, these DCOM wannabes are in a Corba-like situation: they have not made it out of beta, and the beta releases are too unsteady to accomplish anything but demonstrations.

Also noteworthy, Transaction Server lacks the robust feature set attainable with products like Transarc's Encina. Dynamic load balancing, for example, is conspicuously absent.

Clearly, Microsoft intends to have load balancing in a future release, but time pressures must have severely constrained the design of the first versions. The tacked on FAQ presents a hand waving argument about how easy it would be to create a load balancing system using DCOM. Yeah right; if it was that easy, Microsoft should have done it. No load balancing sample code is provided either.

So for the present, it seems unlikely that Microsoft will achieve much aside from bragging rights from portable DCOM. Software AG has gotten a tremendous amount of visibility out of its partnership with Microsoft, but at a projected $1,500 a seat license fee, it seems unlikely that DCOM for the Enterprise will contribute much to Software AG's bottom line. DCOM developers all want to know that their efforts could be ported to other platforms. At the same time, however, very few will want the headache of supporting platforms other than NT.

Corba regroups

As Corba advocates pull together to compete with Microsoft's COM/DCOM initiatives, the primary attack definitely comes from vendor efforts such as those at Netscape, Oracle and IBM. These companies, like Microsoft, each provide what could be the enterprise software foundation of the future.

Netscape, for example, has committed to build its future clients around Corba and IIOP. For Netscape, Corba offers a unifying paradigm that helps get away from the alphabet soup that is today's standard Internet protocols. Netscape, like its other Corba cohorts, is loathe to use anything Microsoft, so Corba presents a natural choice. Netscape became the first company to provide a virtually free IIOP (exclusively for Java) bundled with its Communicator client. The company also has partnered with Visigenic Software, San Mateo, Calif., to produce Communicator's object request broker (ORB).

Meanwhile, Oracle's Universal Server also puts the weight of a serious enterprise hitter behind Corba /IIOP. The company has built its Network Computing Architecture around Corba, and more importantly, has adopted Corba as the architecture for Universal Server. Oracle has announced a partnership with Visigenic as well, although no products have shipped as a result.

IBM's challenge, on the other hand, is to wrap its existing enterprise infrastructure with a Corba coating. The newly announced Component Broker promises to do just that, although IBM remains evasive about the rollout schedule. Not that what has been announced isn't ambitious enough: Corba support for AIX, OS/390, OS/2, AS/400, Microsoft Windows NT, Sun Solaris and Hewlett-Packard HP-UX. Components will be offered to wrap DB2, CICS, Encina, IMS and MQSeries. Systems management will be offered through Tivoli's TME product.

A Corba-fied IBM would be the Corba crew's most valuable player. IBM alone goes beyond Microsoft in the richness of its enterprise software offering. In fact, most of what Microsoft offers for the enterprise is modeled after similar products offered first by IBM. For example, IBM has pioneered in system management, messaging, transaction managers, SQL databases, queuing servers and of course, SNA servers. All of this legacy can be a handicap, however. It will be hard for IBM to match the elegance of Microsoft's Transaction Server and remain compatible with legacy environments. If the company even comes close, developers should come in droves. (The year 2000 issue vividly demonstrates the extent to which corporate America will go to preserve its mainframe investment: IBM estimates its value at five trillion dollars.) With its new Corba coating, IBM offers to let enterprise developers give their mainframes a new open systems makeover. Assuming the company delivers the goods, this is an offer that many IBM shops will not want to refuse.

How it shakes out

Microsoft Message Queuing Server provides an easy way to distribute transactions over unreliable and slow WAN links.


In the end, neither COM nor Corba can definitively be said to have an edge over the other. Both have their merits and their drawbacks. So for the vast majority of software developers, the Corba /COM/DCOM battle presents an interesting technical diversion, but one of little immediate impact.

For example, relatively few Oracle developers are going to pitch Oracle because it supports Corba instead of DCOM; instead they will learn Corba. Likewise, BackOffice developers have no interest in Corba; it provides them nothing but added grief. Unfortunately, many programmers will have to deal with both.

It would seem that the enterprise software dilemma comes down to individual preference. This is especially true because, despite the crowd of "component software" visionaries, the market still prefers gargantuan software suites such as Microsoft's BackOffice and IBM's Eagle, as well as SuiteSpot and Universal Server from IBM/Corba cohorts Netscape and Oracle, respectively.

These mammoth software suites will provide the enterprise software foundation of the future, making the choice between Corba and COM/DCOM pale in comparison to the magnitude of a Microsoft versus IBM enterprise software decision. A company's choice of enterprise software will dictate its choice of which ORB -- COM or Corba -- to use.

Jim Hurd is vice president of research and development for the National Software Testing Laboratory, an independent software testing lab based in Philadelphia.