стр. 1
(всего 5)

СОДЕРЖАНИЕ

>>











Среда электронного взаимодействия федеральных органов исполнительной власти и хозяйствующих субъектов.




Технические спецификации


На 78 листах
















Москва 2005


Аннотация
Настоящий документ представляет техническое описание Среды электронного взаимодействия, которое содержит: описание структуры системы, назначение и описание всех подсистем, входящих в состав Среды. Для каждой подсистемы приведено описание базы данных, программных интерфейсов и их методов.
В данном документе приводятся также:
* требования к web-сервисам информационных систем субъектов взаимодействия, предназначенные для интеграции информационных систем субъектов в рамках Среды
* порядок установки Среды
* использумое при разработки программное обеспечение.
Для демострации работы Среды были разработаны пилотные проекты. Данный документ включает в себя описание пилотных проектов "Общественная приемная" и "Прогноз объема закупок". Для каждого из пилотных проектов приведено общее назначение проекта и дано описание его основных компонент.





Содержание

ОБЩАЯ СТРУКТУРА СРЕДЫ 5
ОПИСАНИЕ ОСНОВНЫХ СВЯЗЕЙ СИСТЕМЫ 6
ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ПРОГРАММНО-АППАРАТНОМУ ОБЕСПЕЧЕНИЮ 7
МОДУЛЬ БЕЗОПАСНОСТИ СЭВ 8
API МОДУЛЯ БЕЗОПАСНОСТИ 8
СТРУКТУРА ДАННЫХ СЕРВИСА БЕЗОПАСНОСТИ 9
МОДУЛЬ ИСПОЛНЕНИЯ ПЭВ 11
API СЕРВИСА ИСПОЛНЕНИЯ ПЭВ 11
СТРУКТУРА ОПИСАТЕЛЯ МЕТРИК ПЭВ 12
СТРУКТУРА ДАННЫХ СЕРВИСА ИСПОЛНЕНИЯ 13
МОДУЛЬ ОТЛАДКИ И ТЕСТИРОВАНИЯ 16
API СЕРВИСА ТОЧЕК ОСТАНОВА 16
ССК 17
API ССК 18
СТРУКТУРА ДАННЫХ ССК 23
UDDI РЕЕСТР 24
СЕРВИС РЕЕСТРА. 24
API РЕЕСТРА СЕРВИСОВ 24
СТРУКТУРА ДАННЫХ РЕЕСТРА UDDI 27
РЕПОЗИТАРИЙ 34
API РЕПОЗИТАРИЯ 35
СТРУКТУРА ДАННЫХ РЕПОЗИТАРИЯ 35
ПОДСИСТЕМА ОПОВЕЩЕНИЙ 37
API СЕРВИСА СООБЩЕНИЙ 37
СТРУКТУРА ДАННЫХ ПОДСИСТЕМЫ ОПОВЕЩЕНИЙ 37
ПОРТАЛ СЭВ 39
ИНТЕГРАЦИЯ ВЕБ-ПРИЛОЖЕНИЙ В ПОРТАЛ СЭВ 39
СТРУКТУРА ДАННЫХ ПОРТАЛА 39
ТРЕБОВАНИЯ К ВНУТРЕННИМ WEB-СЕРВИСАМ СРЕДЫ ЭЛЕКТРОННОГО ВЗАИМОДЕЙСТВИЯ 41
ОСНОВНЫЕ ТРЕБОВАНИЯ К WEB-СЕРВИСАМ 41
ДОПОЛНИТЕЛЬНЫЕ ТРЕБОВАНИЯ К WEB-СЕРВИСАМ 42
РЕКОМЕНДУЕМЫЕ СПЕЦИФИКАЦИИ 43
ПИЛОТНЫЙ ПРОЕКТ "ОБЩЕСТВЕННАЯ ПРИЕМНАЯ" 44
ОБЩЕЕ ОПИСАНИЕ 44
ОПИСАНИЕ СВЯЗЕЙ 44
ОСНОВНЫЕ КОМПОНЕНТЫ ПЭВ "ОБЩЕСТВЕННАЯ ПРИЕМНАЯ" 45
BPEL script 45
UI service 45
task 45
properties 46
callback 46
СТРУКТУРА ДАННЫХ DB 46
РЕАЛИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ МЕЖДУ ПЭВ И СЭДО 48
ВВОД ОБРАЩЕНИЯ ГРАЖДАНИНОМ. 48
ОТСЛЕЖИВАНИЕ РЕГИСТРАЦИИ ОБРАЩЕНИЯ. 49
Отслеживание процесса исполнения обращения 50
Получение ответа 51
ПИЛОТНЫЙ ПРОЕКТ "ПЛАНИРОВАНИЕ ОБЪЕМА ЗАКУПОК" 53
ОБЩЕЕ ОПИСАНИЕ 53
ОПИСАНИЕ СВЯЗЕЙ 53
ОСНОВНЫЕ КОМПОНЕНТЫ СЕРВИСА "ПЛАНИРОВАНИЕ ОБЪЕМА ЗАКУПОК" 54
pos service 54
Структура данных 55
Описание структуры сообщений 57
Конверт сообщения 57
Заголовок конверта 57
Идентификационные параметры отправителя. 58
Содержимое конверта 58
Пакет сообщения 58
Заголовок пакета 58
Содержимое пакета 59
Шаблон пакета 59
XSD схема конверта 60
Формат запросов 61
XSD схема запросов 62
XSD схема с общими базовыми типами 66
Шаблоны запросов 67
ПОРЯДОК УСТАНОВКИ СЭВ 69
НЕОБХОДИМОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 69
СОЗДАНИЕ И ИНИЦИАЛИЗАЦИЯ БАЗ ДАННЫХ 69
НАСТРОЙКА СЕРВЕРА TOMCAT 69
НАСТРОЙКА JAKARTA SLIDE 69
ИНСТАЛЛЯЦИЯ ПРИЛОЖЕНИЙ 69
ПРОВЕРКА РАБОТОСПОСОБНОСТИ 70
СОЗДАНИЕ НЕОБХОДИМЫХ ГРУПП В AS ПОРТАЛА 70
НАСТРОЙКА МОДУЛЯ АВТОРИЗАЦИИ ORACLE UDDI 70
ФАЙЛЫ В ПОСТАВКЕ 71
ОПИСАНИЕ КОНФИГУРАЦИОННЫХ ФАЙЛОВ. 72
СБОРКА ПРОЕКТА ИЗ ИСХОДНЫХ ТЕКСТОВ 74
CОВМЕСТИМОСТЬ И ПЕРЕНОСИМОСТЬ 75
ПРИКЛАДНЫЕ МОДУЛИ СЭВ 75
ORACLE BPEL PM 75
ORACLE UDDI 75
ORACLE APPLICATION SERVER 10G 75
ORACLE DATABASE 9I 75
СОВМЕСТИМОСТЬ С КЛИЕНТСКИМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ 75
СТОРОННИЕ ПРОДУКТЫ И БИБЛИОТЕКИ 77
ССЫЛКИ НА СПЕЦИФИКАЦИИ, ИСПОЛЬЗОВАННЫЕ ПРИ РАЗРАБОТКЕ СЭВ 78
Общая структура среды
На рисунке 1 представлена общая структура Среды.
В состав Среды входят следующие оснонве состовляющие:
* ядро Среды;
* портал администрирования Среды;
* пользовательский портал Среды.




