|
|||||||||
| Home >> All >> org >> omg >> CORBA >> [ portable overview ] | PREV PACKAGE NEXT PACKAGE | ||||||||
Package org.omg.CORBA.portable
This package provides the support of CORBA; see overview of the implemented functionality.
See:
Description
| Interface Summary | |
| BoxedValueHelper | Provides a helper operations for the boxed value type. |
| CustomValue | If the value type provides the user defined methods for reading and writing its content, it must implement this interface for reading and writing the content in a user-defined default way. |
| IDLEntity | Indicates that this class has a corresponding Helper class. |
| InvokeHandler | Provides the dispatching mechanism for incoming call. |
| ResponseHandler | The interface, able to return streams, where the reply data can be marshalled. |
| Streamable | The base class for the Holder classess of IDL types. |
| StreamableValue | If the value type does not provide the user defined methods for reading and writing its content, it must implement this interface for reading and writing the content in a default way. |
| ValueBase | ValueBase is the basic interface for all CORBA value data types. |
| ValueFactory | An interface for reading an instance of the value type from the input stream. |
| Class Summary | |
| Delegate | Specifies a vendor specific implementation of the org.omg.CORBA.Object methods. |
| InputStream | This class is used to read CORBA IDL data types. |
| ObjectImpl | The basic implementation of the CORBA Object. |
| OutputStream | This class is used to write CORBA IDL data types. |
| ServantObject | Together with supporting methods in ObjectImpl and Delegate, provides mechanism for direct calls of clients, running on the same virtual machine (collocated). |
| Exception Summary | |
| ApplicationException | This expection is thrown if the application throws an exception, defined as a part of its remote method definition. |
| IndirectionException | This exception is thrown when reading from the ORBs input streams certain specific data layouts (object recursive references to itself). |
| RemarshalException | This is exception is potentially thrown by the _invoke() method of the object implementation, requiring to write the method parameters repeatedly. |
| UnknownException | The wrapper of the arbitrary exception into the System exception. |
Package org.omg.CORBA.portable Description
This package provides the support of CORBA; see overview of the implemented functionality.
CORBA a system that applications use to work over networks. CORBA messages are binary, not text oriented. They practically cary no "data wrapping" information like XML <opening> </closing> tags. Hence CORBA objects easier exchange large amounts of binary data. CORBA can work in such data-intensive application areas as telecommunications or radio broadcasting. Java programs connect to CORBA objects without care about what platform they run on, where they exist in the network, or what language they were written in. The remote CORBA objects appear to the programmer as the ordinary Java objects and can be passed as parameters in both remote or local method invocations.
The CORBA processing unit is divided into org.omg.CORBA.Object that is exposed to the client and the servant (org.omg.PortableServer.Servant where the method, invoked on object, is finally delegated. It can be multiple objects per servant or multiple servants per object. The servant for particular object or even particular call can be dynamically chosen at run time using org.omg.PortableServer.ServantManager.
All stages of both local and remote invocations on CORBA objects can be monitored and modified using org.omg.PortableInterceptor.Interceptor. The interceptors can add an extra data to the CORBA message (these data can be later accessed by other interceptor on remote side).
Overview of the currently implemented CORBA functionality
The CORBA implementation in the Classpath project is now a working prototype.- This prototype is interoperable with Sun's implementation v 1.4, transferring object references, primitive types, narrow and wide strings, arrays, structures and trees between these two platforms.
- The prototype provides interoperable support for the Abstract interface and Value types. Those appear in 1.3, being a feature of CORBA 2.3.
- The remote exceptions are also transferred and handled as expected.
- The support for parsing stringified object references (IORs), both Big and Little Endian encoded, is implemented.
- The redirection commands works, LOCATION_FORWARD_PERM changing the target address until the application is restarted and LOCATION_FORWARD redirecting for the current session only.
- Both Little and Big Endian encoded messages are accepted. The encoding of the sent messages is the same as used in the stringified IOR reference of that object or Big Endian, if no such data available.
- You can use both request-oriented (based on org.omg.CORBA.Request and stream-oriented (based on ObjectImpl invocation models. The current release includes the working examples, demonstrating the client-server communication using both methods.
- These examples also show, how to use the Classpath naming service.
- The IDL compiler is not yet written (and not even started), but as a side effect of the required compatibility, the implementation seems accepting the output of the Sun's idlj.
- The Portable Object Adapter is already released. For details on POA,
see the
org.omg.PortableServerpackage. - We provide the implementation of the
org.omg.DynamicAnypackage. ORB returns the working DynAnyFactory that produces working DynAny's as defined in OMG specification. - The Portable Interceptor is also complete. See
org.omg.PortableInterceptorpackage for details how to register and use CORBA interceptors. - All GNU Classpath classes in omg.org namespace are newly written using the OMG .pdf document (Version 3.0.3, formal/04-03-12).
|
|||||||||
| Home >> All >> org >> omg >> CORBA >> [ portable overview ] | PREV PACKAGE NEXT PACKAGE | ||||||||