Тема 3. Интеграционные возможности ПП «Парус-Предприятие 8» Кошкин Алексей Антонович, Руководитель проектов «Центра Информационных Технологий и Консалтинга.

Презентация:



Advertisements
Похожие презентации
БД (администрирование) 1 Базы данных (администрирование) Аблов Игорь Васильевич Кафедра информационных технологий.
Advertisements

Отчеты с типом «Двоичные данные» «Парус-Предприятие 8» Материалы вебинара можно скачать по ссылке:
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Предопределенный импорт «Парус-Предприятие 8» Материалы вебинара можно скачать по ссылке:
Новые возможности КОР Краткий обзор. Новые возможности КОР Использование доменов для работы с данными типа CLOB и BLOB Настройка условий.
Deductor – принципы работы. BaseGroup Labs Назначение системы Deductor является платформой, ориентированной на решение задач анализа самого широкого спектра:
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Интеграция с производственно - логистическими системами Обзор возможностей.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Deductor – принципы работы. BaseGroup Labs Назначение системы Deductor является платформой, ориентированной на решение задач анализа самого широкого спектра:
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Интеграция «1С:Предприятие 8» с другими системами ЗАО "МиСофт НВП" , г.Минск, ул.Шафарнянская, 11, офис 31. тел. (017)
Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8" Миндияров Илья Главный специалист Центра информационных технологий и консалтинга.
PL/SQL Курсоры в PL/SQL Неявные курсоры создаются PL/SQL неявно для всех команд DML и SELECT. Явные курсоры объявляются программистом, который присваивает.
Анализ данных и интеграция информационных систем Станислав Чистяков Старший Консультант 5 апреля 2011 года, гостиница «Золотое кольцо»
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
Оптимизация хранимых условий отбора Миндияров Илья Главный специалист Центра информационных технологий и консалтинга ПАРУС
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Миграция системы Ва-Банк ST с СУБД Oracle 8i на СУБД Oracle 10g Release 2 ХI Конференция пользователей АБС Ва-Банк, 10 ноября 2006 г., Москва.
Транксрипт:

Тема 3. Интеграционные возможности ПП «Парус-Предприятие 8» Кошкин Алексей Антонович, Руководитель проектов «Центра Информационных Технологий и Консалтинга Парус»

Типовые задачи интеграции Переход с другого приложения на Парус – полный перенос данных Выгрузка данных для различных систем из Паруса Разработка конвертера для периодического переноса данных в Парус Организация связи с другой системой для работы с ее данными из Паруса по запросу Тема 3. Интеграционные возможности

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

Средства интеграции двух уровней Тема 3. Интеграционные возможности Парус 8 Клиент Средства Клиента позволяют взаимодействовать с: Сервер WEB http/smtp Другие БД Файлы Другие БД (ADO, COM) Файлы Win-приложения (COM, ActiveX) Средства Oracle позволяют взаимодействовать c:

Средства интеграции Oracle Тема 3. Интеграционные возможности Парус 8 Парус-Клиент СУБД Oracle utl_file.txt с разделителем.txt произв. структуры dbms_xmldom dbms_xmlstore xmlType Destributed Database ( DBLink, HS ) xml-файлы xsl - трансформация валидация по схеме xml таблицы другие БД Oracle другие не-oracle СУБД ODBC-источники utl_http utl_smtp web-сервисы почтовые сервера возможна авто-инициация (job) файл обмена на сервере

Средства интеграции на клиенте Тема 3. Интеграционные возможности Парус 8 Парус-Клиент СУБД Oracle Пользовательские приложения + ActiveX Широкие возможности ! «Стандартный» Экспорт/иморт DBF Экспорт/импорт в файл dbf-файлы в формате Парус - любые текстовые файлы - xml (для стандартных разделов) Репликация Синхронизация БД Парус Экспорт/импорт разделов инициация с клиента файл обмена на клиенте п.процедуры с blob/clob / /2008