рисунок 1. Общая структура СЭВ.

Описание основных связей системы

Связи между компонентами ядра СЭВ осуществляются с использованием функций и внутренних и внешних API на языке Java.

1 При выполнении BPEL-процесса происходит взаимодействие с сервисом исполнения ПЭВ для ведения записей о ходе процесса. Вызовы сервиса исполнения должны быть явно определены в BPEL-сценарии ПЭВ. Взаимодействие осуществляется по протоколу SOAP 1.1, описание операций сервиса исполнения приведено ниже
2 Портал СЭВ предоставляет пользовательские интерфейсы к сервисам Среды и взаимодействует со всеми модулями Среды
3 В сценариях ПЭВ могут быть определены обращения к Репозитарию СЭВ с запросами на преобразование данных. Запросы передаются по протоколу SOAP 1.1, описание API репозитария приведено ниже
4 Сервисы-участники ПЭВ взаимодействуют с веб-сервисом Oracle BPEL PM напрямую по протоколу SOAP 1.1, при асинхронных вызовах используется спецификация WS-Addressing
5 Oracle UDDI обращается к модулю безопасности СЭВ для проверки прав пользователей по протоколу SOAP 1.1. Описание операций модуля безопасности приведено ниже.
6 Сервис исполнения ПЭВ оповещает пользователей об изменениях состояния ПЭВ через сервис оповещений, используя Java API сервиса оповещений, описание API приведено ниже.
7 Модуль UDDI СЭВ может использовать API ССК для получения данных о зарегистрированных справочниках и классификаторах, а так же для получения данных из классификаторов (например в пользовательском интерфейса поиска и публикации). Описание Java API ССК приведено ниже.
8 При публикации сведений об организациях и услугах через Портал СЭВ используется модуль UDDI СЭВ
9 Модуль UDDI СЭВ взаимодействует с Oracle UDDI по протоколу SOAP, используя UDDI API 2.0.
10 При публикации спецификаций услуг Oracle UDDI может обращаться к репозитарию СЭВ для проверки наличия зарегистрированных типов данных
11 Для обеспечения безопасной работы внешних систем необходимо, чтобы внешние системы использовали модуль безопасности СЭВ для идентификации, при необходимости внешние системы могут получать данные о правах пользователей СЭВ
12 Пользователь работает с СЭВ через экраны портала
13 Пользователь взаимодействует с пользовательскими интерфейсами внешних систем при необходимости в процессе выполнения ПЭВ

