Интеграция "ПК Управление персоналом"
с "1С: Бухгалтерия 8" и "1С: Зарплата и Управление Персоналом 8"
Наше новое программное обеспечение "ПК Управление персоналом" обладает возможностью тесной интеграции с популярными программными продуктами "1С:Бухгалтерия 8" и "1С:Зарплата и Управление Персоналом 8".
Благодаря использованию одинаковой платформы управления данными – Microsoft SQL Server – системы могут быть интегрированы не только на уровне приложений, но и на уровне серверов, а также баз данных в пределах одного сервера.
Как и любая другая техническая задача, задача интеграции между системами начинается с постановки.
Большое значение имеет участие на этом этапе заказчика, потому что только заказчик может сформулировать свои требования к автоматизации выполняемых им вручную процессов.
Для этого заказчику предстоит ответить на ряд вопросов.
1. Какие процессы по переносу данных требуется автоматизировать?
Чаще всего потребность в интеграции разнородных систем возникает вследствие желания избежать ручного дублирования информации из одной системы в другой. Если такие ручные работы выполняются, необходимо составить их перечень и описание.
Описание должно включать в себя указание, какая система передает данные, какая принимает; в каких формах, полях формы или отчетах системы-источника пользователь видит эти данные и в каких формах, полях или отчетах системы-приёмника хочет их увидеть.
Описание желательно сопровождать экранными снимками форм и отчетов.
2. Какая временная задержка является приемлемой для отражения изменений одной системы в другой?
Для выбора подходящего метода интеграции необходимо заранее определить, с какой максимальной временной задержкой данные из одной системы должны появляться в другой.
Существует ли необходимость в онлайн (без задержек) передаче данных или она возможна на периодической основе, например, раз в день, неделю или месяц.
3. Какие предъявляются требования к безопасности при интеграции между системами?
Некоторые из методов интеграции предполагают прямой доступ к данным или функционалу сторонней системы, поэтому в случае наличия требований по ограничению доступа сервисных или пользовательских учетных записей к интегрируемым системам, их необходимо сформулировать.
Имея ответы на эти вопросы можно говорить о методе интеграции.
Со стороны "ПК Управление персоналом", как источника данных, возможна реализация следующих методов интеграции:
1. Интеграция на уровне приложений посредством файлов
Метод предполагает выгрузку данных пользователем из приложения "ПК Управление персоналом" в файлы определенного формата с последующей ручной их загрузкой в "1С".
Формат файла может быть любым: XML, Excel, текстовый с разделителем. Нежелательно использование бинарных форматов файлов, таких, например, как dbf.
Для использования этого метода требуется разработка экспорта данных в файлы из приложения "ПК Управление персоналом" и разработка импорта этих данных со стороны приложения "1С".
Преимущества метода:
- универсальность, возможность интегрироваться с любыми системами.
Недостатки метода:
- наличие человеческого фактора;
- задержки актуализации информации в "1С";
- трудоемкость реализации полной синхронности в данных обеих систем.
2. Интеграция на уровне баз данных посредством триггеров
Этот метод возможен благодаря использованию одной платформы хранения данных обеими системами.
В случае, когда база данных "ПК Управление персоналом" размещена на одном Microsoft SQL Server с базами данных "1С", при добавлении, изменении или удалении данных в базе "ПК Управление персоналом" изменения могут быть немедленно переданы базам данных "1С" в онлайн-режиме, без задержек.
Для этого соответствующие таблицы базы данных "ПК Управление персоналом" снабжаются специальными процедурами (триггерами), которые вызываются при наступлении событий, приводящих к изменению данных.
Триггеры в свою очередь могут вызывать специально созданные процедуры в базах данных "1С", которые будут отражать эти изменения в системе "1С".
Для использования этого метода потребуется разработка процедур по передаче данных в базе "ПК Управление персоналом" и разработка процедур по приему и обработке этих данных в базе "1С".
Преимущества метода:
- отражение изменений в "1С" без задержек;
- передача только изменений в данных.
Недостатки метода:
- отражение данных в "1С" становится частью процесса сохранения данных в "ПК Управление персоналом", что может увеличить время проведения этих операций в "ПК Управление персоналом";
- пользователь "ПК Управление персоналом" получает непрямой доступ к модификации данных в сторонней системе.
Примечание
В случае, когда база данных "ПК Управление персоналом" и базы данных "1С" размещены на разных SQL-серверах, использование этого метода возможно при помощи подключения удаленного сервера как связанного (linked). Однако, для данной конфигурации роль фактора задержек при сохранении данных в "ПК Управление персоналом" возрастает еще больше.
3. Интеграция на уровне баз данных посредством задач SQL Server Agent
Этот метод предполагает передачу данных с использованием автоматических задач службы SQL Server Agent.
Запуск задач по экспорту-импорту данных настраивается по установленному расписанию с определенной периодичностью. Связь с базами данных "1С" на другом сервере возможна через связанный (linked) сервер. Требуется написание хранимых или CLR процедур для обеих систем.
Преимущества метода:
- процесс передачи данных выполняется асинхронно относительно пользовательских процессов и не влияет на производительность "ПК Управление персоналом" и "1С";
- высокая скорость обработки и переноса данных за счет использования встроенных возможностей SQL Server;
- возможность использования Планов технического обслуживания (Maintenance plans) при выполнении задач автоматизации.
Недостатки метода:
- за счет асинхронности процесса появляется временная задержка в появлении данных в "1С", но она может быть минимально допустимой за счет частого запуска задач синхронизации;
- трудоемкость реализации полной синхронности в данных обеих систем;
- метод недоступен в описанном варианте при использовании SQL Server Express Edition из-за отсутствия в нем службы SQL Server Agent. В этом случае данная служба может быть заменена на связку: консольная утилита SQLCMD, набор скриптов и служба автоматических задач Windows.
4. Интеграция посредством SQL Server Integration Services (SSIS)
Богатый набор возможностей сервиса SSIS может сыграть определяющую роль в выборе этого метода интеграции систем.
К тому же этот метод является единственно возможным для автоматической интеграции при отсутствии прямой связи между серверами.
Метод предполагает совместную работу над SSIS-пакетами для решения задач экспорта-импорта данных.
Преимущества метода:
- процесс передачи данных выполняется асинхронно относительно пользовательских процессов и не влияет на производительность "ПК Управление персоналом" и "1С".
- метод позволяет автоматизировать экспорт-импорт данных при отсутствии прямой связи между серверами систем.
Недостатки метода:
- требуется знание программного продукта SQL Server Integration Services;
- за счет асинхронности процесса появляется временная задержка в появлении данных в "1С", но она может быть минимально допустимой за счет частого запуска задач синхронизации;
- трудоемкость реализации полной синхронности в данных обеих систем;
- метод недоступен при использовании SQL Server Express Edition из-за отсутствия в нем службы SSIS.
Решение по выбору метода интеграции должно приниматься совместно всеми тремя участниками проекта интеграции: компанией, осуществляющей поддержку "1С", представителями заказчика и создателями "ПК Управление персоналом".
Сама интеграция осуществляется также при активном участии всех вышеперечисленных участников проекта.