09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

General Features of <strong>Advanced</strong> <strong>Queuing</strong><br />

source.user_data.ordertype,<br />

source.user_data.orderregion,<br />

WS.get_customer_info(source.user_data.custno),<br />

source.user_data.paymentmethod,<br />

source.user_data.items,<br />

source.user_data.ccnumber,<br />

source.user_data.order_date)');<br />

In the BooksOnline application, assume that the Overseas Shipping site<br />

represents the order as an XMLType payload. The Order Entry site represents<br />

the order as an <strong>Oracle</strong> object, ORDER_TYP. Since the Overseas Shipping site<br />

subscribes to messages in the OE_BOOKEDORDERS_QUE queue, a transformation<br />

is applied before messages are propagated from the Order Entry site to the<br />

Overseas Shipping site.<br />

The transformation is defined as follows:<br />

CREATE OR REPLACE FUNCTION CONVERT_TO_ORDER_XML(input_order TYPE OE.ORDER_<br />

TYP)<br />

RETURN SYS.XMLType AS<br />

new_order SYS.XMLType;<br />

BEGIN<br />

select SYS_XMLGEN(input_order) into new_order from dual;<br />

RETURN new_order;<br />

END CONVERT_TO_ORDER_XML;<br />

execute dbms_transform.create_transformation(<br />

schema => 'OS',<br />

name => 'OE2XML',<br />

from_schema => 'OE',<br />

from_type => 'ORDER_TYP',<br />

to_schema => 'SYS',<br />

to_type => 'XMLTYPE',<br />

transformation => 'CONVERT_TO_ORDER_XML(source.user_data)');<br />

/* Add a rule-based subscriber for Overseas Shipping to the Booked orders<br />

queues with Transformation. Overseas Shipping handles all non-US orders: */<br />

DECLARE<br />

subscriber aq$_agent;<br />

BEGIN<br />

subscriber := aq$_agent('Overseas_Shipping','OS.OS_bookedorders_que',null);<br />

dbms_aqadm.add_subscriber(<br />

queue_name => 'OE.OE_bookedorders_que',<br />

A Sample Application Using AQ 8-9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!