CORBA Common Request Broker Architecture IST 411INFSY 436
CORBA (Common Request Broker Architecture) IST 411/INFSY 436 Spring 2006
CORBA § Developed by a group of 700 companies called Object Management Group (OMG) § Supports distributed objects programmed in variety of languages on varying operating systems § Application transparency is a goal of CORBA
CORBA
CORBA § Interface Definition Language (IDL) § Language to define interfaces to CORBA objects § Defines instance variables § Defines methods § An IDL compiler takes an IDL file (. idl) & generates CORBA compliant code § To develop a Java front-end to a legacy COBOL system, 2 compilers are needed § Client-side Java code § COBOL-side server code
CORBA § Client Stubs § Code and data used by client as a proxy for real object that reside on the server § Server Skeletons § Code that carries out functions § For example, extract arguments from a RMI and carry out the actual process of sending a message
CORBA § Object Request Broker § Provides plumbing between distributed objects and the clients § Communicates with the transport medium used to convey raw data § All vendors must IIOP (Internet Inter-ORB Protocol)
CORBA § CORBA provides a large number of services § Services are transparent to the programmer § List of some on pg. 188
CORBA § Interface Definition Language sample module Tester { interface Single { attribute string exname; readonly attributes string location; string returns. Vals(in string point); } attribute = variable readonly = read only variable }
CORBA § IDL generates Java code package Tester; public interface Single extends org. omg. CORBA. Object { String exname( ); void exname(String arg); String location( ); String returns. Vals(String point); }
CORBA § How does the IDL get converted to Java? § ANSWER: § File containing the IDL is processed by a utility which carries out the conversion § Using classes provided as part of a Java 2 package, you would us a utility know as idltojava § IDL compiler is part of Sun Java 5. 0 JDK (idlj. exe in bin folder)
CORBA § Attributes are basic types similar to types in Java IDL Type Double Long unsigned long char string struct Java Type double int long char java. lang. String class
CORBA § IDL contains facility for associating a number of types together so they can be passed as an argument in a method § struct Work. Place { string name; boolean mobile; };
CORBA § IDL sequence is like a one-dimensional array § Sequence can be fixed or can grow. § IDL array facility
CORBA § idltojava utility generated: § A file containing a Java interface with the same name as the Corba interface § Helper class which contains some utility methods § Main utility is called narrow § Holder class is used with out or inout arguments in methods § Stub class which communicates between remote code at client and ORB § Skeleton class for remote objects stored on a server
- Slides: 14