Мельница данных- Интеграция (раздел целиком) (04.06.2023) | (одним файлом) |
Интеграция |
Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация). Концептуально реализация интеграции может быть осуществлена двумя способами (рассмотрены более подробно далее):
Практически, реализация интеграции может быть осуществлена слежующими способами: |
1. Интеграция данных |
В свою очередь интеграцию данных можно разделить на два типа: |
1.1. Репликативная интеграция |
Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов. Варианты реализации репликационной интеграции: 1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных: В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных. 2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему: При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными. 3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы: Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся. Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки. |
1.2. On-Line доступ | ||
Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line. 1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных: - СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL). - RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/ В случае если требуются какие-либо специфические протоколы для обмена данными, они реализовываются на уровне обработчика сервера-приложения. То есть осуществляется "надстройка" сервера приложений Платформы для работы с данными в том виде, в котором это необходимо и по тому протоколу, который требуется в каждом конкретном случае. Таким образом, Сервер приложений Платформы востребован в большинстве случаев организации взаимодействия между системами.
2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ. Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем. 3. При использовании Платформы в качестве платформы интеграции различных сторонних систем, данные предварительно загруженные по описанным выше протоколам могут передаваться средствами Платформы. Однако, может быть реализован и механизм прозрачной передачи данных между сторонними системами. |
2. Интеграция функций |
Данный тип развития интеграции в свою очередь можно разделить на 2 пути: |
2.1. Взаимные вызовы | ||
В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем. Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы. С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений. В случае когда необходимо в Платформе использовать чужие функции, набор действий по вызову такой функции оформляется в виде скриптлета.
Если для сторонней системы существуют какие-либо стандартные протоколы, по которым можно вызывать функцию, то средствами Платформы не составляет труда вызов данной функции. |
2.2. Встраивание | ||||
Данный путь интеграции функций представляет собой ситуацию, когда сторонняя система непосредственно "встраивается" в решения на Платформе и код сторонней системы исполняется с использованием данных Платформы. Существуют разные способы реализации данного пути: - В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.
- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.
|