Для интеграции внешних систем в СЭВ и создания процедур электронного взаимодействия, необходимо чтобы внешние системы поддерживали внешние API Среды. (к внешним API Среды относятся веб-сервисы модуля безопасности и UDDI), а так же следующие спецификации:

1. UDDI v. 2.0 http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv2
2. SOAP 1.1 http://www.w3.org/TR/2000/NOTE-SOAP-20000508
3. WSDL 1.1 http://www.w3.org/TR/2001/NOTE-wsdl-20010315
4. WS-Addressing http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/
5. BPEL 1.1 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbiz2k2/html/BPEL1-1.asp







Технические требования к программно-аппаратному обеспечению

Программное обеспечение сервера СЭВ - рабочий вариант
* Sun Solaris 9 (операционная система).
* Oracle 9i Database 9.2.0.1 (система управления базами данных).
* Oracle Application Server Enterprise ed. 10g (9.0.4).
* Oracle BPEL Proc. Manager 2.0.
* Java Development Kit (JDK) 1.4.2.
* Apache Tomcat 5.x (web-сервер).
* Сервер не ниже SunFire 280R, 2 Гб ОЗУ

Программное обеспечение клиента СЭВ
* OS Windows (операционная система).
* Microsoft Internet Explorer 6.0 (интернет браузер).
* Flash plug-in для Internet Explorer
* JRE 1.4.2 (Java-plugin для Internet Explorer) - необходим разработчику ПЭВ
Локальная сеть
* Ethernet 10/100 Mbit
Модуль безопасности СЭВ
Подсистема безопасности предназначена для обеспечения информационной безопасности Среды и обеспечивает возможность регистрации пользователей и групп пользователей, хранение и изменение их регистрационных данных, разграничении прав доступа и хранение информации об авторизации сессий пользователей и экземпляров ПЭВ.

Сервис подсистемы безопасности.
Сервис подсистемы безопасности обеспечивает:
* хранение и изменение данных о пользователях, группах пользователей, назначенных привилегиях .
* авторизацию пользователей системы
* поддержку системы хранения информации о сессиях пользователей
* получение событий системы хранения идентификационной информации о пользователях, группах и ролях (создание, удаление, изменение).
* ведение и просмотр истории действий пользователей (аудит)
API модуля безопасности
Для обеспечения взаимодействия ПЭВ и удаленных клиентов с модулем безопасности, сервис безопасности предоставляет клиентский API (веб-сервис).
Функциональность клиентского SOAP-API модуля безопасности:
* Проверка пользовательской авторизации
* Авторизация пользователя, возвращается идентификатор сессии
* Завершение сессии
* Получение id пользователя
* Получение полной информации о пользователе
* Получение списка ролей для пользователя

Доступ к API подсистемы безопасности может быть получен через интерфейс ASServiceInterface, который так же доступен как веб-сервис.

public interface ru.ifirst.auth.service.ASServiceInterface

Методы
public ru.ifirst.er.wsutil.Result validate(
String login,
String password);
Проверяет переданные для проверки имя пользователя и пароль

public ru.ifirst.er.wsutil.ResultString login(
String username,
String password);
Осуществляет проверку имени и пароля пользователи и открывает сессию, номер которой в дальнейшем используется при работе с подсистемой безопасности и другими сервисами СЭВ

public ru.ifirst.er.wsutil.Result logout(
String sessionId);
Закрывает указанную сессию пользователя

public ru.ifirst.er.wsutil.ResultInteger getUserId(
String sessionId);
Возвращает идентификатор пользователя по переданному номеру сессии
public ru.ifirst.er.wsutil.ResultUser getUserInfo(
String sessionId);
Возвращает информацию о пользователе по идентификатору сессии

public ru.ifirst.er.wsutil.ResultRoles getRolesForService(
String sessionId,
String serviceId);
Возвращает набор привилегий (ролей), которые разрешены данному пользователю

public boolean isUserInRole(
String sessionId,
String serviceId,
String roleName);
Проверяет, имеет ли указанные пользователь привилегию


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

