 |
16
Sep 2000 |
Thomas Brietfeld,
iCMG Inc. |
A hot and evolving topic that
is rapidly developing is that of component-based
development. “Only 10-30% of components are successful,
and 50-200% cost overruns,” said Thomas Brietfield,
computer scientist, iCMG India, on the component
development scenario.
A component
is a set of procedural codes. It is a language
that is neutral and an independently implemented
package of services delivered in an encapsulated
and replaceable container and, accessed via one
or more published interfaces. Technology for components
makes use of different platforms for different
components and makes them all combinable. A component-based
development (CBD) is a set of techniques and tools
for construction of applications from new and
prefabricated components, and thus provides infrastructure
for reuse as well.
The component
system has developed over the years to Corba 3
that is used today. It started with Pascal and
Cobol in 1970-80’s and then moved on to C++ in
80s and 90s. Distributed object system developed
in 1990-2000. As of 2000-2001, the future is towards
the Corba 3, Java, EJB way. The productivity curve
for development will improve only if there is
a strong and robust architecture that is reusable,
pre-defined and successful.
The Gartner
Group claims, “By 2001, 60% of all applications
will be developed as components.” The Butter Group
on a similar ground expected the CBD to take of
in 1997 itself (according to a 1999 study).
Brietfeld feels
the future of software lies in the CBD market
because components address certain core issues.
They develop applications that are time-based
and using existing technologies. They increase
productivity and speed of delivery without loss
in quality. They also help in legacy and transition
applications. Components remove the need to make
binary decisions between ‘build and buy’ at the
application level.
A component
model ideally consists of an object model with
interface, attributes, binary layouts along with
component architecture that is defined by its
patterns and services. The object model is constrained
by the architecture but is built by using it.
The architecture’s patterns could be based on
an event model, a property model or even on introspection
and reflection. The services offered are directories,
transaction, persistence and security.
Component categories
are plenty. They are business components, data
components, presentation components and process
components broadly. Business components implement
business rules that manipulate data and provide
information. Data components are reused in business
components providing basic services such as create,
delete, list and update. The presentation components
manage the execution of business process workflow.
Any component
should be identifiable, traceable, replaceable
and can be accessed via an interface. For component
interaction, there must be clearly specified interfaces.
|