***  This API provides Binary Compatibility only, not Source Compatibility  ***

com.sas.net.brg.orb
Class BrgOrb

java.lang.Object
  |
  +--org.omg.CORBA.ORB
        |
        +--org.omg.CORBA_2_3.ORB
              |
              +--com.sas.net.brg.orb.BrgOrb

public class BrgOrb
extends ORB

This is the root class of JavaBridge, a standard, non-interoperable CORBA ORB. It is standard because it implements the CORBA ORB specification (more specifically, it extends org.omg.CORBA.ORB), but it is not interoperable because it can only communicate with an IOM BRIDGE server. The benefit of communicating with the IOM BRIDGE server through a standard CORBA ORB is that it will support programs written to communicate with an IOM CORBA server through an interoperable CORBA ORB without modification or even recompilation.

To indicate to one of the org.omg.CORBA.ORB.init() method that you would like to use this ORB specify the following properties in the java.util.Properties object required by those methods.

Name Value
org.omg.CORBA.ORBClass com.sas.net.brg.orb.BrgOrb
org.omg.CORBA.ORBSingletonClass com.sas.net.omgidl.orb.ORB

It is also possible to instantiate this ORB directly using its constructor.

JavaBridge supports a variety of encryption algoritms for encrypting messages sent to and received from the IOM BRIDGE server. If encryption is used, then the authentication message which contains a user name and password will be encrypted. More information about control of encryption options is available at the string_to_object method. The following algorithms are supported.

sasproprietary
a stream cipher developed at SAS Institute.
rc2
a block cipher developed by RSA Data Security
rc4
a stream cipher developed by RSA Data Security
des
a block cipher called Data Encryption Standard
tripledes
des applied three times with separate keys
Support for rc2, rc4, des, and tripledes is only available if SAS/SECURE has been licensed on the IOM BRIDGE server and if the Java component of SAS/SECURE (sasecjav.zip) has been installed in the client code base. Furthermore, tripledes is generally only available in the United States and Canada due to U.S. Government export restrictions.


Constructor Summary
BrgOrb()
           
BrgOrb(Properties properties)
           
 
Method Summary
 void addEngine(ProtocolEngineInterface engine)
           
 TypeCode create_alias_tc(String id, String name, TypeCode original_type)
          Create a TypeCode object representing another TypeCode object.
 Any create_any()
          Create an Any object.
 TypeCode create_array_tc(int length, TypeCode element_type)
          Create a TypeCode object representing an array.
 ContextList create_context_list()
          Create a list of Context objects.
 TypeCode create_enum_tc(String id, String name, String[] members)
          Create a TypeCode object representing an enum.
 Environment create_environment()
          Creates an environment which holds the exception raised by an operation invocation.
 ExceptionList create_exception_list()
          Create a list of exceptions raised by an operation.
 TypeCode create_exception_tc(String id, String name, StructMember[] members)
          Create a TypeCode object representing an exception.
 TypeCode create_interface_tc(String id, String name)
          Create a TypeCode object representing an interface.
 NVList create_list(int count)
          Create a name/value pair list.
 NamedValue create_named_value(String s, Any any, int flags)
          Create a name/value pair.
 OutputStream create_output_stream()
          Create a stream for serializing parameters.
 TypeCode create_recursive_sequence_tc(int bound, int offset)
          Deprecated.  
 TypeCode create_sequence_tc(int bound, TypeCode element_type)
          Create a TypeCode object representing a sequence.
 TypeCode create_string_tc(int bound)
          Create a TypeCode object representing a string.
 TypeCode create_struct_tc(String id, String name, StructMember[] members)
          Create a TypeCode object representing a struct.
 TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
          Create a TypeCode object representing a union.
 TypeCode create_wstring_tc(int bound)
          Create a TypeCode object representing a wide string.
 Current get_current()
          Deprecated.  
 Context get_default_context()
          Create a Context object.
 Request get_next_response()
          Throws NO_IMPLEMENT.
 TypeCode get_primitive_tc(TCKind tcKind)
          Get the TypeCode object representing a particular primitive type.
 Map getActiveObjectMap()
           
 ActiveObjectMapKey getActiveObjectMapKey()
           
 DelegateBase getDelegateBase()
           
 GenericObject getGenericObject()
           
 int getNextClientID()
           
 String[] list_initial_services()
           
 String object_to_string(Object obj)
           
 Properties objectToProperties(Object obj)
           
 boolean poll_next_response()
          Throws NO_IMPLEMENT.
 Object propertiesToObject(Properties properties)
           
 Object propertiesToObjectNoCopy(Properties properties)
           
