Presentation is loading. Please wait.

Presentation is loading. Please wait.

CORBA Overview and Advanced Programming Issues 1998 CTIT, Nikolay Diakov 1 Table Of Contents Introduction OMG, OMA, CORBA Object Model CORBA Introspection.

Similar presentations


Presentation on theme: "CORBA Overview and Advanced Programming Issues 1998 CTIT, Nikolay Diakov 1 Table Of Contents Introduction OMG, OMA, CORBA Object Model CORBA Introspection."— Presentation transcript:

1 CORBA Overview and Advanced Programming Issues 1998 CTIT, Nikolay Diakov 1 Table Of Contents Introduction OMG, OMA, CORBA Object Model CORBA Introspection ORB Interoperability Run-time features, Fault-tolerance and Component Model CORBA 3.0 Part 1Part 2 Simple Application IDL to Programming Language mapping Advanced Programming Issues Appendix Look into the IDL

2 CORBA Overview and Advanced Programming Issues 1998 CTIT, Nikolay Diakov 2 Part 1. Overview Proprietary systems Networks with proprietary protocols Open systems and standardized communication protocols

3 Introduction 1998 CTIT, Nikolay Diakov 3 Object Management Group (OMG) Common Object Request Broker Architecture (CORBA) Object Management Architecture (OMA)

4 OMG 1998 CTIT, Nikolay Diakov 4 Founded April 1989. Largest software consortium in the world It has 800+ participants Small staff (27 full time); no internal development. Offices in U.S.A., Germany, Japan, U.K, Australia, India. Dedicated to creating and popularizing object-oriented standards for application integration based on existing technology.

5 Common Object Request Broker Architecture 1998 CTIT, Nikolay Diakov 5

6 CORBA 1998 CTIT, Nikolay Diakov 6 CORBA bus App1 App2 App3 AppX

7 Object Management Architecture 1998 CTIT, Nikolay Diakov 7

8 OMA 1998 CTIT, Nikolay Diakov 8 Application Objects Object Request Broker Object Services Common Facilities Object Management Architecture

9 OMA 1998 CTIT, Nikolay Diakov 9 System oriented components Object Request Brokers Object Services Application Objects Object Request Broker Object Services Common Facilities

10 OMA 1998 CTIT, Nikolay Diakov 1010 System oriented components Object Request Brokers Object Services Application oriented components Application Objects Common Facilities Application Objects Object Request Broker Object Services Common Facilities

11 OMA 1998 CTIT, Nikolay Diakov 1111 System oriented components Object Request Brokers Object Services Application oriented components Application Objects Common Facilities Horizontal Vertical Application Objects Object Request Broker Object Services Common Facilities

12 OMG Object Model (OM) 1998 CTIT, Nikolay Diakov 1212

13 OMG Object Model (OM) 1998 CTIT, Nikolay Diakov 1313 Object –Combines Functionality and Data –Typically represents a real-world object –Has a well-defined interface (Through IDL) –and an “object reference” or address –Follows basic OO principles: EncapsulationInheritance PolymorphismInstantiation

14 OMG Object Model (OM) 1998 CTIT, Nikolay Diakov 1414 Consists of Core Object Model Components Profiles Goals Application portability Object level Design level Source code level Interoperability

15 CORBA Object Model 1998 CTIT, Nikolay Diakov 1515 Based on OMG/OM Goes concrete on the technology - interaction between clients and servers Concepts clients requests operations Interfaces and attributes

16 CORBA Object Services 1998 CTIT, Nikolay Diakov 1616

17 CORBA Object Services 1998 CTIT, Nikolay Diakov 1717 Access to object references Naming Service Object Trader Service Notification of significant events of change of state Event Service Notification Service Support of transactional semantics Transaction Service Access to object references Naming Service Object Trader Service Notification of significant events of change of state Event Service Notification Service Support of transactional semantics Transaction Service Support for secure interoperability Object Security Service Licensing Service Other Life Cycle Service Persistence Service Concurency Control Service Time Service Support for secure interoperability Object Security Service Licensing Service Other Life Cycle Service Persistence Service Concurency Control Service Time Service

