gifts2017

Сервер интеграции "B-Alt Integration Server". Развитие интеграционной модели данных предприятия.

Опубликовал Алексей Воробьев (Bupyc) в раздел Программирование - Инструментарий

Программа «B-Alt Integration Server» является программируемым сетевым интеграционным сервисом, который позволяет решать самый широкий круг задач по интеграции различных информационных систем и выполнению произвольных алгоритмов по запросу пользователей.

1.       Обзор существующих подходов в решении вопросов интеграции

Современная картина развития информационных систем (ИС) на различных предприятиях редко выглядит стройной и строгой настолько, чтобы, как минимум, устраивать хотя бы начальника IT-подразделения. И чем крупнее предприятие, тем самих информационных систем, накапливающих и обрабатывающих различные данные, со временем становится все больше и больше. Системы могут решать разные задачи, использовать различные платформы и средства хранения данных (СУБД). При этом они должны в той или иной степени обмениваться данными между собой.

Практически все современные ИС обладают собственными средствами интеграции. Без этого систему просто невозможно считать полноценной. Встроенные в ИС средства интеграции могут использовать различные типы обмена данными, такие как файловый обмен (xml и не только), вызов удаленных процедур (веб-сервисы, automation-сервер и com-модель), обмен сообщениями через интеграционный сервис (интеграционную шину), который берет на себя задачу адаптации и преобразования данных.

Использование любого из перечисленных типов имеет свои плюсы и минусы. При файловом обмене к минусам можно отнести асинхронность, так как когда файл выгружен, целевая система узнает об этом только после опроса директории, а в случае потери  файла, придется принудительно инициализировать повторный экспорт. Так же стоит учесть, что время на обращение к файловой системе при частом опросе директории будет значительно уменьшать скорость работы. При использовании удаленных процедур требуется, собственно, их наличие в целевых ИС и описание правил доступа к ним. То есть, при наличии нескольких целевых ИС, придется осуществлять поддержку актуальности этих средств в нескольких местах постоянно при малейшем изменении (дополнении) структуры исходных данных. Интеграционный сервис, представляя собой отдельное решение, также требует актуализации при изменении структуры данных хотя бы одной из связываемых ИС. Причем доработки могут быть значительными, поскольку наличие интеграционного сервиса подразумевает минимальные изменения в существующих системах, а значит, трудозатраты по модернизации самого сервиса будут увеличены.

 2.       Краткий обзор предлагаемого решения

 Предлагаемое решение является, по сути, программируемым интеграционным сервисом, который позволяет реализовать все три описанных подхода, предоставляя при этом максимальную гибкость для разработчиков интеграционных элементов.

B-Alt Integration Server состоит из «слотов», каждый из которых представляет собой отдельную интеграционно-сервисную единицу, которая может быть связана с определенной ИС, выступающей в роли источника и(или) приемника данных. Кроме того, слот может предоставлять определенные сервисы и поддерживать диалог с клиентом, обмениваясь файлами и данными в виде величин простых типов. Программирование слота осуществляется непосредственно на сервере. Поддерживаются VB-Script и Java-Script языки программирования. При этом разработчик интеграционных элементов может самостоятельно определить необходимый баланс объема программного кода внутри интеграционного сервиса и внутри платформы целевой ИС (если таковая вообще поддерживает какую-либо разработку).

Настройка и программирование слота производится в двух отдельных модулях. Первый из них отвечает за создание объектов информационных систем (automation-сервер или com-модель), а также за освобождение занимаемых ресурсов при завершении работы. Во втором модуле описываются функции и процедуры, которые выполняются при обращении клиентов и могут использовать объект ИС, создаваемый в первом модуле. При необходимости может программироваться только второй модуль. В этом случае слот не имеет какой-либо привязки к конкретной информационной системе и может использоваться для произвольных (например, очень ресурсоемких) вычислений или, возможно, для заполнения единого файла данными от нескольких клиентов.