static String propertiesToReference(Properties properties)
           
static Properties referenceToProperties(String reference)
           
 Object resolve_initial_references(String name)
           
 void returnActiveObjectMapKey(ActiveObjectMapKey activeObjectMapKey)
           
 void returnDelegateBase(DelegateBase delegateBase)
           
 void returnGenericObject(GenericObject obj)
           
 void send_multiple_requests_deferred(Request[] req)
          Throws NO_IMPLEMENT.
 void send_multiple_requests_oneway(Request[] req)
          Throws NO_IMPLEMENT.
 void shutdown(boolean waitForCompletion)
           
 Object string_to_object(String url)
          This method causes the server to instantiate an object and sets up a remote reference to it on the client.
 
Methods inherited from class org.omg.CORBA_2_3.ORB
get_value_def, lookup_value_factory, register_value_factory, set_delegate, unregister_value_factory
 
Methods inherited from class org.omg.CORBA.ORB
connect, create_abstract_interface_tc, create_basic_dyn_any, create_dyn_any, create_dyn_array, create_dyn_enum, create_dyn_sequence, create_dyn_struct, create_dyn_union, create_fixed_tc, create_native_tc, create_operation_list, create_policy, create_recursive_tc, create_value_box_tc, create_value_tc, destroy, disconnect, get_service_information, init, init, init, perform_work, run, work_pending
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BrgOrb

public BrgOrb()

BrgOrb

public BrgOrb(Properties properties)
Method Detail

shutdown

public void shutdown(boolean waitForCompletion)
Overrides:
shutdown in class ORB

list_initial_services

public String[] list_initial_services()
Overrides:
list_initial_services in class ORB

resolve_initial_references

public Object resolve_initial_references(String name)
                                  throws InvalidName
Overrides:
resolve_initial_references in class ORB

object_to_string

public String object_to_string(Object obj)
Overrides:
object_to_string in class ORB

string_to_object

public Object string_to_object(String url)
This method causes the server to instantiate an object and sets up a remote reference to it on the client. If object instantiation fails, then this method returns null, and a reason will be printed in stderr.

The identity and location of the desired object are specified in a specially formatted URL.

bridge://host:port/classId?userName=user_name&password=password&otherNames=otherValues

host
the IP name or address of the machine running an IOM BRIDGE server or spawner.
port
the TCP port that the IOM BRIDGE server or spawner is listening to.
classId
the UUID for the class you want to instantiate. The UUID for the SASAutomation class is 440196D4-90F0-11D0-9F41-00A024BB830C.
userName
a valid user name on the IOM BRIDGE server host.
password
the password corresponding to userName.

The name/value pairs listed above are all required. Other name/value pairs may be appended to the URL following the same format as userName and password to control optional functionality.

encryptionPolicy
whether or not JavaBridge should attempt to negotiate with the server over which encryption algorithm to use and what to do if the negotiations fail. Possible values:
none
do not use encryption. This is the default.
optional
attempt to use encryption but, if algorithm negotiation fails, continue with an unencrypted session
required
attempt to use encryption but, if algorithm negotiation fails, fail the connection
encryptionContent
specifies which messages should be encrypted if encryption is used. Possible values:
all
encrypt all messages. This is the default.
authentication
encrypt only messages that contain user name and password information.
encryptionAlgorithms
the list of algorithms you are willing to use in order of preference. Values in the list should be separated by commas and chosen from sasproprietary, rc2, rc4, des, or tripledes. If no value is specified, then one of the server's favorite algorithms will be used.

