Инеграция с ERP

Модераторы: deschere, ayatsk

Закрыто
ln123
Сообщения: 3
Зарегистрирован: 18 мар 2017, 10:45

Инеграция с ERP

Сообщение ln123 » 18 мар 2017, 11:48

Добрый день, мне необходимо настроить интеграцию PDM Step Suite с ERP системой.
Желаемый сценарий интеграции выглядит следующим образом: необходимо передавать в ERP систему данные о составах, их версиях и извещениях об изменениях после того как данные объекты достигли определенного уровня согласования.
Сейчас вижу следующие возможности интеграции:
1. Организовать обмен непосредственно на уровне СУБД, для меня данный вариант наиболее комфортный т.к. ERP то же на Oracle и нет нужны в дополнительных средствах разработки, плюс код интеграции будет открытым и сразу доступным для отладки. Но мне не удалось найти какое либо описание структуры БД PDM и тех API пакетов что есть в БД.
2. На основе клиента PDM собрать модуль который будет обращаться к серверу приложений по расписанию (возможно есть возможность подписки на события?) и выбирать составы утвержденные со времени последнего обращения.
В данном подходе мне не нравиться необходимость использования С++, так же есть вопрос меняется ли протокол обмена с сервером приложений при выходе новых версий PDM? Если да то как можно избежать пересборки написанного модуля интеграции при каждом обновлении PDM?
Кстати можно ли для обмена с сервером приложений использовать сторонни приложения например JSDAI?
3. Может быть обмен можно организовать средствами самой PDM? Устроил бы вариант выгрузки (отправки на почту) файлов (в формате STEP либо XML) по наступлению определенного события. Нет ли такой возможности, если есть то где про нее можно почитать?

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

Аватара пользователя
ayatsk
Сообщения: 371
Зарегистрирован: 03 июл 2008, 22:41
Откуда: НИЦ CALS
Контактная информация:

Re: Инеграция с ERP

Сообщение ayatsk » 24 мар 2017, 04:48

Добрый день!

Извините за поздний ответ, но Ваш ник как-то интуитивно был ассоциирован со спамом :)

На мой взгляд, для получения информации из PSS возможны все способы, и выбирать надо тот, который удобнее разработчику.
У нас в практике были все перечисленные способы. В том числе и использование ESB и SOA.
А вот для записи в ERP - всё сложнее. Далеко не каждая система переварит когда напрямую меняют ее таблицы.
Для сложных систем, как правило, контроль целостности выполняется по больше части логикой приложений, а не правилами в БД.
Соответственно, для интеграции лучше всего использовать те средства, которые будут использованы при загрузке в ERP.
Или надо использовать промежуточное хранение в виде файлов или данных в БД с очередью обработки.

Второй важный вопрос - что и когда передавать. Передавать сборки при любом изменении не имеет никакого смысла, ибо это может быть просто редактирование рабочих вариантов. Передавать надо только утвежденные данные. В зависимости от уровня освоения PSS это может быть утверждение сборки, или, что более правильнее, проведение пакета изменения. Еще практика показала, что, т.к. ERP не поддерживают правил применяемости, проще всего удалять состав сборки из ERP и загружать его заново из PSS.

Если у Вас серьезный проект, информацией о котором Вы можете поделится, то с выгрузкой данных из PSS мы можем помочь. Например, прикрутив на проведение изменения Вашу обработку или выгрузку изменившихся сборок в обменный файл STEP (по схеме PSS).

JSDAI не поддерживается. Есть API в виде ActiveX.

ln123
Сообщения: 3
Зарегистрирован: 18 мар 2017, 10:45

Re: Инеграция с ERP

Сообщение ln123 » 26 мар 2017, 18:23

Спасибо за ответ.

Что касается загрузки в ERP то тут как раз проблемы нет, т.к. я как раз являюсь консультантом по ее внедрению :) и соответственно наши структуры данных мне известны очень хорошо.
У нас клиент-серверное приложение с основной логикой на стороне сервера в виде PL/SQL процедур, поэтому мне собственно и нравится больше первый вариант, хотя из-за отсутствия документации на структуру БД придется видимо использовать 2-й вариант. Если вы реализовывали первый вариант, то возможно у вас есть какая нибудь документация по структуре БД?
На первый взгляд у вас должны быть таблицы в которых хранится описание метаданных, но с ходу я их не нашел :(

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

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

Аватара пользователя
ayatsk
Сообщения: 371
Зарегистрирован: 03 июл 2008, 22:41
Откуда: НИЦ CALS
Контактная информация:

Re: Инеграция с ERP

Сообщение ayatsk » 27 мар 2017, 13:47

возможно у вас есть какая нибудь документация по структуре БД?
Введение в структуру БД http://pss.cals.ru/DOC/API/pss_db_descr.pdf Остальное проще описывать под конкретную задачу.
Для получения данных лучше всего использовать view-ы. Описание принципов их формирования http://pss.cals.ru/DOC/API/pss_ora_view.zip
то придется ли его пересобирать при выходе обновлений PDM?
При экспорте класов из DLL линковщик Microsoft каждый раз дает функциям разные внутренние идентификаторы.
Так что совместимость EXE с новыми версиями DLL - это лотерея. Лучше пересобирать каждый раз.
Хотя я, честно говоря, не вижу в этом проблемы. Один bat фал - и всё.

Часто меняются только тестовые версии, которые выпускаются под конкретного заказчика. Рабочие версии крайне редко.

ln123
Сообщения: 3
Зарегистрирован: 18 мар 2017, 10:45

Re: Инеграция с ERP

Сообщение ln123 » 29 мар 2017, 05:39

Интерфейс на view это как раз то что нам было нужно. Спасибо.

Закрыто

Вернуться в «Вопросы по API»