public class ru.ifirst.auth.handler.EventInterceptorManager

Методы
public static ru.ifirst.auth.handler.EventInterceptorManager getInstance()
Возвращает экземпляр класса, имеющего данный интерфейс

public void addInterceptor(
Interceptor intc)
Добавляет перехватчик



public class ru.ifirst.auth.handler.EventObserverManager

Methods
public static ru.ifirst.auth.handler.EventObserverManager getInstance()
Возвращает экземпляр класса, имеющего данный интерфейс

public void addObserver(
Observer obs)
Добавляет слушателя


Слушатели и перехватчики должны иметь следующие интерфейсы

public class ru.ifirst.auth.handler.object.Observer

Constructors
public Observer()

Methods
public void inform(
Event event)
Необходимо реализовать классу-слушателю для получения событий



public class ru.ifirst.auth.handler.object.Interceptor

Constructors
public Interceptor(
Event event)

Methods
public boolean handleEvent(
Event event)
Необходимо реализовать классу-перехватчику для получения событий

Структура данных сервиса безопасности

Таблица: HISTORY
Описание: записи аудита пользователей
Поле
Тип
Длина
Ненулевое
Описание
ACTION
string
255

LOGIN
string
50

ACT_DATE
timestamp


Таблица: AUTH_USER
Описание: данные о зарегистрированных пользователях и заявках на регистрацию
Поле
Тип
Длина
Ненулевое
Описание
LOGIN
string
255

PASSWORD
string
255

FIRST_NAME
string
255

LAST_NAME
string
255

SECOND_NAME
string
255

ADDRESS
string
255

PHONE
string
50

EMAIL
string
50

POPHOST
string
50

SMTPHOST
string
50

MAILBOX_TYPE
string
50

EMAILLOGIN
string
50

EMAILPASSWORD
string
50

REMIND_QUESTION
string
255

REMIND_ANSWER
string
255

ISNEW
integer


Таблица: AUTH_GROUP
Описание: данные о зарегистрированных группах пользователей, связана с таблицей AUTH_USER через таблицу маппинга
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255


Таблица: AUTH_CLASS
Описание: классы привилегий
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255

DESCRIPTION
string
1024


Таблица: AUTH_CLSROLE
Описание: информацию о ролях в заданных классах привилегий (связана с AUTH_CLASS)
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255


Таблица: AUTH_GROUP_CLASSROLE
Описание: привязки групп к ролям
Поле
Тип
Длина
Ненулевое
Описание
HERITABLE
boolean

TYPE
string
255


Таблица: AUTH_ROLE
Описание: список ролей
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255


Таблица: SESSIONS
Описание: данные о текущих сессиях пользователей
Поле
Тип
Длина
Ненулевое
Описание
SESSION_ID
string
200

SESSION_DATE
timestamp


Таблица: REGISTER_REQUEST
Описание: список запросов на регистрацию в системе
Поле
Тип
Длина
Ненулевое
Описание
GUID
string
255

REG_DATE
timestamp


Модуль исполнения ПЭВ
Подсистема исполнения процедур электронного взаимодействия является компонентом ядра Среды и осуществляет конструирование и реализацию процедур электронного взаимодействия. В состав подсистемы входят: модуль исполнения ПЭВ, модуль конструирования ПЭВ, модуль отладки ПЭВ, сервис подсистемы исполнения ПЭВ и специализированное программное API для интеграции ее с остальными подсистемами ядра.

Модуль исполнения ПЭВ
Модуль исполнения ПЭВ обеспечивает:
* запуск экземпляров ПЭВ
* хранение контекстов, состояний и потоков данных выполняющихся экземпляров ПЭВ
* временную остановку, продолжение выполнения, завершение работы и удаление экземпляра ПЭВ

Сервис исполнения ПЭВ
Сервис исполнения ПЭВ обеспечивает остальным подсистемам ядра и взаимодействующим информационным системам возможность обращения к функциям модулей подсистемы исполнения ПЭВ:
* задание исходных и дополнительных значений параметров, необходимых для выполнения ПЭВ
* передачи служебных сообщений подсистеме исполнения ПЭВ
* получения информации о состоянии экземпляра ПЭВ в некоторый момент времени
* посылка сигнала об остановке или возобновления работы ПЭВ
* получение информации об историю изменения стадий и статусов ПЭВ
* получение информации о запущенных ПЭВ в пределах сессии
* получение информации обо всех запущенных пользователем ПЭВ
API подсистемы исполнения предназначен для интеграции его с остальными подсистемами ядра.

