SlideShare a Scribd company logo
Introduction to CORBA




 Course Outline

 Distributed Applications

 Data are Distributed

 Computation is Distributed

 Users are Distributed

 Fundamental Realities of Distributed Systems

 Distributed Object Systems

 What is CORBA?

 The OMG

 CORBA Architecture

 The ORB

 CORBA as a Standard for Distributed Objects

 CORBA Services

 CORBA Products

 The Stock Application

 Some Objects in the Stock Application

 Implementing a CORBA Client

 CORBA Objects are Described by IDL Interfaces

 Object References and Requests

 IDL Type System

 IDL Type Operations

 Request Type Checking

 IDL to Java Binding
IDL to Java Compiler

Obtaining Object References

The Client's Model of Object Creation

Exceptions

Object Implementations

Providing an Implementation

Interface versus Implementation Hierarchies

Implementation Type Checking

Implementing a Server Using the Java 2 ORB

Implementing a Server Using VisiBroker 3.x

Differences Between Server Implementations

Packaging Object Implementations

Object Adapters

Activation on Demand by the Basic Object Adapter (BOA)

Portable Object Adapter (POA)

Resources

Web Sites

Documentation and Specs

Books

Miscellaneous

About The Java 2 ORB

idltojava Notes

System Properties

VisiBroker 3.x
VisiBroker Tools

Using VisiBroker with Java 2

Portable Stubs and Skeletons

Using the BOA with VisiBroker

Using the VisiBroker Smart Agent



Distributed Applications

CORBA products provide a framework for the development and execution of distributed applications.
But why would one want to develop a distributed application in the first place? As you will see later,
distribution introduces a whole new set of difficult issues. However, sometimes there is no choice;
some applications by their very nature are distributed across multiple computers because of one or
more of the following reasons:

The data used by the application are distributed

The computation is distributed

The users of the application are distributed

Data are Distributed

Some applications must execute on multiple computers because the data that the application must
access exist on multiple computers for administrative and ownership reasons. The owner may permit
the data to be accessed remotely but not stored locally. Or perhaps the data cannot be co-located
and must exist on multiple heterogeneous systems for historical reasons.

Computation is Distributed

Some applications execute on multiple computers in order to take advantage of multiple processors
computing in parallel to solve some problem. Other applications may execute on multiple computers
in order to take advantage of some unique feature of a particular system. Distributed applications
can take advantage of the scalability and heterogeneity of the distributed system.

Users are Distributed

Some applications execute on multiple computers because users of the application communicate
and interact with each other via the application. Each user executes a piece of the distributed
application on his or her computer, and shared objects, typically execute on one or more servers. A
typical architecture for this kind of application is illustrated below.
Prior to designing a distributed application, it is essential to understand some of the fundamental
realities of the distributed system on which it will execute.

Fundamental Realities of Distributed Systems

Distributed application developers must address a number of issues that can be taken for granted in
a local program where all logic executes in the same operating system process. The following table
summarizes some of the basic differences between objects that are co-located in the same process,
and objects that interact across process or machine boundaries.
Co-located

Distributed



Communication

Fast

Slow



Failures

Objects fail together

Objects fail separately
Network can partition



Concurrent access

Only with multiple threads

Yes



Secure

Yes

No




                             The
Introduction To Corba

More Related Content

PDF
What is hibernate?
DOCX
What is hibernate?
PPT
What is hibernate?
ODP
Spring survey
PPTX
Design patterns fast track
PPTX
J2EE PPT --CINTHIYA.M Krishnammal college for women
PDF
Design Pattern for Oracle Identity Provisioning
PDF
OpenProdoc Overview
What is hibernate?
What is hibernate?
What is hibernate?
Spring survey
Design patterns fast track
J2EE PPT --CINTHIYA.M Krishnammal college for women
Design Pattern for Oracle Identity Provisioning
OpenProdoc Overview

What's hot (20)

PDF
CUST-3 Document Management with Share
PPTX
PPT
Entity framework1
PPT
The Elgg Social Networking Framework
PPTX
PPT
Hibernate Interview Questions
DOCX
Month 3 report
PPTX
Building business applications using business connectivity services using sha...
PPTX
Advanced BCS - Business Data Connectivity Models and Custom Connectors
PPTX
Real World API Design Using The Entity Framework Services
PPTX
Microsoft Entity Framework
PPTX
PPTX
PPTX
Software architectural patterns - A Quick Understanding Guide
PPT
Oim Poc1.0
PDF
Best Practices for Data Sharing (CHPC 2019 - South Africa)
PPTX
Identity Manager Opensource OpenIDM Architecture
PPT
DOORS Tips and Tricks
PPT
Addmi 02-addm overview
PPTX
Advanced VB: Object Oriented Programming - Controls
CUST-3 Document Management with Share
Entity framework1
The Elgg Social Networking Framework
Hibernate Interview Questions
Month 3 report
Building business applications using business connectivity services using sha...
Advanced BCS - Business Data Connectivity Models and Custom Connectors
Real World API Design Using The Entity Framework Services
Microsoft Entity Framework
Software architectural patterns - A Quick Understanding Guide
Oim Poc1.0
Best Practices for Data Sharing (CHPC 2019 - South Africa)
Identity Manager Opensource OpenIDM Architecture
DOORS Tips and Tricks
Addmi 02-addm overview
Advanced VB: Object Oriented Programming - Controls
Ad

