The Current State of CBSE Sule Yildirim, 20. mars 2003
Different Perspectives CBSE with the off the shelf components CBSE with abstract components
Discussion Topics What is CBSE? Why will it work now if it didn’t before? What will it mean to organizations if CBSE does work?
Definitions for component 1) A component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces.
Definition Cont’d 2) A runtime software component is a dynamically bindable package of one or more programs managed as a unit and accessed through documented interfaces that can be discovered at runtime.
Definition Cont’d 3) A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can ve deployed independently and is subject to third-party composition.
Definition Cont’d 4) A business component represents the software implementation of an autonomous business concept or business process. It consists of the software artifacts necessary to express, implement and deploy the concept as a reusable element of a larger business system.
Interpretations on definitions 1 and 4 (especially) underscore the large grained nature of components.Maybe inferrable from 2 but not from 3. 1 and 3 emphasize context dependencies. Only 3 requires explicit description. Inferrable from 4 but not from 2. The notion of component autonomy varies. Ability to be deployed or executed independently?
Two additional characteristics to definitions The relationship between components and object technology. The relationship between components and software architecture.
The relationship to object technology Object technolgy is neither necessary nor sufficient for CBSE. Becuase, by itself, OT did not express the full range of abstractions needed by CBSE. it is possible to realize CBSE without employing OT. moreover, CBSE might induce changes to system design, project management and organizational style.
Workshop notes on OT discussion OT is far too unstable and contentious and will continue to be so. Distributed OT is an infrastructure plumbing and components are larger-grained abstractiones and implementations applicable to diverse infrastructures.
Are components separable from infrastructures? The degree to which components adhere to some set of predefined constraints and conventions. Components are complex design level entities, that is, both abstractions and implementations.
Why CBSE now? Over the past decade, several underlying technologies matured that permit building components and assembling applications from those components. The business and organizational context within which applications are developed, deployed and maintained has changed.
Maturing component technologies Services include, Find out what components are currently connected to the infrastructure. Make reference to other components via some meaningful scheme. Guarantee once-only delivery of messages between components. Manage transactions consisting of multiple interactions among components Allow secure communication between components.
Evolving business and organizational context The style and architecture of the applications being developed have shifted. Fewer resources are left to build new applications from scratch. Some organizations are locked in their software solutions Build on your own but maintenance of a large software is expensive. Rely on a single product from a single supplier. An organization must maintain some stability and predictability in its market. The goals of CBSE match to answer these problems.
Conclusion Customer demands for flexible enterprises coincides with a maturing technology infastructure for building distributed enterprise systems. CBSE is still evolving but its outlines become clearer all the time.