Конструктор сценариев ПЭВ
Конструктор сценариев обеспечивает:
* разработку сценариев ПЭВ
* хранение сценариев (в период разработки)
* сборку и размещение сценариев ПЭВ, используя сервис исполнения ПЭВ Среды

API сервиса исполнения ПЭВ

public interface ru.ifirst.er.es.webservice.PEIExecutionService implements java.rmi.Remote


Методы
public ru.ifirst.er.wsutil.ResultInstanceInfo getInstance(
String peiSessionId)
Возвращает информацию об экземпляре ПЭВ

public ru.ifirst.er.wsutil.Result log(
String peiSessionId,
String logpointName)
Добавляет запись в историю выполнения ПЭВ

public ru.ifirst.er.wsutil.Result waitForUser(
String peiSessionId,
String url)
Сигнал на ожидание ввода данных от пользователя. При вызове этого метода пользователю, запустившему экземпляр ПЭВ высылается сообщение

public ru.ifirst.er.wsutil.ResultInteger checkSystemState(
String peiSessionId)
Проверяет состояние ПЭВа. Возвращает:
0=работа
1=ожидание ввода
2=останов
3=завершено

public ru.ifirst.er.wsutil.ResultInstanceInfo getInstances(
String userSessionId)
Возвращает экземпляры ПЭВ, запущенные пользователем с указанным номером сессии

public ru.ifirst.er.wsutil.ResultInstanceInfo getAllInstances(
String userSessionId)
Возвращает все запущенные экземпляры ПЭВ

public ru.ifirst.er.wsutil.ResultInstanceInfo getAllInstancesForUser(
String userSessionId,
int userId)
Возвращает экземпляры ПЭВ, запущенные указанным пользователем

public ru.ifirst.er.wsutil.ResultGraph getDetailedInstanceInfo(
String peiSessionId)
Возвращает подробную информацию об экземпляре ПЭВ

public ru.ifirst.er.wsutil.ResultStageHistory getInstanceStageHistory(
String peiSessionId)
Возвращает историю изменения стадий для указанного экземпляра ПЭВ

public ru.ifirst.er.wsutil.ResultStatusHistory getInstanceStatusHistory(
String peiSessionId)
Возвращает историю изменения статусов для указанного экземпляра ПЭВ

public ru.ifirst.er.wsutil.Result sendStopSignal(
String peiSessionId)
Останавливает выполнение экземпляра ПЭВ

public ru.ifirst.er.wsutil.Result continueWork(
String peiSessionId)
Продолжает исполнение ПЭВ

public ru.ifirst.er.wsutil.Result businessLog(
String peiSessionId,
String logpointName,
String value)
Добавляет в историю данные пояснительного характера

public ru.ifirst.er.wsutil.Result writeUnitedHistory(
String peiSessionId)
Отмечает точку смены макросостояния экземпляра ПЭВ, при вызове этого метода пользователю, запустившему экземпляр ПЭВ высылается сообщение


Структура описателя метрик ПЭВ

<?xml version="1.0" encoding="Windows-1251"?>
<!-- Атрибут name - имя класса ПЭВ -->
<peiClass name="op-3">
<!-- Описание ПЭВ -->
<description>Общественная приемная.</description>
<!-- Справка по процессу -->
<help> </help>
<!--
Макросостояние
coordX, coordY - относительные координаты размещения блока в экране схемы ПЭВ
invisible - опреджеляет является ли точка логгирования скрытой (1 - скрыта, 0 - видима)
logpointBeginName, logpointEndName - имена точек логгирования,
означающих вход и выход и макросостояния
name - имя макросостояния
typeName - тип макросостояния. Допустимыми типами являются:
"Вызов сервиса"
"Вызов специализированного сервиса"
"Условие"
-->
<macrostate coordX="0.0" coordY="0.0" invisible="1"
logpointBeginName="Logpoint.Init.Start"
logpointEndName="Logpoint.Init.End"
name="Запуск процедуры подачи заявлений"
typeName="Вызов сервиса">
<!-- С макросостоянием могут быть ассоциированы точки ведения бизнес-истории ПЭВ -->
<businessLogpoint name="LogpointBusiness.Invisible.Start"/>
</macrostate>

<!-- Список допустимых статусов ПЭВ -->
<status name="Ввод запроса"/>
<status name="Регистрация"/>
<status name="Отказ"/>
<status name="Обработка"/>
<status name="Просмотр"/>
<status name="Завершение"/>

<!--
Описание переходов
leftMc - начальное макросостояние
rightMc - конечное макросостояние
statusName - новый статус
-->
<transitions leftMc="Запуск процедуры подачи заявлений" name="t1" rightMc="Ввод запроса" statusName="Ввод запроса">
<description/>
</transitions>

