SlideShare a Scribd company logo
ppt24
1
Topics for today
 CORBA
 DCOM
2
CORBA (Common Object Request
Broker Architecture)
A specification or standard which specifies how objects
communicate with each other over a network.
It is a middleware based architecture
The ORB is the heart of the distributed component
architecture
Allows developers to define distributed component
architectures without worrying about the underlying network
Communications and programming language
Motivation behind CORBA
Distributed applications cause a lot of problems
• Participating systems may be heterogeneous
• Access to remote services has to be location transparent
• Remote objects have to be found and activated
• State of objects has to be kept persistent and consistent
• Security has to be dealt with
so we want an architecture that…
• …supports a remote method invocation paradigm
• …provides location transparency
• …allows to add, exchange, or remove services
dynamically
• …hides system details from the developer
The result is the CORBA architecture
What is CORBA?
• CORBA is a standard (not a product!)
• allows objects to transparently make requests and
receive responses
• enables interoperability between different applications
• 􀂃 on different machines
• 􀂃 in heterogeneously distributed environments
CORBA design goals
Independence of
hardware platform
programming language
operating system
specific Object Request Broker
degree of object distribution
Open Architecture:
Language, platform and location transparent
Language-neutral Interface Definition Language (IDL)
ORB Core
Ways to achieve the goals of CORBA
• Interface Definition Language (IDL)
• Object Request Broker (ORB)
• Internet Inter-ORB protocol (IIOP)
Interface Definition Language (IDL)
• Language Independence
• Defines Object Interfaces
• Hides underlying object implementation
• Language mappings exist for C, C++, Java,
Cobol, Smalltalk, and Ada
Object Request Broker (ORB)
• What is it?
• ORB Architecture (CORBA architecture)
Application
What is it?
• Implementation of CORBA specification
• Middleware product
• Conceptual Software Bus
• Hides location and
implementation details
about objects
Hardware
OS Drivers
Middleware
Two major task of ORB’s
• The ORB locates a remote component, given
its reference.
• The ORB also makes sure that the called
method receives the parameters over the
network correctly. This process is known as
Marshalling. In reverse manner, the ORB also
makes sure that the calling component
receives back the return values, if any, from
the called method. This process is known as
Un-Marshalling.
Example of how the ORB’s work
• Component A calls Insert method and passes two
parameters, a and b
• Component A ORB picks up the request and realizes that
Insert method is defined in component B and passes the
method name and parameters in binary form(i.e
marshals them) across the network to the ORB at the
node where component B is located.
Component A
ORB
Component B
ORB
Insert(a,b)
• ORB at component B’s end picks up this request and converts the binary
data back into its original form. Calls Insert method with parameters,
executed and result is returned to the ORB
• Finally, the ORB at component B’s end takes this return value, converts it
into binary equivalent and sends it across the network back to ORB at A’s
component (i.e un-marshals the request)
ORB ORB
Component BComponent A
..010010
ORBORB
Component AComponent A
returnInsert(a,b)
• The ORB at component A’s end picks up this binary data,
converts back to the original values and gives it to component
A
Component A
ORBORB
Component B
…01010
Component A
ORB ORB
Component B
return
ORB Architecture
Interface
Repository
IDL
Compiler
Implementation
Repository
Client Object (servant)
ORB Core
IDL
Skeleton
DSI
ORB
Interface
IDL
Stub
DII
OBJ
Ref
GIOP/IIOP
Object Adapter
Interface Repository
Interface
Repository
Object Adapter
• Database of object definitions
• Contains metadata about each object
• Allows for introspection
• Allows clients to discover interfaces at run-time
• Used in support of dynamic invocations
Implementation Repository
Implementation
Repository
Object Adapter
• Contains information that allows the ORB
to locate and activate object
implementations
• Provides information about the classes a
server supports, the objects that are
instantiated, and their IDs
ORB Core
ORB CoreGIOP/IOOP
• Provides mechanism for transparently
communicating client requests to target
object implementations
• Makes client requests appear to be local
procedure calls
• GIOP – General Inter-ORB Protocol
• IIOP – Internet Inter-ORB Protocol
ORB Interface
Client Object (servant)
ORB
Interface
Object Adapter
• Provides helper functions
• Converting object
references to strings
• Creating argument
lists for requests made
through DII
IDL Stub
• Static invocation
interface (SII)
• Marshals application
data into a common
packet-level
representation
– Network byte order
(little-endian or big-
endian)
– Size of data types
Client
IDL
Stub
IDL Skeleton
Object (servant)
IDL
Skeleton
• Demarshals the
packet-level
representation back
into typed data that is
meaningful to an
application
– Network byte order
(little-endian or big-
endian)
– Size of data types
Dynamic Invocation Interface
Client
DII
Object Adapter
• Dynamically issue requests to objects
without requiring IDL stubs to be
linked in
• Clients discover interfaces at run-
time and learn how to call them
Steps:
1. Obtain interface name
2. Obtain method description (from
interface repository)
3. Create argument list
4. Create request
5. Invoke request
Dynamic Skeleton Interface
Object (servant)
DSI
Object Adapter
• Server side analogue to DII
• Allows an ORB to deliver
requests to an object
implementation that does
not have compile-time
knowledge of the type of
object it is implementing
Object Adapter
Object (servant)
IDL
Skeleton
DSI
Object Adapter
• Accept requests for service on behalf
of the server’s objects
• Demultiplexes requests to the correct
servant
• Dispatches the appropriate operation
upcall on the servant
• Registers classes it supports and their
run-time instances with the
implementation repository
Object Reference
Client Object (servant)OBJ
Ref
Object Adapter
• Interoperable Object Reference (IOR)
• Uniquely identifies each object
• Contents
• Type Name (repository ID)
• Protocol and Address Details
• Object Key (object adaptor name, object name)
GIOP-General Inter ORB Protocol
DCOM (Distributed Component Object
Model)
• It is a microsoft’s version of the distributed
component based computing solutions.
• Popularly know as COM with a long wire.
• Based on the object oriented principle of
keeping an object’s interface separate from its
implementation.
• Similar to CORBA where COM components
interact with each other over the network.
• Every COM component is registered in the
Windows registry of the operating system
Differences between CORBA and DCOM
• Java applets are the clients in case of CORBA whereas in
DCOM ActiveX controls are usually the clients
• Client side infrastructure in DCOM is called Proxy and the
server side is Stub.
• In DCOM when a component wants to invoke a method of
another component that is remotely located, the caller has to
obtain the CLSID of the component to be called.
CLSID is a class identifier that identifies any DCOM component
all over the world.
CLSID is 128 bits that includes the date and detailed time
values when the component was created.
DCOM Architecture
Client browser
HTML pages with
ActiveX Controls
HTML pages with
ActiveX Controls
Web Server
Application Server
Proxy
HTTP
DCOM Stub
Object Implementation
Corba

