You are on page 1of 20

Introduction into CORBA

01-06-01-06-01-02

Confidential · All rights reserved · © 2016 SMS group GmbH


OMG
The OMG is an international not-for-profit
software consortium that is setting standards
in the area of distributed object computing

Confidential · All rights reserved · © 2016 SMS group GmbH


Is a vendor-neutral membership-driven
organization and has hundreds of members
who are working towards developing and refining
the standards.
OMG members

Confidential · All rights reserved · © 2016 SMS group GmbH


CORBA
CORBA is the acronym for
Common Object Request Broker Architecture,
OMG's open, vendor-independent architecture
and infrastructure that computer applications use to
work together over networks

Confidential · All rights reserved · © 2016 SMS group GmbH


CORBA is one of serveral standards being
produced by OMG
CORBA
CORBA applications are composed of objects,
individual units of running software that combine
functionality and data

CORBA is basing on the client/ server principle

CORBA Server

Confidential · All rights reserved · © 2016 SMS group GmbH


Client
Objekt

IDL Stub IDL Skeleton

ORB
ORB
ORB is the acronym for Object Request Broker

An ORB is the implementation/ realization of CORBA

Multiple ORB vendors

Confidential · All rights reserved · © 2016 SMS group GmbH


(commercial and open source implementations)

Multiple language and multi operating system support


ORB
An ORB is a middleware software
(between application and OS)

Application
Application
Server
Client
CORBA Object

Confidential · All rights reserved · © 2016 SMS group GmbH


ORB ORB

Computer 1 Computer 2
CORBA - IDL
IDL – Interface Definition Language

Standardized language to describe


interfaces of distributed objects

Independent language for

Confidential · All rights reserved · © 2016 SMS group GmbH


expressing the functionality and
usage of an object

Has to be mapped to the used programming


language by calling an IDL compiler
How to use IDL

Example IDL-File
interface myInterface
{
double timesTen ( in double arg );
}

Language
IDL Compiler mapping

Confidential · All rights reserved · © 2016 SMS group GmbH


Client Stub ORB Skeleton Server
code code Library code code

Client Server
ready to request ready to serve
CORBA principle:
Identify an CORBA server
object by name

CORBA server objects can be identified by a


name (= character string)

Confidential · All rights reserved · © 2016 SMS group GmbH


Object names have to be defined unique
network-wide for all server objects

Client has to know the server name

The server name has to be converted to a


address (IOR, object reference)
CORBA notes: IOR
IOR: Interoperable Object Reference
-> specifies the object server “address”

Object reference encapsulates


- hostname

Confidential · All rights reserved · © 2016 SMS group GmbH


- port number
- object key

Used by the client to access the server object


CORBA Naming Service:
Announces
object name
CORBA Server Object Naming Services
- resolves name into IOR

Uses IOR to access


server object

Confidential · All rights reserved · © 2016 SMS group GmbH


Requests IOR of
server object name

CORBA Client
CORBA principle:
Store object reference
in a specific context of
the naming service

Server is defining a context definition where the object

Confidential · All rights reserved · © 2016 SMS group GmbH


reference is stored at the naming service

The client must know and use the context to obtain the object
reference of a server object from the naming service

In CBS-K the context definition is called “project name”


CORBA notes: GIOP
GIOP: General Inter-ORB Protocol

Standard to ensure inter ORB communication

Internet Inter-ORB Protocol (IIOP): Mapping of the


GIOP to the TCP/IP network protocol

Confidential · All rights reserved · © 2016 SMS group GmbH


Other protocol mappings for GIOP possible
CORBA notes: POA
POA: Portable Object Adapter

Interface between ORB and server object(s)

Activation of one or several server objects at a


single POA (Container for servants)

Confidential · All rights reserved · © 2016 SMS group GmbH


POA can have individual policies. Policies are used
to define servant settings and how server objects
can be accessed by clients.
CORBA notes: Interface Repository
The Dynamic CORBA Interface Repository provides
type-information about CORBA interfaces and other
entities defined in IDL

Makes it possible to call the objects generically


which realizes the interfaces

Confidential · All rights reserved · © 2016 SMS group GmbH


Used by the tool CBS-Object Browser to access
interface implementations of servant objects

=> Realizes generic CORBA client functionality


Of course CORBA is more...
CORBA Services:

- Naming Service
- Event Service

Confidential · All rights reserved · © 2016 SMS group GmbH


- Notification Service
-…
CORBA in CBS-K
Used ORB is omniORB 4.1.6

CBS-K encapsulates CORBA calls, no need to know


CORBA syntax

IIOP protocol is used

Confidential · All rights reserved · © 2016 SMS group GmbH


Naming service is used

ORB Event Service is not used,


Instead: own Event Service implementation basing
on CORBA is used
CORBA in CBS-K

Backup NameService requires additional registry entries:

HKEY_LOCAL_MACHINE
SOFTWARE

Confidential · All rights reserved · © 2016 SMS group GmbH


omniORB
InitRef
0 NameService=corbaname::HostName,:HostName2
1 NameService2=corbaname::HostName2
CORBA in CBS-K

Configure CBS-K to write to backup NameService

Element "NameService2" in group "CORBA" in corresponding


configuration file enables CBS-K to write all object references also to
a second CORBA NameService:

Confidential · All rights reserved · © 2016 SMS group GmbH


[CORBA]
IiopPort =
NameService2 = YES

You might also like