Similar to Introduction To Corba (20)

DOCX
Object and component based middleware for distributed system development
PPT
Distributed Systems Architecture in Software Engineering SE11
PPT
Ch12
PPTX
Distributing computing.pptx
PPT
C O R B A Unit 4
PPTX
Middle ware Technologies
PPTX
Middleware Technologies
PPT
MIDELWARE TECH
PPTX
Object-Relational Mapping and Dependency Injection
PPTX
IoT-A ARM
PPTX
Introduction Java Web Framework and Web Server.
DOCX
Learning activity 3
PPT
PPTX
corba-151024114450-lva1-app6891.pptx
PDF
Peoplesoft PIA architecture
PDF
Spring 2
PPTX
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
PPTX
C7-Design _ Implementation_uml_khalid .pptx
PPT
Cloud architecture
PPTX
Software Requrement
Object and component based middleware for distributed system development
Distributed Systems Architecture in Software Engineering SE11
Ch12
Distributing computing.pptx
C O R B A Unit 4
Middle ware Technologies
Middleware Technologies
MIDELWARE TECH
Object-Relational Mapping and Dependency Injection
IoT-A ARM
Introduction Java Web Framework and Web Server.
Learning activity 3
corba-151024114450-lva1-app6891.pptx
Peoplesoft PIA architecture
Spring 2
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
C7-Design _ Implementation_uml_khalid .pptx
Cloud architecture
Software Requrement
Ad

Recently uploaded (20)

PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Lesson notes of climatology university.
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Sports Quiz easy sports quiz sports quiz
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
master seminar digital applications in india
PPTX
GDM (1) (1).pptx small presentation for students
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Pharma ospi slides which help in ospi learning
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
human mycosis Human fungal infections are called human mycosis..pptx
Lesson notes of climatology university.
STATICS OF THE RIGID BODIES Hibbelers.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
Classroom Observation Tools for Teachers
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Sports Quiz easy sports quiz sports quiz
VCE English Exam - Section C Student Revision Booklet
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
master seminar digital applications in india
GDM (1) (1).pptx small presentation for students
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Insiders guide to clinical Medicine.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPH.pptx obstetrics and gynecology in nursing
Pharma ospi slides which help in ospi learning
Module 4: Burden of Disease Tutorial Slides S2 2025

Introduction To Corba

  • 1. Introduction to CORBA Course Outline Distributed Applications Data are Distributed Computation is Distributed Users are Distributed Fundamental Realities of Distributed Systems Distributed Object Systems What is CORBA? The OMG CORBA Architecture The ORB CORBA as a Standard for Distributed Objects CORBA Services CORBA Products The Stock Application Some Objects in the Stock Application Implementing a CORBA Client CORBA Objects are Described by IDL Interfaces Object References and Requests IDL Type System IDL Type Operations Request Type Checking IDL to Java Binding
  • 2. IDL to Java Compiler Obtaining Object References The Client's Model of Object Creation Exceptions Object Implementations Providing an Implementation Interface versus Implementation Hierarchies Implementation Type Checking Implementing a Server Using the Java 2 ORB Implementing a Server Using VisiBroker 3.x Differences Between Server Implementations Packaging Object Implementations Object Adapters Activation on Demand by the Basic Object Adapter (BOA) Portable Object Adapter (POA) Resources Web Sites Documentation and Specs Books Miscellaneous About The Java 2 ORB idltojava Notes System Properties VisiBroker 3.x
  • 3. VisiBroker Tools Using VisiBroker with Java 2 Portable Stubs and Skeletons Using the BOA with VisiBroker Using the VisiBroker Smart Agent Distributed Applications CORBA products provide a framework for the development and execution of distributed applications. But why would one want to develop a distributed application in the first place? As you will see later, distribution introduces a whole new set of difficult issues. However, sometimes there is no choice; some applications by their very nature are distributed across multiple computers because of one or more of the following reasons: The data used by the application are distributed The computation is distributed The users of the application are distributed Data are Distributed Some applications must execute on multiple computers because the data that the application must access exist on multiple computers for administrative and ownership reasons. The owner may permit the data to be accessed remotely but not stored locally. Or perhaps the data cannot be co-located and must exist on multiple heterogeneous systems for historical reasons. Computation is Distributed Some applications execute on multiple computers in order to take advantage of multiple processors computing in parallel to solve some problem. Other applications may execute on multiple computers in order to take advantage of some unique feature of a particular system. Distributed applications can take advantage of the scalability and heterogeneity of the distributed system. Users are Distributed Some applications execute on multiple computers because users of the application communicate and interact with each other via the application. Each user executes a piece of the distributed application on his or her computer, and shared objects, typically execute on one or more servers. A typical architecture for this kind of application is illustrated below.
  • 4. Prior to designing a distributed application, it is essential to understand some of the fundamental realities of the distributed system on which it will execute. Fundamental Realities of Distributed Systems Distributed application developers must address a number of issues that can be taken for granted in a local program where all logic executes in the same operating system process. The following table summarizes some of the basic differences between objects that are co-located in the same process, and objects that interact across process or machine boundaries.
  • 5. Co-located Distributed Communication Fast Slow Failures Objects fail together Objects fail separately Network can partition Concurrent access Only with multiple threads Yes Secure Yes No The