Oracle9iAS InterConnect Adapter for DB Installation and User's Guide Release 2 (9.0.2) Part Number A95447-01 |
|
This chapter describes the design time and runtime concepts for the Database adapter. Topics include:
The following topics discuss the iStudio concepts pertinent to the Database adapter.
For a database application, the application and common views resemble the underlying database schema. For this reason, iStudio allows the creation of a view by importing tables directly from the database. The following tables can be imported:
The following examples illustrate some basic features for the database tables.
The following example illustrates basic features of a relational table.
Table 3-1 Customer
Parameter | Value |
---|---|
|
|
|
|
|
|
When imported into iStudio, this table results in the following:
Table 3-2 Customer
Parameter | Value |
---|---|
|
|
|
|
|
|
When importing from database, iStudio allows any number of columns to be selected.
The following example illustrates basic features of the object table.
Table 3-3 Customer
Parameter | Value |
---|---|
|
|
|
|
|
|
Where ADDRESS_ARRAY
is VARRAY
of ADDRESS
and ADDRESS
is an OBJECT TYPE
containing the following attributes:
Parameter | Value |
---|---|
|
|
|
|
|
|
When imported into iStudio, this table results in the following:
Table 3-4 Customer
Parameter | Value |
---|---|
|
|
|
|
|
|
Where ADDRESS_ARRAY
contains the following attributes:
Parameter | Value |
---|---|
|
|
|
|
|
|
In this example, the hierarchical structure is kept intact when dealing with Oracle Object Types.
In an example similar to the previous one, the structure or relationship is represented using a FOREIGN key. In this case, the end user is responsible for importing each of the different tables and setting up the relationship in iStudio by editing the types of attributes. The following example illustrates this point.
Table 3-5 Customer
Parameter | Value |
---|---|
|
|
|
|
|
|
Parameter | Value |
---|---|
|
|
|
|
|
|
|
|
Using iStudio, complete the following to import this structure:
This results in:
|
|
|
|
|
|
|
|
Address
.
Importing an Oracle Object or an Advanced Queuing payload in iStudio is similar to importing database tables. Importing from an Advanced Queuing payload is necessary when working with Advanced Queuing applications.
Returned In arguments applies when invoking procedures. The Returned IN Args page does only displays in the Invoke wizard. Returned In arguments are used to propagate INOUT
attributes contained in the request to the reply. Without this feature, it would have to be ensured that these attributes exist in both the common view and application view of the implementor and are INOUT
attributes. It would also be necessary to complete all the mappings to copy these attributes on their way out and back in, for example, when receiving the reply. For instance, one of these returned In arguments can be used to correlate the reply with an asynchronous request.
For example, a Customer object looks like the following in the application view:
Customer Name ID Contact Address City State Zip Phone AreaCode PhoneNumber
If this is to be sent as part of a CreateCustomer
message and ID
is to be INOUT
in both the request and the reply, then it should be an INOUT
parameter. To do this, complete the following steps:
ID
on the Please Select In Arguments dialog and the Please Select Out Arguments dialog.
To export PL/SQL code, use the File/Export menu item in iStudio.
The SQL Code dialog appears at the end of Subscribe, Invoke, Implement wizards. In the drop down list the options are generated data types and <EventType>_<EventName>_<MetadataOwner>_<Version>.
Typically, there is no need to modify the generated data types SQL code. Insert the necessary code as indicated by -- declare here
or -- fill code here
in the latter dialog.
The following section describes the runtime concepts pertinent to the Database Adapter.
The following topics describe how the Database adapter works.
The Database adapter is comprised of the database bridge and the runtime agent. The bridge is constantly polling the MESSAGEOBJECTTABLE
table in the oai
schema, specified by the db_bridge_schema1_username
parameter. A new row in this table indicates a new outbound Oracle9iAS InterConnect message waiting to be sent by this adapter. The adapter then picks up the message from the interface tables residing in the oai
schema, builds the corresponding Oracle9iAS InterConnect message, persists it, transforms it to the common view, and routes it to the hub. From the hub, the message gets routed to the appropriate subscriber based on configuration completed in iStudio which can be content-based or subscription-based.
The application and the database adapter communicate through the interface tables residing in the oai
schema for outbound messages and through iStudio PL/SQL generated procedures for inbound messages. Therefore, if the adapter is down while the application is publishing Oracle9iAS InterConnect messages using the iStudio generated PL/SQL procedures, the messages are held in the interface tables and will be picked up in a FIFO method by the database adapter once it is up and running. If there are messages in the interface tables that no longer need to be published, the DELETE FROM MESSAGEOBJECTTABLE
using SQLPlus can be run in the oai
schema.
On the subscribing/receiving side, the Database adapter receives the message from the hub, transforms it from common view to application view, and passes it to the bridge which calls the appropriate PL/SQL procedures to inform the application about the newly arrived message. If this adapter were an implementor, the OUT
arguments from the PL/SQL procedure invocation are put together and the REPLY in the form of another Oracle9iAS InterConnect message is sent back to the INVOKER
or REQUESTER
.
The receiving adapter is responsible for creating any necessary cross reference entries. In a publish-subscribe scenario, the subscribing adapter creates the cross reference entry using the returned arguments, for example OUT
, from the subscribe side procedure.
Start the Database adapter using the start
script in the directory named after the Database adapter. On Windows or Windows 2000, start it from the Service window available from the Start menu.
On... | Choose... |
---|---|
Windows NT |
Start > Settings > Control Panel > Services |
Windows 2000 |
Start > Settings > Control Panel > Administrative Tools > Services |
The Services window displays.
On... | Choose... |
---|---|
Windows NT |
Choose Start. |
Windows 2000 |
Right click the service and choose Start from the menu that displays. |
See Also:
"Configuring the Database Adapter" for the location of the |
The following is a sample log file of a Database adapter that was successfully started.
D:\oracle\ora902\oai\9.0.2\adapters+bapp>D:\oracle\ora902\oai\9.0.2·in\JavaServi ce.exe -debug "Oracle OAI Adapter 9.0.2 - dbapp" D:\oracle\ora9021\oai\9.0.2\adapters+bapp adapter.ini The Adapter service is starting.. Registering your application (DBAPP).. Initializing the Bridge oracle.oai.agent.adapter.database.DBBridge Starting the Bridge oracle.oai.agent.adapter.database.DBBridge Service started successfully. db_bridge_writer_1 has been started. db_bridge_reader_1 has been started. db_bridge_writer_1 has connected to the database successfully. db_bridge_reader_1 has connected to the database successfully.
Stop the Database adapter using the stop
script in the directory named after the Database adapter. On Windows NT or Windows 2000, stop the adapter from the Services window available from the Start menu.
On... | Choose... |
---|---|
Windows NT |
Start > Settings > Control Panel > Services |
Windows 2000 |
Start > Settings > Control Panel > Administrative Tools > Services |
The Services window displays.
On... | Choose... |
---|---|
Windows NT |
Choose Stop. |
Windows 2000 |
Right click the service and choose Stop from the menu that displays. |
Stop status can be verified by viewing the oailog.txt
files in the appropriate timestamped subdirectory of the log directory of the adapter directory.
|
![]() Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|