Seminarium on Component-based Software Engineering - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Seminarium on Component-based Software Engineering

Description:

Seminarium on Component-based Software Engineering CORBA Jan Willem Klinkenberg Object Management Group (OMG) Consortium of Computing Industry Founded in 1989 Non ... – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 27
Provided by: Doe1154
Category:

less

Transcript and Presenter's Notes

Title: Seminarium on Component-based Software Engineering


1
Seminarium onComponent-based Software
Engineering
CORBA
  • Jan Willem Klinkenberg

2
Object Management Group (OMG)
  • Consortium of Computing Industry
  • Founded in 1989
  • Non profit
  • around 800 members
  • Goal standardization of whatever it takes to
    achieve interoperability on all levels of an open
    market for objects

3
OMG
  • Original effort fix wiring problem
  • How can distributed object-oriented systems
    implemented in different languages and running on
    different platforms interact?
  • Incompatibility between compilers
  • Differences in object models
  • Differences in platforms
  • Solution CORBA

4
CORBA
  • Common Object Request Broker Architecture.
  • Open standard
  • 1991 version 1.0
  • Initial version.
  • 1995 version 2.0
  • IIOP
  • OMA
  • More languages support
  • 2002 version 3.0
  • Corba Component Model (CCM)
  • Scripting languages support

5
CORBA
  • CORBA - Common Object Request Broker Architecture.

6
IDL
  • Interface Definition Language
  • Defines all object interfaces in a common
    language
  • Bindings are available for C, C, Java, Python,
    Smalltalk, Cobol, etc
  • An IDL compiler generates stubs and skeletons.
  • Stubs
  • Looks like local object
  • Marhals arguments
  • Forwards all invocations through ORB to target
    object
  • Skeletons
  • Receives invocations from ORB
  • Unmarshals arguments
  • Invokes target methods
  • Sends back return value

7
IDL example
  • module Example
  • struct Date
  • unsigned short Day
  • unsigned short Month
  • unsigned short Year
  • interface Ufo
  • readonly attribute unsigned long ID
  • readonly attribute string Name
  • readonly attribute Date FirstContact
  • unsigned long Contacts()
  • void RegisterContact(out Date dateOfContact)

8
IDL types
  • IDL distinguishes between basic and constructed
    type and CORBA object references.
  • Before CORBA 2.3, only references
  • Since CORBA 2.3, call by value is supported -gt
    standard mapping by XML

9
DII and DSI
  • Sometimes binding can be too static
  • DII Dynamic invocation interface
  • DSI Dynamic skeleton interface (since Corba 2.0)
  • These interfaces allow for dynamic selection of
    methods at client side or server side

10
ORB
  • Object Request Broker
  • Routes the method invocations
  • Interface repository
  • Implementation repository
  • Can load and start object servants
  • Can communicate with other ORBs using IIOP

11
CORBA and OMG IDL
IDL source
Applications Programs
IDL compiler
Object servants
Dynamic invocation interface
IDL stubs
ORB interface
Object Adapter
IDL Skeletons
Dynamic Skeleton interface
Object Request Broker (ORB)
12
Object Adapter
  • Object servants register with ORB via the object
    adapter.
  • Servants are loaded and started by ORB via
    adapter.
  • BOA Basic Object Adapter
  • Under specified, deprecated in 1998
  • POA Portable Object Adapter
  • Replaced the BOA
  • Essential for several CCM features
  • Creates object references
  • Several possible policies for object creation

13
Server, client or both
  • Separation of client and called object does not
    impose an asymetric architecture.
  • The same process can issue and receive calls.
  • Pure application programs do not require
    registration with ORB

14
CORBA v.1 - Problems
  • An ORB is essentially an remote incovation
    service
  • Replaces sockets and remote procedure calls in
    distributed applications with a cleaner model
  • So whats the problem?
  • Applictions still have to share many conventions
    to interoperate
  • OMG had to broaden its focus.

15
OMA - Object Management Architecure
  • Since CORBA 2.0
  • Adds new areas of standardization
  • CORBAservices
  • Common object services e.g. naming, trader
    event, security
  • CORBAfacilities defines a specific component
    framework than can be used to integrate
    components.
  • Horizontal domain independent, focus on specific
    application models e.g. printing facilities
  • Vertical domain specific e.g. healtcare, finance
  • Application object specifications (currently
    void)
  • CCM - CORBA Component Model (since 3.0)

16
CORBA Services supporting enterprise distributed
computing
  • Naming service
  • White pages
  • Trader service
  • Yellow pages
  • Event service
  • Send event objects from event suppliers to event
    consumers.
  • Notification service
  • Add QoS, filtering, etc. to Event service
  • Object transaction service
  • Security Service
  • Encryption, authentication

17
CORBA Services supporting architecture using
fine-grained objects
  • Concurrency control service
  • Lock and release resources
  • Licensing service
  • For non-freeware objects
  • Lifecycle service
  • Creation, copying, moving and deletion of objects
  • Relationship service
  • Not used or implemented
  • Persistant state service
  • Allows storing and retrieving of objects

18
CORBA Services continued
  • Externalization service
  • Mapping of object into stream and back
  • Properties service
  • Add/delete and retrieve arbitrary properties to
    objects
  • Object query service (not implemented)
  • Locate object instance by attributes
  • Object collections service (not implemented)
  • Provides collection types like sets, trees,
    queues or lists.
  • Time service
  • Provides a universal time for the distributed
    system

19
CCM - Corba Component Model
  • Introduced with CORBA 3.0 in 2002
  • Logical extension of Enterprise JavaBeans
  • Is an architecture for defining components and
    their interactions
  • Provides a packaging technology
  • Provides a container implementation framework
    (CIF)

20
CCM Component
Component interface
My Business Component
Facets
Receptacles
OFFERED
REQUIRED
Event sinks
Event sources
Attributes
21
CCM Components features
  • Ports
  • Facet provided interface
  • Receptacle required interface
  • Event sources
  • Event sinks
  • Primary keys
  • Instance identification for client
  • Attributes
  • Home interfaces
  • Provides factory functionality

22
CCM packaging
CCM Assembly
CCM Component
CCM Component
Segments
Deployment configuration
23
CCM Containers
  • Component instances are placed inside containers

Home interface
Home for C
Component C
Callbacks
Services
Container
Components interact with POA as well as
transaction, security, persistence and
notification services via interfaces on their
container
24
Components types
  • There are different types of components
  • Service
  • Session
  • Entity
  • Process

25
CIF
  • Component Implementation Framework
  • Described in CIDL, Component implementation
    Definition Language
  • Creates programming skeletons that automate many
    of the basic behaviors of components, including
    navigation, identity inquiries, activation, state
    management, lifecycle management, and so on.

26
Questions?
  • ?
Write a Comment
User Comments (0)
About PowerShow.com