4900 17 Componnent Based
4900 17 Componnent Based
Lecture 1
Component Description
characteristic
Standardized Component standardization means that a component used in a CBSE
process has to conform to a standard component model. This model
may define component interfaces, component metadata,
documentation, composition, and deployment.
Independent A component should be independent—it should be possible to
compose and deploy it without having to use other specific
components. In situations where the component needs externally
provided services, these should be explicitly set out in a ‘requires’
interface specification.
Composable For a component to be composable, all external interactions must
take place through publicly defined interfaces. In addition, it must
provide external access to information about itself, such as its
methods and attributes.
Component Description
characteristic
Deployable To be deployable, a component has to be self-contained. It must be
able to operate as a stand-alone entity on a component platform that
provides an implementation of the component model. This usually
means that the component is binary and does not have to be
compiled before it is deployed. If a component is implemented as a
service, it does not have to be deployed by a user of a component.
Rather, it is deployed by the service provider.
Documented Components have to be fully documented so that potential users can
decide whether or not the components meet their needs. The syntax
and, ideally, the semantics of all component interfaces should be
specified.
² Provides interface
§ Defines the services that are provided by the component to other
components.
§ This interface, essentially, is the component API. It defines the
methods that can be called by a user of the component.
² Requires interface
§ Defines the services that specifies what services must be made
available for the component to execute as specified.
§ This does not compromise the independence or deployability of
a component because the ‘requires’ interface does not define
how these services should be provided.
² Interfaces
§ Components are defined by specifying their interfaces. The
component model specifies how the interfaces should be defined
and the elements, such as operation names, parameters and
exceptions, which should be included in the interface definition.
² Usage
§ In order for components to be distributed and accessed remotely,
they need to have a unique name or handle associated with
them. This has to be globally unique.
² Deployment
§ The component model includes a specification of how
components should be packaged for deployment as
independent, executable entities.
Chapter 17 Software reuse 18
Middleware support
Lecture 2
“is the photograph descriptor associated with the catalogue entry as well
as the photograph i.e. if I delete the photograph, do I also delete the
catalogue information?”
-- The context keyword names the component to which the conditions apply
context addItem
context delete