Отдельный сервис в лицензии Время на первоначальную настройку Перенастройка в случае обновления Парус Поддерживает XML и PRF Проверка и трансформация XML на клиенте Сложный контроль ошибок Ряд ограничений Тема 4. Интеграция с помощью DBLink Особенности Репликации Парус СИС_Репликация.pdf

Типовые задачи обмена данными: связь с другими БД с помощью Database link обмен в формате DBF обмен в формате XML/TXT Далее…

Тема 4. Интеграция с системами на основе СУБД Oracle

Понятие DBLink и распределенных БД Для чего использовать DBLink Пример создания и использования DBLink Тема 4. Интеграция с помощью DBLink Для интеграции систем на Oracle часто используется Database link (DBLink)

Тема 4. Интеграция с помощью DBLink Распределенная БД Данные о новом сотруднике DBLink к yyy DBLink к Парусу DBLink к ххх Heterogenous services)

Доступ к данным в режиме реального времени Пользователям не нужно регистрироваться и выдавать права во всех системах Одна технология для любых источников (Heterogonous services) Тема 4. Интеграция с помощью DBLink Для чего нужен DBLink? Database link (связь базы данных) – односторонний указатель от сервера БД Oracle к другому серверу БД ( не обязательно Oracle ).

1.Конфигурация Oracle Net Services на сервере БД 2.Создание DBLink create [public] database link TESTLINK connect to identified by using ; 3.Работа select * from 4.Создание синонимов Тема 4. Интеграция с помощью DBLink Создание DBLink

Не все типы данных подлежат передаче Не все операции SQL поддерживаются (grant, analyze, describe, constraints) Для гетерогенных: DDL, связывание таблиц в запросе, специфические Oracle SQL конструкции Производительность зависит от канала и сторонней системы Тема 4. Интеграция с помощью DBLink Ограничения DBlink Database link (связь базы данных) – односторонний указатель от сервера БД Oracle к другому серверу БД ( не обязательно Oracle ).

Тема 5. Интеграция с системами, поддерживающими обмен в формате DBF

Средства обмена данными в формате DBF: Экспорт/Импорт Парус Пользовательские приложения Разбор DBF на стороне сервера DBLink в связке с Heterogonous services (HS) Тема 5. Обмен данными в формате DBF

«Стандартный» экспорт/импорт Парус в DBF +/- Для каждого раздела Парус своя структура файла +/- Импорт построчно с помощью стандартных серверных процедур + Ведется журнал ошибок + Подключение Парус-Конвертера для предварительной обработки данных - Не для всех разделов DBF 1/9 Тема 5. Обмен данными в формате DBF

Пользовательские приложения и DBF Любая структура DBF-файла Работа с DBF происходит на клиенте Использование ADO или COM-серверов DBF 2/9 Типовой алгоритм загрузки: 1.Выдать диалог для выбора каталога 2.Загрузить файл во временную таблицу 3.Импортировать данные с помощью пользовательских процедур Типовой алгоритм выгрузки : 1.Создать view для подготовки данных 2.Выдать диалог для выбора каталога 3.Выгрузить файл Тема 5. Обмен данными в формате DBF

Загрузка из DBF с помощью MS Access var oApp = new ActiveXObject("Access.Application"); oApp.NewCurrentDatabase(sPath+sMdbFileName); var oDB = oApp.CurrentDb(); // подключение внешней таблицы к Access базе var tLinked = oDB.CreateTableDef("DBFHOUR"); tLinked.Connect = "dBase IV;DATABASE="+sPath; // sPath = c:\temp oDB.TableDefs.Append(tLinked); // … то же самое повторяем для таблицы DBFDAY var qdfNew = oDB.CreateQueryDef("qHOURDAY", " select DBFHOUR.RN, RN_DAY, WORKEDHOUR, HOURSTYPE, FLAG, WORKDATE, RN_CLN, DAYSTYPE from DBFHOUR, DBFDAY where DBFHOUR.RN_DAY=DBFDAY.RN "); var oRs = qdfNew.OpenRecordset(); oRs.MoveFirst(); StoredProc.StoredProcName="UDO_P_DBF_IMPORT"; while (!oRs.EOF) { … DBF 3/9 ПРИМЕР (JScript) Тема 5. Обмен данными в формате DBF

