Corba Part 1

download Corba Part 1

of 17

Transcript of Corba Part 1

  • 7/30/2019 Corba Part 1

    1/17

    Distributed Object-Based System : CORBA

    (Common Object Request Broker Architecture )

  • 7/30/2019 Corba Part 1

    2/17

    CORBA was developed by the OMG (Object Management Group)

    The Object Request Broker (ORB) forms the core of any CORBAdistributed system.

    It has the following Horizontal (User & System Support) facilities

    User interface

    Information management

    System management

    Task management

    It has Vertical (application support) facilities in the application

    domain such as as electronic commerce, banking, manufacturing

  • 7/30/2019 Corba Part 1

    3/17

    CORBAs Interface with Other Services

    All CORBA specifications are given by means of interface

    descriptions, expressed in an Interface Definition Language

    (IDL).

    An interface is a collection ofmethods, and objects specify

    which interfaces they implement.

    It provides a precise syntax for expressing methods and their

    parameters.

  • 7/30/2019 Corba Part 1

    4/17

    The GeneralArchitecture of a CORBA System.

  • 7/30/2019 Corba Part 1

    5/17

    CORBA Architecture

    ORB core

    DynamicInvocation

    IDLStubs

    ORBInterface

    Object

    Adapter

    Static IDL

    Skeleton

    Dynamic

    Skeleton

    Client Object Implementation

    Standard Interface Per-Object Type

    Generated Interface

    ORB Dependent

    Interface

    Interface

    Repository

    Implementatio

    Repository

  • 7/30/2019 Corba Part 1

    6/17

    CORBA Basic Architecture

    o b j e c t c l i e n tn a m i n g s e r v i c e

    n a m i n g

    l o o k u p

    s t u b

    O R B

    n e t w o r k

    o p e r a t i n gs y s t e m

    o b j e c t

    i m p l e m e n t a t i o n

    s k e l e t o n

    O R B

    n e t w o r k

    o p e r a t i n gs y s t e m

    l o g i c a l d a t a f l o w

    p h y s i c a l d a t a f l o w

  • 7/30/2019 Corba Part 1

    7/17

    As a distributed objects architecture, it resembles to the RMI

    architecture:

    Logically an object client makes method calls todistributed objects.

    An object client interfaces with a proxy a stub while

    the object implantation interfaces with the server-side

    proxy a skeletonCORBA is not bound to a particular programming language

    and hence an interface definition language (IDL) has been

    introduced. IDL is an universal language with a distinct syntax

    Though the syntax of CORBA IDL resembles to Java and C++, an object defined in a CORBA IDL file can be implemented

    in a large number programming languages, including C, C++,

    Java, COBOL, Smalltalk, Ada, Lisp, Python, and IDL Script

  • 7/30/2019 Corba Part 1

    8/17

    Language Independence in CORBA

    For each of these languages, OMG has a standardized

    mapping from CORBA IDL to the programming language A compiler can be used to process a CORBA interface to

    generate the proxy files

    Object clients can be written in any of the CORBA-

    compatible languages.

  • 7/30/2019 Corba Part 1

    9/17

    Cross-language, cross-vendor interoperability is achieved via

    the Internet Inter-ORB Protocol, or IIOP. IIOP is a transport

    protocol for distributed applications written in either IDL or

    Java RMI.

    To allow ORBs to be interact and operate, the OMG specified

    a protocol known as the General Inter-ORB Protocol(GIOP)

    GIOP protocol specification provides a general framework to

    be built on top of specific transport layers

    IIOP is a special case of GIOP to make use of the TCP/IP

    transport layer.

    Inter-ORB Protocols

  • 7/30/2019 Corba Part 1

    10/17

    Object Bus

    An ORB which adheres to the specifications of the IIOP may

    interoperate with any other IIOP-compliant ORBs over the

    Internet. This gives rise to the term object bus, where the

    Internet is seen as a bus that interconnects CORBA objects

  • 7/30/2019 Corba Part 1

    11/17

    The IIOP specification includes the following elements:

    Transport management requirements which

    specifies the connection and disconnection

    requirements for the object client and object server

    Definition of common data representation: a coding

    scheme for marshalling and un-marshalling data of

    each IDL data type.

    Message formats: Formats for different types ofsend/receive messages are defined. The messages allow

    clients to send requests to object servers and receive

    replies.

  • 7/30/2019 Corba Part 1

    12/17

    The modelling standards belonging to the OMG include:

    Unified Modelling Language (UML)

    Model Driven Architecture (MDA)

    Systems Modelling Language (SysML)

    Business Process Modelling Notation (BPMN)

    The Object Management Group (OMG) is a consortium created

    to set common standards for distributed object-oriented systems

    and develop enterprise integration standards for a wide range oftechnologies

    OMGs middleware standards are based on the Common

    Object Request Broker Architecture (CORBA)

    OMG has also developed a core set of standards adapting

    CORBA for embedded and real-time systems

  • 7/30/2019 Corba Part 1

    13/17

    Object Management Architecture

    Object Request Broker(ORB) component that enables clients

    and objects to communicate in a distributed environment.

    In CORBA, the Object Request Broker or ORB takes care of all

    of the details involved in routing a request from client to object,and routing the response to its destination.

    The ORB guaranteesportability and interoperability of objects

    over a network of heterogeneous systems

  • 7/30/2019 Corba Part 1

    14/17

    An Object Request Broker (ORB) provides a communication

    infrastructure for invoking operations on objects

    It enables to perform the operation transparently with respect to

    where they are located on the network, the types of hardware and

    operating system platforms on which they execute, differences indata representations between platforms, the languages in which

    objects are implemented, and network transports used to

    communicate with them.

    CORBA specifies all of the functions that must be provided by an

    ORB and a set of standard interfaces to those functions.

  • 7/30/2019 Corba Part 1

    15/17

    OMA

    (Object Management Architecture)

    COMMON OBJECT SERVICES

    APPLICATION OBJECTSCOMMON FACILITIES

    OBJECT REQUEST BROKER

    persistencenaming trading

    security

    HorizontalUser InterfaceMailPrinting

    VerticalTelecomFinanceHealth Care

  • 7/30/2019 Corba Part 1

    16/17

    Naming Services:An URL facilitates the localization of a resource exposed

    on the Web. e.g., abc.net.in means it is likely to be an Indian

    entity?A consistent and uniform naming helps processes in a

    distributed system to interoperate and manage resources.

    e.g., commercials use .com; non-profit organizations use .orgNaming Services are not only useful to locate resources but

    also to gatheradditional information about them such as

    attributes

    Trading Services:Trading presents a global information repository. The global

    repository can be updated by independent information

    producers throughout the world-wide network, and the

    information users can create effective and large information

    searches.

  • 7/30/2019 Corba Part 1

    17/17

    CORBA Facilities

    CORBA Facilities are useful for constructing applications across a wide range

    of application domains. They are divided into Horizontal CORBA Facilities,

    which are typically more user-oriented, and Vertical CORBA Facilities, whichsupport specific application domains.

    The Horizontal CORBA Facilities currently identified by OMG are grouped

    into four areas:

    User Interface Facilities: Desktop Management, Rendering Management,

    Scripting, and User Support Facilities.

    Information Management Facilities: Data Encoding and Representation, Data

    Interchange, Information Exchange, Information Modeling,

    Information Storage and Retrieval

    System Management Facilities: Collection Management, Consistency,

    Customization, Data Collection, Event Management, InstanceManagement, Policy Management, Process Launch, Quality

    of Service Management, Scheduling Management, and

    Security Facilities.

    Task Management Facilities: Agent, Automation, Rule Management, and

    Workflow Facilities.