COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific...

39
COM vs. CORBA COM vs. CORBA Computer Science at Computer Science at Azusa Azusa Pacific University Pacific University March 25, 2022 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http:// www.apu.edu/clas/computerscience / 1

Transcript of COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific...

Page 1: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

COM vs. CORBACOM vs. CORBA

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

1

Page 2: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

What are They?What are They? COM: The Component Object Model is a COM: The Component Object Model is a

software architecture that allows programs to software architecture that allows programs to be built from parts from different software be built from parts from different software producers. producers.

CORBA: The Common Object Request CORBA: The Common Object Request Broker Architecture is an open distributed Broker Architecture is an open distributed object computing infrastructure that is being object computing infrastructure that is being standardized by the Object Management standardized by the Object Management Group (OMG).Group (OMG).

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

2

Page 3: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COMCOM

Designed by Microsoft in 1993Designed by Microsoft in 1993Primarily used with WindowsPrimarily used with Windows It is being replaced with Microsoft .NET It is being replaced with Microsoft .NET

although it can be used with .NET although it can be used with .NET

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

3

Page 4: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COMCOM

COM provides the framework for COM provides the framework for interoperability and reusability of interoperability and reusability of distributed objects.distributed objects.

Programmers can use different Programmers can use different components from different vendors that components from different vendors that communicate through COM.communicate through COM.

Makes maintaining systems easier.Makes maintaining systems easier.April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278

Department of Computer Science, http://www.apu.edu/clas/computerscience/

4

Page 5: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COMCOM The main technologies that operate on the The main technologies that operate on the

COM system are OLE, ActiveX, and MTS.COM system are OLE, ActiveX, and MTS. OLE aspects include compound documents, OLE aspects include compound documents,

custom controls, inter-application scripting, custom controls, inter-application scripting, data transfer, etc.data transfer, etc.

ActiveX allows programs to be web based.ActiveX allows programs to be web based. MTS provides advanced features to allow MTS provides advanced features to allow

COM to be used in enterprise solutions.COM to be used in enterprise solutions.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

5

Page 6: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COMCOM

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

6

Page 7: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

What does COM do?What does COM do?

Defines a binary standard for component Defines a binary standard for component interoperabilityinteroperability

Is Language-independentIs Language-independentCan support multiple platformsCan support multiple platformsAllows for component systems to growAllows for component systems to grow Is extensibleIs extensible

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

7

Page 8: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

What does COM do?What does COM do?

Communications between components, Communications between components, even across process and networks. even across process and networks. (dcom)(dcom)

Shared memory management between Shared memory management between componentscomponents

Error and status reportingError and status reportingDynamic loading of componentsDynamic loading of components

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

8

Page 9: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

How does COM do it?How does COM do it?

The Binary structureThe Binary structure If the compiler can reduce language If the compiler can reduce language

structures down to the specified binary structures down to the specified binary representation.representation.

This allows the communication at the This allows the communication at the binary levelbinary level

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

9

Page 10: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

VtablesVtables COM defines a standard way to lay out COM defines a standard way to lay out

virtual function tables in memory and a virtual function tables in memory and a standard way to call functions through standard way to call functions through vtables.vtables.

Through this any language that can call Through this any language that can call functions through pointers can be used with functions through pointers can be used with COM.COM.

This allows the sharing of resources by using This allows the sharing of resources by using multiples of an object, therefore reducing the multiples of an object, therefore reducing the memory requirement.memory requirement.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

10

Page 11: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

VtableVtable

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

11

Page 12: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM InterfacesCOM Interfaces An interface is not a class, it is just a group of related An interface is not a class, it is just a group of related

functions and is how components communicate.functions and is how components communicate. Clients can only use interface pointers which Clients can only use interface pointers which

abstract all functions. The only way an interface can abstract all functions. The only way an interface can be used is if it has a pointer.be used is if it has a pointer.

A component usually has more than one interface A component usually has more than one interface because it has multiple services.because it has multiple services.

Interfaces never change, to make sure that all Interfaces never change, to make sure that all version can work together. If a new components is version can work together. If a new components is added it requires a new interfaceadded it requires a new interface

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

12

Page 13: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM interface benefitsCOM interface benefits The functionality in applications to grow over The functionality in applications to grow over

time time All COM objects support QueryInterface All COM objects support QueryInterface

which allows the making of more interfaces which allows the making of more interfaces without changing the binary compatibility with without changing the binary compatibility with existing code. existing code.

