Релиз интеграционной платформы Ensemble 2016.1
Вышла новая версия интеграционной платформы InterSystems Ensemble 2016.1. Ключевые новшества: улучшение функциональности сервисной шины предприятия (Enterprise Service Bus, ESB), мониторинга и работы с сообщениями. Подробности под катом.
Реестр сервисов и улучшенные инструменты для использования Ensemble в качестве ESB
Новый релиз облегчает использование InterSystems Ensemble в качестве ESB без необходимости писать собственный код. Это стало возможно благодаря следующим функциям:
Реестр публичных сервисов — с REST API, предоставляющим список сервисов, доступных в ESB.
Реестр внешних сервисов — предоставляет механизм для идентификации и описания серверов, реализующих сервисы.
Улучшенные «сквозные» сервисы и операции — предоставляет эффективный способ маршрутизации запросов сервисов от конечного пользователя к серверам с помощью Реестра внешних сервисов.
- Обработка без сохранения данных синхронных «сквозных» запросов.
Эти возможности облегчают разработку сервисной шины предприятия (Enterprise Service Bus), которая эффективно маршрутизирует запросы от сервисов и предоставляет среду управления для поддержки и документации шины и сервисов. С помощью «сквозных» сервисов и операций можно уменьшить накладные расходы и увеличить пропускную способность решения, используя нехранимые сообщения вместо хранимых. Больше подробностей можно найти в документации, в разделе «Using Ensemble as an ESB»
Статистика и мониторинг объема активности
В данный релиз включен новый пакет «Статистика и мониторинг объема активности», предоставляющий улучшенный краткосрочный мониторинг производительности системы и долгосрочную отчетность о трафике сообщений. Основные возможности пакета:
Централизованное хранилище статистики сообщений
Панель DeepSee, показывающая текущую скорость сообщений и время ответа каждого интерфейса
Возможность изменять степень детализации для долгосрочной и краткосрочной статистики
Долгосрочное хранилище статистики сообщений (для построения отчетов)
Пользовательский сбор статистики с использованием метрик, специфичных для приложения
Статистика хранится компактным и эффективным способом и не требует много дискового пространства даже по истечении длительного периода сбора статистики.
- Встроенный монитор дает возможность просматривать текущие статистические данные в разрезе различных временных отрезков, однако статистика, хранимая в базе данных, предоставляет более богатый набор данных.
SuperSessionID
Некоторые большие решения, построенные на Ensemble, состоят из нескольких продукций, которые могут быть запущены на разных экземплярах Ensemble. Например, InterSystems HealthShare Information Exchange включает в себя множество экземпляров Ensemble, общающихся между собой с помощью SOAP. В предыдущих версиях не существовало механизма отслеживания сообщения, когда оно переходило из продукции одного экземпляра Ensemble в продукцию другого экземпляра. При этом внутри одной продукции отслеживать сообщение было довольно легко, так как оно имело SessionId, который сохранялся при переходе сообщения между различными бизнес-операциями, сервисами и процессами. Но как только сообщение покидало бизнес-операцию через SOAP-сообщение, продукция, которая это сообщение принимала, назначала ему новый SessionId.
Данный релиз вводит новое свойство заголовка сообщений — SuperSession. Настройка SendSuperSession исходящего HTTP-адаптера контролирует использование свойства SuperSession. Если SendSuperSession включена, то исходящий HTTP-адаптер действует следующим образом:
Проверяет, содержит ли свойство Ens.MessageHeaderBase.SuperSession пустое значение. Если значение пустое, то адаптер генерирует новое значение и записывает его в свойство.
- Сохраняет значение свойства SuperSession в приватном HTTP-заголовке InterSystems.Ensemble.SuperSession исходящего сообщения.
Когда входящий HTTP-адаптер получает сообщение, он проверяет значение свойства SuperSession в заголовке и, если значение непустое, сохраняет его в свойстве Ens.MessageHeaderBase.SuperSession.
Вы можете использовать значение параметра SuperSession для сопоставления сообщения из одной продукции с сообщением в другой.
Внимание: в данной версии нет инструментов для автоматического отслеживания сообщений между продукциями с использованием SuperSession.
Несмотря на то, что настройка SendSuperSession присутствует в конфигурации многих компонентов Ensemble, в текущей версии она используется только в EnsLib.HTTP.OutboundAdapter.
Другие важные изменения
Улучшение поддержки X12
В рамках предстоящей программы расширенной поддержки стандарта электронного обмена данными X12 вы можете просматривать схемы X12 HIPAA_4010 и HIPAA_5010 с помощью просмотрщика унаследованных структур.
Графические редакторы Ensemble
Интерфейс редактора Data Transformation Language претерпел множество мелких изменений для большего удобства пользователей. Например, если вы добавите функцию в правило, редактор покажет ее опциональные и обязательные параметры.
Перезапуск продукции
Управление необработанными сообщениями во время перезапуска продукции было переосмыслено. Текущая реализация существенно ускорила остановку и перезапуск продукции в случае, когда в очереди накопились сотни тысяч сообщений.
Улучшения Банка сообщений
В этом релизе Банк сообщений получил следующие изменения:
Банк сообщений распознает, когда экземпляр Ensemble, посылающий в банк сообщения, переподключился с нового IP-адреса. Если вы активируете настройку «Ignore Client IP Changes» в компоненте Ens.Enterprise.MsgBank.TCPService, Банк сообщений распознает экземпляра Ensemble как тот же самый, даже если он переподключится с другого IP. Если эта настройка останется неактивной, Банк сообщений будет считать переподключенный экземпляр Ensemble новым источником сообщений.
- XML-сообщения сериализуются в поток перед отправкой в Банк сообщений. В предыдущих версиях, просмотрщик Банка сообщений отображал такие сообщения без отступов и переносов строк. В текущей версии сообщения показываются с правильным XML-форматированием.
Более подробную информацию можно найти в главе «Configuring the Message Bank Service on the Server» раздела Configuring Ensemble Productions.
Новый фильтр в Трассировке сообщений
В этот релиз добавлен новый фильтр в Трассировку сообщений. Перед тем, как вы примените фильтр, вам необходимо выбрать сообщение, столбец (компонент конфигурации), ACK или IOLog. Затем, из выпадающего списка вы сможете выбрать значения фильтра «Хост» или «Соответствует».
Если вы выбрали сообщение, фильтр со значением «Хост» отображает сообщения, у которых источник и цель такие же, как у выбранного сообщения. Фильтр со значением «Соответствует» показывает подходящий запрос или ответ.
Если вы выбрали столбец (хост), фильтр со значением «Хост» находит все сообщения, начинающиеся или заканчивающиеся в этом столбце (хосте).
- Если вы выбрали ACK или IOLog, фильтр со значением «Соответствует» найдет соответствующий запрос или ответ.
Подробности можно найти в главе «Tracing the Path of Related Messages» раздела Monitoring Ensemble.
Новая опция для перезапуска компонента продукции
Теперь при двойном щелчке на активном компоненте продукции, у вас будет возможность выбрать, отключить компонент или перезапустить его.
Все изменения Caché 2016.1
Ensemble 2016.1 построена на основе СУБД и сервера приложений Caché 2016.1. Это значит, что в дополнение ко всем изменениям в Ensemble 2016.1 новая версия также включает и все изменения Caché.
Про изменения в Caché 2016.1 можно почитать в недавней статье на Хабре.