Note that the server's encryption policy is, by default, optional so no special action is needed to prepare an IOM BRIDGE server to use encryption. However, it is possible to set up the server so that encryption is required. Consult IOM BRIDGE server documentation for details.

Note also that name/value pairs containing &, =, or % need to be encoded since these characters are reserved in the URL format. Use java.net.URLEncoder to encode each name and each value individually.

Overrides:
string_to_object in class ORB
Parameters:
url - a specially formatted URL indicating the identity and location of a remote object.
Returns:
a reference to the remote object

create_list

public NVList create_list(int count)
Create a name/value pair list.
Overrides:
create_list in class ORB
Parameters:
count - the initial capacity of the list
Returns:
a name/value pair list

create_named_value

public NamedValue create_named_value(String s,
                                     Any any,
                                     int flags)
Create a name/value pair.
Overrides:
create_named_value in class ORB
Parameters:
s - the name
any - the value
flags - argument direction. One of ARG_IN, ARG_OUT or ARG_INOUT
Returns:
a name/value pair

create_exception_list

public ExceptionList create_exception_list()
Create a list of exceptions raised by an operation.
Overrides:
create_exception_list in class ORB
Returns:
a list of exceptions raised by an operation

create_context_list

public ContextList create_context_list()
Create a list of Context objects. If BrgOrb is the singleton orb, then this method will throw org.omg.CORBA.NO_IMPLEMENT.
Overrides:
create_context_list in class ORB
Returns:
a list of Context objects

get_default_context

public Context get_default_context()
Create a Context object. If BrgOrb is the singleton orb, then this method will throw org.omg.CORBA.NO_IMPLEMENT.
Overrides:
get_default_context in class ORB
Returns:
a Context object

create_environment

public Environment create_environment()
Creates an environment which holds the exception raised by an operation invocation.
Overrides:
create_environment in class ORB
Returns:
an environment.

create_output_stream

public OutputStream create_output_stream()
Create a stream for serializing parameters.
Overrides:
create_output_stream in class ORB
Returns:
a stream for serializing parameters

send_multiple_requests_oneway

public void send_multiple_requests_oneway(Request[] req)
Throws NO_IMPLEMENT.
Overrides:
send_multiple_requests_oneway in class ORB

send_multiple_requests_deferred

public void send_multiple_requests_deferred(Request[] req)
Throws NO_IMPLEMENT.
Overrides:
send_multiple_requests_deferred in class ORB

poll_next_response

public boolean poll_next_response()
Throws NO_IMPLEMENT.
Overrides:
poll_next_response in class ORB

get_next_response

public Request get_next_response()
Throws NO_IMPLEMENT.
Overrides:
get_next_response in class ORB

get_primitive_tc

public TypeCode get_primitive_tc(TCKind tcKind)
Get the TypeCode object representing a particular primitive type.
Overrides:
get_primitive_tc in class ORB
Parameters:
enumerated - value representing the desired primitive type.
Returns:
a TypeCode object

create_struct_tc

public TypeCode create_struct_tc(String id,
                                 String name,
                                 StructMember[] members)
Create a TypeCode object representing a struct.
Overrides:
create_struct_tc in class ORB
Parameters:
id - interface repository ID
name - name of struct
members - the struct members
Returns:
a TypeCode object representing a struct.

create_union_tc

public TypeCode create_union_tc(String id,
                                String name,
                                TypeCode discriminator_type,
                                UnionMember[] members)
Create a TypeCode object representing a union.
Overrides:
create_union_tc in class ORB
Parameters:
id - interface repository ID
name - name of union
discriminator_type - the discriminator type
members - the union members
Returns:
a TypeCode object representing a union.

create_enum_tc

public TypeCode create_enum_tc(String id,
                               String name,
                               String[] members)
Create a TypeCode object representing an enum.
Overrides:
create_enum_tc in class ORB
Parameters:
id - interface repository ID
name - name of enum
members - the enum members
Returns:
a TypeCode object representing an enum.

create_alias_tc

public TypeCode create_alias_tc(String id,
                                String name,
                                TypeCode original_type)