More Related Content

What's hot

Design issues for the layers
Design issues for the layersDesign issues for the layers
Design issues for the layersjayaprakash
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
MNM Jain Engineering College
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
Dr Sandeep Kumar Poonia
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
Return on Intelligence
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlAbDul ThaYyal
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
Ujjayanta Bhaumik
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
Emily Bauman
 
Io t system management with
Io t system management withIo t system management with
Io t system management with
xyxz
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Sachin Chauhan
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBA
Priyanka Patil
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
Sanae BEKKAR
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
Paul Pajo
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
Adeel Rasheed
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
yndaravind
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
Ramakant Soni
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
Harsh Jegadeesan
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Ravindra Raju Kolahalam
 
Webservices
WebservicesWebservices
Webservices
Gerard Sylvester
 
Corba
CorbaCorba

What's hot (20)

Design issues for the layers
Design issues for the layersDesign issues for the layers
Design issues for the layers
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency control
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
 
Io t system management with
Io t system management withIo t system management with
Io t system management with
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBA
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Webservices
WebservicesWebservices
Webservices
 
Corba
CorbaCorba
Corba
 

Similar to Corba

Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connection
MohammedAkramMohiudd
 
82159587 case-study-on-corba
82159587 case-study-on-corba82159587 case-study-on-corba
82159587 case-study-on-corba
homeworkping3
 
85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-study
homeworkping3
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
BesAli1
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
dagilema
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
Kaviya452563
 
Corba and-java
Corba and-javaCorba and-java
Corba and-javaafreen58
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.ppt
rani marri
 
Corba in power system
Corba in power systemCorba in power system
Corba in power system
PROTIM PAUL
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corba
poovi117
 
Introduction To Corba
Introduction To CorbaIntroduction To Corba
Introduction To Corba
rajianju
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
ssuser4fd4ff3
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
muthahar.sk
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Sri Prasanna
 
Middleware1
Middleware1Middleware1
Middleware1bhumi109
 
Inter ORB Protocol and Object Persistence & Object Serialization
Inter ORB Protocol and Object Persistence & Object SerializationInter ORB Protocol and Object Persistence & Object Serialization
Inter ORB Protocol and Object Persistence & Object SerializationAnkit Mulani
 

Similar to Corba (20)

Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connection
 
Unit iv
Unit ivUnit iv
Unit iv
 
82159587 case-study-on-corba
82159587 case-study-on-corba82159587 case-study-on-corba
82159587 case-study-on-corba
 
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
 
85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-study
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.ppt
 
