Download presentation
Presentation is loading. Please wait.
Published byJasmin Daniel Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.