Pres Corba

of 39 /39
CORBA

Embed Size (px)

Transcript of Pres Corba

  • 8/6/2019 Pres Corba

    1/39

    CORBA

  • 8/6/2019 Pres Corba

    2/39

    2

    IntroductionCORBA (Common Object RequestBroker Architecture) is a standard thatenables an object written in one

    programming language, running on oneplatform to interact with objects acrossthe network that are written in otherprogramming languages and running onother platforms.

    For example, a client object written inC++ and running under Windows cancommunicate with an object on a remotemachine written in Java running under

    UNIX.

  • 8/6/2019 Pres Corba

    3/39

    3

    OMGThe CORBA specification was developedby the Object Management Group(OMG).

    The OMG is an international, not-for-profit group consisting of approximately800 companies and organizationsdefining standards for distributed objectcomputing

    CORBA is only one of the specificationsthey develop. They are also behind otherkey object oriented standards such asUML (Unified Modeling Language).

  • 8/6/2019 Pres Corba

    4/39

    4

    HistoryThe OMG was established in 1988 andthe initial CORBA specification came outin 1992. Over the past 10 years

    significant revisions have taken place.

    Version 2.0, which defined a commonprotocol for specifying howimplementations from different vendorscan communicate, was released in the

    mid-nineties.

    The current version of CORBA is 3.0,which introduced the CORBAComponent Model.

  • 8/6/2019 Pres Corba

    5/39

    5

    TodayToday, CORBA serves as middleware fora variety of large enterprise levelapplications.

    One of the most important and mostfrequent uses is for servers that musthandle a large number of clients, at highhit rates, with high reliability.

    The current users of CORBA are diverse- including The Weather Channel,GNOME, US Army, CNN, and CharlesSchwab.

  • 8/6/2019 Pres Corba

    6/39

  • 8/6/2019 Pres Corba

    7/39

    7

    CORBA IntegrationsAn implementation of CORBA has beenintegrated into Netscape browsers.

    CORBA has been built into Netscape

    ONE (Open Network Environment) -Netscapes application environmentbased on open internet standards.

    The Enterprise Edition of IBMs

    WebSphere (a software platform to helpbuild and deploy high performance websites) integrates CORBA (as well asEnterprise Java Beans) to build highlytransactional, high-volume e-business

    applications

  • 8/6/2019 Pres Corba

    8/39

  • 8/6/2019 Pres Corba

    9/39

    CORBACORBAArchitecture

  • 8/6/2019 Pres Corba

    10/39

    Three-tierCORBAArchitecture

  • 8/6/2019 Pres Corba

    11/39

    11

    The Primary Elements IDL

    Interface Definition Language

    Client / Server CORBA Objects Abstract objects based upon a concrete

    implementation

    ORBs

    Object Request Brokers GIOP / IIOP

    General and Internet Inter-Object

    Protocols

  • 8/6/2019 Pres Corba

    12/39

    12

    Interface Definition Language Defines public interface for any

    CORBA server.

    C++ like syntax

    Client and Server implemented

    based on compilation of the same

    IDL (usually)

    OMG has defined mappings for: C, C++, Java, COBOL, Smalltalk, ADA, Lisp,

    Python, and IDLscript

  • 8/6/2019 Pres Corba

    13/39

    13

    Highlighted IDL Features

    Pass by reference and by value

    In, out, and inout parameters

    Inheritance

    Throwing of exceptions

    The Any Type

    Callbacks

    Enables Peer-to-Peer Object

    Communication. Also supports:

    structs, unions, enumerations, all c++scalars, arrays, sequences, octets,strings, constants, and typedefs.

  • 8/6/2019 Pres Corba

    14/39

    Steps to Write a CORBAObject

    in Java

  • 8/6/2019 Pres Corba

    15/39

    Client / ServerCORBAObjects

    CORBA OBJECT

    (abstract)

    Implementation Object

    (CORBA enabled)

    Member Object

    Local Server

    Object

    Local Server

    Object

    Implementation

  • 8/6/2019 Pres Corba

    16/39

    16

    Client / ServerCORBAObjectsCont.

    Abstract Do not have their own implementation. The

    elements of a CORBA object (interface,implementation, and location) are heldrendered via other elements.

    Implemented via a Servant A servant is a block of code (usually an

    instance of a class) which implements thepublic interface of the CORBA object.Depending on the server policies, there mayor may not be multiple instances of the

    servant and it may or may not be multi-threaded.

    Configured in code or at server startup Unlike COM+ and EJB the policies for a

    CORBA object which control things such as

    Security, threading, and persistence are notconsole configurable

  • 8/6/2019 Pres Corba

    17/39

    17

    Object Request Brokers

    (Orbs) Responsible for all communication

    Locating objects

    Implementation specific

    Known IOR(Inter-Object Reference) Naming and Trading Services( DSN-like)

    Transferring invocations and returnvalues

    Notifying other ORBs of hosted Objects

    Must be able to communicate IDLinvocations via IIOP

    If an ORB is OMG compliant, then it isinteroperable with all other OMGcompliant ORBs

  • 8/6/2019 Pres Corba

    18/39

    18

    AdditionalORBServices

    Interface Repository

    A Database of all of the IDL for compiled

    objects running on the ORB Implementation Repository

    A Database containing policy information

    and the implementation details for the

    CORBA objects running on the ORB

    Load Balancing

    Fail-over support

    Security

  • 8/6/2019 Pres Corba

    19/39

  • 8/6/2019 Pres Corba

    20/39

    20

    Drawbacks

    Lower Level than COM+/.NET/EJB

    Configuration in Code

    Steeper Learning Curve than other

    solutions.

  • 8/6/2019 Pres Corba

    21/39

    21

    Object Management

    Architecture(OMA) Center of all the activity

    undertaken by OMG

    OMA specifies a range ofarchitectural entities surroundingthe core ORB, which is CORBAproper

    Detailed specifications for eachcomponent and interface categoryis populated in OMA referenceModel

  • 8/6/2019 Pres Corba

    22/39

    OMAReferenceModel

  • 8/6/2019 Pres Corba

    23/39

    23

    CORBAServices

    CORBA Services provides basic

    functionality, similar to the services

    that system library calls do inUNIX. Functions includes creating

    objects, controlling access to

    objects, keeping track of relocated

    objects and to consistentlymaintain relationship between

    objects.

  • 8/6/2019 Pres Corba

    24/39

    24

    HorizontalCORBA

    Facilities Horizontal CORBA Facilities sit

    between the CORBA services and

    Application objects.T

    hesecomponents providing supportacross an enterprise and acrossbusiness. Four facilities: thePrinting Facilities, the Secure Time

    Facilities, the InternationalizationFacilities, and Mobile AgentFacilities.

  • 8/6/2019 Pres Corba

    25/39

    25

    Domain(Vertical) CORBA

    Facilities Domain CORBA Facilities are the

    most exciting work at OMG. Define

    a standard interfaces for standardobjects shared by companies

    within a specific vertical

    market(e.g. healthcare,

    manufacturing, finance). Now nineindustries have their own OMG

    task force.

  • 8/6/2019 Pres Corba

    26/39

    26

    Application Objects

    Topmost part of the OMA hierarchy.

    Provide access to application objects

    that can invoke methods on remoteobjects through ORB. Application is built

    from a large number of basic object

    classes, new classes can be generated

    or specified provided by CORBA

    services. Standardization is not required.

  • 8/6/2019 Pres Corba

    27/39

    27

    ThreeBenefits of using

    OMA1. Coding is quicker, so application

    can be deployed sooner

    2. Applications designed arounddiscrete services have better

    architecture

    3. Many OMA implementations have

    enterprise characteristics built in:

    theyre robust, and they scale

  • 8/6/2019 Pres Corba

    28/39

    28

    CORBA vs. DCOM

    DCOM supports an object-

    oriented model, but differs

    substantially from classical OOmodels. DCOM object provides

    services through one or more

    distinct interfaces.

    DCOM is lack of polymorphism,instead, it constructs application

    from binary components.

  • 8/6/2019 Pres Corba

    29/39

    29

    CORBA vs. DCOM

    The major difference is CORBA is an

    open specification. DCOM has the

    potential to evolve at a faster rate than

    CORBA because the politics will be

    simpler.

    CORBA can be deployed far more widely

    than DCOM and runs in most current OS

    environment, while DCOM is runningalmost exclusively in the Windows

    environment.

  • 8/6/2019 Pres Corba

    30/39

    30

    CORBA vs. JAVA/RMI

    Some overlap between these two,

    both provide a viable means of

    building distributed applications. CORBA is concerned with

    interfaces between objects and

    applications modeled as objects,

    Java is primarily concerned withthe implementation of these

    objects.

  • 8/6/2019 Pres Corba

    31/39

    31

    CORBA vs. JAVA/RMI

    JAVA/RMI systems fall short ofseamless integration because of

    their interoperability requirementswith other languages. JAVA/RMIsystem assumes thehomogeneous environment of theJVM, which can only take

    advantage of Java Object Model. Coexistence between CORBA and

    Java

  • 8/6/2019 Pres Corba

    32/39

    32

    The Future ofCORBA

    Much easier for developers to build and

    run client/server applications written in

    different languages using the IDL

    interface

    Compute-domain benefits

    Functionality the same as if written to

    sockets or some other RPC device

    Business-domain benefits

    Allows rapid development of full service

    website

  • 8/6/2019 Pres Corba

    33/39

    33

    Compute-DomainEnhancements

    in traditionalbusiness Remote access to all network

    systems for employees.

    product descriptions pricing

    stock

    order placement

    customer credit data

    Business works smarter, notharder

  • 8/6/2019 Pres Corba

    34/39

    34

    Business-DomainEnhancementsfore-business

    Builds on compute-domain work

    add web functionality to existing internal

    network uses CORBAs IDL to integrate new

    processes

    Development and maintenance ofcustomer centered e-commerce site is

    still manageable for IT department. Gives business time to sell product, not

    fix problems

  • 8/6/2019 Pres Corba

    35/39

    35

    Companies UsingCORBAToday AT&T

    Late 1990s developed 20 to 40 systemsusing CORBA for both internal andexternal access

    Are certain development time for futureprojects will be greatly reduced bybuilding reusable frameworks with theOMG

    The Weather Channel Used CORBA and Linux

    System is reliable, low maintenance,offers data logging

    Cut software development time frommonths to weeks

  • 8/6/2019 Pres Corba

    36/39

    36

    Companies UsingCORBA

    Today

    Raytheon Company

    Needed to update its complex real-time

    distributed system

    Built new system using C++ and CORBA

    Ready to build next generation system

  • 8/6/2019 Pres Corba

    37/39

    37

    Companies with Plans to

    Develop UsingCORBA Chase Manhattan Bank

    Plans to develop wholesale banking service

    Will use CORBA and Java-based middleware

    Further plans to introduce Java-basedmortgage application service as well asintegration with third-party applicationspossibly by years end

    Nokia Telecommunications Combining use of Orbix and CORBA to

    continue enhancing products and managevalue added services based on a commonarchitecture.

  • 8/6/2019 Pres Corba

    38/39

    38

    NOKIA

    Nokias decision [to use CORBA]

    highlights the continuing adoption of

    CORBA and is recognition of the fast,

    effective, scaleable and open approach

    to the development of powerful,

    intelligent, mission-critical network

    services that CORBA offers.

    Colin Newman, VP Marketing at IONA

    (Developers of the Orbix ORB)

  • 8/6/2019 Pres Corba

    39/39

    39

    References

    www.oma.org

    www.corba.org

    developer.java.sun.com/developer/

    onlineTraining/corba