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



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

1.11. Обработка заказов

Обработка заказа предполагает выполнение следующих действий.
• Проверка кредитной репутации клиента. Если у клиента остались неоплаченные счета, следует отменить новый заказ.
• Проверка наличия товара. Компания не сможет выполнить заказ, если в него будут включены отсутствующие в данный момент на складе товары.
Обработка заказов
• Отправка товара и выставление счета (при условии положительной кредитной репутации клиента и наличия товара на складе).
Указанную последовательность событий можно воспроизвести с помощью диаграммы операций UML (Unified Modeling Language - унифицированный язык моделирования). Подобные диаграммы удобно применять для представления процессов, включающих параллельные действия. Семантика диаграмм операций UML очень проста: последовательные действия соединяются стрелками, а параллельные - толстыми линиями, представляющими операции ветвления и объединения. Операция ветвления подразумевает одновременное начало выполнения всех исходящих действий, а операция объединения предписывает дождаться завершения выполнения всех входящих действий.
Как показано на рис. 1.13, задачи проверки кредитной репутации клиента и наличия товара на складе выполняются параллельно. Толстая линия, соответствующая операции объединения, предписывает дождаться завершения выполнения обеих задач перед выполнением следующего действия. Если оба условия соблюдены, заказ передается на выполнение. В противном случае выполняется действие по обработке ошибки - компания может напомнить клиенту оплатить последний счет или уведомить об отсрочке выполнения заказа. Поскольку настоящая книга посвящена проектированию интеграционных решений, а не моделированию последовательно выполняемых операций, мы не будем останавливаться на аспектах обработки ошибок. Более подробно эта тема рассматривается в [23] и [35].
Обработка заказов
Действия, представленные на диаграмме операций, соответствуют различным системам ПРУСТ. Система бухгалтерского учета проверяет кредитную репутацию клиента, система управления складскими запасами - наличие товара на складе, а система доставки товара отправляет товар клиенту. Выставляя клиенту счет, система бухгалтерского учета берет на себя также некоторые функции биллинга. Таким образом, обработка заказа представляет собой типичный пример распределенного бизнес-процесса.
Преобразуя логику диаграммы операций в проект интеграционного решения, реализуем операцию ветвления с помощью канала "публикация-подписка" (Publish-Subscribe Channel, с. 134), а операцию объединения - с помощью агрегатора (Aggregator, с. 283). Канал "публикация-подписка" отправляет сообщение всем активным потребителям, в то время как агрегатор объединяет несколько входящих сообщений в одно исходящее сообщение (рис. 1.14).
Как показано на рис. 1.14, канал "публикация-подписка" передает сообщение о размещении нового заказа системе бухгалтерского учета и системе управления складскими запасами. Агрегатор объединяет сообщение о проверке кредитной репутации клиента и сообщение о проверке наличия товара на складе, после чего передает полученный результат маршрутизатору на основе содержимого (Content-Based Router, с. 247). Маршрутизатор на основе содержимого - это компонент, который принимает сообщение, а затем помещает его в один из нескольких каналов на основе некоторого правила. На диаграмме операций UML маршрутизатору на основе содержимого соответствует ромб. Если результат проверки заказа системой бухгалтерского учета и системой управления складскими запасами оказался положительным, сообщение направляется в канал VALIDATED_ORDER. Последний является каналом "публикация-подписка", что позволяет передать сообщение как системе доставки товара, так и биллинговой системе. Если клиент не оплатил предыдущий счет или нужного товара не оказалось на складе, маршрутизатор на основе содержимого направляет сообщение в канал INVALID_ORDER. Канал INVALID_ORDER связан с системой обработки ошибок (не показана на рисунке), которая уведомляет клиента о причине отклонения или задержки выполнения заказа.


Обработка заказов


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

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





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