ccm
play

CCM: The CORBA Component Model Portable Object Adapter (POA) - PowerPoint PPT Presentation

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


  1. 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.

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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