This also helps guarantees backward This also helps guarantees backward compatibility because of unchangeable compatibility because of unchangeable interfaces.interfaces.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

13

Page 14: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Interface benefitsCOM Interface benefits

Fast interaction because the calls are Fast interaction because the calls are simply two memory pointers. The simply two memory pointers. The difference between a COM call and direct difference between a COM call and direct function call is negligible.function call is negligible.

It allows for fast negotiation of interfaces It allows for fast negotiation of interfaces because it is done in groups.because it is done in groups.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

14

Page 15: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Interface benefitsCOM Interface benefits

Interface reusability allows for code to be Interface reusability allows for code to be reused easily and makes it easy for reused easily and makes it easy for programmers to remember a specific programmers to remember a specific interface.interface.

Allows for multiple higher level languages Allows for multiple higher level languages to be used. It breaks down the languages to be used. It breaks down the languages into a binary standard.into a binary standard.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

15

Page 16: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Interface benefitsCOM Interface benefits

COM handles all calls to remote COM handles all calls to remote processes including network calls. COM processes including network calls. COM will make the remote procedure call so will make the remote procedure call so that no additional code is required to make that no additional code is required to make a remote function call. This functionality a remote function call. This functionality was added with the release of DCOM.was added with the release of DCOM.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

16

Page 17: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Interface BenefitsCOM Interface Benefits

COM creates a unique identifier that is a COM creates a unique identifier that is a 128-bit integer so that there will be a way 128-bit integer so that there will be a way to correctly identify a component across a to correctly identify a component across a network of millions of components. network of millions of components.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

17

Page 18: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Client/Server ModelCOM Client/Server Model The interaction between components creates The interaction between components creates

a Client/Server modela Client/Server model The code that requests a function from a The code that requests a function from a

component is considered the client and the component is considered the client and the component that provides the function is component that provides the function is considered the server.considered the server.

This allows for a crash at the server level but This allows for a crash at the server level but will keep the client operating.will keep the client operating.

Clients can also represent themselves and act Clients can also represent themselves and act as a peer to peer service.as a peer to peer service.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

18

Page 19: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM Client/Server ModelCOM Client/Server ModelThere are 3 different types of serversThere are 3 different types of servers ““in-process” means that the requested in-process” means that the requested

information is in the same processinformation is in the same process ““local” means that the location of the local” means that the location of the

component is running on the same component is running on the same machine but in a different processmachine but in a different process

““remote” means that the component is remote” means that the component is on a different machine on the network.on a different machine on the network.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

19

Page 20: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM: IUnknownCOM: IUnknown IUnkown is a special interface made up of IUnkown is a special interface made up of

AddRef, Release, and QueryInterface.AddRef, Release, and QueryInterface. AddRef and Release keep track of the AddRef and Release keep track of the

objects connected to the component.objects connected to the component. QueryInterface allows clients to determine if QueryInterface allows clients to determine if

it can use a given interface with a it can use a given interface with a component. It also retrieves the interface component. It also retrieves the interface pointers.pointers.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

20

Page 21: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM: COLCOM: COL

The Component Object Library contains The Component Object Library contains much of the work of the COM system. much of the work of the COM system.

It maintains all of the GUID’sIt maintains all of the GUID’s It handles loading requested components It handles loading requested components

by calling what the component needs.by calling what the component needs.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

21

Page 22: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM: ProblemsCOM: Problems

Implementation Inheritance can inherit Implementation Inheritance can inherit some of its functionality from another some of its functionality from another component component

The problem is this is not clearly The problem is this is not clearly defined. If a parent or child component defined. If a parent or child component is changed it my mess up other is changed it my mess up other components related to it.components related to it.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

22

Page 23: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

COM: ProblemsCOM: Problems

Cost for using COM on Microsoft products Cost for using COM on Microsoft products is very low, but for non Microsoft products is very low, but for non Microsoft products is very expensive.is very expensive.

COM doesn’t make distributed any easier COM doesn’t make distributed any easier it just redirects where this process is it just redirects where this process is handled.handled.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

23

Page 24: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBACORBA

It is maintained by the Object It is maintained by the Object Management Group, which is comprised Management Group, which is comprised of nearly all the major software of nearly all the major software developers.developers.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

24

Page 25: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBACORBA CORBA handles network programming tasks CORBA handles network programming tasks

such as object registration, location, and such as object registration, location, and activation, request demultiplexing, framing and activation, request demultiplexing, framing and error-handling, etc.error-handling, etc.

Each service that an object provides is given by Each service that an object provides is given by its interface which is defined by Interface its interface which is defined by Interface Definition Language (IDL). Definition Language (IDL).

