Using CORBA Request-Level Interceptors

     Previous  Next    Contents  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Introduction to CORBA Request-Level Interceptors

Interceptor Architecture

Capabilities and Limitations

Execution Flow

Client-side Execution

Client-side Exception Handling

Target-side Execution

Target-side Exception Handling

The exception_occurred Method

About Short-circuit Behavior

Using Multiple Request-Level Interceptors

Multiple Client-side Interceptors

Multiple Target-side Interceptors

Interceptors and Meta-Operations

Developing CORBA Request-Level Interceptors

Step 1: Identify the Interfaces of Your CORBA Application

Step 2: Write the Interceptor Implementation Code

Starting the Implementation File

Initializing the Interceptor at Run Time

Obtaining the Interface Name from a Request

Identifying Operations in the Request

Implementing the Interceptor's Response Operation

Reading Parameters Out of a Data Input Stream

Exceptions

Step 3: Create the Interceptor Header File

Step 4: Build the Interceptor

Step 5: Test the Interceptor

Deploying CORBA Request-Level Interceptors

Registering an Interceptor

Unregistering an Interceptor

Changing the Order in Which Interceptors Are Called

PersonQuery Sample Application

How the PersonQuery Sample Application Works

PersonQuery Database

Client Application Command-line Interface

The OMG IDL for the PersonQuery Sample Application

Building and Running the PersonQuery Sample Application

Copying the Files for the PersonQuery Sample Application

Changing the Protection on PersonQuery Application Files

Setting the Environment Variables

Building the CORBA Client and Server Applications

Start the PersonQuery Client and Server Applications

Running the PersonQuery Sample Application

Stopping the PersonQuery Sample Application

InterceptorSimp Sample Interceptors

How the PersonQuery Sample Interceptors Work

Registering and Running the PersonQuery Interceptors

Examining the Output of the Interceptors

Unregistering the Interceptors

Unregistering the Interceptors

InterceptorSec Sample Interceptors

How the PersonQuery Sample Interceptors Work

How the InterceptorSec Target-side Interceptor Works

Using the SecurityCurrent Object

Obtaining the SecurityCurrent Object

Creating the List of User Attributes

Registering and Running the PersonQuery Interceptors

Examining the Interceptor Output

Unregistering the Interceptors

InterceptorData Sample Interceptors

InterceptorDataClient Interceptor

InterceptorDataTarget Interceptor

Implementing the InterceptorData Interceptors

Registering and Running the InterceptorData Interceptors

Examining the Interceptor Output

Unregistering the Interceptors

Request-Level Interceptor API

Interceptor Hierarchy

Note on Unused Interfaces

Interceptors::Interceptor Interface

Interceptor::id

Interceptor::shutdown

RequestLevelInterceptor:: RequestInterceptor Interface

RequestContext Structure

ReplyContext Structure

RequestInterceptor::exception_occurred

RequestLevelInterceptor:: ClientRequestInterceptor Interface

ClientRequestInterceptor::client_invoke

ClientRequestInterceptor::client_response

RequestLevelInterceptor:: TargetRequestInterceptor Interface

TargetRequestInterceptor::target_invoke

TargetRequestInterceptor::target_response

AppRequestInterceptorInit

CORBA::DataInputStream Interface

DataInputStream::read_<primitive>

DataInputStream::read_array_<primitive>

Starter Request-Level Interceptor Files

Starter Implementation Code

Starter Header File Code


  Back to Top       Previous  Next