Book.od.ua Книги для вашего бизнеса



Одесская библиотека бизнес литературы
полезные книги для бизнеса

1.13. Проверка состояния заказа

Несмотря на объединение систем с помощью каналов сообщений (Message Channel, с. 93), на выполнение заказа может уйти достаточно много времени. К примеру, нужного товара может не оказаться в наличии, в результате чего система управления складскими запасами будет удерживать сообщение о проверке возможности выполнения заказа до поступления товара на склад. В этом заключается одно из основных преимуществ асинхронного обмена сообщениями - взаимодействие между системами осуществляется по мере готовности каждой из них. Пока система управления складскими запасами удерживает сообщение о проверке возможности выполнения заказа, система бухгалтерского учета может проверить кредитную репутацию клиента. При условии успешного выполнения обоих шагов агрегатор (Aggregator, с. 283) публикует сообщение, инициирующее отгрузку товара и формирование счета.
Растянутость бизнес-процесса во времени также означает, что клиент и менеджеры компании могут захотеть узнать состояние заказа. Если определенного товара нет на складе, клиент может захотеть приобрести только те товары, которые есть в наличии. Кроме того, клиент должен иметь возможность узнать о состоянии доставки товара (дата отгрузки товара со склада, номер груза и т.п.).
Текущий проект интеграционного решения не предусматривает возможность отслеживания состояния заказа. Сообщения, которые могут об этом свидетельствовать, проходят одновременно через несколько различных систем. Чтобы судить о состоянии заказа, необходимо знать содержание последнего относящегося к нему сообщения. Одним из преимуществ канала "публикация-подписка" (Publish-Subscribe Channel, с. 134) является возможность добавления к каналу новых подписчиков без нарушения хода сообщений. Используем это свойство для отслеживания сообщений о размещении нового заказа, а также сообщений о результатах проверки возможности выполнения заказа, и помещении их в хранилище сообщений (Message Store, с. 565). По сути, хранилище сообщений является базой данных, которую можно использовать для выяснения состояния заказа (рис. 1.19). 
Проверка состояния заказа
Поскольку канал "точка-точка" (Point-to-Point Channel, с. 131) предусматривает доставку сообщения единственному получателю, мы не можем добавить к нему нового подписчика. Тем не менее мы можем воспользоваться отводом (Wire Tap, с. 558) - компонентом, извлекающим сообщение из одного канала и помещающего его в два других канала. Схема, позволяющая извлечь сообщение из канала "точка-точка" и поместить его в хранилище сообщений, показана на рис. 1.20.
Хранение сообщений в центральной базе данных имеет еще одно существенное преимущество. Первоначальный вариант проекта интеграционного решения предполагал передачу всех данных сообщения на каждом этапе его обработки. Так, сообщение о проверке кредитной репутации должно было содержать не только идентификатор клиента, но и все данные исходного сообщения о размещении нового заказа. Если сообщение о размещении нового заказа будет содержаться в хранилище сообщений, компоненты интеграционного решения смогут получать нужные им данные из хранилища при предъявлении квитанции (Claim Check, с. 358). Недостаток подобного подхода состоит в том, что доступ к центральной базе данных обладает меньшей надежностью, чем передача сообщений по асинхронным каналам.
Проверка состояния заказа


Понравился материал? Поделитесь с друзьями!

<< Предыдущая статьяСледующая статья >>
1.12. Обработка заказов. Продолжение. 1.14. Проверка состояния заказа. Продолжение.





Убедительная просьба при использовании любых материалов Одесской электронной бизнес-библиотеки ставить активную ссылку на наш сайт. По всем вопросам касательно сайта пожалуйста пишите на почту
      Карта сайта