18 CORBA Interface Definition Language 1998 CTIT, Nikolay Diakov 1818

19 CORBA IDL 1998 CTIT, Nikolay Diakov 1919 OMG/ISO IDL (Interface Definition Language) Separates the Interface from the Implementation multiple-inheritance, strongly typed, public interface specification language; independent of any particular language/compiler; mappings will be provided for many languages/compilers; not a programming language. Enables Interoperability

20 CORBA IDL 1998 CTIT, Nikolay Diakov 2020 I D L ORB CC++COBOLAda Small talk More Client Side Object Implementation Side COBOLC Ada C++ Small talk More I D L ORB

21 CORBA - UML and MOF 1998 CTIT, Nikolay Diakov 2121 Unified Modeling Language - enables visual modeling and analysis Metadata Object Facility - provides a standard repository for metadata within the CORBA architecture

22 CORBA For Developers 1998 CTIT, Nikolay Diakov 2222 Develop Clients and Servers Independently using the Best Tools for Each Task CORBA Services and CORBA Facilities accessed via standard OMG IDL Interfaces CORBA provides a sophisticated base for software development CORBA Services provide necessary OO foundation CORBA Facilities standardize building blocks Developers create or assemble Application Objects Much more than Client-Server

23 CORBA For Users 1998 CTIT, Nikolay Diakov 2323 Purchase Server Objects from Multiple Vendors and Integrate Under One or More Client Applications Seamlessly Integrate In-House and Purchased Objects Acquire & Maintain a Single Set of Business Objects Accessed by the Entire Enterprise Each Division Accesses These Common Objects Using a GUI Built for its Own Needs

24 CORBA Essential 1998 CTIT, Nikolay Diakov 2424

25 CORBA 1998 CTIT, Nikolay Diakov 2525 Client Object Implementation ORB With IDL the interface definition is separated from the implementation

26 CORBA 1998 CTIT, Nikolay Diakov 2626 Client Object Implementation ORB Defining the Object’s interface in the OMG IDL creates a language independent API for the Object

27 CORBA 1998 CTIT, Nikolay Diakov 2727 Client Object Implementation ORB Objects may be written in programming languages -- C, C++, Java, Smalltalk, Ada, COBOL, Visual Basic, or might be Wrapped Legacy Applications, Tool- Generated Objects, or Objects purchased from Vendors. C++ Java Pascal Ada

28 CORBA 1998 CTIT, Nikolay Diakov 2828 Client Object Implementation ORB The same IDL defines the Client Side API.

29 CORBA Introspection 1998 CTIT, Nikolay Diakov 2929

30 CORBA Introspection 1998 CTIT, Nikolay Diakov 3030 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

31 CORBA Introspection 1998 CTIT, Nikolay Diakov 3131 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

32 CORBA Introspection 1998 CTIT, Nikolay Diakov 3232 Client The Client invokes operations The invocation is transparent in terms of runtime environment location implementation language The Client invokes operations The invocation is transparent in terms of runtime environment location implementation language

33 CORBA Introspection 1998 CTIT, Nikolay Diakov 3333 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

34 CORBA Introspection 1998 CTIT, Nikolay Diakov 3434 Object Implementation Implements the interface Can be written in any programming language Can be independent to the ORB implementation

35 CORBA Introspection 1998 CTIT, Nikolay Diakov 3535 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

36 CORBA Introspection 1998 CTIT, Nikolay Diakov 3636 IDL stubs IDL skeleton The stub is the part to include into the client project. Both generated from the same IDL interface The skeleton is the part to include into the server project. Both provide the mapping to the particular programming language

37 CORBA Introspection 1998 CTIT, Nikolay Diakov 3737 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

38 CORBA Introspection 1998 CTIT, Nikolay Diakov 3838 ORB interface ORB is a logical entity that may be implemented in various ways. To hide implementation details from the applications, the CORBA specification defines an abstract interface for an ORB. This interface provides a variety of helper functions.

