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



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

1.18. Тестирование и мониторинг

Мониторинг потока сообщений является неотъемлемой частью процессов функционирования и обслуживания интеграционного решения. Некоторые важные бизнес-метрики, такие как среднее время выполнения заказа, можно узнать с помощью хранилища сообщений (Message Store, с. 565). Однако в процессе функционирования интеграционного решения может возникнуть потребность и в более детальной информации. Предположим, что для проверки кредитной репутации клиента привлекается внешнее кредитное агентство. Если кредитный рейтинг клиента слишком низкий, ему следует отказать в принятии заказа. Поскольку кредитное агентство является внешней организа­цией, ее услуги оплачиваются в соответствии с некоторым тарифом. Чтобы убедиться в корректности выставленного счета, следует сопоставить содержащиеся в нем сведения с фактической статистикой использования услуг кредитного агентства. Очевидно, что такой статистикой не может являться количество заказов, так как бизнес-логика интеграционного решения не предусматривает обращения к внешнему поставщику услуг для проверки кредитной репутации постоянных клиентов. К тому же между компанией и кредитным агентством может быть заключено соглашение о качестве обслуживания. Например, если время ответа на запрос о кредитной репутации клиента превысило определенный порог, такой запрос не подлежит оплате. Таким образом, чтобы собрать статистику использования услуг кредитного агентства, необходимо отслеживать количество запросов к внешней службе и время получения со­ответствующих ответов. В связи с этим рассмотрим две ситуации. Во-первых, поскольку внешняя служба может обрабатывать несколько запросов одновременно, необходимо предусмотреть механизм сопоставления запросов и ответов. Во-вторых, потребитель службы должен иметь возможность указать обратный адрес (Return Address, с. 182) - канал, по которому будет передаваться сообщение с ответом. Последнее требование является необходимым условием, позволяющим сопоставить сообщение с запросом к кредитному агентству и соответствующие сообщение с ответом.
Описанная выше функциональность может быть реализована с помощью интеллектуального заместителя (Smart Proxy, с. 567), расположенного между внешней службой и ее потребителями. Интеллектуальный заместитель перехватывает все запросы к службе и заменяет обратный адрес, указанный потребителем, фиксированным адресом канала, предназначенного для передачи сообщений с ответом. Другими словами, внешняя служба помещает все сообщения с ответом в канал, указанный интеллектуальным заместителем. В свою очередь, интеллектуальный заместитель использует обратный адрес, содержащийся в сообщении с запросом, для выбора канала передачи ответа потребителю. Кроме того, интеллектуальный заместитель замеряет время, прошедшее между отправкой запроса внешней службе и получением от нее ответа на этот запрос. Полученные данные передаются по шине управления (Control Bus, с. 552) на консоль, как показано на рис. 1.27.
Тестирование и мониторинг
 Помимо ведения статистики обращений ко внешней службе, интеллектуальный заместитель может проводить мониторинг ее функционирования. Если кредитное агентство не ответило на запрос в течение определенного промежутка времени, консоли управления должно быть передано соответствующее сообщение. Гораздо сложнее зафиксировать сбой в работе внешней службы, который может привести к выдаче ею неверных результатов. К примеру, если кредитное агентство будет определять отрицательный кредитный рейтинг для каждого клиента, компания может потерять множество заказов. Рассмотрим два механизма проверки результата, возвращаемого внешней службой. Во-первых, время от времени в поток запросов можно помещать тестовое сообщение (Test Message, с. 577), содержащее запрос о проверке клиента с заранее известной кредитной репутацией. Полученный результат следует передать верификатору тестовых данных, который сможет проверить степень точности возвращенного службой результата. Поскольку интеллектуальный заместитель поддерживает концепцию обратного адреса, генератор текстовых данных может указать канал, по которому будут передаваться тестовые сообщения с ответом (рис. 1.28).
Во-вторых, для обнаружения сбоя в работе внешней службы можно применить статистическую выборку. Если по причине плохой кредитной репутации клиента отвергается в среднем один заказ из десяти, отклонение пяти заказов подряд может служить признаком сбоя в работе внешней службы или внутренней бизнес-логики. В этом случае консоль управления должна переслать все пять заказов администратору, который проверит правильность принятых решений.
Тестирование и мониторинг
Резюме

 В этой главе был рассмотрен пример использования различных подходов к интеграции приложений, таких как передача файла (File Transfer, с. 80), общая база данных (Shared Database, с. 83) и асинхронный обмен сообщениями (Messaging, с. 87). Вы познакомились с ключевыми шаблонами для работы с потоком сообщений, такими как разветвитель (Splitter, с. 274), маршрутизатор сообщений (Message Router, с. 109), агрегатор (Aggregator, с. 283) и диспетчер процессов (Process Manager, с. 325). Несмотря на то что требования, предъявляемые к интеграционному решению, были намеренно упрощены, задачи, возникающие при его реализации, часто встречаются на практике. Приведенные в главе диаграммы созданы с использованием универсальной нотации, не зависящей от конкретной технологии или разработчика.
Большинство приложений, объединенных в соответствии с рассмотренным сценарием интеграции, являются коммерческими приложениями. Более подробно интеграция приложений, созданных на заказ, рассматривается в главах 6 и 9.
Оставшаяся часть книги посвящена подробному рассмотрению шаблонов интеграции корпоративных приложений. Для удобства чтения все шаблоны разделены на семь категорий: базовые шаблоны, шаблоны каналов, шаблоны сообщений, шаблоны маршрутизации, шаблоны преобразования, шаблоны конечных точек и шаблоны системного администрирования.


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

<< Предыдущая статьяСледующая статья >>
1.17. Обновление каталога товаров 2.1. Стили интеграции





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