Клиентская часть программы представляет собой COM-объект (создается внутри любой ИС, имеющей собственную платформу разработки и поддерживающей работу с com-моделью), который, получив соединение с серверной частью, может вызвать на выполнение любую функцию или процедуру любого запущенного серверного слота. При этом можно передать набор именованных параметров и файлов. Запрос на выполнение можно осуществить в синхронном или асинхронном режиме. В первом случае платформа клиентской ИС будет ждать выполнения сервисом поставленной задачи и сможет обработать результат выполнения. Также сервер может передать назад клиенту свой набор именованных параметров и файлов. Этот режим используется для организации диалогового обмена данными. В случае асинхронного запроса после подтверждения сервисом получения команды, платформа клиентской ИС продолжит выполнение собственной программы, не дожидаясь выполнения поставленной серверу задачи. Такой режим можно использовать, когда нет необходимости налаживать диалог (например, при одностороннем обмене данными).

Кроме того, на сервере поддержан мониторинг текущих запросов и логирование всех операций (запуск и остановка сервера и отдельных слотов, выполнение запросов клиентов с сохранением передаваемых параметров и результатов, сохранение описания возникающих ошибок).

Более подробно о режимах работы и настройке слотов смотрите раздел справки «Руководство по разработке интеграционных элементов».

Некоторые преимущества решения

В чем же, собственно, плюсы рассматриваемого решения относительно других интеграционных технологий?

  • Во-первых, есть возможность агрегировать описание всех или почти всех интеграционных процессов предприятия в одном месте. Это элементарно упрощает сопровождение старых и разработку новых интеграционных элементов.
  • Во-вторых, не все интеграционные технологии могут оперировать абсолютно всеми возможностями, предоставляемыми com-моделью. Например, веб-сервисы 1С 8.X поддерживаются только в серверном варианте и поддерживают далеко не все объекты собственной платформы.
  • В-третьих, создание единственного объекта ИС в слоте для работы со всеми потенциальными клиентами на предоставление или получение данных и сервисов может значительно снизить затраты на приобретение лицензий для данной ИС. Т.е. можно, конечно создавать COM-объект целевой ИС на каждом клиенте для обмена данными. Но во многих случаях это занимает лицензию для каждого отдельно созданного COM-объекта. Кроме того, это занимает время и ресурсы рабочей станции пользователя, а зачастую эти ресурсы крайне ограничены.

Надо заметить, что вопрос занимаемых лицензий и стал отправной точкой для создания B-Alt Integration Server, благодаря которому были сэкономлены сотни и сотни тысяч рублей на отдельно взятом небольшом предприятии.

Сравнение версий

В демоверсии программы действует ограничение на количество обрабатываемых пользовательских запросов за одну сессию работы контроллера сервера. Доступен только один слот.

В платных версиях ограничение на количество обрабатываемых контроллером сервера запросов отсутствует.

  • Light edition - доступен один слот.
  • Standart edition - доступно 3 слота.
  • Enterprise edition - отсутствует ограничение на количество слотов.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
B-Alt Integration Server (Server Demo & Client, VBA Client Test)
.zip 3,11Mb
22.11.16
1
.zip 3,11Mb 1 Бесплатно
Сервер интеграции "B-Alt Integration Server" B-Alt Integration Server (Light edition) - 1 slot
22.11.2016
25000 руб.
Сервер интеграции "B-Alt Integration Server" B-Alt Integration Server (Standart edition) - 3 slots
22.11.2016
40000 руб.
Сервер интеграции "B-Alt Integration Server" B-Alt Integration Server (Enterprise edition) - unlimited slots
22.11.2016
50000 руб.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Владислав Свинцов (VSvintsov) 25.05.13 19:23
видео хорошо бы на главной странице выложить - в теории интересно, но разворачивать триал, тратить время на выяснение как и что ...
2. Алексей Воробьев (Bupyc) 26.05.13 08:00
К сведению принято. Но как внятно показать в видеоролике взаимодействие сервера и клиента? Срежиссировать надо)) Подумаем, конечно...
Разворачивание (равно как и удаление) триала много времени не отнимет, тяжелыми ресурсами решение не пичкали. Зато в нем присутствует развернутая справочная информация, позволяющая более широко представить возможности решения.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа