In-Depth
COM momentum builds
- By Deborah Melewski
- June 26, 2001
The momentum of Microsoft's Component Object Model (COM) technology
has spurred the third-party components market to new heights. Even though a formal standard does not exist for
a component-based framework or architecture, COM has achieved de facto status. The technology's evolution has taken
some twists and turns, though, as Microsoft has evolved its COM architecture through OLE automation, COM and ActiveX
to the upcoming COM+ model.
But will this success last? Certainly, COM has many adherents. Just as certain is the impending battle between
COM and JavaBeans. And while COM is in some ways more established, its next-generation version, dubbed COM+, has
yet to be fully unveiled. Moreover, load balancing and other key ingredients in the transaction-oriented COM+ architecture
cannot be fully implemented until Windows NT 5.0 ships to the public.
What is the status of the COM market as this battle starts to brew? According to Saeed Khan, product marketing
manager, KL Group Inc., Toronto, it is easy to think of the COM market as one big, homogeneous space. However,
Khan said that it can be broken down into three major segments.
"One obvious market is the GUI interface components market," he said. "This would include things
like outliners and charts." According to Khan, this is also the most visible market. KL Group, for example,
provides Olectra Chart, an ActiveX charting component, in this market.
"It's probably the most crowded space, and the most difficult to compete in, because there are a lot of
controls out there," said Khan. "There is a lot of variety and prices are typically low."
A second component market is Design Time Controls, which provide added functionality on top of Microsoft developers'
tools. "This is a less-crowded market, but because Microsoft's tools already have such a huge amount of functionality,
these products would have to provide something on top of what Microsoft already has," said Khan. KL Group
also competes in this segment with Olectra.
The least populated components market, said Khan, is that of server-side products. "These tend to be more
logical in nature, and some may attempt to put logic on the server," he said. "This would be a fit for
the financial services industry, where you might want to encapsulate some type of business logic."
A major trend right now seems to be the move toward Internet technology. In that environment, said Khan, users
may also want to put their business logic on the back end. "In fact, the Internet is typically one of the
first things that developers will bring up," he said.
As Robert Gersten, chief technology officer at Platinum Technology Inc., Oakbrook Terrace, Ill., says, "Widespread
adoption of Web technologies requires components."
Dealing with COM
In the third-party market, and in the organizations these vendors serve, there are companies that have placed
all of their bets on Microsoft. There are also a handful of companies that have invested in both Microsoft's COM
and in JavaBeans with Corba.
"In distributed computing development, it's critical for companies to understand the model they want to
use," said Liz Barnett, an analyst at Giga Information Group, Cambridge, Mass. "In the client/server
world, the tools were based on productivity and that drove the architecture. In distributed computing, it's going
to be more important to understand the architecture first," she said.
Much ADO
Microsoft managers say the upcoming COM+ is key to the company's overarching Distributed interNetwork
Architecture (DNA), which is, in effect, its n-tier blueprint. In fact, Microsoft intends to extend the COM programming
model to the data tier via OLE DB. The next big round of off-the-shelf component releases supporting COM+ will
take the form of OLE DB products from ISG, Intersolv and others.
"OLE DB is COM-based," said Robert Green, who manages Microsoft's FoxPro product line.
But, he points out, OLE DB is a system-level programming interface to data. Soon to be more familiar to programmers
will be an application-level interface to OLE DB known as ADO, or Active Data Objects. These are not to be confused
with ActiveX components. ADO's goal, it is said, is to provide an abstraction layer above OLE DB that does not
require the API-level code-hacking required of the older ODBC programming model. Many ODBC software makers are
looking to develop an OLE DB after-market, as they did with ODBC. An important aspect of the new market is its
support for non-relational data types.
ADO, OLE DB, DNA -- to the casual observer it can
all seem like a mixed-up stew of acronyms created on the fly. "Microsofties" are ready to cede that the
company has been less than adept at naming products and architectures. "We're poor at naming, and change names
too often," said Visual Basic Product Manager Chris Flores. The difficulties show in the (sometimes abrupt)
renaming of interfaces and the like. OLE became Networked OLE. The Internet happened and Networked OLE (sort of)
became ActiveX. COM remained somewhat constant -- although, to distinguish its distributed version, it became DCOM
and will soon become COM+.
Yet there is order in Microsoft's world view, a world that revolves around Windows. COM will
be the thread, said the Microsoft crew, and DNA the blueprint. Use of COM, they added, will stretch from client
components to mid-tier servers to back-end databases.
- Jack Vaughan
|
According to Giga's data, the demand for third-party components based on COM was an estimated $410 million in 1996.
However, the research firm projects a $3 billion market by 2001.
"Microsoft's offerings have been more sophisticated than they have been in the past," said Barnett.
"Their COM architecture is driven by component development [issues]. Even if you don't want to use Microsoft
technology, you have to be aware of it."
Certainly, each technology has its strengths and weaknesses. Java's component architecture has been described
by some as newer, but not as coherent as the Microsoft strategy. On the other hand, Java will support more enterprise
platforms than Microsoft. In Microsoft's corner, is the upcoming combination of Microsoft Transaction Server (MTS)
with COM that will form the highly anticipated COM+. COM+ is expected to bring about new services while helping
to reduce the existing complexities of COM.
Development issues
According to Platinum's Gersten, one concern is the lack of management tools to administrate distributed systems
across the enterprise. "With distributed systems, you must be sure that multiple servers are up and tuned,
and that management tools are available to keep them up. MTS should help alleviate this by acting as a general
purpose application server transparently hosting COM components," he said.
"We do believe that Microsoft COM technology has improved," added Gersten. "It's not completely
mature and robust, and has a way to go in terms of reliability, but there is incredible promise over the long term."
Language support is another issue, and an area that has also been investigated by Platinum. "We've found
that the Visual C++ market is more sophisticated, so we've been putting a bit more into ActiveX," said Gersten.
"Visual C++ is somewhat ahead of Visual Basic in respect to component technology; it has richer support of
object orientation and components."
Corba support in Version 8 of Aion, Platinum's rule-based object-oriented environment, will be used somewhat
in Java, according to Gersten. "Our goal was to deploy intelligent components with a variety of middleware,"
he said. "We don't have a lot of practical experience with Java yet, because there hasn't been a lot of demand
from our customers."
Gersten also finds the Java computing model somewhat splintered between Java- Beans, native Java and Corba.
"[Platinum] believed that Corba is the right way to go," he said of the competing standards. "But
Microsoft's strategy is more coherent.
"There is no question, it's a struggle and it gets dicey when looking across the enterprise," he continued.
"We've been surprised that a number of our customers have already made the Microsoft COM decision. We've found
tremendous support for COM, and there have been a few transactions that we've won due to our support of the COM
technology. Even though it has a way to go in [terms of] maturity, we do think Corba would better embrace the enterprise."
Ever-changing technologies
To sum up Microsoft components technology, Scott Grinis, Platinum's lab director, explained that COM allows
lightweight components to communicate with each other, while DCOM is the same technology designed to run across
distributed computers.
COM and DCOM can be both client and server components, and are independent of whatever tier a user is working
on. ActiveX is very much a presentation tier, Grinis noted, is heavier weight and allows visual components to plug
in together on the client.
Microsoft Transaction Server is an application server that lives on the middle tier. Its main role is to start
the components running, and to let them talk to each other. Increasingly, MTS will be associated with the NT operating
system. Microsoft Transaction Server coordinates activities with the database, and, according to Grinis, is very
important to the component world and for enabling three-tier or n-tier environments.
Platinum's Aion product is COM- and Corba-compliant, and supports both server- and client-side COM, DCOM and
ActiveX components. The intelligent component may run on the client or on the middle tier where DCOM would be used
instead of COM.
Steve Skinner, a systems architect at CPI Corp., St. Louis, said his company chose Aion to help develop information
systems because it provides abstract rules that go into the COM object. "You can have the business rules isolated;
because Aion supports rules within objects, it's a perfect fit," he said. "You don't have to write complex
algorithms, and when you change something, the inference engine handles that for you."
CPI, which owns Sears Portrait Studios and Prints Plus, a retailer that sells pictures in shopping malls, develops
point-of-sale software and executive information system (EIS) applications for its business.
The CPI project involves mostly server development, with some presentation. The company is using Visual Basic
and C++, and, according to Skinner, there have been no problems in using both languages. "Visual Basic is
not the best at making components, whereas C++ can do almost anything," he said.
CPI has also been thinking more about Java. "Java has nice characteristics," said Skinner. "But
when you design something to 'write once, run everywhere,' it can get a little hairy. I've also found that Sun
is not the easiest company to work with."
Because CPI has Unix, Corba is something the company must look at, said Skinner. "Microsoft has a set environment
and we're living in a Windows world, so it is helpful. COM is more mature, and the new COM+ will make it easier.
MTS and DCOM are getting there. In fact, COM and DCOM are already merged, it's just very complex to use."
The migration toward Microsoft
Spinners Inc., a Boston-based professional services firm, specializes in Internet solutions and also works mostly
on the server side. Company President Niraj Shah estimates that 95% of his business is Microsoft Internet technology
based mainly on COM.
Spinners typically keeps the browser "plain vanilla." "Functionality is more paramount than sizzle
on the user interface," said Shah. "ActiveX runs into problems because of the many different browsers
and computers out there. You can't control what people are using on the Internet, and that's where ActiveX could
become dangerous," he explained.
Spinners works largely with Visual Basic. "We've done some C++ as well," said Shah. "We found
Visual Basic a more open environment, it's plug and play, and the skill sets are out there.
Like Platinum, Spinners found most of its customer base gravitating toward Microsoft. "The battle is on
already, with companies having to decide which standard they're interested in," said Shah. "It would
be difficult to get down the road and have to switch.
"Corba has been around for a long time, so I think the speed at which COM is growing is interesting,"
he continued. Microsoft's ease of support is a big win for them, said Shah. "It's cheaper from a hardware
and support standpoint."
According to Shah, "the big thing will be MTS. It's a great off-the-shelf application server, and it will
push components forward." The latest release is fairly new, he said, and many people have not evaluated it
yet, "so if you look at it today, you won't find a lot being done with it. But if you look six months out,
I think it's likely to be de facto."
Planet Direct, Andover, Mass., partners with and provides services for some 280 Internet Services Providers
(ISPs). The company recently introduced an ISP Value Network based on the second generation of Microsoft technology.
Spinners was one of the first organizations to deliver a membership server, a Web-based application for servicing
Planet Direct's ISP base.
According to Bob Hammond, Planet Direct's vice president of engineering, the firm brought Spinners in because
of their knowledge and background in Microsoft technology. "They were the major force behind our first release
and every one since then," he said.
"We wanted to use the most up-to-date, sophisticated servers to allow us to authenticate and provide privilege
access rights to customers," said Hammond. "All of this is controlled by the membership server."
Although it was for the Internet, Planet Direct chose a three-tier architecture for its site. The front-end
component is ActiveX, for dispensing and presenting data to the user. Behind that is JavaBeans, responsible for
the logic accessing the SQL database.
Hammond said that there is a place for both COM and Java with Corba. "I've talked with folks who have done
each. We looked at ease of development and at the development environment, and in our case we had logic. So we
opted for JavaBeans. Everything went smoothly with Java and COM."
Merging technologies
Scot Wingo co-founded Stingray Software Inc., Morrisville, N.C., in order to provide users with Windows-based
object-oriented tools. The firm offers ActiveX components, Java class libraries and add-on libraries for Microsoft
Foundation Classes that provide pre-built functionality for GUI controls, grids, diagrams and charts. Stingray's
recent merger with Rogue Wave Software Inc., Boulder, Colo., adds these Microsoft technologies to Rogue Wave's
object-oriented C++ and Java class libraries and builders.
"We found Visual C++ to be the best way to do component-based development, but we are seeing more of Visual
Basic and Java," said Wingo, now vice president of Rogue Wave's Stingray division. COM, in general, is still
in the early stages, he noted, but there are "tons" of ActiveX controls available.
Wingo agrees that there are weaknesses in the COM market. "It's still very complicated to write COM objects.
The next generation of Microsoft tools will help that. Also, many people would like to see objects, but Microsoft
doesn't have a visual COM yet." Wingo said Stingray plans to provide a visual COM tool with its Visual Case
1.1 product.
"We're starting to see reusability in objects," said Wingo. "You can create a COM object in Visual
C++, then go across languages. With COM, you get a nice binary standard, which you can use anywhere, and that's
a powerful thing. Long term, we see everything going to COM."
ActiveX in the market
Software Artisans, Brookline, Mass., sells ActiveX components that typically run on the Web server. Some client
components are also available from the company, which sells components from its Web site.
"We used to provide more services," said David Wihl, president. "Now, we're working more on the
product side to provide things like COM components that live within Active Server pages and allow a standard browser
to upload a file to the Web server from local PCs." Software Artisans also offers a server-side calendar component
that manages scheduling through a Web page, and a component for the manipulation of archived files.
Wihl has worked with Microsoft COM and Java components, and notes that a lot of what Microsoft says about Microsoft
Transaction Server could be exaggerated. "Scalability is really not supported today," he said, "although
COM+, when it comes out, may solve that."
ProtoView Development, Cranbury, N.J., is another company that has been in the components business long enough
to know the market. ProtoView has been developing software components since 1989 and supplies both ActiveX and
JavaBeans components. The company's products are currently all presentation-based, but ProtoView is working on
a few that will support the middle tier.
According to Dean Guida, president of ProtoView, the company is building ActiveX GUI components for developers
using a wide variety of languages. "It's a challenge for us," he said. "Visual Basic and C++ are
two different types of development, and it depends on skills and what is going on in an organization.
"From a product development point of view," he added, "these COM containers are all different
for each language. That creates some problems, because they will all behave a little differently."
ProtoView offers Data Explorer, an ActiveX component that allows users to display and edit data in a Microsoft
Windows Explorer-style format; and WinX, an ActiveX/OCX user interface components suite. According to Guida, the
COM market today shows improvement. "OLE automation was slow, and you wouldn't use it to build mission-critical
or enterprise applications," he said.
ProtoView will support COM+ when it is available. "Here's a case where Java-Beans has driven Microsoft
to make their components better," said Guida. "COM is everywhere, and you can leverage it across Microsoft
technology. Java makes sense when you're building an application that you want to make available across an IP network
with access for many types of machines."
Hammers and screwdrivers
While many users have already chosen Microsoft technology, some users who are working closely with these technologies
suggest that each has its place in the world. If you ask Dennis Moore, vice president of Apptivity product marketing
at Progress Software Corp., Bedford, Mass., for his thoughts on choosing a "side" in the components market,
he has a pointed tools analogy.
"Asking someone to choose between COM and JavaBeans or Corba is like giving me a toolbelt and then asking
me to choose between a hammer and a screwdriver," he said. "I'd tell them to get lost. You need different
tools to do different things."
As companies spiral out from the intranet to the Internet and extranet, Moore said that people are finding that
they do not have as much control on the client side. It is in that scenario that a case can be made for Enterprise
JavaBeans.
Other key component development issues on the client side include security, size of the components, the ability
to support users, and the ability to run on the wide variety of available computing platforms, said Moore.
"Microsoft would have you believe that ActiveX runs everywhere," he said. "But in reality, it
doesn't. Some people choose Enterprise JavaBeans over ActiveX Controls for these reasons." He added that while
some users choose Microsoft because they think it will give them more consistency, "Corba is there now."
Quite often, noted Moore, it just depends on what users are trying to accomplish.
"You really can't choose between Corba and COM+, because COM+ is still vapor," he continued. "Corba
is scalable, DCOM isn't, which isn't necessarily a bad thing because it scales down well, and with a small server
you wouldn't be using Corba."
Progress products support Microsoft technologies, including ActiveX controls in the Apptivity line of application
development tools, as well as client side ActiveX and OCX in the Progress fourth-generation language. Progress
is also moving to an approach based on Corba and Enterprise JavaBeans. JavaBeans support is currently provided
on the client side in Apptivity, while Corba support is provided on the server side.