Create a TypeCode object representing another TypeCode object.
Overrides:
create_alias_tc in class ORB
Parameters:
id - interface repository ID
name - name of alias type
original_type - the original TypeCode object
Returns:
a TypeCode object representing another TypeCode object.

create_exception_tc

public TypeCode create_exception_tc(String id,
                                    String name,
                                    StructMember[] members)
Create a TypeCode object representing an exception.
Overrides:
create_exception_tc in class ORB
Parameters:
id - interface repository ID
name - name of exception
members - the exception members
Returns:
a TypeCode object representing a exception.

create_interface_tc

public TypeCode create_interface_tc(String id,
                                    String name)
Create a TypeCode object representing an interface.
Overrides:
create_interface_tc in class ORB
Parameters:
id - interface repository ID
name - name of interface
Returns:
a TypeCode object representing an interface.

create_string_tc

public TypeCode create_string_tc(int bound)
Create a TypeCode object representing a string.
Overrides:
create_string_tc in class ORB
Parameters:
bound - maximum size of string, or 0 to indicate unbounded string
Returns:
a TypeCode object representing a string.

create_wstring_tc

public TypeCode create_wstring_tc(int bound)
Create a TypeCode object representing a wide string.
Overrides:
create_wstring_tc in class ORB
Parameters:
bound - maximum size of string, or 0 to indicate unbounded string
Returns:
a TypeCode object representing a wide string.

create_sequence_tc

public TypeCode create_sequence_tc(int bound,
                                   TypeCode element_type)
Create a TypeCode object representing a sequence.
Overrides:
create_sequence_tc in class ORB
Parameters:
bound - maximum size of sequence, or 0 to indicate unbounded sequence
element_type - the element type
Returns:
a TypeCode object representing a sequence.

create_recursive_sequence_tc

public TypeCode create_recursive_sequence_tc(int bound,
                                             int offset)
Deprecated.  

Create a TypeCode object representing a recursive sequence. Throws org.omg.CORBA.NO_IMPLEMENT if the singleton orb is BrgOrb.
Overrides:
create_recursive_sequence_tc in class ORB
Parameters:
bound - maximum size of sequence, or 0 to indicate unbounded sequence
offset - offset within sequence

create_array_tc

public TypeCode create_array_tc(int length,
                                TypeCode element_type)
Create a TypeCode object representing an array.
Overrides:
create_array_tc in class ORB
Parameters:
length - size of array
element_type - the element type
Returns:
a TypeCode object representing an array.

get_current

public Current get_current()
Deprecated.  

Get a Current object If the singleton orb is BrgOrb, then this method throws org.omg.CORBA.NO_IMPLEMENT.
Overrides:
get_current in class ORB
Returns:
a Current object

create_any

public Any create_any()
Create an Any object.
Overrides:
create_any in class ORB
Returns:
an Any object

getNextClientID

public int getNextClientID()

addEngine

public void addEngine(ProtocolEngineInterface engine)

getGenericObject

public GenericObject getGenericObject()

returnGenericObject

public void returnGenericObject(GenericObject obj)

getDelegateBase

public DelegateBase getDelegateBase()

returnDelegateBase

public void returnDelegateBase(DelegateBase delegateBase)

getActiveObjectMap

public Map getActiveObjectMap()

getActiveObjectMapKey

public ActiveObjectMapKey getActiveObjectMapKey()

returnActiveObjectMapKey

public void returnActiveObjectMapKey(ActiveObjectMapKey activeObjectMapKey)

propertiesToObject

public Object propertiesToObject(Properties properties)

propertiesToObjectNoCopy

public Object propertiesToObjectNoCopy(Properties properties)

objectToProperties

public Properties objectToProperties(Object obj)

referenceToProperties

public static Properties referenceToProperties(String reference)

propertiesToReference

public static String propertiesToReference(Properties properties)

***  This API provides Binary Compatibility only, not Source Compatibility  ***




Copyright © 2006 SAS Institute Inc. All Rights Reserved.
javadoc generated Fri, 10 Feb 2006 17:28:51