Выгрузка в DBF с помощью ADO var conn=new ActiveXObject("ADODB.Connection"); connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source='"+dbFolder+"';Extended Properties=dBASE III;User ID=Admin;Password="; conn.Open(connStr); var sqlOra="select numb, str, dat from udo_t_dbfdata"; Query.SQL.Text=sqlOra; Query.Open(); while(!Query.EOF) { sqlDBF="insert into "+tblFile+" (numb, str, dat) values ("+Query.FieldByName("numb").AsString()+", '"+Query.FieldByName("str").Value+"', "+strDate+")"; conn.Execute(sqlDBF); Query.Next(); } conn.Close(); DBF 4/9 ПРИМЕР (JScript) Тема 5. Обмен данными в формате DBF

DBLink + Heterogonous services (HS) Работа с DBF происходит на сервере Создается постоянная связь DBLink Необходима настройка серверной части Возможен конфликт если не-Oracle система использует монопольный доступ к файлам Для не-windows платформ могут быть проблемы с наличием драйверов DBF 5/9 Тема 5. Обмен данными в формате DBF

1.Проверка установлен ли HS в БД select view_name from dba_views where owner='SYS' and view_name='HS_FDS_CLASS'; 2.Настройка источника данных ODBC на сервере 3.Создание файла инициализации HS %ORACLE_HOME%\HS\admin\initHSDBF.ora DBF 6/9 Шаг 2. Шаг 3. DBLink + Heterogonous services (HS) Тема 5. Обмен данными в формате DBF

