Использование технологий.NET для интеграции бизнес- систем на примере AC4SAP (Astrosoft Client for SAP R/3) Михаил Шарко Руководитель проекта Astrosoft Development Санкт-Петербург Ринат Гимранов Директор управления ИТ ОАО «Сургутнефтегаз» Сургут
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
Интеграция SAP и внешних приложений Экспорт/импорт EDI – электронный обмен данными SAP Connectors DCOM Connector Business Connector Java Connector.NET Connector Microsoft BizTalk Adapter for SAP использует DCOM Connector + SAP IDoc Веб-службы (только SAP Web AS 6.20)
Основа интеграции через SAP Connectorы Репозиторий бизнес объектов SAP Бизнес интерфейс (BAPI) Открытый стандартный интерфейс Не изменяется от версии к версии Remote Function Call (RFC) Низкоуровневый интерфейс обмена данными между SAP системами и внешними приложениями
Репозиторий бизнес объектов SAP R/3 (BOR) Бизнес объекты Бизнес интерфейсы (Business API – BAPI) Create GetDetail GetList Change … Create GetList GetStatus Change … CustomerSales Order Группы ФинансыСбыт
Доступ по RFC Windows приложение LIBRFC32.DLL RFC SAP Application Server Windows
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
Постановка задачи Начало проекта – август 2001 Текущая система – SAP R/3 4.0B Задачи интеграции Упростить работу с данными R/3 для однообразных операций (складские операции, работа со справочниками) Простое решение для веб-доступа к данным R/3 Упростить создание шлюзов для связи с внешними системами -Между геоинформационным Web-сервером и SAP R/3
Область применения АС4SAP SAP R/3 Способ доступа к R/3 Стандартный интерфейс SAP GUI Веб-доступ АС4SAP Категории пользователей Разнообразные операции по обработке первичных документов, получению отчетных форм, проведению процедур (закрытие, перерасчет…) Типовые однообразные операции: складские операции, работа со справочниками 70-80% (~2400 пользователей)20-30% (~1000 пользователей)
Выбор пути реализации AC4SAP Использование DCOM Connector 100% гарантия работы с данными R/3 Создание простого инструментария для генерации веб-форм ввода/вывода данных R/3 Без программирования Автоматизация простых бизнес-процессов Расширяемость Возможность использования новых технологий (напр., Веб-служб)
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
Состав AC4SAP Генератор Transact-объектов (GTO) Создает Transact-объекты, которые работают с данными SAP R/3 Генератор форм (GASP) Создает ASP-страницы, которые выполняют транзакции SAP R/3 Веб-службы (AC4SAP WS) Выполняют транзакции SAP R/3 Реализовано в AC4SAP 2.0
Преимущества DCOM CC Работает с BAPI и RFC-функциями Отображает их в COM-компоненты Конвертирует структуры данных RFC в структуры OLEDB и обратно Взаимодействует с SAP R/3 по протоколу RFC через TCP/IP Прикладным Windows-программистам не нужно знать специфики протокола RFC и функциональности SAP R/3
R/3 Application Server BOR MTS/COM+ Архитектура DCOM CC IIS ASP Рабочая станция Web browser Desktop App HTTPDCOM RFC DCOM CC ProxyRemote functionBAPI
Недостатки DCOM CC Нет структуры параметров BAPI Нет данных о правильной работе с BAPI (связь атрибутов, порядок вызовов, …) Нет просмотра и выбора данных из справочников Не генерирует код клиентского приложения Не хранит метаинформацию в локальном хранилище
Transact-объект Использует Proxy COM-компоненты, созданные DCOM CC SAP Business Object DCOM CC Proxy SAP BAPI DCOM CC Proxy.Method Оборачивает один BAPI (=метод Proxy) т.к. BAPI соответствует конкретной SAP транзакции, то «Transact-объект» Метаданные ТО хранятся в репозитории Transact-объектов (TOR) В виде XML описания
Метаданные Transact-объекта Содержит расширенные метаданные транзакции Структуры параметров BAPI Структуры связанных справочников и их взаимосвязь Описания всех элементов Ручная настройка -Обязательные (mandatory) поля -Исключение неиспользуемых параметров/полей -Автозаполнение кодов и др. -Фильтры поиска данных в справочниках -Связанные отчеты
Генератор Transact-объектов Задачи Создание репозитория Transact-объектов (TOR) – полного отображения SAP BOR на Windows -Со структурой SAP BOR Генерация Transact-объектов (ТО) Реализация Использование SAP DCOM CC -100% гарантия работы с данными R/3 Мастера генерации TOR и TO -Отдельный TOR на каждую конфигурацию R/3 ТО для пользовательских RFC-функций -Наработки ABAP-программистов не пропадут! Синхронизация TOR и SAP BOR
AC4SAP Application Server Архитектура GTO R/3 Application Server BOR COM+ IIS ASP Рабочая станция Web browser Desktop App HTTPDCOM RFC DCOM CC ProxyRemote functionBAPITO TOR GTO XML
Генератор форм Задачи Создание форм ввода/вывода данных Генерация ASP-страниц, выполняющих транзакции R/3 Реализация Подключение к TOR Визуальный редактор форм -Нет программирования! Поддержка цепочек транзакций
AC4SAP Application Server COM+ Архитектура GASP IIS ASP Рабочая станция Web browser Desktop App HTTPDCOM GASP XML R/3 Application Server BOR RFC BAPI ProxyRemote functionBAPITO TOR
Пример интерфейса GASP
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
.NET Connector – Что нового? Поддерживается вся функциональность DCOM CC Доступ в данным SAP по протоколу RFC SOAP (только для SAP Web AS 6.20) Мастер генерации WSDL и Proxy Class теперь есть структура параметров, но только код и тип полей Асинхронный режим работы Аутентификация SAP Logon Сертификаты X.509, SNC (Kerberos, NTLM) Внешняя аутентификация (Microsoft Passport) Текущая версия – Release 1.0, 20 ноября 2002
Архитектура.NET CC SAP Application Server Visual Studio.NET VBC++C#… Application Web Services.Net Connector Component (generated) SAP.NET Connector Proxy Class Generator RFC Layer SOAP Layer BOR.NET Connector Runtime Design time Run- time RFC SOAP
.NET CC Runtime.NET Business Application Generated Proxy Classes SAP.NET Connector Class Library LIBRFC32.DLL.NET SOAP Classes Config file RFCSOAP SAP Server 6.20) или не SAP Server
AC4SAP Веб-службы Задачи Подключение.NET и удаленных COM-клиентов Использование метаинфомации ТО Реализация Универсальная Веб-служба -Генерация WSDL для требуемого ТО -Вызов методов TO -Загрузка справочников -Выполнение отчетов -Структура репозитория или ТО WSCaller -Удобство создания COM-клиентов
Архитектура AC4SAP WS AC4SAP Application Server Web Services SAP Application Server VS.NET VBC++C#….NET Application AC4SAP Web Services.Net TO Proxy COM+ Proxy Generator RFC Layer TOR DCOM Proxy Design time Run- time RFC BOR WSDL Generator TO COM Application WSCaller
Сравнение с SAP коннекторами Функциональность DCOM CC.NET CCAC4SAP Работа с объектами SAP BAPI RFC func. IDoc BAPI RFC func. Reports Структура объектовПар-ры Стр-ра парам. Пар-ры, Стр-ра парам. Стр-ра связ. спр-ков Пар-ры отчетов Состав метаданныхParamID, остальное из R/3 Для полей ID, Type Расширенные метаданные, в т.ч. связи, описания и ручные настройки Локальное хранилище метаданных НетWSDLTOR Генерация кодаНет Генератор ASP форм Среда разработкиVS6VS.NETVS6, VS.NET
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
Сценарии использования Легкий Web-клиент Генерация форм без программирования Для пользователей нужен только IE5.0+ On-line доступ к данным R/3 Пользователи -Сотрудники компании, в т.ч. мобильные -Удаленные клиенты и партнеры Веб-служба Для удаленных приложений (MS Office, 1C, …) Простота использования в.NET-приложениях Шлюз для внешних приложений дружественные ТО для Windows-программистов
Эффект внедрения AC4SAP Упрощение ввода данных Упрощение процедуры настройки пользовательских экранов Ускорение программирования шлюза между R/3 и внешним приложениями Снижение непроизводительной нагрузки на систему R/3 Снижение требований к рабочим станциям (нужен только IE5.0+) Снижение TCO системы R/3
Недостатки Не все объекты R/3 поддерживаются Автоматизация только простых бизнес- процессов Отчеты только типа «Листинг» Дополнительная нагрузка администраторам
Перспективы Использование новых технологий mySAP и Microsoft.NET Connector Упрощение авторизации в R/3 Расширение использования настроек системы SAP R/3 Подключение к другим системам SAP
Содержание Пути интеграции с SAP R/3 Задачи интеграции с SAP R/3 в ОАО «Сургутнефтегаз» Архитектура AC4SAP Решение на основе Веб-служб Назначение и роль AC4SAP в архитектуре ИС предприятия Заключение Вопросы
Заключение Несколько сценариев интеграции Снижение затрат на разработку и сопровождение решений по интеграции Упрощение работы с данными R/3 Простой веб-доступ Расширяемая архитектура Снижение TCO системы R/3
Дополнительные ресурсы Описание системы AC4SAP products_ac4sap.asp/ products_ac4sap.asp/ Описание SAP Connectors Платформа Microsoft.NET Российский веб-сервер компании Microsoft
Вопросы?