Corba in power system
Corba in power systemCorba in power system
Corba in power system
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corba
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Introduction To Corba
Introduction To CorbaIntroduction To Corba
Introduction To Corba
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
 
Middleware1
Middleware1Middleware1
Middleware1
 
Inter ORB Protocol and Object Persistence & Object Serialization
Inter ORB Protocol and Object Persistence & Object SerializationInter ORB Protocol and Object Persistence & Object Serialization
Inter ORB Protocol and Object Persistence & Object Serialization
 
internet
internetinternet
internet
 

More from Sanoj Kumar

Internet of things
Internet of thingsInternet of things
Internet of things
Sanoj Kumar
 
Jsp applet
Jsp appletJsp applet
Jsp applet
Sanoj Kumar
 
Dns
DnsDns
Big data and Internet
Big data and InternetBig data and Internet
Big data and Internet
Sanoj Kumar
 
Ajax
AjaxAjax
A New Security Model For Distributed System
A New Security Model For Distributed SystemA New Security Model For Distributed System
A New Security Model For Distributed SystemSanoj Kumar
 
A New Form of Dos attack in Cloud
A New Form of Dos attack in CloudA New Form of Dos attack in Cloud
A New Form of Dos attack in CloudSanoj Kumar
 
Biometrics
BiometricsBiometrics
Biometrics
Sanoj Kumar
 
Inverted page tables basic
Inverted page tables basicInverted page tables basic
Inverted page tables basicSanoj Kumar
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basicSanoj Kumar
 
Dos attack basic
Dos attack basicDos attack basic
Dos attack basicSanoj Kumar
 
Steganography basic
Steganography basicSteganography basic
Steganography basicSanoj Kumar
 
Digital signatures
Digital signaturesDigital signatures
Digital signaturesSanoj Kumar
 

More from Sanoj Kumar (14)

Internet of things
Internet of thingsInternet of things
Internet of things
 
Jsp applet
Jsp appletJsp applet
Jsp applet
 
Dns
DnsDns
Dns
 
Big data and Internet
Big data and InternetBig data and Internet
Big data and Internet
 
Ajax
AjaxAjax
Ajax
 
A New Security Model For Distributed System
A New Security Model For Distributed SystemA New Security Model For Distributed System
A New Security Model For Distributed System
 
A New Form of Dos attack in Cloud
A New Form of Dos attack in CloudA New Form of Dos attack in Cloud
A New Form of Dos attack in Cloud
 
Biometrics
BiometricsBiometrics
Biometrics
 
IPC SOCKET
IPC SOCKETIPC SOCKET
IPC SOCKET
 
Inverted page tables basic
Inverted page tables basicInverted page tables basic
Inverted page tables basic
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basic
 
Dos attack basic
Dos attack basicDos attack basic
Dos attack basic
 
Steganography basic
Steganography basicSteganography basic
Steganography basic
 
Digital signatures
Digital signaturesDigital signatures
Digital signatures
 

Recently uploaded

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 

Recently uploaded (20)

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 