Object Request Broker (ORB) handles requests Object Request Broker (ORB) handles requests and delivers them from objects to the clients.and delivers them from objects to the clients.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

25

Page 26: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: ORBCORBA: ORB

The ORB is a distributed service that The ORB is a distributed service that sends requests to remote objects, finds sends requests to remote objects, finds that object and waits for it’s reply and that object and waits for it’s reply and gives it to the client.gives it to the client.

The client is hidden from this process as it The client is hidden from this process as it same method as calling a local object.same method as calling a local object.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

26

Page 27: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: ORBCORBA: ORB

The ORB also maintains the Interface The ORB also maintains the Interface Repository (IR) which contains the IDL.Repository (IR) which contains the IDL.

On the server side ORB regulates the On the server side ORB regulates the running objects by turning on or off running objects by turning on or off programs as they are needed.programs as they are needed.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

27

Page 28: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

28

Page 29: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: DIICORBA: DII

The Dynamic Invocation Interface are The Dynamic Invocation Interface are interpreted at run time an not compiled. interpreted at run time an not compiled.

This allows the invocation of an operation This allows the invocation of an operation of a new type.of a new type.

There must be a way to retrieve the There must be a way to retrieve the necessary information to use the DII.necessary information to use the DII.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

29

Page 30: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: StubsCORBA: Stubs

Stubs are what the client uses to interface Stubs are what the client uses to interface with the ORB.with the ORB.

A client might invoke hundreds of A client might invoke hundreds of instances but a new stub is created when instances but a new stub is created when the instance is of a different typethe instance is of a different type

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

30

Page 31: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

CORBA: ORB InterfaceCORBA: ORB Interface

It provides access to every ORB service It provides access to every ORB service except for client requests which go except for client requests which go through the stubs and object requests through the stubs and object requests which are done through the POA.which are done through the POA.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

31

Page 32: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: ORB ImplementaionCORBA: ORB Implementaion

The client-side architecture is simpleThe client-side architecture is simpleThis allows for all scalability options are on This allows for all scalability options are on

the server side.the server side.The ORB doesn’t require code to be in a The ORB doesn’t require code to be in a

specific spot so that ORBs can spread specific spot so that ORBs can spread their work across vast networks or keep it their work across vast networks or keep it all in one computer.all in one computer.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

32

Page 33: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: InteroperabilityCORBA: Interoperability CORBA specifies an API to use which creates CORBA specifies an API to use which creates

the ability to use code with different vendor’s the ability to use code with different vendor’s with little effort. with little effort.

CORBA 2.0 added IIOP network protocol that CORBA 2.0 added IIOP network protocol that allowed communication of CORBA products allowed communication of CORBA products over TCP/IP connections.over TCP/IP connections.

IIOP is used by other systems so that IIOP is used by other systems so that interoperability is possible with non-CORBA interoperability is possible with non-CORBA systems.systems.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

33

Page 34: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

34

Page 35: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: ServicesCORBA: Services

These services support the distributed These services support the distributed objects. objects.

They operate on the ORB and have IDL They operate on the ORB and have IDL interfacesinterfaces

These include naming, events, These include naming, events, transactions, properties, etc.transactions, properties, etc.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

35

Page 36: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: IDLCORBA: IDL The Interface Definition Language doesn’t have The Interface Definition Language doesn’t have

a programming language but it maps to popular a programming language but it maps to popular programming languages.programming languages.

The IDL defines the interface very strictly so that The IDL defines the interface very strictly so that it can easily pass requests between different it can easily pass requests between different programming language objects.programming language objects.

It is so strict that even if an ORD is different is It is so strict that even if an ORD is different is can still easily communicatecan still easily communicate

The other objects are encapsulated so that a The other objects are encapsulated so that a client can’t see other objects code or data.client can’t see other objects code or data.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

36

Page 37: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

37

Page 38: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

CORBA: ProblemsCORBA: Problems

CORBA calls are all the same so the CORBA calls are all the same so the simplest call must be the same as the simplest call must be the same as the most complex call. There is no limit on the most complex call. There is no limit on the complexity.complexity.

Since CORBA is regulated by the very Since CORBA is regulated by the very large OMG, it is difficult to create large OMG, it is difficult to create standards because of the many different standards because of the many different opinions.opinions.

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

38

Page 39: COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department.

Questions?Questions?

Computer Science at Computer Science at Azusa Pacific UniversityAzusa Pacific University

April 19, 2023Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

39