DOC PREVIEW
CMU ISM 95702 - lecture

This preview shows page 1-2-3-4-5-6 out of 18 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Organizational Communications and Distributed Object TechnologiesCORBAToday’s TopicsCORBA History and GoalsHistory and GoalsSlide 6CORBA RMICORBA ServicesThe Distributed Whiteboard Example in CORBAIDL interfaces Shape and ShapeListidltojavaFrom the JDK DocJava interface ShapeList generated by idltojava from CORBA interface ShapeListShapeListServant class from CORBA interface ShapeListJava class ShapeListServerJava client program for CORBA interfaces Shape and ShapeListThe main components of the CORBA architectureNaming graph in CORBA Naming Service195-702 OCTMaster of Information System ManagementOrganizational Communications and Distributed Object TechnologiesLecture 11: CORBA295-702 OCTMaster of Information System ManagementCORBAChapter 20 Coulouris text395-702 OCTMaster of Information System ManagementToday’s Topics •CORBA History and goals•CORBA RMI•CORBA services•The Distributed Whiteboard Revisited495-702 OCTMaster of Information System ManagementCORBA History and Goals•Object Management Group Formed in 1989•Goals: -- OOP on distributed systems -- heterogeneous hardware -- heterogeneous OS -- different programming languages595-702 OCTMaster of Information System ManagementHistory and Goals•OMG Introduced the Object Request Broker (ORB)•The role of the ORB is to help a client find an object, activate the object if necessary, and call a method on the object.•Common Object Request Broker Architecture (CORBA) agreed to by a group of companies in 1991 •CORBA 2.0 specification released in 1996695-702 OCTMaster of Information System ManagementHistory and Goals•CORBA 2.0 specification defined standards for different implementations of CORBA to communicate with one another•These standards are called the General Inter-ORB protocol (GIOP) and may run over various transports•GIOP over TCP/IP is called the Internet Inter-ORB Protocol795-702 OCTMaster of Information System ManagementCORBA RMI•Main components: -- An Interface Definition language (IDL) that promotes the use of different programming languages, stubs are generated in the client’s language and skeletons are generated in the server’s language -- An architecture -- GIOP defines an external data representation (CDR) as well as message formats and message types -- Message types include request and reply as well as location requests, errors, and request cancellations895-702 OCTMaster of Information System ManagementCORBA Services•A set of generic services that can be used for distributed application: -- Naming Service (location by name) -- Trading Service (location by attribute - directory service) -- Event Service -- Security Service (authentication, ACL’s, auditing, non- repudiation) -- Transaction Service (begin, commit, rollback a series of RMI calls ) -- Persistent Object Service (POS)995-702 OCTMaster of Information System ManagementThe Distributed Whiteboard Example in CORBA1095-702 OCTMaster of Information System ManagementIDL interfaces Shape and ShapeListstruct Rectangle{ // no class in IDL 1long width; long height;long x;long y;} ;struct GraphicalObject {2string type; Rectangle enclosing; boolean isFilled;};interface Shape { 3long getVersion() ;GraphicalObject getAllState() ; // returns state of the GraphicalObject};typedef sequence <Shape, 100> All; // All is a 100 element array 4interface ShapeList { 5exception FullException{ }; 6Shape newShape(in GraphicalObject g) raises (FullException); 7All allShapes(); // returns sequence of remote object references 8long getVersion() ; // parameters are in, out, or both}; // parameters may be primitive, struct or array and // are passed by value // parameters whose type is an IDL interface // is passed by remote reference1195-702 OCTMaster of Information System Managementidltojava•Run idltojava on the above interface•The command idlj is found in j2sdk1.4.2\bin•The Java 2 Platform, Standard Edition, v1.4, provides an Object Request Broker (ORB) runtime component•The JDK documentation states that its Java ORB has not been tested with ORB’s written in other languages•JDK 1.4 provides an Orb class with a pluggable architecture1295-702 OCTMaster of Information System ManagementFrom the JDK DocOMG specifies a mapping from IDL to several different programming languages, including Java, C, C++, Lisp, Python, Smalltalk, COBOL, and Ada. When mapped, each statement in OMG IDL is translated to a corresponding statement in the programming language of choice.1395-702 OCTMaster of Information System ManagementJava interface ShapeList generated by idltojava from CORBA interface ShapeListpublic interface ShapeList extends org.omg.CORBA.Object {Shape newShape(GraphicalObject g) throws ShapeListPackage.FullException;Shape[] allShapes();int getVersion();}1495-702 OCTMaster of Information System ManagementShapeListServant class from CORBA interface ShapeListimport org.omg.CORBA.*;class ShapeListServant extends _ShapeListImplBase {ORB theOrb;private Shape theList[];private int version;private static int n=0;public ShapeListServant(ORB orb){theOrb = orb; // initialize the other instance variables}public Shape newShape(GraphicalObject g) throws ShapeListPackage.FullException { 1version++; Shape s = new ShapeServant( g, version); if(n >=100) throw new ShapeListPackage.FullException(); theList[n++] = s; 2 theOrb.connect(s); return s; }public Shape[] allShapes(){ ... }public int getVersion() { ... }}1595-702 OCTMaster of Information System ManagementJava class Sha p eListS erv erimport org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage.*;import org.omg.CORBA.*;public class ShapeListServer {public static void main(String args[]) {try{ORB orb = ORB.init(args, null); 1 ShapeListServant shapeRef = new ShapeListServant(orb); 2 orb.connect(shapeRef); 3 org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); 4 NamingContext ncRef = NamingContextHelper.narrow(objRef);NameComponent nc = new NameComponent("ShapeList", ""); 5NameComponent path[] = {nc}; 6ncRef.rebind(path, shapeRef); 7 java.lang.Object sync = new java.lang.Object();synchronized (sync) { sync.wait();}} catch (Exception e) { ... }}}1695-702 OCTMaster of Information System ManagementJava client program for CORBA interfaces Sha p e and ShapeListimport


View Full Document

CMU ISM 95702 - lecture

Documents in this Course
Homework

Homework

12 pages

Lecture

Lecture

25 pages

Lecture

Lecture

21 pages

Lecture

Lecture

24 pages

Exam

Exam

11 pages

Homework

Homework

16 pages

Homework

Homework

38 pages

lecture

lecture

38 pages

review

review

7 pages

review

review

8 pages

Chapter2

Chapter2

32 pages

Lecture 4

Lecture 4

47 pages

Lecture

Lecture

22 pages

Naming

Naming

26 pages

lecture

lecture

34 pages

lecture

lecture

42 pages

lecture

lecture

112 pages

Lecture

Lecture

33 pages

Axis

Axis

43 pages

lecture

lecture

32 pages

review

review

17 pages

Lecture

Lecture

53 pages

Lecture

Lecture

80 pages

Lab

Lab

14 pages

Load more
Download lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?