Продолжая серию статей по нововведениям в DIRECTUM 4.8, следует уделить внимание вопросу интеграции DIRECTUM с другими системами. Компоненты для интеграции появились в DIRECTUM уже давно. Например, коннектор к SAP существует, начиная с версии DIRECTUM 4.5. Примерно в то же время появились коннекторы к 1С и Axapta. Они позволяют синхронизировать данные между интегрированной системой и системой DIRECTUM, связывать объекты интегрированной системы и документы DIRECTUM, стартовать задачи DIRECTUM из интегрированной системы и т.д. Но главное их ограничение состоит в том, что для интеграции необходимо, чтобы обе системы были установлены на одном компьютере.
Для большего удобства пользователей необходима связь интегрированной системы и DIRECTUM именно «на расстоянии», т.е. так, чтобы интегрированная система находилась на одном сервере, а DIRECTUM на другом. Причем довольно часто между системами отсутствует связь по локальной сети и есть возможность связи только через Интернет.
Раньше такое взаимодействие было невозможно. Но в версии DIRECTUM 4.8 оно стало возможным, благодаря разработанным веб-сервисам интеграции.
Прежде, чем перейти к рассмотрению назначения и механизма обмена данными между системами через веб-сервисы, необходимо напомнить, что представляет из себя веб-сервис.
Веб-сервис, (или веб-служба, англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (XML, JSON и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.
Из приведенного определения видно, что веб-сервис интеграции – это просто частный случай применения веб-сервисов.
Веб-сервис интеграции предназначен для организации обмена данными между системой DIRECTUM и интегрированной системой в условиях, когда между системой DIRECTUM и интегрируемой системой нельзя установить связь через COM-объекты. Также веб-сервисы позволяют расширить возможности работы с объектами системы DIRECTUM в интегрируемой системе.
Веб-сервис обеспечивает выполнение следующих действий:
Различают два типа методов веб-сервиса:
синхронный – метод, результаты которого ожидаются в системе, инициирующей запрос;
асинхронный – метод, результаты которого не влияют на систему, инициирующую запрос. В качестве возвращаемого значения передается ИД запроса. Подробную информацию о выполнении запроса можно посмотреть в лог-файле.
Архитектурно веб-сервис интеграции представляет собой WCF-сервис. (Windows Communication Foundation — программный фреймворк, используемый для обмена данными между приложениями входящими в состав .NET Framework). Обмен данными производится через SOAP-пакеты. Формат обмена данными зависит от типа объекта, который передается из одной системы в другую.
Следует отметить, что для установки требуется серверная лицензия Веб-сервисы интеграции.
В заключение обзора рассмотрим пример загрузки данных в интегрированную систему, когда инициатором является интегрированная система.
1. Интегрированная система вызывает методы веб-сервиса.
2. Веб-сервис получает данные из системы DIRECTUM.
3. Веб-сервис возвращает данные в интегрированную систему.
Веб-сервис обеспечивает двустороннюю связь или одностороннюю? Т.е. из DIRECTUM можно с помощью веб-сервиса запросить данные из удаленной системы (нажал на кнопку в DIRECTUM и получил данные из 1С)?
Т.е. инициировать из DIRECTUM какой либо обмен данными нельзя? Я правильно Вас понял?
Да, Юрий, Вы все верно поняли: используя веб-сервисы интеграции системы DIRECTUM нельзя инициировать из DIRECTUM обмен данными. Для того, чтобы инициировать обмен данными из DIRECTUM необходимо обратиться к аналогичным веб-сервисам удаленной системы, если таковые имеются.
Артем, спасибо за ценный материал. Я прям с большим удовольствием прочитал.
А вопрос такой... я правильно понимаю что эти сервисы, по сути делают ДИРЕКТУМ равноправным участником систем поддерживающих SOA?
И я правильно понимаю что SOA это такой очень абстрактный умный слово, под которым понимается много чего, но по сути это все сводится к тому, что все элементы информационной системы организации начинают обмениваться между друг другом данными посредством таких вот веб-сервисов?
Или я ошибаюсь и плохо понимаю предмет SOA применительно к данному материалу?
Анатолий, на самом деле, сложно дать однозначный ответ на Ваши вопросы, но тем не менее можно попытаться это сделать.
Действительно, DIRECTUM имеет возможности для интеграции с различными системами с помощью стандартных протоколов (SOAP). Это как раз и является одним из признаков SOA.
По поводу правильности понимания: не мне судить, правильно ли Вы понимаете суть SOA. Но мое личное мнение, исходя из определения, что суть SOA именно в организации обмена между модулями с помощью на (веб-)сервисов. Так что, думаю, Ваши суждения вполне обоснованы.
Веб-сервисы интеграции вещь конечно очень полезная и нужная, но почитал документацию и обнаружил, что их функционал в текущей реализации сильно урезан. Отсутствует возможность работы с поисками (что на мой взгляд очень критично), задачи можно стартовать только по ТМ и т.п. Итого, доступных методов в документации насчитал чуть более двадцати, что составляет совсем маленькую часть от возможностей системы. Ради любопытства зашел на сайт DIRECTUM в раздел цены и ужаснулся. Мне кажется за такую цену функционал веб-сервисов интеграции должен быть значительно шире. В связи с этим вопрос, планируется ли расширение существующего функционала веб-сервисов интеграции в ближайшее время?
Хорошие новости
Из предложений, хотелось бы видеть также возможность поиска по задачам/заданиям и тогда получится использовать веб-сервисы интеграции в наших проектах.
Ну, и например, было бы неплохо, если бы веб-сервисы позволяли выполнять произвольные запросы к БД и возвращать результат запроса. Тогда многие задачи можно было бы решить подобным функционалом.
Произвольные запросы к БД - это большая дыра в безопасности.
пусть добавят возможность расширять веб сервисы своими методами. вон в 1С-ке пресловутой вообще конструктор веб сервисов есть.
Авторизуйтесь, чтобы написать комментарий