39 CORBA Introspection 1998 CTIT, Nikolay Diakov 3939 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

40 CORBA Introspection 1998 CTIT, Nikolay Diakov 4040 DII DSI Provides dynamic access to the request scheme of the ORB No stub specific bindings Allows deferred synchronous and oneway requests Provides dynamic access to the request scheme of the ORB No stub specific bindings Allows deferred synchronous and oneway requests Allows request to go to implementations that does not have compile-time knowledge about the interface they implement

41 CORBA Introspection 1998 CTIT, Nikolay Diakov 4141 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

42 CORBA Introspection 1998 CTIT, Nikolay Diakov 4242 Object Adapter Object Activation Delivering the requests to the particular implementation CORBA 3.0 standardizes Portable Object Adapters Object Activation Delivering the requests to the particular implementation CORBA 3.0 standardizes Portable Object Adapters

43 CORBA Introspection 1998 CTIT, Nikolay Diakov 4343 Client ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE Object Implementation

44 CORBA Introspection 1998 CTIT, Nikolay Diakov 4444 GIOP/IIOP ORB CORE Provides a mechanism for transparently communicating client requests to target object implementations. The ORB simplifies the distributed environments.

45 CORBA Interoperability 1998 CTIT, Nikolay Diakov 4545

46 CORBA Interoperability 1998 CTIT, Nikolay Diakov 4646 There are different hardware platforms; There are different operating systems; There are different network protocols; There are different application formats/protocols. There must be consensus on interoperability. One possible answer to the question how to make these things work together is:

47 CORBA Interoperability 1998 CTIT, Nikolay Diakov 4747 Boundaries which may not be obvious or logical to you –departmental (budget, task, group) boundaries –site boundaries (company, plant) –technological boundaries (HW, SW)

48 CORBA Interoperability 1998 CTIT, Nikolay Diakov 4848 ORB TCP/IP (Internet) Domain A Domain B

49 CORBA Interoperability 1998 CTIT, Nikolay Diakov 4949 Key steps to Full Interoperability Standardize rich, extendible, and generic enough communication protocol Each vendor implements mapping to and from this protocol Standardize rich, extendible, and generic enough communication protocol Each vendor implements mapping to and from this protocol

50 CORBA Interoperability Bridging 1998 CTIT, Nikolay Diakov 5050 ORB TCP/IP (Internet) Domain A Domain B Bridge Client Server Object

51 CORBA Interoperability Bridging 1998 CTIT, Nikolay Diakov 5151 Bridging mediated full-bridging half-bridging immediate ORB Domain A Domain B Bridge

52 CORBA Interoperability Bridging 1998 CTIT, Nikolay Diakov 5252 Bridging mediated full-bridging half-bridging immediate In-line bridges Request-level bridges ORB Domain A Domain B Bridge

53 CORBA Interoperability Bridging 1998 CTIT, Nikolay Diakov 5353 GIOP IIOP ESIOP

54 CORBA goes Real-Time 1998 CTIT, Nikolay Diakov 5454

55 CORBA goes Real-Time 1998 CTIT, Nikolay Diakov 5555 Real-time CORBA is an optional ORB extension fixed-priority scheduling control over ORB resources for end-to-end predictability flexible communications Real-time CORBA is an optional ORB extension fixed-priority scheduling control over ORB resources for end-to-end predictability flexible communications

56 CORBA is Fault-Tolerant 1998 CTIT, Nikolay Diakov 5656

57 CORBA is Fault-Tolerant 1998 CTIT, Nikolay Diakov 5757 The flexible POA it self is not enough. A new specification for fault-tolerant CORBA is standardized. The flexible POA it self is not enough. A new specification for fault-tolerant CORBA is standardized.

58 CORBA is Fault-Tolerant 1998 CTIT, Nikolay Diakov 5858 An Example is the GIOP offers mechanism of providing multiple addresses in an Interoperable Object Reference. This allows load-balance schemes and fault-tolerant schemes of finding another ORB resource for satisfying a request.

59 CORBA Component Model 1998 CTIT, Nikolay Diakov 5959

60 CORBA Component Model 1998 CTIT, Nikolay Diakov 6060 CORBAbeans Multiple interfaces per object, object passable by value, messaging servce Components does not map 1:1 to interface or CORBA object Multiple interfaces per object, object passable by value, messaging servce Components does not map 1:1 to interface or CORBA object

61 CORBA Component Model 1998 CTIT, Nikolay Diakov 6161 CORBA component instance identity properties event notification mechanism CORBA scripting facility - assembling applications from CORBA components instance identity properties event notification mechanism CORBA scripting facility - assembling applications from CORBA components

62 CORBA 3.0 1998 CTIT, Nikolay Diakov 6262

63 CORBA 3.0 1998 CTIT, Nikolay Diakov 6363 1. Portable Object Adapter 2. CORBA messaging 3. Objects-By-Value 1. Portable Object Adapter 2. CORBA messaging 3. Objects-By-Value

64 CORBA 3.0 1998 CTIT, Nikolay Diakov 6464 1. Portable Object Adapter (POA) The POA mediates the CORBA objects and the programming implementations The main purpose of POA is to provide portability for CORBA server applications. Portability from the implementation of the ORB.

65 CORBA 3.0 1998 CTIT, Nikolay Diakov 6565 1. Portable Object Adapter (POA) allows Creation of CORBA Objects Demultiplexing of requests made on each CORBA object Dispatching requests to the appropriate implementation that the CORBA Object represents Activation/Deactivation of CORBA Objets Creation of CORBA Objects Demultiplexing of requests made on each CORBA object Dispatching requests to the appropriate implementation that the CORBA Object represents Activation/Deactivation of CORBA Objets All this in an ORB implementation independent way

66 Server Application CORBA 3.0 1998 CTIT, Nikolay Diakov 6666 1. Portable Object Adapter (POA) ORB Request

67 Server Application CORBA 3.0 1998 CTIT, Nikolay Diakov 6767 1. Portable Object Adapter (POA) ORB POA Request

68 Server Application CORBA 3.0 1998 CTIT, Nikolay Diakov 6868 1. Portable Object Adapter (POA) ORB POA Request Implementation (Servant)

69 CORBA 3.0 1998 CTIT, Nikolay Diakov 6969 2. CORBA Messaging The CORBA messaging fills a big hole in the consistency of the CORBA specification It helps reliably communicating over unreliable connections. The Client / Servers are not that tightly coupled anymore as in the synchronous invocation. Makes CORBA usable in large distributed systems. The CORBA messaging fills a big hole in the consistency of the CORBA specification It helps reliably communicating over unreliable connections. The Client / Servers are not that tightly coupled anymore as in the synchronous invocation. Makes CORBA usable in large distributed systems.

70 CORBA 3.0 1998 CTIT, Nikolay Diakov 7070 2. CORBA Messaging Asynchronous messaging Time-independent invocations Facilities for specifying messaging quality of service (QoS) Asynchronous messaging Time-independent invocations Facilities for specifying messaging quality of service (QoS)

71 CORBA 3.0 1998 CTIT, Nikolay Diakov 7171 2. CORBA Messaging Asynchronous messaging Callback Polling - returns a type, for later polling Time-independent invocations Facilities for specifying messaging quality of service (QoS) Asynchronous messaging Callback Polling - returns a type, for later polling Time-independent invocations Facilities for specifying messaging quality of service (QoS)

72 CORBA 3.0 1998 CTIT, Nikolay Diakov 7272 2. CORBA Messaging Quality of Service Allows specifying policies for quality of message delivery, queuing and priorities. These policies can be applied on level ORB, level Thread, or level object. Quality of Service Allows specifying policies for quality of message delivery, queuing and priorities. These policies can be applied on level ORB, level Thread, or level object.

73 CORBA 3.0 1998 CTIT, Nikolay Diakov 7373 3. Objects by Value What is passing-by-value?

74 CORBA 3.0 1998 CTIT, Nikolay Diakov 7474 3. Objects by Value -How is it possible with CORBA? Valuetype - new constructed type added to the OMG IDL like interfaces it has operations and data members it can inherit other Valuetype (single only) Unlike interfaces datamembers are transferred operation invocations are local Valuetype - new constructed type added to the OMG IDL like interfaces it has operations and data members it can inherit other Valuetype (single only) Unlike interfaces datamembers are transferred operation invocations are local

75 CORBA 3.0 1998 CTIT, Nikolay Diakov 7575 3. Objects by Value -How is it possible with CORBA? How the operation invocations are local and still work? - Java, Smalltalk - C++ The programmer of the object has to take care of the mechanism of transferring the implementation locally. The extended IDL to programming language mapping just gives the means for doing that. How the operation invocations are local and still work? - Java, Smalltalk - C++ The programmer of the object has to take care of the mechanism of transferring the implementation locally. The extended IDL to programming language mapping just gives the means for doing that.

76 CORBA Advanced Programming Issues 1998 CTIT, Nikolay Diakov 7676 Part 2. Advanced Programming Issues

77 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 7777

78 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 7878 0. Define the problem 1. Think distributed 2. Define a communication interface 3. Build the server 4. Build the client 5. Setup a test session

79 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 7979 0. Define the problem We define our problem in the context of the electronic commerce. We need our client to be able to buy goods from our sites.

80 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 8080 1. Think distributed Client Server Object

81 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 8181 2. Define a communication interface Client Server Object Interface Purchase - operation ListGoodies - operation AddGoodytoCart - operation ListCart - operation Order

82 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 8282 3. Build the server Client Server Object Interface Purchase - operation ListGoodies - operation AddGoodytoCart - operation ListCart - operation Order The server will implement the interface. It will provide the code of each operation, in a language that is most suitable and chosen by the developer.

83 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 8383 4. Build the client Client Server Object Interface Purchase - operation ListGoodies - operation AddGoodytoCart - operation ListCart - operation Order The client will include the some code to be able to locate the Server object, bind to an instance, and to call operations on it. The client will include the some code to be able to locate the Server object, bind to an instance, and to call operations on it.

84 CORBA Simple Application In CORBA 1998 CTIT, Nikolay Diakov 8484 5. Setup a test session Client Server Object ORB 1. Run the ORB software on a machine connected to the network. 2. Run the SERVER program. If on a remote machine, depending on the implementation the SERVER will find the ORB. 3. Run the Client.

85 CORBA The Interface Definition Language 1998 CTIT, Nikolay Diakov 8585

86 CORBA The Interface Definition Language 1998 CTIT, Nikolay Diakov 8686 Similar to C++ preprocessing lexical rules grammar inheritance IDL is NOT an implementation language!

87 CORBA IDL to Programming Language Mapping 1998 CTIT, Nikolay Diakov 8787

88 CORBA IDL to Programming Language Mapping 1998 CTIT, Nikolay Diakov 8888 Translates from OMG IDL constructs to programming language constructs Special IDL compiler generate stubs for the client and skeletons for the server objects

89 CORBA IDL to Java Mapping 1998 CTIT, Nikolay Diakov 8989 IDL Modules map to Java Packages Interfaces map to public Java Interfaces + “Helper” and “Holder” Java classes IDL Operations map to Java methods the integral types (Integer, float) map to the corresponding Java integral types exceptions map to Java exceptions

90 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9090

91 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9191 1. Callbacks 2. Interface Repository 3. DII 4. DSI

92 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9292 1. Callbacks Client Server Normally, the communication between clients and servers follow the request/response scheme. This however, is not sufficient sometimes. Normally, the communication between clients and servers follow the request/response scheme. This however, is not sufficient sometimes. Request then Response

93 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9393 1. Callbacks Client Server Imagine the server being able to invoke methods on the client. The client becomes a server Imagine the server being able to invoke methods on the client. The client becomes a server Request then Response

94 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9494 1. Callbacks Client Server How is this done on CORBA The client implements an interface too. The client implements an interface too.