<!--
Описание стадии
name - имя стадии
coordX - относительная ширина стадии
mcName - макросостояния ассоциированные со стадией
statusName - новый статус
-->

<stage coordX="0.0" name="Ввод запроса">
<stageSet mcName="Запуск процедуры подачи заявлений"/>
<stageSet mcName="Ввод запроса"/>
</stage>

</peiClass>

Структура данных сервиса исполнения
Таблица: ES_LOGS
Описание: история выполнения ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
METHOD_NAME
string
255

PARAMS
string
255

RESULT_CODE
int

RESULT_MESSAGE
string
255

LOG_DATE
timestamp

SESSION_ID
string
255



Таблица: LOGPOINT
Описание: информация о точках логгирования
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255



Таблица: MACROSTATE
Описание: информация о макросостяниях ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255

DESCRIPTION
string
255

COORD_X
float

COORD_Y
float

INVISIBLE
int



Таблица: MACROSTATE_TYPE
Описание: список типов макросостояний
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
100



Таблица: PEI_CLASSES
Описание: список классов ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
255

DESCRIPTION
string
255

URL
string
512

URI
string
512

MANUAL_BUS_LOG
integer

SERVICE_INSTANCE
BLOB

HELP
clob

METRICS_EXISTS
integer

UDDI_UID
string
512



Таблица: PEI_INSTANCES
Описание: список запущенных экземпляров ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp

END_DATE
timestamp

SYSTEM_STATE
int

URL
string

POS_STOP
boolean

TOUCH_DATE
timestamp



Таблица: PEI_SESSIONS
Описание: список идентификаторов сессий ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp

PEI_SESSION_ID
string
200


Таблица: STAGE
Описание: список стадий ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
NAME
string

COORD_X
float

WIDTH
java.lang.Integer


Таблица: STATUS
Описание: список статусов ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
NAME
string



Таблица: TRANSITIONS
Описание: список переходов между макросостояниями
Поле
Тип
Длина
Ненулевое
Описание
NAME
string
100

DESCRIPTION
string
255



Таблица: UNITED_HISTORY
Описание: список отметок United History
Поле
Тип
Длина
Ненулевое
Описание
URL
string

START_DATE
timestamp

MARKED
integer



Таблица: MACROSTATE_HISTORY
Описание: история смены макросостояний
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp



Таблица: STAGE_HISTORY
Описание: история смены стадий ПЭВ
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp


Таблица: STATUS_HISTORY
Описание: история смены статусов
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp


Таблица: TRANSITION_HISTORY
Описание: история переходов
Поле
Тип
Длина
Ненулевое
Описание
START_DATE
timestamp



Модуль отладки и тестирования
Модуль отладки и тестирования ПЭВ и web-сервисов Среды электронного взаимодействия предназначен для автоматической проверки корректности WSDL-описаний web-сервисов, публикуемых в реестре UDDI Среды, и совместимости этих web-сервисов со Средой, а также для автоматизированной отладки сценариев размещаемых в ней ПЭВ.
Пользовательский интерфейс модуля реализован с помощью jsp-страниц, обращающихся к модулю исполнения ПЭВ (см. IProcessInstance.getAuditDetails() и IProcessInstance.getDebugTrace(), в пакете ru.ifirst.er.bpel) для получения данных о ходе исполнения BPEL-сценария. Модуль исполнения, в свою очередь, получает эти данные используя функции, предоставляемые Oracle BPEL PM API.
Для реализации точек останова используется специальный сервис точек останова, для указания точки останова в редакторе ПЭВ необходимо вставить вызов операции callBreakPoint сервиса точек останова, wsdl-описание сервиса размещается по адресу: http://host:port/ER/services/Breakpoint?wsdl.
Интерфейс пользователя модуля отладки и тестирования ПЭВ позволяет:
* просмотреть контекст выполнения BPEL-сценария как в виде исходного текста BPEL-сценария, так и в графическом представлении, с возможностью просмотра значений переменных, вызванных операциях, переданных и полученных от сервисов-партнеров данных, времени выполнения операций и просмотра текущей (ожидаемой) операции
* продолжить установленный на точке останова экземпляр ПЭВ
* запустить нагрузочные тесты и просмотреть статистику выполнения нагрузочного теста

API Сервиса точек останова

public interface ru.ifirst.er.es.breakpoint.Breakpoint

Методы
public void callBreakpoint(String peiSessionId) throws java.rmi.RemoteException;
Вызывает точку останова, метод возвращает управление только после снятия точки останова в интерфейсе отладчика ПЭВ






ССК

