In-Depth
Pre-Built Components Spread Through IT
- By George Lawton
- January 1, 2001
Long
seen as an unfulfilled development panacea, packaged components have overcome
key integration problems with the emergence of integrated frameworks built to
support multiple EJB, Microsoft and CORBA components.
New application server platforms
based on Java, Microsoft technology and CORBA are driving a major change in
the way applications are developed today. These platforms are creating de facto
standards that let developers build components that can be used to rapidly piece
together new applications incor- porating many of the features required for
reliable and scalable e-commerce solutions.
No longer will developers
need to spend many person-years of effort to get new applications off the ground.
By 2003, predicts Michael Blechar, vice president of application development
at the Stamford, Conn.-based GartnerGroup, 70% of new applications will be built
with pre-assembled software components and frameworks.
Pre-built components are
the fastest way to develop customized solutions, agrees Anne Thomas Manes, a
senior consultant/analyst at Patricia Seybold Group, Boston. Although it might
be possible to deploy an e-commerce application with a fully integrated packaged
application faster, it probably would not fit into the existing enterprise infrastructure
or with the desired goals of the business. It would take longer to customize
and integrate the packaged application, explained Thomas Manes, than it would
to piece together pre-built components.
Today's massive demand for
pre-built components was unexpected as recently as six months ago by industry
observ- ers such as Charles Stack, CEO at Flashline.com, Cleveland, which runs
a Web-based software component marketplace. This market, noted Stack, is being
driven by the deployment of Enterprise JavaBean (EJB) platforms by major players
like BEA Systems Inc., San Jose, Calif., and IBM Corp. "Everyone realizes that
if you deploy app servers, you need to put components in place to take advantage
of them," he said.
Pre-built components are
typically built on top of Microsoft, Java or CORBA platforms, which provide
the basic infrastructure to enable objects to interact with one another. Each
category then contains a number of sub-classifications. On the Microsoft platform,
for example, you can use the Internet Information Server (IIS) and Active Server
Pages (ASP), or you can use these technologies in combination with Microsoft
Transaction Server (MTS). In the Java world, you can use servlets, Java Server
Pages (JSP) or EJBs.
Although it is possible
to use CORBA as an infrastructure for component-based development, Patricia
Seybold Group's Thomas Manes believes it is a more difficult environment because
it lacks the full range of built-in, automatic services the others have. There
are about 60 Java-based application server products, she said, but very few
based on CORBA.
"What EJB does for you over
CORBA is that it automates transactions and your data access management," Thomas
Manes said. "It does database connection pooling and result caching, and that
makes the database work a lot faster. Generally, it has automated security systems
and automated state management, which are pretty difficult to do. If you are
building based on CORBA, you have to do all of that writing yourself."
But as Andrew Watson, vice
president and technical director at the Framingham, Mass.-based Object Management
Group (OMG) noted, more than half the world's programmers still make their living
writing COBOL. "If you commit to using Java, that is great for new apps, but
it will not help you integrate with existing systems," he said. "We believe
there is a demand for a component platform that is compatible with EJB, but
not tied to the Java programming language. We feel there is a complementary
relationship there."
In response, the OMG has
developed the CORBA Component Model (CCM) specification. The CCM spec builds
on EJB and envisions a system of cooperating containers, each of which specializes
in components of some type. The real benefit of CCM is that it supports a variety
of language types, including C++ and COBOL, said Watson. CCM is in the process
of being implemented by companies such as Iona Technologies and Oracle Corp.
Patricia Seybold Group's
Thomas Manes believes that choosing a component model is a personal decision
that boils down to two primary criteria. First, are you willing to develop the
system entirely on Windows NT or Windows 2000 (which means being completely
dependent on one vendor), or do you want the flexibility to go to other platforms?
Second, are you willing to do all of your development in Java and give up the
option of writing in other languages?
"If you build to the Microsoft
platform, you are forever tied to the Microsoft en- vironment, and you will
have to wait for them to develop the new capabilities," said Thomas Manes. "If
you go with Java, you have 42 vendors today, and more in the future. That gives
you more deployment options."
Simplify with a framework
"Today, many applications
and Web projects are using specially developed or tailored code to create applications.
The problem is that you end up with a lot of proprietary code and the application
does not have a foundation on which you can rest your components," said Philippe
Brawerman, president, CEO and co-founder at Reef, a San Francisco supplier of
a modular suite of Internet apps.
While it may be possible
to find a bunch of components, customize them and write glue code to allow them
to work together, it might be easier to start with an integrated component framework
in which the pieces are designed to work together from the start. Among the
frameworks available in the e-commerce sector are ECential from Evergreen Internet
Inc., Chandler, Ariz., BEA Systems' WebLogic Commerce Server, IBM's WebSphere,
Reef's Internetware and the CoreCommerce component framework from CoreCommerce,
New York City.
Studeo Interactive, a Salt
Lake City-based Internet developer, has been using Evergreen's ECential framework
to create e-commerce applications. "In the past, we developed our own CGI apps
and ran into scalability, content management and site administration problems,"
said Todd Shepherd, partner of Internet Services at Studeo. "With ECential,
we have been able to streamline the process. It allows us to focus on organizing
site assets, and provides an interface to do that easily and efficiently. It
also provides our clients with a tangible asset for all of their site content."
With standard code writing methodologies, a company may be left with unmanageable
code and no documentation, support or consistency within the methodology. "They
end up scrapping it and coming up with a new solution, or [they] 'band-aid'
the old solution," said Shepherd.
Integrating components has
proven to be far faster for Studeo than the old approach of writing code, Shepherd
added. "We have a specific client that had 72 products in their site, and they
wanted to change the overall look and feel. In the past, that would have taken
months; with ECential we were able to do it in three weeks," he noted.
Shepherd has used other
monolithic e-commerce packages from Intershop and Open Market, but found they
limited development of the user interface and provided less flexibility on the
content management side. Furthermore, they were far more expensive than approaches
based on a component framework.
"I truly believe that e-commerce
sites are getting too complex and that the needs of organizations are getting
too vertical for any one organization to create a package to support," said
Shepherd. "A component framework approach gives us much more flexibility in
trying to piece together best-of-breed components into an app." Thomas Manes
at Patricia Seybold Group agrees. Frameworks, she said, are significantly more
customizable than pre-packaged applications because they are built as components,
rather than as a complete solution. It is relatively simple to plug in components,
add new features and extend them out.
"The folks who offer e-commerce
frameworks allow you to very rapidly deploy a customizable solution. You can
usually get them deployed as quickly as or more quickly than integrated solutions.
[For example,] SAP takes two years to deploy because you have to do a lot of
customization for it," she explained.
"You have the same problem
when you are trying to deploy an e-commerce solution," she added. "You can buy
it, but if it does not match the way you are trying to do your business, you
have to customize it. The component frameworks are designed to be customizable,
which allows you to rapidly deploy a system that matches your business requirements.
I think this is a much more valuable solution than trying to force fit someone
else's vision of what to do."
Although vendors of pre-packaged
applications may have a basic idea about how an e-commerce system should work,
Thomas Manes points out that each company is different in terms of the way it
does accounting, inventory, fulfillment and shipping. There are also issues
concerning how to customize pricing and display information to different customers.
Other variables might be the kind of loyalty programs and service policies that
are presented to customers. Ideally, you want a system that allows you to modify
policies in order to differentiate your online storefront from the competition.
In addition to the basic
commerce component frameworks, there are a number of other frameworks for specific
applications or vertical markets. For example, Seattle-based nPassage Inc. provides
a Web-based solution to buyers and sellers of transportation services that facilitates
the transport of heavy freight inventory between trading partners in a supply
chain. The company has developed a component framework for logistics that allows
customers from anywhere in the world to log on, book and track shipments. iMind
Education Systems of Mill Valley, Calif., has a framework for the education
market. The company used Persistence Software's PowerTier PowerSync to create
a software infrastructure consisting of several re- plicated, geographically
dispersed sites, rather than a centrally located server. iMind's intelligent
portal provides teachers, students, parents and administrators with access to
productivity tools, educational software, administrative data and library resources.
"We think this component
approach is important both within and between enterprises," said Aubrey Chernick,
president and CEO at Candle Corp., Santa Monica, Calif. "Within an enterprise,
we see a lot of corporations with silo e-business-types of projects and they
are developing a lot of spaghetti code. First mover advantage is important.
If you want sustainable e-business speed, you need a sustainable e-business
architecture."
For internal company applications,
Candle has developed the Candle E-business Platform to act as a backbone for
component integration. Candle is also in the process of creating an extended
business-to-business component framework that will help simplify the creation
of applications that span business partners. Several years, ago IBM began work
on its component framework, called SanFrancisco. The latest implementation of
the framework is EJB-based and targeted primarily at back-office applications,
and a number of IBM business partners are extending it into the e-commerce arena.
Delta Capital Technologies, for example, has created a component package called
relBuilder to ride on top of SanFrancisco.
"The premise of relBuilder
is that it provides the drag-and-drop functionality of e-business applications
so that the business user, and not IT, can provide the daily management of e-business,"
said Kevin Wong, a vice president of technology at Delta Capital Technologies,
Calgary, Alberta.
"The result is a lower
total cost of ownership and a massively shortened time to market of e-business
initiatives," he said. "For example, a complete portal can be built using relBuilder
in days or weeks, not months, and at a cost of one-quarter to one-third that
of competing solutions."
The development methodology
consists of a requirements analysis, preliminary design and the assembly of
building block, brick-like pieces into an application. It avoids much of the
construction phase of coding and debugging, although developers have to create
some glue code to integrate the SanFrancisco platform into financial and inventory
systems. Despite the relative simplicity of this approach, Wong believes IT
personnel will continue to be needed for requirements analysis, consulting,
integration, training, maintenance and upgrades. This approach does free IT
from the daily management of business rules and relationships, as these functions
can now be done in a drag-and-drop environment by business management.
Creating the component
marketplace
ObjectSpace Inc., a Dallas-based
business-to-business integration company, sells OpenBusiness products that are
said to enable organizations to streamline their collaborations, communications
and integrations with trading partners on the Web. ObjectSpace has built a new
component distribution model that allows components to be accessed on the fly
instead of being run on the application server itself. This platform can be
used to deploy services in a component wrapper. Galileo International, Rosemont,
Ill., uses ObjectSpace's framework to offer access to travel information that
can then be embedded into an application as a set of components.
The interesting thing about
ObjectSpace's approach, observers say, is that its OpenBusiness Gateway enables
the component to be written in CORBA and accessed via an ActiveX call.
"If you are going to publish
a component, the gateway does the translation between the back end and whatever
technology the subscriber would like to use on the fly," said David Norris,
president and CEO at ObjectSpace. "We support most of the major standards, such
as CORBA, DMI and Java. The end result is that you can do your business development
that much faster."
One of the difficulties
with using components lies in finding the right one to fit your needs. A number
of online component marketplaces, such as Flashline.com and Marietta, Ga.-based
ComponentSource, have sprung up to meet developers' demands for enterprise-class
components. Flashline.com maintains an XML database of all existing components,
regardless of whether they are sold on Flashline.com or not. If a desired component
cannot be found, Flashline.com has a developer outsourcing service that enables
a company to contract out to one of 2,000 developers. ComponentSource has a
repository of more than 2,200 components available on its site, and that number
is growing at the rate of about 40 components per week.
To speed and simplify a
developer's search for components, the Component- Source Repository Integration
Kit lets corporate customers view its repository from within an intranet. Siemens
has deployed this application on an intranet to enable its 4,000 developers
to find components as required. "A company might not want its employees to travel
the Internet," said Sam Patterson, CEO at ComponentSource. "We can give them
access to that on the intranet via XML."
One of the fears associated
with developing an application through the use of outside components is the
potential for problems. Both Flashline.com and ComponentSource maintain support
and return policies. If a developer is having trouble with a component, they
can call these marketplaces for support. If the bugs cannot be worked out, or
the use of the component is unacceptable, it can then be returned for a full
refund.
Concern that a component
vendor might cease to support a component or even go out of business is another
user worry. Such a situation could cause problems because many components are
black boxes that are compiled, which prevents users from seeing the source code.
ComponentSource allows a company to buy source code escrow at the same time
they purchase a component. If a problem then emerges with the component creator,
the company can get the source code to maintain the component on their own.
"It's like an insurance policy if something goes wrong," said Patterson.
Testing components for
assembly
Whether a component is written
in-house or acquired, there is no guarantee that it will be completely bug-free,
or that it will behave properly when it is integrated with other components.
"Imagine if you got on an airplane and the pilot announced that every component
had been hand-crafted and had never been used together before," said Flashline.com's
Stack. "[Could you] enjoy your flight?"
To allay such fears, Flashline.com
recently announced a three-phase testing service for components. The first phase
examines the quality of the code to determine if it meets standards for good
coding practices and runs as intended. The second phase looks at class-level
performance testing to determine if there are any bottlenecks or memory leaks
that need to be addressed. The third phase looks at server-side load testing
to see how many users it will support for a real-world application. Flashline.com
performs this kind of testing not only for the components it sells, but also
as a service for companies that want to make sure that the components they have
developed in-house are reliable enough for real-world applications.
"What is evolving is the
necessity to build tests for components in which you drive the component as
part of a subsystem in order to verify the signature and interface," said Ed
Humphrey, senior product manager in the automated testing business unit at Rational
Software Corp., Cupertino, Calif. "In particular, components will be updated
with new versions and repairs, and you need to do a bit of regression testing
as you integrate them. You need to make sure they support the expected behavior."
By way of analogy, an auto
assembler might want to first test a fuel injector on its own, and then test
the engine with the fuel injector integrated into it. Once that worked, the
entire engine would be assembled and placed into the car. "The majority of testing
on the fuel injector was done long before there was a hood and a shiny new car
put together," noted Humphrey.
Predicting the future
Leading IT vendors are
already pondering the days when better integration tools will make the need
to write glue code a thing of the past. "Any standard leaves enough room for
interpretation, so you can create incompatibility problems," said Steve Rosenberg,
vice president of WebSphere business components at IBM. "We think EJB is a great
standard and solves a lot of this. We are working on an interpretation of that
standard that gives a more plug-and-play type of environment between components."
For his part, Patterson
at ComponentSource predicts a time when users will be able to use an online
component wizard to build an e-business application. The wizard will ask about
the language skills of the developers and the target platform, and then provide
a checklist of desired features. Users will then be presented with a list of
components and frameworks, along with a Unified Modeling Language (UML) model
that will allow them to automatically generate 85% to 90% of an application
with the help of some glue code to integrate the pieces. And Flashline.com's
Stack believes that in the near future we will see a broad framework of available
components emerge for application servers on a horizontal plane. After that,
there will be a huge boom in vertical components. These vertical components
will be far more expensive, however, because there will be a higher level of
specialty flowing into a smaller market.
"Customers are going to
be a lot happier with these framework solutions than with closed solutions,"
said Thomas Manes at Patricia Seybold Group, who sees a future in which there
are fewer monolithic applications and a lot more component-based solutions.
"I cannot ever imagine making a decision in this century to spend the next 20
years trying to install SAP, for example. You are so much more nimble if you
work with these small adaptable environments, rather than with centralized systems.
If you cannot customize and deploy the application system in less than six months,
you have a problem. Time to market does not support that approach anymore."