Contents
Preface
Purpose of This Document
How to Use This Document
Related Documentation
Contact Information
OMG IDL Syntax
OMG IDL Extensions
Implementation Configuration File (ICF)
ICF Syntax
Sample ICF File
Creating the ICF File
TP Framework
Definition of Terms
A Simple Programming Model
Control Flow
Object State Management
Transaction Integration
Object Housekeeping
High-level Services
State Management
Activation Policy
Application-controlled Activation and Deactivation
Servant Lifetime
Saving and Restoring Object State
Transactions
Transaction Policies
Transaction Initiation
Transaction Termination
Transaction Suspend and Resume
Restrictions on Transactions
SQL and Global Transactions
Voting on Transaction Outcome
Transaction Time-outs
TP Framework API
Server Interface
Server::create_servant
Server::initialize()
Server::release()
Tobj_ServantBase Interface
Tobj_ServantBase:: activate_object()
Tobj_ServantBase::deactivate_object()
TP Interface
TP::application_responsibility
TP::bootstrap()
TP::close_xa_rm()
TP::create_active_object_reference()
TP::create_object_reference()
TP::deactivateEnable
TP::get_object_id ()
TP::get_object_reference()
TP::open_xa_rm()
TP::orb()
TP::register_factory()
TP::unregister_factory()
TP::userlog()
CosTransactions::TransactionalObject Interface Not Enforced
Error Conditions, Exceptions, and Error Messages
Exceptions Raised by the TP Framework
Exceptions in the Server Application Code
Exceptions and Transactions
Restriction of Nested Calls on Corba Objects
Bootstrap Object
Why Bootstrap Objects Are Needed
How Bootstrap Objects Work
Types of Remote Clients Supported
Capabilities and Limitations
Bootstrap Object API
Tobj Module
C++ Mapping
Java Mapping
Mappings for Microsoft Desktop Clients
C++ Member Functions and Java Methods
Tobj_Bootstrap
Tobj_Bootstrap::register_callback_port
Tobj_Bootstrap::resolve_initial_references
Tobj_Bootstrap::destroy_current()
Automation Methods
Initialize
CreateObject
DestroyCurrent
Programming Examples
Java Client Example: Getting a SecurityCurrent Object
Visual Basic Client Example: Using the Bootstrap Object
FactoryFinder Interface
Capabilities, Limitations, and Requirements
Functional Description
Locating a FactoryFinder
Registering a Factory
Locating a Factory
Creating Application Factory Keys
C++ Member Functions and Java Methods
CosLifeCycle::FactoryFinder::find_factories
Tobj::FactoryFinder::find_one_factory
Tobj::FactoryFinder::find_one_factory_by_id
Tobj::FactoryFinder::find_factories_by_id
Tobj::Factoryfinder::list_factories
Automation Methods
DITobj_FactoryFinder.find_one_factory
DITobj_FactoryFinder.find_one_factory_by_id
DITobj_FactoryFinder.find_factories_by_id
DITobj_FactoryFinder.find_factories
DITobj_FactoryFinder.list_factories
Programming Examples
Using the FactoryFinder Object
Using WLE Extensions to the FactoryFinder Object
Security Service
Capabilities and Limitations
Getting Initial References to the SecurityCurrent Object
Basic Security-level Requirements for WLE Clients
Functional Components
Security Model
Authentication of Principals
Controlling Access to Objects
Administrative Control
Security Model Functional Description
Description
Authentication
Description of Authentication
Client Security API
CORBA Module
TimeBase Module
Security Module
Security Level 1 Module
Security Level 2 Module
Tobj Module
Method Descriptions
SecurityLevel1::Current::get_attributes
SecurityLevel2::PrincipalAuthenticator::authenticate
SecurityLevel2::PrincipalAuthenticator::continue_authentication
SecurityLevel2::Credentials::get_attributes
SecurityLevel2::Credentials::is_valid
SecurityLevel2::Current::set_credentials
SecurityLevel2::Current::get_credentials
SecurityLevel2::Current::principal_authenticator
Tobj::PrincipalAuthenticator::get_auth_type
Tobj::PrincipalAuthenticator::logon
Tobj::PrincipalAuthenticator::logoff
Tobj::PrincipalAuthenticator::build_auth_data
Automation Method Descriptions
DISecurityLevel2_Current
DISecurityLevel2_Current.get_attributes
DISecurityLevel2_Current.set_credentials
DISecurityLevel2_Current.get_credentials
DISecurityLevel2_Current.principal_authenticator
DITobj_PrincipalAuthenticator
DITobj_PrincipalAuthenticator.authenticate
DITobj_PrincipalAuthenticator.build_auth_data
DITobj_PrincipalAuthenticator.continue_authentication
DITobj_PrincipalAuthenticator.get_auth_type
DITobj_PrincipalAuthenticator.logon
DITobj_PrincipalAuthenticator.logoff
DISecurityLevel2_Credentials
DISecurityLevel2_Credentials.get_attributes
DISecurityLevel2_Credentials.is_valid
Programming Examples
C++ Example: Using WLE Extensions to Log on
C++ Example: Using CORBA Security to Log on
Java Example: Using WLE Extensions to Log on
Java Example: Getting Information from Privileges
Java Example: Checking the Validity of the Credentials Expiration Time
Java Example: Authentication Using SecurityLevel2::PrincipalAuthenticator
Java Example: Authentication Using Tobj::PrincipalAuthenticator
Java Example: Logging Off Using Tobj::PrincipalAuthenticator
Java Example: Checking the Validity of Credentials
Java Example: Getting Principal's Privileges
Java Example: Copying a Credentials Object
Java Example: Destroying a Credentials Object
Java Example: Getting the Principal Authenticator Object
Java Example: Getting Credentials
Java Example: Setting Default Credentials
Java Example: Getting a Principal's Privileges
Java Example: Removing a Credentials Object from the "Own" List
Java Example: Getting Credentials of the Requesting Principal
Java Example: Getting the Principal's Privileges from Credentials
Java Example: Getting the Principal's Privileges from the SecurityCurrent Object
Java Example: Obtaining the SecurityCurrent Object
Java Example: Getting Association Options
Java Example: Getting Delegation State
Java Example: Getting Delegation Mode
Transaction Service
Capabilities and Limitations
Lightweight Clients with Delegated Commit
Transaction Propagation
Transaction Integrity
Transaction Termination
Flat Transactions
Interoperability Between Remote Clients and the WLE Domain
Intradomain Interoperability
Network Interoperability
Relationship of the Transaction Service to Transaction Processing
Process Failure
Multithreaded Support
OMG Interface Definition Language (IDL)
General Constraints
Getting Initial References to the TransactionCurrent Object
Transaction Service API
Data Types
Exceptions
Current Interface
Control Interface
TransactionalObject Interface
Other CORBAservices Object Transaction Service Interfaces
Transaction Service API Extensions
Exception
TransactionCurrent Interface
Interface Repository Interfacest
Structure and Usage
Programming Information
Performance Implications
Building Client Applications
Getting Initial References to the InterfaceRepository Object
Interface Repository Interfaces
Supporting Type Definitions
IRObject Interface
Contained Interface
Container Interface
IDLType Interface
Repository Interface
ModuleDef Interface
ConstantDef Interface
TypedefDef Interface
StructDef
UnionDef
EnumDef
AliasDef
PrimitiveDef
ExceptionDef
AttributeDef
OperationDef
InterfaceDef
Joint Client/Servers
Main Program and Server Initialization
Servants
Servant Inheritance from Skeletons
Callback Object Models Supported
Preparing Callback Objects Using CORBA
Preparing Callback Objects Using BEAWrapper Callbacks
Callbacks
start_transient
start_persistent_systemid
restart_persistent_systemid
start_persistent_userid
stop_object
stop_all_objects
get_string_oid
~Callbacks
Development Commands
buildobjclient
buildobjserver
genicf
idl
Mapping of OMG IDL Statements to C++
Mappings
Data Types
Strings
Constants
Enums
Structs
Unions
Sequences
Arrays
Exceptions
Mapping of Pseudo-objects to C++
Usage
Mapping Rules
Relation to the C PIDL Mapping
Typedefs
Implementing Interfaces
Implementing Operations
PortableServer Functions
Modules
Interfaces
Generated Static Member Functions
Object Reference Types
Attributes
Any Type
Fixed-Length Versus Variable-Length User-Defined Types
Using var Classes
Sequence vars
Array vars
String vars
Using out Classes
Object Reference out Parameter
Sequence outs
Array outs
String outs
Argument Passing Considerations
Operation Parameters and Signatures
CORBA API
Global Classes
Pseudo-objects
Any Class Member Functions
CORBA::Any::Any()
CORBA::Any::Any(const CORBA::Any & InitAny)
CORBA::Any::Any(TypeCode_ptr TC, void * Value, Boolean Release)
CORBA::Any::~Any()
CORBA::Any & CORBA::Any::operator=(const CORBA::Any & InitAny)
void CORBA::any::operator<<=()
CORBA::Boolean CORBA::Any::operator>>=()
CORBA::Any::operator<<=()
CORBA::Boolean CORBA::Any::operator>>=()
CORBA::TypeCode_ptr CORBA::Any::type() const
void CORBA::Any::replace()
Context Member Functions
Memory Management
CORBA::Context::context_name
CORBA::Context::create_child
CORBA::Context::delete_values
CORBA::Context::get_values
CORBA::Context::parent
CORBA::Context::set_one_value
CORBA::Context::set_values
ContextList Member Functions
CORBA::ContextList:: count
CORBA::ContextList::add
CORBA::ContextList::add_consume
CORBA::ContextList::item
CORBA::ContextList::remove
NamedValue Member Functions
Memory Management
CORBA::NamedValue::flags
CORBA::NamedValue::name
CORBA::NamedValue::value
NVList Member Functions
Memory Management
CORBA::NVList::add
CORBA::NVList::add_item
CORBA::NVList::add_value
CORBA::NVList::count
CORBA::NVList::item
CORBA::NVList::remove
Object Member Functions
CORBA::Object::_create_request
CORBA::Object::_duplicate
CORBA::Object::_get_interface
CORBA::Object::_is_a
CORBA::Object::_is_equivalent
CORBA::Object::_nil
CORBA::Object::_non_existent
CORBA::Object::_request
CORBA Member Functions
CORBA::release
CORBA::is_nil
CORBA::hash
CORBA::resolve_initial_references
ORB Member Functions
CORBA::ORB::create_environment
CORBA::ORB::create_list
CORBA::ORB::create_named_value
CORBA::ORB::create_exception_list
CORBA::ORB::create_context_list
CORBA::ORB::create_policy
CORBA::ORB::create_operation_list
CORBA::ORB::get_default_context
CORBA::ORB::get_next_response
CORBA::ORB::perform_work
CORBA::ORB::run
CORBA::ORB::shutdown
CORBA::ORB::object_to_string
CORBA::ORB::poll_next_response
CORBA::ORB::work_pending
CORBA::ORB::send_multiple_requests_deferred
CORBA::ORB::send_multiple_requests_oneway
CORBA::ORB::string_to_object
ORB Initialization Member Function
CORBA::ORB_init
Policy Member Functions
CORBA:Policy::copy
CORBA::Policy::destroy
PortableServer Member Functions
PortableServer::POA::activate_object
PortableServer::POA::activate_object_with_id
PortableServer::POA::create_id_assignment_policy
PortableServer::POA::create_lifespan_policy
PortableServer::POA::create_POA
PortableServer::POA::create_reference
PortableServer::POA::create_reference_with_id
PortableServer::POA::deactivate_object
PortableServer::POA::destroy
PortableServer::POA::find_POA
PortableServer::POA::reference_to_id
PortableServer::POA::the_POAManager
PortableServer::ServantBase::_default_POA
POA Current Member Functions
PortableServer::Current::get_object_id
PortableServer::Current::get_POA
POAManager Member Functions
PortableServer::POAManager::activate
PortableServer::POAManager::deactivate
POA Policy Member Objects
PortableServer::LifespanPolicy
PortableServer::IdAssignmentPolicy
Request Member Functions
CORBA::Request::arguments
CORBA::Request::ctx(Context_ptr)
CORBA::Request::get_response
CORBA::Request::invoke
CORBA::Request::operation
CORBA::Request::poll_response
CORBA::Request::result
CORBA::Request::env
CORBA::Request::ctx
CORBA::Request::contexts
CORBA::Request::exceptions
CORBA::Request::target
CORBA::Request::send_deferred
CORBA::Request::send_oneway
Strings
CORBA::string_alloc
CORBA::string_dup
CORBA::string_free
TypeCode Member Functions
Memory Management
CORBA::TypeCode::equal
CORBA::TypeCode::id
CORBA::TypeCode::kind
CORBA::TypeCode::param_count
CORBA::TypeCode::parameter
Exception Member Functions
Standard Exceptions
Exception Definitions
Object Nonexistence
Transaction Exceptions
ExceptionList Member Functions
CORBA::ExceptionList::count
CORBA::ExceptionList::add
CORBA::ExceptionList::add_consume
CORBA::ExceptionList::item
CORBA::ExceptionList::remove
Server-side Mapping
Implementing Interfaces
Inheritance-based Interface Implementation
Delegation-based Interface Implementation
Implementing Operations