Advance DBMS Lecture3
-
Upload
mudit-khetan -
Category
Documents
-
view
220 -
download
0
Transcript of Advance DBMS Lecture3
-
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