SlideShare uma empresa Scribd logo
1 de 6
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

Mais conteúdo relacionado

Mais procurados

Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...
Chakkaradeep Chandran
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and Tricks
Manageware
 
Addmi 02-addm overview
Addmi 02-addm overviewAddmi 02-addm overview
Addmi 02-addm overview
odanyboy
 

Mais procurados (20)

CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Day7
Day7Day7
Day7
 
Entity framework1
Entity framework1Entity framework1
Entity framework1
 
The Elgg Social Networking Framework
The Elgg Social Networking FrameworkThe Elgg Social Networking Framework
The Elgg Social Networking Framework
 
Day4
Day4Day4
Day4
 
Hibernate Interview Questions
Hibernate Interview QuestionsHibernate Interview Questions
Hibernate Interview Questions
 
Month 3 report
Month 3 reportMonth 3 report
Month 3 report
 
Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...
 
Advanced BCS - Business Data Connectivity Models and Custom Connectors
Advanced BCS - Business Data Connectivity Models and Custom ConnectorsAdvanced BCS - Business Data Connectivity Models and Custom Connectors
Advanced BCS - Business Data Connectivity Models and Custom Connectors
 
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework ServicesReal World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
 
Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity Framework
 
Day5
Day5Day5
Day5
 
GHQ
GHQGHQ
GHQ
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Oim Poc1.0
Oim Poc1.0Oim Poc1.0
Oim Poc1.0
 
Best Practices for Data Sharing (CHPC 2019 - South Africa)
Best Practices for Data Sharing (CHPC 2019 - South Africa)Best Practices for Data Sharing (CHPC 2019 - South Africa)
Best Practices for Data Sharing (CHPC 2019 - South Africa)
 
Identity Manager Opensource OpenIDM Architecture
Identity Manager Opensource OpenIDM ArchitectureIdentity Manager Opensource OpenIDM Architecture
Identity Manager Opensource OpenIDM Architecture
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and Tricks
 
Addmi 02-addm overview
Addmi 02-addm overviewAddmi 02-addm overview
Addmi 02-addm overview
 
Advanced VB: Object Oriented Programming - Controls
Advanced VB: Object Oriented Programming - ControlsAdvanced VB: Object Oriented Programming - Controls
Advanced VB: Object Oriented Programming - Controls
 

Semelhante a Introduction To Corba

Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system development
ektabhalwara
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
koolkampus
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
Amit rai Raaz
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
Adeel Javaid
 

Semelhante a Introduction To Corba (20)

Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system development
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Ch12
Ch12Ch12
Ch12
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
 
C O R B A Unit 4
C O R B A    Unit 4C O R B A    Unit 4
C O R B A Unit 4
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
Object-Relational Mapping and Dependency Injection
Object-Relational Mapping and Dependency InjectionObject-Relational Mapping and Dependency Injection
Object-Relational Mapping and Dependency Injection
 
IoT-A ARM
IoT-A ARMIoT-A ARM
IoT-A ARM
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
 
Learning activity 3
Learning activity 3Learning activity 3
Learning activity 3
 
Corba
CorbaCorba
Corba
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptx
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
 
Spring 2
Spring 2Spring 2
Spring 2
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 

Último

Último (20)

latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answers
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 

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