DBLink + Heterogonous services (HS) 4.Настройка Oracle Net Services (tnsnames и listener) 5.Создание DBLink create public database link HSDBF connect to dummy identified by "dummy" using 'HSDBF'; DBF 7/9 listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (PROGRAM = hsodbc) (ORACLE_HOME = d:\oracle\ora92) (SID_NAME = HSDBF) … tnsnames.ora HSDBF = (DESCRIPTION = (ADDRESS_LIST = … ) (CONNECT_DATA =(SID = HSDBF)) (HS = OK) … Тема 5. Обмен данными в формате DBF

DBLink + Heterogonous services (HS) 6.Проверка связи select table_name, column_name from TABLE_NAME COLUMN_NAME employee workhour employee workdate 7.Работа select * from commit; update... commit; ALTER SESSION CLOSE DATABASE LINK HSDBF; DBF 8/9 Тема 5. Обмен данными в формате DBF

Преимущества: Работа в реальном времени, моментальное отображение изменений Поддержка всех sql-конструкций, которые предоставляет не-Oracle система Нет дублирования данных Не тратится время на загрузку/выгрузку/репликацию DBF 9/9 DBLink + Heterogonous services (HS) Тема 5. Обмен данными в формате DBF

Тема 6. Интеграция с информационными системами, поддерживающими форматы XML и TXT

Ключевые особенности Нет типов данных как таковых: необходимо четко определить формат даты и разделитель дробной части Для файлов с разделителем: символ- разделитель и символ-ограничитель полей Для структурированных: начало и конец секции Кодировка может быть различной TXT Тема 6. Обмен данными в формате TXT

Загрузка файла в CLOB Разбор на сервере Размещение во временных таблицах Обработка (процедура) Импорт в разделы Парус Преимущества Значительно быстрее по сравнению с разбором на клиенте и вставке построчно Более быстрый разбор + все функции Oracle и регулярные выражения Возможно создание индексов во временных таблицах TXT Тема 6. Обмен данными в формате TXT Оптимальное решение для импорта

nROW integer; rROW UDO_IMP_BUFF%rowtype; Loop begin sRESULT := F_GET_NEXT_STRING(cCLOB); exit when sRESULT is null; nROW := nROW + 1; rROW.BATCH_ID := to_number( replace(strtok(sRESULT,sDELIMETER,1),',','.'),' D999,'NLS_NUMERIC_CHARACTERS = ''.,'''); rROW.ORDER_NR := replace(strtok(sRESULT,sDELIMETER,2),'-'); rROW.PRODUCT_NR := strtok(sRESULT,sDELIMETER,3); TXT Тема 6. Обмен данными в формате TXT Пример разбора текстового файла

Процедура на PLSQL Вставка CLOB в спец-таблицу FILE_BUFFER «Экспорт в файл» Преимущества Логика обработки на сервере Функция Паруса «Экспорт в файл» доступна во всех разделах Доступны пользовательские процедуры с CLOB-параметрами TXT Тема 6. Обмен данными в формате TXT Оптимальное решение для выгрузки

UTL_FILE файл должен располагаться на сервере возможна автоматическая выгрузка по расписанию рабочая папка указывается в параметрах init.ora либо в oracle directory работа с текстовыми файлами происходит построчно TXT create directory OBMEN as 'c:\TEMP'; v_file utl_file.file_type; v_file := utl_file.fopen( c:\temp', 'parus.txt', 'w'); utl_file.putf(v_file,sTEXT); utl_file.fclose(v_file); Тема 5. Обмен данными в формате TXT

1. Загрузка в CLOB/varchar2 Разбор с помощью XMLDOM Обработка и импорт в разделы Паруса DOM – Document object model XML Тема 6. Обмен данными в формате TXT Типовые варианты работы DBMS_XMLDOM

2. Загрузка в CLOB/XMLType XSL-преобразвание в канонический вид Вставка во временные таблицы Обработка и импорт в разделы Паруса update UDO_TMP_XML t set t.outxml = t.inxml.transform(t.inxsl); select t.outxml.getClobVal() into cCLOB from UDO_TMP_XML where …; nCONTEXT := DBMS_XMLSTORE.newContext('UDO_TMP_ORDERS'); nRESULT := DBMS_XMLSTORE.insertXML(nCONTEXT, cCLOB); XML Тема 6. Обмен данными в формате XML Типовые варианты работы -- Create table create table UDO_TMP_XML ( inxml xmltype, outxml xmltype, inxsl xmltype, rn number(17) )

3. Загрузка в CLOB/XMLType Выборка данных с помощью XMLType Обработка и импорт в разделы Паруса select EXTRACTVALUE(t.inxml, '/Nomenclator/Row/ID') from UDO_TMP_XML t select extractvalue( t.inxml,'//child::node()[position()=1]/Row[position()=1]/ID' ) from UDO_TMP_XML t XML Тема 6. Обмен данными в формате XML ID_ ID_ Типовые варианты работы

Задача: Наладить автоматический импорт данных в Парус по расписанию из DBF и XML Решение: Пример Тема 6. Обмен данными в формате XML DBF XML UTL_FILEUDO_PKG XML2 канонический UDO_PRC XSL-шаблон UDO_PRC

Интеграция с почтовыми серверами DBMS_SMTP Сервер уведомлений ( для win-платформы ) MAIL Тема 6. Обмен данными в формате TXT РУК_Сервер_уведомлений.pdf

Источники информации Oracle Database Administrator's Guide 10g Release 2 (10.2) Part Number B Oracle® Database Heterogeneous Connectivity Administrator's Guide 10g Release 2 (10.2) Part Number B ADO Object Model Тема 5. Обмен данными в формате DBF Тенденция: Хранение и обработка данных на сервере БД

Дополнительная информация Oracle Data Integrator