DF14900 Software Engineering TDDD05 Component-Based Software CCM: The CORBA Component Model Portable Object Adapter (POA) revisited Portable Object Adapter (POA) revisited CORBA Objects CORBA Objects CORBA Component Model (CORBA 3.0) CORBA Component Model (CORBA 3.0) Szyperski: Component Software 2e , Chapter 13.3 Szyperski: Component Software 2e , Chapter 13.3 Christoph Kessler, IDA, Linköpings universitet, 2010.
Portable Object Adapter (POA) revisited CORBA object = Object ID + servant instance + mapping Client Server Servant POA – ”MyPOA” policies ... Object ”Fred” references Servant ”Anna” Active Object Map Image adapted from: F. Bolton: Pure CORBA , Sams Publ., 2002. maps object IDs to servants DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 2
Confguring a POA POA policy type Allowed values RootPOA Child POA policy default pol. ThreadPolicy ORB_CTRL_MODEL (multithr.) SINGLE_THREAD_MODEL LifeSpanPolicy TRANSIENT PERSISTENT IdAssignmentPol. SYSTEM_ID USER_ID IDUniquenessPol. UNIQUE_ID MULTIPLE_ID RequestProcess- USE_ACTIVE_OBJECT_MAP_ONLY USE_DEFAULT_SERVANT ingPolicy USE_SERVANT_MANAGER ServantRetention- RETAIN Policy NON_RETAIN ImplicitActivation- NO_IMPLICIT_ACTIVATION Policy IMPLICIT_ACTIVATION DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 3
Confguring a POA, continued Remark: Not all theoretically possible combinations make sense / are permitted. RootPOA: The default POA when the server comes up Customized child POA’s can be created with different policies DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 4
Life span of CORBA Objects Controlled by POA life span policy Transient objects Lifetime bounded by lifetime of server process that created it and of its POA Usually, short-lived Persistent objects Lifetime unbounded Its creating server can be stopped and restarted multiple times Dormant when its POA is destroyed; reactivated when its server is restarted and POA is reinstantiated State stored in a database DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 5
Types of CORBA Objects (1) Session objects usually short-lived, non-persistent Client Server Servant POA –”SessionPOA” TRANSIENT, ... 3. ”Fred” 1. Create IOR Create servant 2. Image adapted from: F. Bolton: Activate servant Pure CORBA , Sams Publ., 2002. DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 6
Types of CORBA Objects (2) Entity objects usually long-lived, persistent Client Server Servant POA – ”EntityPOA” state PERSISTENT, ... 2. 4. ”Fred” Create servant Create IOR DB 1. Create DB record 3. Image adapted from: F. Bolton: Activate servant Pure CORBA , Sams Publ., 2002. DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 7
Types of CORBA Objects (3) Factory Object Create, fnd and destroy other objects Perform steps 1, 2, 3 (, 4) as above for session / entity objects Can itself be a session or entity object DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 8
CORBA Component Model (CCM) Abstraction of CORBA object with its environment Container Abstraction of POA functionality Life cycle management Provision of CORBA Services for enterprise applications security, transaction, event service Simplifed interfaces covering most commonly used features Support for ready-made components Confguration and assembly Separate component logic and CORBA functionality e.g., hide house-keeping code (POA object creation, life cycle management for CORBA objects etc.) EJB (2.0) look-and-feel Basic components: Fully EJB compatible DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 9
CORBA Component Model Architecture home : factory object to create, fnd, remove component instances Home Home component : basic facet : provided manages building block for manages external inter- server application faces to client Component Component Component Container receptacle : registry for component references – ”uses” relation made explicit callback interfaces for container : environment that supports components container to notify com- Image adapted from: F. Bolton: ponent about events etc. Pure CORBA , Sams Publ., 2002. DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 10
CORBA Component Model Basic components: Fully EJB compatible and interoperable Extended components: beyond EJB, e.g. ports Ports: Special sorts of interfaces, grouped together Facets Receptacles Event sources Event sinks Confguration interfaces with setters and getters Extended IDL (Component IDL, CIDL) New elements: component, interface, home, fnder, factory ... DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 11
CORBA Component Categories Session components (cf. EJB stateful session beans) transient state, transient identity Service components (cf. EJB stateless session beans) no state, no identity Entity components (cf. EJB entity beans) persistent state persistent identity, automatically visible to clients Process components persistent state persistent identity, not automatically visible to clients DF14900 / TDDD05 C. Kessler, IDA, Linköpings universitet. 12
Recommend
More recommend