Database Reference
In-Depth Information
The ultimate promise of component-based development (CBD) is that adaptive enterprise sys-
tems can be composed from components. Unpredictable and discontinuous changes in the mar-
ket trigger technological changes and innovation. Enterprises need to be agile to enable timely
responses to business change as also for adopting to new technologies necessitated by this change.
Strategically, enterprise architecture provides overall structure and set of rules for managing growth
and complexity while simultaneously providing ability to be flexible and agile to meet the existing
and new challenges facing the enterprise. Tactically, it provides a framework for reuse and integra-
tion of preexisting internal and external components as well as newly developed components to
deliver a complete enterprise solution.
Table 10.1 lists the advantages of a CBD approach to Internet-enabled enterprise applications.
10.1.3.1 Enterprise Components
Flexible applications can be constructed by assembling a variety of components (functional
modules) to create newer products and services. CBD involves a range of provisioning technolo-
gies that includes development, reusing legacy systems, and even buying off-the-shelf components.
Although the initial components would have to be developed from scratch, over time, with accu-
mulation of basic components, applications will be assembled more and more from increasing
reuse of the existing components. The process is more of evolution and loosely coupled integration
rather than pure development from scratch every time. However, to accomplish this, the software
would have to be designed as component-based applications, and an infrastructure needs to exist
to support the component-oriented development of applications.
Component-based applications affect a clear-cut segregation between system develop-
ment, deployment, and execution, thus enabling independent development, integration,
and upgrade of components. A component is different from an object in that, unlike an
object, a component is both a unit of functionality and also a unit of deployment.
An organizational structure that enables change is based on reusable elements that are recon-
figurable in a scalable framework. In the componentized architecture, an enterprise application
is considered as a group of enterprise components sharing a common interaction framework and
serving a common purpose. A Framework is a set of standards constraining and enabling the
interactions of compatible system components, where the component itself is an autonomous sys-
tem subunit with a self-contained identity, purpose, and capability and is capable of interacting
with other components. To publish and subscribe function is the ability of a component to handle
events, that is, to notify automatically other components or be notified when something of inter-
est occurs. A component can notify or publish an event to those components that have registered
interest in that event or class of events; conversely, components can register to be notified or sub-
scribe when a given event or class of events occurs.
Enterprise components are self-contained packets or units of defining data and processing
logic. By definition, a component has predetermined hooks or connection points for integration
with a component framework and prespecified interfaces for other components and applications
to access its functions. A precisely defined interface provides a contract between the supplier of
the services and the consumer of these services through this interface; an interface essentially is a
collection of related functions that can be invoked on a component. The interface of a component
 
Search WWH ::




Custom Search