Подсистема ССК является компонентом ядра Среды и предназначен для хранения и контроля целостности используемых при организации взаимодействия в рамках Среды справочников, словарей и классификаторов. Основным компонентом подсистемы ССК является сервис ССК.

Сервис ССК
Сервис ССК обеспечивает:
* возможность использования универсальной структуры БД или конкретно указываемых таблиц для хранения справочников или гибридной структуры (например, часть справочников настраивается на существующие таблицы, а часть может быть динамической) - это определяется в конфигурационном файле (все справочники статической части автоматически системные)
* наличие у любого справочника полей:
- NAME - уникальное название справочника для использования через API, совпадающее с названием таблицы для случая статических справочников
- DESC -название справочника для использования в UI
- ELEM_ID - поле-уникальный идентификатор элемента справочника
- ELEM_NAME -поле-название элемента справочника для использования через API
- ELEM_DESC - поле-название элемента справочника для использования в UI
- PAR_ID - поле-идентификатор родительского элемента справочника
- SYSTEM - флаг, означающий невозможность изменения структуры справочника.
* наличия механизма закладок, по которым распределяются атрибуты справочников
* возможность поиска по значению атрибутов справочников со следующими спецификаторами: равно, не равно, больше, меньше, включает, содержится, начинается с, кончается на, меньше или равно, больше или равно.
* наличие периодических реквизитов справочника (по которым хранится история изменений реквизита)
* наличие системных/несистемных реквизитов справочника (для которых невозможно менять название атрибута и его тип)
* наличие связей между справочниками (элемент-владелец тот же элемент-родитель, но из другого справочника)
* наличие следующих программных методов:
a. создание нового справочника
b. работу с выбранным справочниками: переименование и удаление - если это справочник не является системным
c. установка системности/несистемности выбранного справочника (только если это не справочник статической части базы данных модуля)
d. выбор справочника по NAME
e. работу с атрибутами и типами выбранного справочника: получение наименования атрибута, переименование, изменение типа выбранного атрибута справочника, добавление атрибута, удаление атрибута из справочника, получение истории изменения атрибутов.
f. работу с элементами выбранного справочника: добавление нового элемента, переименование элемента, сохранение изменений полей элемента, удаление элемента, получение элемента по значению ID
g. работу с коллекцией из элементов выбранного справочника: получение коллекции по значению PAR_ID или NAME, получение коллекции из всех элементов выбранного справочника, получение коллекции указанного атрибута, очистка всех элементов справочника, получение ID элемента выбранного справочника, установка родительского элемента для элемента выбранного справочника
h. работу с закладками для выбранного справочника: создание новой закладки, получение списка всех закладок, получение порядкового номера закладки, установка порядкового номера закладки, переименование закладки, удаление закладки, получение списка атрибутов, входящих в закладку
i. поиск элементов выбранного справочника по значениям атрибутов с учетом спецификаторов поиска

API ССК

public abstract class ru.ifirst.classifier.ClassifierController

Операции с классификаторами:
создание, удаление, конструирование и т.д.
Основной принцип - сначала объект конструируется, потом создается
Скажем, если необходимо создать классификатор, надо сначала его сконструировать:

Classifier classifier = controller.constructClassifier("name", "description", false);

после чего создать:

controller.createClassifier(classifier);

Аналогично, если надо создать элемент справочника, надо сначала его сконструировать, после чего добавить справочнику

Конструктор
public ClassifierController()

Методы
public static ru.ifirst.classifier.ClassifierController getController(
Session session)
Получить экземпляр контроллера

public abstract java.util.List getClassifiers()
получить все классификаторы

public abstract ru.ifirst.classifier.Classifier getClassifierByUUID(
String uuid)
Возвращает классификатор по значению UUID с которым он зарегистрирован в UDDI

public abstract void createClassifier(
Classifier classifier)
Создать новый классификатор

public abstract void deleteClassifier(
Classifier classifier)
Удаляет классификатор

public abstract ru.ifirst.classifier.Classifier getClassifierByName(
String name)
Возвращает классификатор по имени

public abstract ru.ifirst.classifier.Classifier constructClassifier(
String type,
String name,
String description,
boolean system)
Создает классификатор

public abstract ru.ifirst.classifier.ClassifierValue constructValue(
Classifier classifier,
ClassifierValue parentValue,
String name,
String description)
Создает объект-значение классификатора

public abstract ru.ifirst.classifier.ClassifierAttributeType getAttibuteType(
String typeName)
Возвращает тип классификатора по имени

public abstract ru.ifirst.classifier.ClassifierAttribute constructAttribute(
Classifier classifier,
ClassifierAttributeType attributeType,
String name)