Corba

  • 2. Topics for today  CORBA  DCOM 2
  • 3. CORBA (Common Object Request Broker Architecture) A specification or standard which specifies how objects communicate with each other over a network. It is a middleware based architecture The ORB is the heart of the distributed component architecture Allows developers to define distributed component architectures without worrying about the underlying network Communications and programming language
  • 4. Motivation behind CORBA Distributed applications cause a lot of problems • Participating systems may be heterogeneous • Access to remote services has to be location transparent • Remote objects have to be found and activated • State of objects has to be kept persistent and consistent • Security has to be dealt with
  • 5. so we want an architecture that… • …supports a remote method invocation paradigm • …provides location transparency • …allows to add, exchange, or remove services dynamically • …hides system details from the developer The result is the CORBA architecture
  • 6. What is CORBA? • CORBA is a standard (not a product!) • allows objects to transparently make requests and receive responses • enables interoperability between different applications • 􀂃 on different machines • 􀂃 in heterogeneously distributed environments
  • 7. CORBA design goals Independence of hardware platform programming language operating system specific Object Request Broker degree of object distribution Open Architecture: Language, platform and location transparent Language-neutral Interface Definition Language (IDL)
  • 8.
  • 9.
  • 11.
  • 12. Ways to achieve the goals of CORBA • Interface Definition Language (IDL) • Object Request Broker (ORB) • Internet Inter-ORB protocol (IIOP)
  • 13. Interface Definition Language (IDL) • Language Independence • Defines Object Interfaces • Hides underlying object implementation • Language mappings exist for C, C++, Java, Cobol, Smalltalk, and Ada
  • 14. Object Request Broker (ORB) • What is it? • ORB Architecture (CORBA architecture)
  • 15. Application What is it? • Implementation of CORBA specification • Middleware product • Conceptual Software Bus • Hides location and implementation details about objects Hardware OS Drivers Middleware
  • 16. Two major task of ORB’s • The ORB locates a remote component, given its reference. • The ORB also makes sure that the called method receives the parameters over the network correctly. This process is known as Marshalling. In reverse manner, the ORB also makes sure that the calling component receives back the return values, if any, from the called method. This process is known as Un-Marshalling.
  • 17. Example of how the ORB’s work • Component A calls Insert method and passes two parameters, a and b • Component A ORB picks up the request and realizes that Insert method is defined in component B and passes the method name and parameters in binary form(i.e marshals them) across the network to the ORB at the node where component B is located. Component A ORB Component B ORB Insert(a,b)
  • 18. • ORB at component B’s end picks up this request and converts the binary data back into its original form. Calls Insert method with parameters, executed and result is returned to the ORB • Finally, the ORB at component B’s end takes this return value, converts it into binary equivalent and sends it across the network back to ORB at A’s component (i.e un-marshals the request) ORB ORB Component BComponent A ..010010 ORBORB Component AComponent A returnInsert(a,b)
  • 19. • The ORB at component A’s end picks up this binary data, converts back to the original values and gives it to component A Component A ORBORB Component B …01010 Component A ORB ORB Component B return
  • 20. ORB Architecture Interface Repository IDL Compiler Implementation Repository Client Object (servant) ORB Core IDL Skeleton DSI ORB Interface IDL Stub DII OBJ Ref GIOP/IIOP Object Adapter
  • 21. Interface Repository Interface Repository Object Adapter • Database of object definitions • Contains metadata about each object • Allows for introspection • Allows clients to discover interfaces at run-time • Used in support of dynamic invocations
  • 22.
  • 23. Implementation Repository Implementation Repository Object Adapter • Contains information that allows the ORB to locate and activate object implementations • Provides information about the classes a server supports, the objects that are instantiated, and their IDs
  • 24. ORB Core ORB CoreGIOP/IOOP • Provides mechanism for transparently communicating client requests to target object implementations • Makes client requests appear to be local procedure calls • GIOP – General Inter-ORB Protocol • IIOP – Internet Inter-ORB Protocol
  • 25. ORB Interface Client Object (servant) ORB Interface Object Adapter • Provides helper functions • Converting object references to strings • Creating argument lists for requests made through DII
  • 26. IDL Stub • Static invocation interface (SII) • Marshals application data into a common packet-level representation – Network byte order (little-endian or big- endian) – Size of data types Client IDL Stub
  • 27. IDL Skeleton Object (servant) IDL Skeleton • Demarshals the packet-level representation back into typed data that is meaningful to an application – Network byte order (little-endian or big- endian) – Size of data types
  • 28. Dynamic Invocation Interface Client DII Object Adapter • Dynamically issue requests to objects without requiring IDL stubs to be linked in • Clients discover interfaces at run- time and learn how to call them Steps: 1. Obtain interface name 2. Obtain method description (from interface repository) 3. Create argument list 4. Create request 5. Invoke request
  • 29. Dynamic Skeleton Interface Object (servant) DSI Object Adapter • Server side analogue to DII • Allows an ORB to deliver requests to an object implementation that does not have compile-time knowledge of the type of object it is implementing
  • 30. Object Adapter Object (servant) IDL Skeleton DSI Object Adapter • Accept requests for service on behalf of the server’s objects • Demultiplexes requests to the correct servant • Dispatches the appropriate operation upcall on the servant • Registers classes it supports and their run-time instances with the implementation repository
  • 31. Object Reference Client Object (servant)OBJ Ref Object Adapter • Interoperable Object Reference (IOR) • Uniquely identifies each object • Contents • Type Name (repository ID) • Protocol and Address Details • Object Key (object adaptor name, object name)
  • 33.
  • 34. DCOM (Distributed Component Object Model) • It is a microsoft’s version of the distributed component based computing solutions. • Popularly know as COM with a long wire. • Based on the object oriented principle of keeping an object’s interface separate from its implementation. • Similar to CORBA where COM components interact with each other over the network. • Every COM component is registered in the Windows registry of the operating system
  • 35. Differences between CORBA and DCOM • Java applets are the clients in case of CORBA whereas in DCOM ActiveX controls are usually the clients • Client side infrastructure in DCOM is called Proxy and the server side is Stub. • In DCOM when a component wants to invoke a method of another component that is remotely located, the caller has to obtain the CLSID of the component to be called. CLSID is a class identifier that identifies any DCOM component all over the world. CLSID is 128 bits that includes the date and detailed time values when the component was created.
  • 36. DCOM Architecture Client browser HTML pages with ActiveX Controls HTML pages with ActiveX Controls Web Server Application Server Proxy HTTP DCOM Stub Object Implementation