Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Distributed Object Computing Using Java and CORBA Lesson 1: Introduction to CORBA Objectives Describe the role of CORBA in developing enterprise applications Describe the role of the Object Management Group Describe the CORBA architecture CORBA Overview Common Object Request Broker Architecture Object-oriented development Distributed-object computing The Object Management Group Controls the CORBA standard Provides a specification for CORBA CORBA Architecture Object Management Architecture - Object Request Broker - Object services - Common facilities - Application objects - Internet InterORB Protocol - Interface Definition Language - Object adapters - CORBA Services Object Request Broker Client Process Server Process Object Reference Object Implementation ORB Internet InterORB Protocol Client Process Server Process Object Reference Object Implementation ORB ORB IIOP Interface Definition Language Client Process Server Process Object Reference Object Implementation IDL Skeleton ORB Interface IDL Stubs ORB Object Adapter ORB IIOP Summary Describe the role of CORBA in developing enterprise applications Describe the role of the Object Management Group Describe the CORBA architecture Lesson 2: Interface Definition Language Objectives Use the IDL to define the interface to CORBA objects Describe the mapping of IDL nonclass data types into Java Describe the purpose of IDL parameterpassing modes Model inheritance using IDL Define CORBA exceptions using IDL Introduction to IDL IDL files IDL compilers Mapping IDL to Java Basics of IDL IDL constructs - Modules - Interfaces - Attributes - Operations IDL Primitives IDL Java boolean boolean char, wchar char octet byte string, wstring java.lang.String short, unsigned short short long, unsigned long int long long, unsigned long long long float float double double Inheritance and IDL Java no multiple inheritance support IDL can be used to define an interface that inherits from multiple super-interfaces Java class can inherit from only one other class Nonclass Data Types Constants Enumerations Unions Structures Type definitions Sequences Arrays Parameter-Passing Modes and Exceptions Parameter-passing modes - in - out - inout Exceptions - Use-defined exceptions inherit indirectly from java.lang.Exception - IDL operations must declare their ability to raise an exception Summary Use the IDL to define the interface to CORBA objects Describe the mapping of IDL nonclass data types into Java Describe the purpose of IDL parameterpassing modes Model inheritance using IDL Define CORBA exceptions using IDL Lesson 3: Building CORBA Clients Objectives Use the IDL compiler to generate client stubs Initialize the ORB Use the naming service to obtain an object reference Invoke remote methods Use out and inout parameters to invoke remote methods Client IDL Stubs Used to create client applications IDL-to-Java compiler named idlj - Used to compile IDL files to generate client stubs and server skeletons Initializing the ORB The ORB class - Is used to initialize the ORB - Is not instantiated using its public constructor - Provides a static method named init that initializes the ORB and returns an instance of the ORB class Using the Naming Service Connecting to the naming service Using the naming service to obtain an object reference - Obtaining the initial naming context - Retrieving an object reference Example of Namespace Initial Naming Context Customers Employees Officers Boeing Programmers FAA CEO CFO James Roos Erik Novales Invoking Remote Methods Remote methods are invoked in the same way that local methods are invoked Using Out and Inout Parameters Out parameters - Used exclusively to return data from the server to the client Inout parameters - Passed both from the client to the server and, following any changes, from the server back to the client Summary Use the IDL compiler to generate client stubs Initialize the ORB Use the naming service to obtain an object reference Invoke remote methods Use out and inout parameters to invoke remote methods Lesson 4: Building CORBA Servers Objectives Use the IDL compiler to generate server skeletons Implement CORBA objects Initialize the ORB and wait for clients Use the naming service to publish an object reference Use out and inout parameters Server IDL Skeletons A server skeleton provides a framework for the implementation of a CORBA object Implementing CORBA Objects MessageOperations Object Message _MessageImplBase MessageServant IDLEntity Server-side implementation Using the Naming Service Instantiating a CORBA object Creating additional naming contexts Example of Naming Service Initial Naming Context Default message1 Hello message2 Waiting for Invocation The wait method - Called to pause the main thread of execution - Part of Java’s built-in threading facilities Using Out and Inout Parameters Out parameters - Used exclusively to return data from the server to the client Inout parameters - Passed both from the client to the server and, following any changes, from the server back to the client Summary Use the IDL compiler to generate server skeletons Implement CORBA objects Initialize the ORB and wait for clients Use the naming service to publish an object reference Use out and inout parameters Lesson 5: Factory and Callback Objects Objectives Describe the purpose of factory objects Use factory objects to obtain object references Describe the purpose of callback objects Develop applications that use callback objects Factory Objects Types include: - Generic - Specific - In-process - Out-process FactoryFinder Using factory objects Designing factory objects Callback Objects Using callback objects Designing callback objects Summary Describe the purpose of factory objects Use factory objects to obtain object references Describe the purpose of callback objects Develop applications that use callback objects Lesson 6: CORBA Exceptions Objectives Describe the purpose of CORBA exceptions Define an exception using IDL Develop CORBA objects that throw exceptions Introduction to CORBA Exceptions Throwing CORBA exceptions Catching CORBA exceptions Summary Describe the purpose of CORBA exceptions Define an exception using IDL Develop CORBA objects that throw exceptions Lesson 7: Dynamic Invocation Interface Objectives Describe the purpose of the interface repository Describe the Dynamic Invocation Interface Construct an argument list for use in dynamic invocation Invoke a request using the DII Extract a return value following dynamic invocation Dynamic Invocation Interface Introduction DII allows a client to access any CORBA object even though it may not have a client stub to provide a compile-time definition of an object’s interface Invoking a Remote Method Using DII Construct a list of arguments Prepare a place to hold a return value Invoke the remote method Extract the return value Summary Describe the purpose of the interface repository Describe the Dynamic Invocation Interface Construct an argument list for use in dynamic invocation Invoke a request using the DII Extract a return value following dynamic invocation Distributed Object Computing Using Java and CORBA Introduction to CORBA Interface Definition Language Building CORBA Clients Building CORBA Servers Factory and Callback Objects CORBA Exceptions Dynamic Invocation Interface