Базы данных Oracle - статьи


Oraclexmlmess.shtml - часть 4


SQL> VARIABLE descrip VARCHAR2(80); SQL> EXEC :descrip := airportDescription('XML');

PL/SQL procedure successfully completed.

SQL> PRINT descrip DESCRIP ------------------------- Minlaton, Sa, Australia

Итак, используя этот сервис, мы обнаружили, что, чтобы действительно отправиться в сердце XML страны, нам необходимо полететь в Qantas.

Обработка асинхронных XML-сообщений в очередях

Обрабатываете ли вы банковских клиентов в диалоговом окне или заказы покупателей на Web сайте, и теория, и практика утверждают, что очереди – это оптимальный подход к обработке заданий. Очереди позволяют заданиям накапливаться упорядоченным образом, и позволяют гибкому количеству исполнителей обрабатывать задания так быстро как это возможно. В часы пик больше исполнителей могут быть привлечены к работе. В свободное время, дежурная команда может удерживать фронт. В нашем сценарии очереди заданий обрабатываются очередью Oracle Advanced Queueing, чье содержимое управляется таблицей очередей, а исполнители – это программы, которые выводят из очереди сообщения и обрабатывают их.

Поскольку возможности Oracle's AQ в значительной степени поддерживаются базой данных Oracle8i, сообщения, которые вы помещаете в очередь имеют точно такие же гарантии надежности, как и все данные базы данных. Проще говоря, это означает, что сообщения надежно доставляются и никогда не будут потеряны. Oracle AQ обрабатывает даже автоматическую передачу сообщений между очередями на разных машинах и между различными системами очередей. Итак, должно быть понятно, что стоит потратить время, чтобы разобраться, как воспользоваться такой мощной возможностью для асинхронного обмена XML-сообщениями.

Рисунок 3 иллюстрирует основную идею очередей в базе данных. Один или несколько процессов ставят задание, которое должно быть сделано, в очередь, а другие рабочие процессы извлекают сообщение из очереди для обработки. По умолчанию используется интуитивно “справедливый” механизм – первый вошел, первый вышел (FIFO) – но AQ поддерживает также многие другие методы обслуживания очереди. Простым примером может быть обслуживание сначала высоко приоритетных заказов, или заказов от платиновых клиентов.




Начало  Назад  Вперед



Книжный магазин