Trending ▼
ICSE
CBSE 10th
ISC
CBSE 12th
CTET
GATE
UGC NET
Vestibulares
ResFinder
CORBA-IT-sem6
12 pages, 0 questions, 0 questions with responses, 0 total responses
,
0
0
mits
+Fave
Message
Profile
Timeline
Uploads
Home
>
mits
>
Formatting page ...
Solution to CORBA Page 1 of 12 QUESTIONS FROM UNIVERSITY QUESTION PAPERS 1) Explain differences between CORBA and RMI. (2004) (5) Answer: RMI 1.RMI is an abbreviation for Remote Method Invocation. CORBA 1. CORBA is an abbreviation for Common Object Request Broker Architecture. 2.RMI is completely Java Based. 2. CORBA is language independent. 3.RMI is easier to implement. 3. CORBA is difficult to implement as compared to RMI. 4.RMI - IIOP allows you to write all interfaces in Java. 4. CORBA interfaces are defined in IDL 5.RMI was designed foe a single language where all objects are written in Java. 5. CORBA is language independent. 6.RMI objects are garbage collected automatically. 6. CORBA objects are not garbage collected. 7.RMI offers less portability than CORBA. 7. CORBA offers greater portability. 8.RMI the ability to send new objects, code and data across a network. 8. CORBA does not have the ability to send new objects, code and data across a network. 9.RMI technology was released with Java 1.1 9. CORBA is an entire infrastructure, almost like J2EE. 2) With the help of neat diagram, explain CORBA Architecture. (2004) (8) Answer: Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 2 of 12 Object -- This is a CORBA programming entity that consists of an identity, an interface, and an implementation, which is known as a Servant. Servant -- This is an implementation programming language entity that defines the operations that support a CORBA IDL interface. Servants can be written in a variety of languages, including C, C++, Java, Smalltalk, and Ada. Client -- This is the program entity that invokes an operation on an object implementation. Accessing the services of a remote object should be transparent to the caller. Ideally, it should be as simple as calling a method on an object, i.e., obj->op(args). The remaining components in above Figure help to support this level of transparency. Object Request Broker (ORB) -- The ORB provides a mechanism for transparently communicating client requests to target object implementations. The ORB simplifies distributed programming by decoupling the client from the details of the method invocations. This makes client requests appear to be local procedure calls. When a client invokes an operation, the ORB is responsible for finding the object implementation, transparently activating it if necessary, delivering the request to the object, and returning any response to the caller. ORB Interface -- This interface provides various helper functions such as converting object references to strings and vice versa, and creating argument lists for requests made through the dynamic invocation interface. CORBA IDL stubs and skeletons -- CORBA IDL stubs and skeletons serve as the glue'' between the client and server applications, respectively, and the ORB. The transformation between CORBA IDL definitions and the target programming language is automated by a CORBA IDL compiler. The use of a compiler reduces the potential for inconsistencies between client stubs and server skeletons and increases opportunities for automated compiler optimizations. Dynamic Invocation Interface (DII) -- This interface allows a client to directly access the underlying request mechanisms provided by an ORB. Applications use the DII to dynamically issue requests to objects without requiring IDL interfacespecific stubs to be linked in. Unlike IDL stubs (which only allow RPC-style requests), the DII also allows clients to make nonblocking deferred synchronous (separate send and receive operations) and oneway (send-only) calls. Dynamic Skeleton Interface (DSI) -- This is the server side's analogue to the client side's DII. The DSI allows an ORB to deliver requests to an object implementation that does not have compile-time knowledge of the type of the object it is implementing. The client making the request has no idea whether the implementation is using the type-specific IDL skeletons or is using the dynamic skeletons. Object Adapter -- This assists the ORB with delivering requests to the object and with activating the object. More importantly, an object adapter associates object implementations with the ORB. Object adapters can be specialized to provide support for certain object implementation styles (such as OODB object adapters for persistence and library object adapters for non-remote objects). 3) State and explain three major parts of CORBA framework. (2004) (8) Answer: See Q2 Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 3 of 12 4) State and explain Genesis of RMI and CORBA Applications. Write a short note on implementing a CORBA Client. (2004) (8) Answer: RMI is a distributed object system that enables you to easily develop distributed Java applications. Developing distributed applications in RMI is simpler than developing with sockets since there is no need to design a protocol, which is an error-prone task. In RMI, the developer has the illusion of calling a local method from a local class file, when in fact the arguments are shipped to the remote target and interpreted, and the results are sent back to the callers. The Genesis of an RMI Application: Developing a distributed application using RMI involves the following steps: a. Define a remote interface b. Implement the remote interface c. Develop the server d. Develop a client e. Generate Stubs and Skeletons, start the RMI registry, server, and client The Common Object Request Broker Architecture (or CORBA) is an industry standard developed by the Object Management Group (OMG) to aid in distributed objects programming. It is important to note that CORBA is simply a specification. A CORBA implementation is known as an ORB (or Object Request Broker). CORBA was designed to be platform and language independent. Therefore, CORBA objects can run on any platform, located anywhere on the network, and can be written in any language that has Interface Definition Language (IDL) mappings. Similar to RMI, CORBA objects are specified with interfaces. Interfaces in CORBA, however, are specified in IDL. While IDL is similar to C++, it is important to note that IDL is not a programming language. The Genesis of a CORBA Application There are a number of steps involved in developing CORBA applications. These are: a. Define an interface in IDL b. Map the IDL interface to Java (done automatically) c. Implement the interface d. Develop the server e. Develop a client f. Run the naming service, the server, and the client. Implementing CORBA Client A distributed application consists of objects running within clients and servers. Servers provide objects to be used by clients as well as other servers. A client of an object has access to the object reference, which is the information needed to specify an object within an ORB; with that access, it can invoke operations on the object. A client knows the object through an interface; therefore the client knows nothing about how the object is implemented. A client generally sees objects and ORB interfaces through a language mapping. Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 4 of 12 5) What is CORBA? What does it do? What is CORBA Good For? What is ORB? (2005) (8) Answer: CORBA is the acronym for Common Object Request Broker Architecture, OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks. Using the standard protocol IIOP, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network. It allows the development of language and location-independent interfaces to distributed objects. CORBA is useful in many situations. Because of the easy way that CORBA integrates machines from so many vendors, with sizes ranging from mainframes through minis and desktops to hand-held and embedded systems, it is the middleware of choice for large (and even not-so-large) enterprises. One of its most important, as well most frequent, uses is in servers that must handle large number of clients, at high hit rates, with high reliability, scalability and faulttolerance support. But it's not used just for large applications; specialized versions of CORBA run real-time systems, and small embedded systems. CORBA allows you to invoke business objects on an inter/intra-net. There is good interoperability between CORBA objects and EJB. J2EE actually uses RMI over IIOP. The ORB is the distributed service that implements the request to the remote object. It locates the remote object on the network, communicates the request to the object, waits for the results and when available communicates those results back to the client. The ORB implements location transparency. Exactly the same request mechanism is used by the client and the CORBA object regardless of where the object is located. It might be in the same process with the client, down the hall or across the planet. The client cannot tell the difference. The ORB implements programming language independence for the request. The client issuing the request can be written in a different programming language from the implementation of the CORBA object. The ORB does the necessary translation between programming languages. Language bindings are defined for all popular programming languages. 6) With Reference to COORBA explain the following in detail. a) Stubs and Skeleton b) Interface Definition Language (IDL) (2005) (8) Stubs and Skeleton: In addition to generating programming language types, OMG IDL language compilers and translators also generate client-side stubs and server-side skeletons. A stub is a mechanism that effectively creates and issues requests on behalf of a client, while a skeleton is a mechanism that delivers re-quests to the CORBA object implementation. Since they are translated directly from OMG IDL specifications, stubs and skeletons are normally interface-specific. Dispatching through stubs and skeletons is often called static invocation. OMG IDL stubs and skeletons are built directly into the client application and the object implementation. Therefore, they both have complete prior knowledge of the OMG Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 5 of 12 IDL interfaces of the CORBA objects being invoked. Language mappings usually map operation invocation to the equivalent of a function call in the programming language. OMG Interface Definition Language (OMG IDL): Before a client can make requests on an object, it must know the types of operations supported by the object. An object s interface specifies the operations and types that the object supports and thus defines the requests that can be made on the object. Interfaces for objects are defined in the OMG Interface Definition Language (OMG IDL). Interfaces are similar to classes in C++ and interfaces in Java. Since OMG IDL is a declarative language, not a programming language, it forces interfaces to be defined separately from object implementations. This allows objects to be constructed using different programming languages and yet still communicate with one another. Language-independent interfaces are important within heterogeneous systems, since not all programming languages are supported or available on all platforms. OMG IDL provides a set of types that are similar to those found in a number of programming languages. It provides basic types such as long, double, and boolean, constructed types such as struct and discriminated union, and template types such as sequence and string. Types are used to specify the parameter types and return types for operations. Like structs, OMG IDL exceptions may have one or more data members of any OMG IDL type. The OMG IDL module construct allows for scoping of definition names to prevent name clashes. 7) State and explain steps involved in developing CORBA applications. (2006) (5) Answer: The basic steps for CORBA development include: A) Create the IDL to Define the Application Interfaces The IDL provides the operating system and programming language independent interfaces to all services and components that are linked to the ORB. The IDL specifies a description of any services a server component exposes to the client. The term "IDL Compiler" is often used, but the IDL is actually translated into a programming language. B) Translate the IDL An IDL translator typically generates two cooperative parts for the client and server implementation, stub code and skeleton code. The stub code generated for the interface classes is associated with a client application and provides the user with a well-defined Application Programming Interface (API). C) Compile the Interface Files Once the IDL is translated into the appropriate language, these interface files are compiled and prepared for the object implementation. D) Complete the Implementation Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 6 of 12 If the implementation classes are incomplete, the spec and header files and complete bodies and definitions need to be modified before passing through to be compiled. The output is a complete client/server implementation. E) Compile the Implementation Once the implementation class is complete, the client interfaces are ready to be used in the client application and can be immediately incorporated into the client process. This client process is responsible for obtaining an object reference to a specific object, allowing the client to make requests to that object in the form of a method call on its generated API. F) Link the Application Once all the object codes from steps three and five have been compiled, the object implementation classes need to be linked the linker. Once linked to the ORB library, two executable operations are created, one for the client and one for the server. G) Run the Client and Server The development process is now complete and the client will now communicate with the server. The server uses the object implementation classes allowing it to communicate with the objects created by the client requests. In its simplest form, the server must perform the following: Create the required objects. Notify the CORBA environment that it is ready to receive client requests. Process client requests by dispatching the appropriate servant. 8) Explain any eight services offered by CORBA (2006) (8) Answer: CORBA provides following services: a) Naming Service: It provides the ability to build a name to an object. b) Concurrency Service: It mediates concurrent access to an object such that the consistency of the object is not compromised when accessed by concurrently executing computations. Provides a locking service for CORBA objects in order to ensure serializable access. c) Persistent State Service: It presents persistent information as storage objects in storage homes. Storage homes themselves are stored in data stores. It provides means for retaining and managing persistent state of object. d) Security Service: It provides a security reference model that gives overall framework for CORBA Security. e) Transaction Service: Supports multiple transaction models including flat and nested transaction. f) Relationship Service: It supports specification, creation and maintenance of relationships among objects. All entities and relationships can be explicitly represented as CORBA Objects. The service defines two kinds of objects relationships and rules. g) Time Service: It enables a user to obtain current time together with as error estimate associated with it. Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 7 of 12 h) Event Service: It supports a synchronous message based communication among objects. It supports chaining of event channels and variety of producer-consumer roles. The event management service specifies architecture and interfaces for managing event domains. i) Externalization Service: It defines protocol and conventions for externalizing and internalizing objects across processes and across ORBs. j) Life Cycle Service: It defines conventions for creating, deleting copying and moving objects. 9) Enumerate the benefits provided by CORBA Object Request Broker. (2006) (8) Answer: The ORB is a middleware technology that manages communication and data exchange between objects. ORB promotes interoperability of distributed object systems because they enable users to build systems by placing together objects from different vendors. This object can communicate with each other through ORB. The ORB is the distributed service that implements the request to the remote object. It locates the remote object on the network, communicates the request to the object, waits for the results and when available communicates those results back to the client. The ORB implements location transparency. Exactly the same request mechanism is used by the client and the CORBA object regardless of where the object is located. It might be in the same process with the client, down the hall or across the planet. The client cannot tell the difference. The ORB implements programming language independence for the request. The client issuing the request can be written in a different programming language from the implementation of the CORBA object. The ORB does the necessary translation between programming languages. Language bindings are defined for all popular programming languages. ORB provides framework for cross system communication between objects. ORB provides directory of services and helps establishing connections. 10) What is CORBA? What do the following CORBA elements do on the server? a) b) c) d) The The The The Dynamic Skeleton Interface Object Adapter. Implementation repository. ORB Interface. (OCT 2006) (8) Answer: CORBA is the acronym for Common Object Request Broker Architecture, OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks. Using the standard protocol IIOP, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network. Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 8 of 12 a. Dynamic Skeleton Interface (DSI) -- This is the server side's analogue to the client side's DII. The DSI allows an ORB to deliver requests to an object implementation that does not have compile-time knowledge of the type of the object it is implementing. The client making the request has no idea whether the implementation is using the type-specific IDL skeletons or is using the dynamic skeletons. b. Object Adapter -- This assists the ORB with delivering requests to the object and with activating the object. More importantly, an object adapter associates object implementations with the ORB. Object adapters can be specialized to provide support for certain object implementation styles (such as OODB object adapters for persistence and library object adapters for non-remote objects). c. The Implementation repository-- The CORBA specification provides only a partial definition of an IMR. Implementation is the CORBA terminology for server application , and repository means a persistent storage area, such as a database or a file. This suggests that an implementation repository is a database/file that stores information about CORBA server applications. An IMR usually also contains a CORBA server wrapper around the database/file, which makes it possible for CORBA applications to communicate with an IMR. An IMR typically maintains the following information about each server application: A logical name that uniquely identifies a server, A command that the IMR can execute to (re)start the server process. Status information that indicates whether or not the server is currently running; if the server is currently running then the IMR also records the host and port on which the server process listens. d. ORB Interface -- An ORB is a logical entity that may be implemented in various ways (such as one or more processes or a set of libraries). To decouple applications from implementation details, the CORBA specification defines an abstract interface for an ORB. This interface provides various helper functions such as converting object references to strings and vice versa, and creating argument lists for requests made through the dynamic invocation interface 11) Discuss in detail CORBA Architecture. (OCT 2006) (8) Answer: See Q2. 12) What an Object Adapter is as defined in CORBA Specification? Explain the different types of object adapters. (OCT 2005) (8) Answer: Object adapter is a critical component in CORBA. It serves as the glue between CORBA object implementations and the ORB itself providing access to ORB services. Without object adapters, the ability of CORBA to support diverse object implementation styles would be severely compromised, because object implementations need to connect to the ORB directly, which apparently increases the complexity of ORB, and sacrifices the flexibility. Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 9 of 12 "An Adapter converts the interface of a class into another interface clients expect". Different Types of adapter in CORBA CORBA supports the idea of an Object Adapter. Object Adapters create server objects and return the object's reference. CORBA specified one Basic Object Adapter(BOA). It was deprecated in favor of the Portable Object Adapter (POA). The POA specification makes it possible to move server-side code from one vendor implementation to another. Basic Object Adapter The Basic Object Adapter defines three states that an object can enter during its lifetime: not existent, inactive, and active. An object is initially in the not existent'' state, meaning that the ORB does not know of the object and that invocations are not possible but rejected with an appropriate error message. The creation'' calls an object into being. From that point on, object references can be exported. Clients can receive object references for inactive objects, but method invocations will be withheld on the server side by the BOA and block until the object transitions to the active state. After activation, method invocations received by the ORB core are passed on to the implementation until it is deactivated again. The process of object activation and deactivation can happen more than once and is transparent to the client. A server might wish to disallow upcalls from the ORB for some time while other tasks are done, or to replace the implementation. Once an object is not needed anymore, it can be destroyed to return to the not existent state, causing the BOA to act as if it had never existed. Destruction is final; although the BOA's interface would allow for the reincarnation of an object the creation of a new object that answers to the same object references as before, this is forbidden by the specification, which said that two creations, even with the same parameters, will never produce the same object. Portable Object Adapter (POA) An object adapter is the mechanism that connects a request using an object reference with the proper code to service that request. The Portable Object Adapter, or POA, is a particular type of object adapter that is defined by the CORBA specification. The POA is designed to meet the following goals: Allow programmers to construct object implementations that are portable between different ORB products. Provide support for objects with persistent identities. Provide support for transparent activation of objects. Allow a single servant to support multiple object identities simultaneously. 13) Explain CORBA Architecture? Discuss the advantages of the applications built using CORBA Architecture. (OCT 2005) (8) Answer: For CORBA Architecture See Q2 Advantages of CORBA: Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 10 of 12 1. Language Independence: CORBA supports various languages, the most popular are Java and C++. 2. Operating System Independence: CORBA was designed to be Operating System independent and available in Linux / Unix, Windows, Suun Mac etc. 3. Freedom From Technology: CORBA is used to normalize the interfaces between various new and legacy systems. CORBA provides the means such that different teams can develop systems and ubit tests that can be joined together into a whole system regardless of the technologies used. 4. Strong Datatyping: CORBA provides flexible typing. CORBA promotes tightly coupled datatyping reducing human errors. 5. High Tune ability: There are many implementations available for CORBA. 6. Freedom from Data transfer details: CORBA provides high level of details in error conditions. These are defined as CORBA standard exception set. 14) Compare RMI and CORBA. (MAY 2008) (5) Answer: See Q1. 15) Explain the frameworks of CORBA. Interface definition language(IDL) Object Request Broker. (ORB) Internet InterORB Protocol (IIOP) (MAY 2008) (8) Answer: o Interface Definition language (IDL): IDL is a specification language used to describe a software component s interface. It enables communication between software components that do not share language. They are commonly used in RPC and offers a bridge between two different systems. IDL provides a mechanics for separating object interfaces from their implementation. It also gives us common set of datatypes that will be used to define more complex datatypes. It abstracts away programming language dependent and hardware dependence. It allows us to implementation. separate the specification of object from the IDL is a standard language for defining function and method interfaces for distributed applications. o Object Request Broker (ORB): The ORB provides a mechanism for transparently communicating client requests to target object implementations. The ORB simplifies distributed programming by decoupling the client from the details of the method invocations. This makes client requests appear to be local procedure calls. When a client Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 11 of 12 invokes an operation, the ORB is responsible for finding the object implementation, transparently activating it if necessary, delivering the request to the object, and returning any response to the caller. o Internet Inter ORB Protocol (IIOP): It makes possible for distributed programs written in different programming languages to communicate over the internet. IIOP is critical part of CORBA. Using IIOP and related protocols a company can write programs that will be able to communicate with their own or other company s existing or future programs. It doesn t require to understand where they are located and does not need to know anything about the program other than its service and name. CORBA and IIOP assume client-server model of computing in which client program always make request and server program waits to receive the request. 16) Explain different benefits of CORBA. (OCT 2008) (5) Answer: Advantages Of CORBA: 1. Language Independence: CORBA supports various languages, the most popular are Java and C++. 2. Operating System Independence: CORBA was designed to be Operating System independent and available in Linux / Unix, Windows, Sun Mac etc. 3. Freedom From Technology: CORBA is used to normalize the interfaces between various new and legacy systems. CORBA provides the means such that different teams can develop systems and ubit tests that can be joined together into a whole system regardless of the technologies used. 4. Strong Datatyping: CORBA provides flexible typing. CORBA promotes tightly coupled datatyping reducing human errors. 5. High Tune ability: There are many implementations available for CORBA. 6. Freedom from Data transfer details: CORBA provides high level of details in error conditions. These are defined as CORBA standard exception set. 17) Explain any eight CORBA Services (OCT 2008) (8) Answer: See Q8 18) With reference to CORBA, explain the following in detail: Internet InterORB Protocol (IIOP) (OCT 2008) (4) Answer: o Internet Inter ORB Protocol (IIOP): It makes possible for distributed programs written in different programming languages to communicate over the internet. IIOP is critical part of CORBA. Using IIOP and related protocols a company can write programs that will be able to communicate with their own or other company s existing or future programs. It doesn t require to understand where they are located and does not need to know anything about the program other than its service and name. Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge Solution to CORBA Page 12 of 12 CORBA and IIOP assume client-server model of computing in which client program always make request and server program waits to receive the request. 19) What is CORBA? Explain the CORBA Architecture. (MAY 2009) (4) Answer: CORBA is the acronym for Common Object Request Broker Architecture, OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks. Using the standard protocol IIOP, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network. It allows the development of language and location-independent interfaces to distributed objects. CORBA Architecture: See Q2 20) What are the benefits of CORBA? (MAY 2009) (8) Answer: See Q 17 21) Differentiate between CORBA and RMI (May 2009) (4) Answer: See Q1 22) What are the components of CORBA? Explain. (MAY 2010) (4) Answer: See Q2. (Diagram not required) 23) What are the benefits of CORBA ORB? (May 2010) (8) Answer: See Q 17 Internet Technologies T.Y.I.T. http://avinashrooge.fileave.com/welcome.htm Avinash Rooge
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Formatting page ...
Print intermediate debugging step
Show debugging info
Hide debugging info
Horizontal lines at:
Guest Horizontal lines at:
AutoRM Data:
Box geometries:
Box geometries:
Text Data:
© 2010 - 2026 ResPaper.
Terms of Service
Contact Us
Advertise with us