130 likes | 361 Views
CORBA Component. Component model Container programming model Component implementation framework Component packaging and deployment. The Component Model. Component Implementation Definition Language (CIDL) Superset of PSDL Code generation Component type Ports
E N D
CORBA Component • Component model • Container programming model • Component implementation framework • Component packaging and deployment CORBA Component
The Component Model • Component Implementation Definition Language (CIDL) • Superset of PSDL • Code generation • Component type • Ports • Facets: specifies a component’s functionality as a set of interfaces rather than as a single interface with simple IDL interface definition • Configuration ports: specifies how a component can be connected to other components that communicate either through invocation or event notification • Basic component Regular CORBA object • Extended component • Component homes: generalizations of the factory design pattern for creating, locating component instances • Component instances are accessed through regular CORBA object references CORBA Component
Facets • Facets: specifies a component’s functionality as a set of interfaces rather than as a single interface with simple IDL interface definition #include <CosEventChannelAmin.idl> Module ComponentEventChannel { interface ManagedObject { // management operations }; component EventChannelComp supports ManagedObject { // facets provides ProxyPushConsumer proxy_push_consumer; provides ProxyPushSupplier proxy_push_supplier; provides ProxyPullConsumer proxy_pull_consumer; provides ProxyPullSupplier proxy_pull_supplier; }; } CORBA Component
Facets • Component equivalent interface interface EventChannelComp:Components::CCMObject, ManagedObject{ ProxyPUshConsumer proxy_push_consumer(); ProxyPushSupplier proxy_push_supplier(); ProxyPullConsumer proxy_pull_consumer(); ProxyPullSupplier proxy_pull_supplier(); }; CORBA Component
Facets Equivalent interface proxy_push_consumer proxy_pull_consumer Facets proxy_push_supplier proxy_pull_supplier CORBA Component
Configuration and Composition Ports • Attributes and inheritance • Attributes are declared in a component definition • Attributes should be used only for configuration purposes • Inheritance between component types is restricted to single inheritance • Receptacles • A named connection point that accepts interfaces and connects these to the component for future use. • Event sources and sinks • Special facets and receptacles CORBA Component
Component Ports Equivalent interface component Receptacles Facets Event sources Event sinks Attributes CORBA Component
Component Homes • Primary entry point for clients into the world of component • Type managers for component types • Provide set of operations • Default operation: no-argument factory operation for components of the type they manage • More factory operations • Find operations to retrieve individual, preexisting component instances CORBA Component
Component Container • Container: runtime environment for component instances • Functionality of the containers: • Create and manage component instances • Provide a simplified standard API to the CORBA services CORBA Component
Component Container Home Component Client External Callbacks Internal POA ORB Transactions Security Persistence Notification CORBA Component
Component Categories • Component categories is defined in CIDL, not in IDL • Not properties of component types • Categories • Service • Lifetime of service component is restricted to the lifetime of a single operation • Cannot be associated with persistent state • Transient state is not visible to clients • Require no client interaction • Home for service components provides only factory operations, not finder operations • Computation that only return results can be thought of as service component CORBA Component
Component Categories • Categories • Session • Has only transient lifetime and no persistent state • Have a lifetime of client interaction • Online shopping • Process • Has persistent reference and persistent state • Model business processes • Well-defined lifetime • Component home provide factory operations, no finder operations • Entity • Modeling persistent entities • Expose their persistent identity, i.e., a primary key • Home provide a finder operation CORBA Component
Component Packaging and Deployment • Deployment • Selecting target containers for component implementations • Installing component homes and instances from packages • Configuring component properties • Connecting components via interface and event ports • Descriptors • Software package descriptors • Component descriptors • Component assembly descriptors • Property file descriptors CORBA Component