public abstract ru.ifirst.classifier.ClassifierAttributeValue constructAttributeValue(
ClassifierValue classifierValue,
ClassifierAttribute attribute,
String value)


public abstract ru.ifirst.classifier.ClassifierBookmark constructBookmark(
Classifier classifier,
String name)


public interface ru.ifirst.classifier.Classifier

Интерфейс справочника

Методы
public java.lang.String getName()
Возвращает имя справочника

public java.lang.String getType()
Возвращает тип справочника

public void rename(
String newName)
Переименовывает справочник

public java.lang.String getUUID()
Возвращает идентификатор справочника в реестре UDDI

public void setUUID(
String UUID)
Устанавливает идентификатор справочника в UDDI

public boolean isRegistered()
Возвращает true если справочник зарегистрирован в UDDI

public boolean isActive()
Проверка активности регистрации в UDDI
public void setActive(
boolean active)
Активировать регистрацию в UDDI

public boolean isSystem()
Проверка справочника на системность

public boolean isEmpty()
Проверка, есть ли значения в справочнике

public void setSystem(
boolean system)
Указание системности справочника

public java.lang.String getDescription()
Возвращает строку описания справочника

public void setDescription(
String description)
Устанавливает описание справочника

public void addValue(
ClassifierValue value)
Добавить значение

public void deleteValue(
ClassifierValue value)
Удалить значение

public ru.ifirst.classifier.ClassifierValue getValueById(
long valueId)
Возвращает значение по идентификатору

public java.util.List getValues()
Возвращает все значения справочника

public java.util.List getRootValues()
Возвращает все корневые значения

public java.util.List getValues(
ClassifierValue value)
Возвращает все дочерние значения

public java.util.List getValuesByParentId(
long valueParentId)
Возвращает все дочерние значения

public java.util.List getValuesByName(
String name)
Вернуть все значения по заданному имени

public java.util.List getValuesByAttributeValue(
ClassifierAttribute attribute,
String value)
Поиск значений по значению атрибута

public void addAttribute(
ClassifierAttribute attribute)
Добавляет атрибут справочника

public ru.ifirst.classifier.ClassifierAttribute getAttributeByName(
String name)
Получает ссылку на атрибут по имени атрибута

public void deleteAttribute(
ClassifierAttribute attribute)
Удалить атрибут справочника

public java.util.List getAttributes()
Возвращает все атрибуты

public void clean()
Очистить справочник

public java.util.List getBookmarks()
Возвращает список всех закладок

public ru.ifirst.classifier.ClassifierBookmark getBookmarkByName(
String bookmarkName)
Возвращает закладку по имени

public void addBookmark(
ClassifierBookmark classifierBookmark)
Добавить закладку

public void removeBookmark(
ClassifierBookmark classifierBookmark)
Удалить закладку

public int size()
Возвращает кол-во элементов справочника

public java.util.List getValuesByAttributeValues(
SearchSpec[] ss)
Поиск значений справочника по значениям атрибутов





public interface ru.ifirst.classifier.ClassifierBookmark

Интерфейс закладки справочника.
Закладки предназначены для размещения атрибутов справочников.

Methods
public java.lang.String getName()
Имя закладки

public void setName(
String bookmarkname)
Установить имя закладки

public java.util.List getClassifierAttributes()
Список атрибутов определенных для данной закладки

public ru.ifirst.classifier.Classifier getClassifier()
Классификатор, которому принадлежит закладка

public void addAttribute(
ClassifierAttribute classifierAttribute)
добавить аттрибут в закладку

public void removeAttribute(
ClassifierAttribute classifierAttribute)
Удаляет атрибут из закладки

public void setGeneral(
boolean general)
Сделать закладку основной

public boolean isGeneral()
узнать, является ли закладка основной

public boolean getGeneral()
узнать, является ли закладка основной

public void upPriority()
Приоритет - положение закладки относительно остальных закладок Метод для повышения приоритета закладки при вызове закладка меняется местом с закладкой более выского уровня



public interface ru.ifirst.classifier.ClassifierAttributeValue

Интерфейс значения аттрибута элемента справочника

Методы
public ru.ifirst.classifier.ClassifierAttribute getAttribute()
Возвращает ссылку на атрибут

public java.lang.String getValue()
Возвращает значение

public void setValue(
String value)
Устанавливает значение

public ru.ifirst.classifier.ClassifierValue getClassifierValue()
Возвращает значение




public interface ru.ifirst.classifier.ClassifierAttributeType

Тип атрибута справочника

Методы
public java.lang.String getName()
Возвращает имя типа

public boolean isValide(

стр. 1
(всего 5)

СОДЕРЖАНИЕ

>>