Advance DBMS Lecture3

Embed Size (px)

Citation preview

  • 8/7/2019 Advance DBMS Lecture3

    1/30

    1CPSC608: CORBA Copyright 2000 Hoh In

    Lecture #3: CORBA

    CPSC608: Distributed Database Systems

    January 25, 2000

    Hoh InTexas A&M University

  • 8/7/2019 Advance DBMS Lecture3

    2/30

    2CPSC608: CORBA Copyright 2000 Hoh In

    Goals of Today

    Understand

    CORBA technology: What, Why, How Discuss

    Issues of CORBA: promises and problems

  • 8/7/2019 Advance DBMS Lecture3

    3/30

    3CPSC608: CORBA Copyright 2000 Hoh In

    Contents

    Review

    What is CORBA? Why CORBA? How does CORBA work? What are considerations for using CORBA?

    Beyond CORBA

  • 8/7/2019 Advance DBMS Lecture3

    4/30

    4CPSC608: CORBA Copyright 2000 Hoh In

    What is CORBA?

    CORBA is a standard for object interoperability

    Support for different languages Support for different platforms Communications over the network Additional services (e.g., security)

    CORBA is defined by the OMG (Object ManagementGroup) Begin since 1989 CORBA 1 was in 1991 Now, toward to CORBA 3 More information: http://www.omg.org

    CORBA is a component of OMA (ObjectManagement Architecture)

    * Source: Adapted from www.expede.com

  • 8/7/2019 Advance DBMS Lecture3

    5/30

    5CPSC608: CORBA Copyright 2000 Hoh In

    What is the OMA? Object Model and Interfaces (e.g., Domain Interfaces,

    Application Interfaces) Defines what a CORBA object is

    Common Object Request Broker Architecture (CORBA) Standard for an ORB (Object Request Broker) Defines the IIOP (Internet Inter-ORB Protocol) -- the standard for

    communication Defines the Language interfaces and tools

    Object Services -- common services Core services required to develop distributed architectures Naming -- allowing clients to find objects based on names

    Trading -- allowing clients to find objects based on their properties

    Others: Security, Transactions, event notification, ...

    Common Facilities -- high-level services e.g., Distributed Document Component Facility (DDCF) -- OpenDoc Allowing for the presentation and interchange of objects based on a

    document model facilitating the linking of a spreadsheet object into areport document

  • 8/7/2019 Advance DBMS Lecture3

    6/30

    6CPSC608: CORBA Copyright 2000 Hoh In

    Some ORBs

    CORBA Software

    (http://www.infosys.tuwien.ac.at/Research/Corba/software.html) Orbix (IONA) VisiBroker (Inprise) ObjectBroker (BEA)

    PowerBroker (Expersoft) ORB Plus (HP) ORBacus (Object-Oriented Concepts, Inc.) NEO/JavaIDL (SunSoft)

  • 8/7/2019 Advance DBMS Lecture3

    7/30

    7CPSC608: CORBA Copyright 2000 Hoh In

    Contents

    Review

    What is CORBA? Why CORBA? How does CORBA work? What are considerations for using CORBA?

    Beyond CORBA

  • 8/7/2019 Advance DBMS Lecture3

    8/30

    8CPSC608: CORBA Copyright 2000 Hoh In

    Why CORBA?

    Need to share information and resources

    within and across diverse computingenterprises CORBA is a Middleware Standard

    CORBA is a Software Bus CORBA is a Distributed Object Architecture

    * Source: Adapted from www.expede.com

  • 8/7/2019 Advance DBMS Lecture3

    9/30

    9CPSC608: CORBA Copyright 2000 Hoh In

    CORBA is a Middleware Standard

    Before CORBA, middleware was dominated by proprietary tools

    CORBA provides a standard that allows you to: Develop applications using a common basis Change CORBA products with minimal rewriting of code Make objects running on different CORBA products interoperate

    Integrate third-party products that respect the standard

    CORBA is evolving to standardize other types of middleware

    CORBA Object

    Middleware

    Message-Oriented

    Middleware (MOM)

    Object TransactionManagement

    Transaction

    Monitors

    * Source: Java-CORBA E. Arch., expede.com

  • 8/7/2019 Advance DBMS Lecture3

    10/30

    10CPSC608: CORBA Copyright 2000 Hoh In

    CORBA and the Software Bus A standard architecture enabling you to plug components into

    Support different languages and platforms Connects everything up in a single architecture

    A basis for delivering reusable components A CORBA component can be accessed from any client technology A CORBA components has a clearly defined interface

    * Source: Java-CORBA E. Arch., expede.com

  • 8/7/2019 Advance DBMS Lecture3

    11/30

    11CPSC608: CORBA Copyright 2000 Hoh In

    CORBA and Distributed Architectures

    * Source: Java-CORBA E. Arch., expede.com

  • 8/7/2019 Advance DBMS Lecture3

    12/30

    12CPSC608: CORBA Copyright 2000 Hoh In

    Contents

    Review

    What is CORBA? Why CORBA? How does CORBA work? What are considerations for using CORBA?

    Beyond CORBA

  • 8/7/2019 Advance DBMS Lecture3

    13/30

    13CPSC608: CORBA Copyright 2000 Hoh In

    How Does CORBA Work?

    Step 1: Write a specification for each object using IDL (Interface

    Definition Language) Step 2: Compile the IDL to generate client stub and serverskeleton code

    Step 3: Write the client application code. Step 4: Write the server object code.

    Step 5: Compile the client and server code Step 6. Start the server Step 7: Run the client application

    * Source: Visibroker Progammers Guide

  • 8/7/2019 Advance DBMS Lecture3

    14/30

    14CPSC608: CORBA Copyright 2000 Hoh In* Source: Visibroker Progammers Guide

    12

    34

    5

  • 8/7/2019 Advance DBMS Lecture3

    15/30

    15CPSC608: CORBA Copyright 2000 Hoh In* Source: Visibroker Progammers Guide

  • 8/7/2019 Advance DBMS Lecture3

    16/30

    16CPSC608: CORBA Copyright 2000 Hoh In* Source: Visibroker Progammers Guide

  • 8/7/2019 Advance DBMS Lecture3

    17/30

    17CPSC608: CORBA Copyright 2000 Hoh In

    IDL

    InterfaceDefinitionLanguage

    IDL is a purelydeclarativelanguage Looks like a Java

    Interface Independent from

    any programminglanguage

    Basic Types No int type No pointer type

    * Source: expede.com and Supplemental Reading #19-1

  • 8/7/2019 Advance DBMS Lecture3

    18/30

    18CPSC608: CORBA Copyright 2000 Hoh In

    VisiBroker Demo

  • 8/7/2019 Advance DBMS Lecture3

    19/30

    19CPSC608: CORBA Copyright 2000 Hoh In

    Contents

    Review

    What is CORBA? Why CORBA? How does CORBA work? What are considerations for using CORBA?

    Beyond CORBA

  • 8/7/2019 Advance DBMS Lecture3

    20/30

    20CPSC608: CORBA Copyright 2000 Hoh In

    What are considerations for usingCORBA?

    Security Performance Fault-Tolerance Scalability

  • 8/7/2019 Advance DBMS Lecture3

    21/30

    21CPSC608: CORBA Copyright 2000 Hoh In

    How to Analyze Security in CORBA?

    The CORBA Security Service specification

    Identification and authentication: verify who they claim to be Authorization and access control: decide whether an objectcan be accessed or not

    Security auditing: make users accountable for security Security of communication between objects

    Non-repudiation

    The CORBA ORB-SSL integration specification The CORBA/Firewall specification

    TCP/IP firewalls

    SOCKS v5.0 firewalls GIP proxy firewalls

  • 8/7/2019 Advance DBMS Lecture3

    22/30

    22CPSC608: CORBA Copyright 2000 Hoh In

    How to Analyze Performance in CORBA?

    Factors having a strong influence on the performance

    of a distributed system The number of remote method invocations that are made

    within the system The amount of data that is transferred with each remote

    method invocation The marshalling costs of the different IDL data types used by

    the system

  • 8/7/2019 Advance DBMS Lecture3

    23/30

    23CPSC608: CORBA Copyright 2000 Hoh In

    Fault Tolerance in CORBA

    Failures caused by factors as diverse as:

    Loss of processing resources - hardware or software Loss of logical and physical communication paths -- networkand connectivity failures

    Both transient and permanent failures in the application itself

    Approaches Prevention is better than cure Accept the fact that processes dont stay up for ever Complex heterogeneous applications are combined from

    many tool components

    CORBA Support Cold replication model Warm standby model Hot standby model

  • 8/7/2019 Advance DBMS Lecture3

    24/30

    24CPSC608: CORBA Copyright 2000 Hoh In

    Cold Replication Model

    * source: Reference [3}

  • 8/7/2019 Advance DBMS Lecture3

    25/30

    25CPSC608: CORBA Copyright 2000 Hoh In

    Warm Standby Model

    * source: Reference [3}

  • 8/7/2019 Advance DBMS Lecture3

    26/30

    26CPSC608: CORBA Copyright 2000 Hoh In

    Hot Standby Model

    * source: Reference [3}

  • 8/7/2019 Advance DBMS Lecture3

    27/30

    27CPSC608: CORBA Copyright 2000 Hoh In

    Scalability Issues in CORBA

    If a large number of client application is concurrently

    executed using any CORBA system, consider: Will this single host have enough processing power tosupport all these clients?

    Our manager server is a single point of failure. How will oursystem handle a software or hardware fault?

    Our manager server process is limited to approximately1000 connections. How will the remaining clients be able toconnect to this process?

    Approaches

    Replicating severs Closing connections Load balancing (e.g., using application partitioning or

    replication mechanisms)

  • 8/7/2019 Advance DBMS Lecture3

    28/30

    28CPSC608: CORBA Copyright 2000 Hoh In

    Contents

    Review

    What is CORBA? Why CORBA? How does CORBA work? What are considerations for using CORBA?

    Beyond CORBA

  • 8/7/2019 Advance DBMS Lecture3

    29/30

    29CPSC608: CORBA Copyright 2000 Hoh In

    Beyond CORBA

    Unnecessary Heavy

    Services Some application dontneed all services thatCORBA provides. Theymay degrade performancewithout any gains.

    A solution approach:Container = objects +selected services

    Scalability of ORB global Naming protocol complex marshalling

    * Source: Enterprise CORBA

  • 8/7/2019 Advance DBMS Lecture3

    30/30

    30CPSC608: CORBA Copyright 2000 Hoh In

    &25%$

    3URYLGHVZHOOGHILQHGSDFNDJLQJIRUSURGXFLQJFRPSRQHQWVTXDOLW\RIVHUYLFHPHVVDJLQJDQGRWKHUWHFKQRORJLHV

    )XOO-DYDDQG,QWHUQHWVXSSRUW -DYDSRUWDELOLW\;0/LQWHJUDWLRQ

    4XDOLW\RI6HUYLFHPDQDJHPHQW

    0HVVDJLQJ5HDOWLPH6PDOOIRRWSULQW 'LVWULEXWHG&RPSRQHQW0RGHO

    &RPSRQHQWEDVHGGHYHORSPHQWVFULSWLQJ

    * Source: Soley, OMG