95 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9595 1. Callbacks Client Server How is this done on CORBA The client invokes an operation on the server passing a reference to its interfaces

96 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9696 1. Callbacks Client Server How is this done on CORBA The server is now able to invoke operations on the client anytime

97 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9797 2. Interface Repository

98 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9898 2. Interface Repository Interface Repository allows: –Implementation of browsers that allow designers to determine what have been defined in a system. –CASE tools to aid software design, writing and debugging –Applications to use DII to learn dynamically about objects and interfaces that were not know at compile time.

99 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 9999 3. DII

100 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 100100100 3. DII The Dynamic Invocation Interface (DII) allows clients to dynamically discover objects; discover objects’ interfaces; create requests; invoke requests; receive responses.

101 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 101101101 3. DII - Features requests appear as objects themselves; requests are reusable; invocation may be synchronous or deferred synchronous

102 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 102102102 3. DII Client Server Using DII the client discovers the proper server object. Using DII the client discovers the proper server object.

103 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 103103103 3. DII Client Server The client discovers the appropriate interface implemented from this object The client discovers the appropriate interface implemented from this object

104 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 104104104 3. DII Client Server The client creates a request object, which encapsulates a invocation of a operation on the servers interface. The client creates a request object, which encapsulates a invocation of a operation on the servers interface.

105 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 105105105 3. DII Client Server The client invokes the request. The client invokes the request.

106 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 106106106 3. DII Client Server The client invokes the request. The client invokes the request.

107 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 107107107 3. DII Client Server The client invokes the request. The client invokes the request.

108 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 108108108 3. DII Client Server The client obtains a result if necessary. The client obtains a result if necessary.

109 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 109109109 3. DII Client Server The client obtains a result if necessary. The client obtains a result if necessary.

110 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 110110110 3. DII Client Server The client obtains a result if necessary. The client obtains a result if necessary.

111 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 111111111 3. DII Client Server This scenario can be used as many times as necessary. The request object and all other object can be reused. This has potential to boost up performance. This scenario can be used as many times as necessary. The request object and all other object can be reused. This has potential to boost up performance.

112 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 112112112 3. DII Client Server Requests can be sent in a deferred style. These request does not block the client in expectation for a result. The result can be obtained later, when ready and/or when needed. Requests can be sent in a deferred style. These request does not block the client in expectation for a result. The result can be obtained later, when ready and/or when needed.

113 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 113113113 3. DII Client Server Requests can be sent in a oneway style. These request does not block the client in expectation for a result. There is no result. These invocation are very useful sometimes when the client wants to announce something to the server object but no result and no waiting for completion of the invocation is needed. Requests can be sent in a oneway style. These request does not block the client in expectation for a result. There is no result. These invocation are very useful sometimes when the client wants to announce something to the server object but no result and no waiting for completion of the invocation is needed.

114 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 114114114 4. DSI

115 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 115115115 4. DSI Client Server Dynamic Skeleton Interface is the Server side analog of the DII scheme. Dynamic Skeleton Interface is the Server side analog of the DII scheme.

116 CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 116116116 4. DSI Client Server Each DSI request enters the particular interface the same way as the static. The difference is that the implementation has to dynamically determine which operation has been invoked and demarshal the parameters. Each DSI request enters the particular interface the same way as the static. The difference is that the implementation has to dynamically determine which operation has been invoked and demarshal the parameters. Request IR

117 Domain B Domain A CORBA Advanced Topics 1998 CTIT, Nikolay Diakov 117117117 4. DSI - Usage The DSI is mainly used in implementation of software bridges for Interoperability. It is naturally and easy through DSI to translate all request of one type to another domain. The DSI is mainly used in implementation of software bridges for Interoperability. It is naturally and easy through DSI to translate all request of one type to another domain. ORB1 ORB2 Client Server Bridge DSI


Download ppt "CORBA Overview and Advanced Programming Issues 1998 CTIT, Nikolay Diakov 1 Table Of Contents Introduction OMG, OMA, CORBA Object Model CORBA Introspection."

Similar presentations


Ads by Google