<< Пред.           стр. 11 (из 14)           След. >>

Список литературы по разделу

 
 
 


  ...
 


 
 
 
 
 
 

 
 Рекомендуемые спецификации
 
 1) WS-I [http://www.ws-i.org/deliverables/]
 2) WS-Coordination [http://msdn.microsoft.com/ws/2004/10/ws-coordination/]
 3) WS-BusinessActivity [http://msdn.microsoft.com/ws/2004/10/ws-businessactivity/]
 
 Пилотный проект "Общественная приемная"
 Проект предназначен для автоматизации деятельности Минэкономразвития России в рамках подготовки информации по обращениям граждан и хозяйствующих субъектов.
 
 Общее описание
 На рисунке представлена обобщенная схема основных компонент пилотного проекта "Общественная приемная".
 
 Обозначения:
 * Гражданин - формирующий запрос в МЭРТ и ожидающий ответ на свой запрос.
 * СЭДО - система электронного документооборота.
 * СЭВ - среда электронного взаимодействия.
 * UI - пользовательский интерфейс портала СЭВ.
 * ES - сервис исполнения СЭВ.
 * AS - авторизационный сервис СЭВ.
 * Шлюз - сервис, обеспечивающий передачу сообщений между ПЭВ и СЭДО.
 * ПЭВ - Процедура электронного взаимодействия "Общественная приемная", он же собственно пилотный проект.
 * ws - веб-сервис, описыннай с помощью WSDL, в соответствии со спецификацией WSDL [Ссылки 2];
 * jsp - jsp-реализация пользовательского интерфейса [Ссылки 5];
 Описание связей
 Все взаимодействия между ПЭВ "Общественная приемная", Компонентами СЭВ, Шлюзом и СЭДО показаны стрелочками. Взаимодействие осуществляется с использованием различных протоколов, надпись на стрелочке указывает используемый протокол. Двунаправленная стрелка показывает, что взаимодействие является синхронным, а однонаправленная - асинхронным.
 Используемые протоколы:
 * soap - согласно спецификации SOAP [Ссылки 1];
 * soap+wsa - согласно спецификации SOAP и WS-Addressing [Ссылки 6];
 * http - согласно спецификации HTTP [Ссылки 7];
 * jdbc - согласно спецификации JDBC [Ссылки 3];
 Основные компоненты ПЭВ "Общественная приемная"
 * BPEL script - описание бизнес-процесса ПЭВ "ОП". (ОП = Общественная приемная) [Ссылки 4];
 * UI service - сервис, предоставляющий пользовательский интерфейс ПЭВ "ОП".
 * Task - сервис, обеспечивающий асинхронное взаимодействие BPEL script с удаленным сервисом СЭДО и базой данных DB.
 * Callback - сервис, обеспечивающий асинхронное взаимодействие с удаленным сервисом СЭДО.
 * properties - сервис, поставляющий тест сообщений, которые показываются пользователю.
 * msgs - файл с текстами сообщений.
 * DB - база данных, в которой хранится текущие переменные ПЭВ: тексты запросов и ответов, файлы запросов и ответов, имена исполнителей, и др.
 BPEL script
 Ядром ПЭВ "ОП" является сценарий BPEL. В процессе своего исполнения, он взаимодействует с веб-сервисами как СЭВ, так и внутренними, которые обеспечивают решение необходимых в контексте исполнения задач. Подробное описание сервисов ES и AS находится в спецификации на СЭВ.
 UI service
 Сервис UI service обеспечивает решение следующих задач:
 - формирование пользовательского интерфейса (веб-форм) для подачи гражданином запроса и выдачи ответа или отказа МЭРТ;
 - сохранение текста и файла запроса в базе данных;
 - предоставление BPEL сценарию URL-ов на веб-формы подачи запроса и ответа(отказа).
 
 public class gui
 
 Методы public String getURL(
  String peiSessionID);
 Результат: URL на веб-форму, в зависимости от стадии, выдает URL на форму ввода запроса, или форму ответа (отказа) на запрос.
 Параметры: peiSessionID - идентификатор сессии
 Так же UI service состоит из набора jsp-страниц:
 * create.jsp - реализует форму для ввода текста и фала запроса и сохраняет их в базе данных.
 * answer.jsp - реализует форму для показа ответа на запрос гражданина.
 * reject.jsp - реализует форму для показа ответа на запрос гражданина.
 
 task
 Сервис task обеспечивает решение следующих задач:
 - получение полной информации о текущей стадии;
 - участие в организации цикла ожидания ввода гражданином запроса;
 - инициирование обращений к удаленному сервису СЭДО с целью передачи запроса и получения статуса исполнения запроса.
 
 public class task
 
 Методы public String getFullInfo(
  String peiSessionID);
 Возвращает информацию о текущей стадии в текстовом виде. Результат передается сервису выполнения среды.
 Параметр: peiSessionID - идентификатор сессии;
 Результат: строка, содержащая полную информацию о данной стадии.
 
 public void isTaskPosted(
  String peiSessionID);
 Учувствует в реализации цикла ожидания ввода запроса пользователем. Вызывается асинхронно.
 Параметр: peiSessionID - идентификатор сессии.
 
 public String postTask(
  String peiSessionID,
  String task_text);
 Инициирует выполнение обращения к удаленному сервису СЭДО. В качестве параметра получает идентификатор сессии и текст запроса.
 Параметры: peiSessionID - идентификатор сессии; task_text - текст запроса.
 Результат: строка, в данной реализации не используется.
 
 public void whatStatusNow(
  String peiSessionID);
 Инициирует запрос к удаленному сервису СЭДО с целью получения статуса выполнения. Вызывается асинхронно.
 Параметр: peiSessionID - идентификатор сессии.
 properties
 Веб-сервис properties, является утилитой, поставляющей текстовую информацию для BPEL процесса, а так же интернационализацию ПЭВ "ОП".
 
 Сервис task обеспечивает решение следующих задач:
 - организация поставки текстовой информации для BPEL процесса.
 
 public class properties
 
 Методы public String getProperty(
  String key);
 По заданному ключу возвращает текст. Как правило BPEL использует полученный текст для записи истории и комментариев в сервис исполнения.
 callback
 Учувствует в получении асинхронных ответов от удаленного веб-сервиса СЭДО.
 
 public class callback
 
 Методы public void getDocumentContentResponse(
  Document_out_files inf);
 Получает асинхронный ответ с содержанием ответа или отказа на запрос гражданина от удаленного веб-сервиса СЭДО.
 Параметр: inf - информация об ответе на запрос гражданина.
 
 public void getDocumentStatusResponse(
  Document_out out);
 Получает асинхронный ответ со статусом выполнения запроса от удаленного веб-сервиса СЭДО.
 Параметр: out - статус выполнения запроса гражданина в СЭДО.
 
 public void processDocumentResponse(
  Document_out out);
 Получает асинхронный ответ с идентификатором запущенного в СЭДО процесса.
 Параметр: out - статус выполнения запроса гражданина в СЭДО, формат тот же, что и у предыдущего метода, но важным является только идентификатор процесса.
 Структура данных DB
 В качестве RDBMS используется Oracle 9i Database 9.2.0.1.
 
 Таблица: MESSAGE_2_PROCESS Описание: маппинг идентификатора сообщения на идентификатор процесса Поле Тип Длина Ненулевое Описание PROCESS_ID VARCHAR2 255 MESSAGE_ID VARCHAR2 255
 Таблица: TABLE PEI_2_FILES Описание: информация о файлах запроса и ответа Поле Тип Длина Ненулевое Описание ID VARCHAR2 255 PEI_ID VARCHAR2 255 NAME VARCHAR2 255 CONTENT CLOB
 Таблица: TASK_2 Описание: текст запроса, текст ответа/отказа, состояние обработки запроса, ответственный исполнитель Поле Тип Длина Ненулевое Описание ID VARCHAR2 255 QUESTION VARCHAR2 255 ANSWER VARCHAR2 255 STATUS VARCHAR2 255 CONDITION VARCHAR2 255 USER_INFO VARCHAR2 255 MAIN_EXECUTER VARCHAR2 255
 Таблица: TASK_SERVICE Описание: корреляционная информация для асинхронных веб-сервисов Поле Тип Длина Ненулевое Описание PEI_ID VARCHAR2 255 NOT NULL REPLY_TO VARCHAR2 255 MESSAGE_ID VARCHAR2 255
 Таблица: USER_2_PEI Описание: информация о гражданине Поле Тип Длина Ненулевое Описание PEI_ID VARCHAR2 255 U_NAME VARCHAR2 255 U_MIDDLENAME VARCHAR2 255 U_SURNAME VARCHAR2 255 ADDRESS VARCHAR2 255 PHONE VARCHAR2 255 FAX VARCHAR2 255 EMAIL VARCHAR2 255
 
 
 Реализация взаимодействия между ПЭВ и СЭДО
 
 Принципы взаимодействия систем в процессе обработки обращения гражданина:
 
 № Действия ПЭВ Действия СЭДО Метод WEB-сервиса СЭДО, параметры на входе и выходе 1. Обращения вводятся пользователем через интерфейс, предоставленный ПЭВ. Получения данных о запросе и запуск процесса обработки документа - исполнение документа. СЭДО в ответ возвращает идентификатор запущенного процесса и его параметры. Операция: ProcessDocument.
 Вход: Тип процесса, данные о запросе
 Выход: Идентификатор процесса, параметры процесса. В случае ошибки - код и описание ошибки. 2. Отслеживание регистрации обращения Чтение статуса процесса и ответ в ПЭВ Операция: GetProcessStstus
 Вход: Идентификатор процесса
 Выход: Состояние процесса, идентификатор и данные о регистрируемом документе (номер, дата регистрации, состояние) 3. Отслеживание процесса исполнения обращения Чтение статуса процесса и ответ в ПЭВ Операция: GetProcessStatus
 Вход: Идентификатор процесса
 Выход: Состояние процесса, идентификатор и данные о регистрируемом документе, данные о его исполнении - текущие исполнители резолюции, данные об исполнении резолюции, состояние исполнения резолюции. 4. Отслеживание ответа Чтение статуса процесса и ответ в ПЭВ Операция: GetDocumentContent
 Вход: Идентификатор процесса
 Выход: Состояние процесса, идентификатор и данные о регистрируемом документе, данные о его исполнении - данные о документе "во исполнении", его регистрационные данные и содержание.
 Ввод обращения гражданином.
 Гражданин является инициатором обращения. Воспользовавшись пользовательским интерфейсом портала, Гражданин инициирует выполнение ПЭВ "Общественная приемная". После получения от гражданина ПЭВ формирует запрос в МЭРТ со следующими параметрами (примерное содержание обращения). Используется операция веб-вервиса СЭДО ProcessDocument:
 Листинг 1
 
  Обращение гражданина
 
 
 


  Имя
  Отчество
  Фамилия
 

Адрес

 

Телефон
  Факс
  E-mail
  Дополнительная информация
 
 
  Обращение гражданина
  Дополнительная информация
 
 
 
  Я, Гражданин Российской Федерации, направляю в Правительство
  Российской Федерации жалобу... Подпись: Иванов Иван
  Иванович.
 

 

 
 Обязательно заполняются:
 - Имя темплейта document_in/template_name (Обращение гражданина)
 - Список отправителей document_in/reg_cart_info/addresse_from (Данные о гражданине)
 - Краткое содержание document_in/reg_cart_info/content (Обращение гражданина)
 - Запрос гражданина document_in/files/file (в виде файла с именем Обращение.txt)
 Информация о Гражданине не специфицирована в схеме WSDL, и представляет собой строку с необходимой разметкой, как показано в Листинг 1.
 На данное сообщение СЭДО отправляет ответ, содержащий идентификатор процесса (Листинг 2), или сообщение об ошибке (Листинг 3).
 Листинг 2
 
 

013ac84a-3759-4f2c-bceb-49f16ce2b4fa
 

1
 
  0
 

 
 
 При этом ключевыми параметрами являются:
 1) Идентификатор процесса: document_out/process/text();
 Листинг 3
    xmlns:xml="http://www.w3.org/XML/1998/namespace">
 
 
 
  Error code
 

 
  Сообщение об ошибке
 

 

 

 

  Отслеживание регистрации обращения.
 После формирования сообщения с обращением гражданина и отправкой его в СЭДО, а так же получением из СЭДО идентификатора процесса, необходимо организовать цикл отслеживания регистрации документа в СЭДО. Используется операция GetDocumentStatus. Форма запроса о состоянии документа показана в Листинг 4.
 Листинг 4
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 
 В ответ, операция СЭДО возвращает следующие данные (Листинг 5), в случае возникновения ошибки, СЭДО возвращает сообщение об ошибке (Листинг 3):
 Листинг 5
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 

1
 
  4
  Дата регистрации
 

 
  Ответственный исполнитель
  Краткое содержание ответа
 

 
 Основными информационными параметрами на данном этапе являются:
 - Идентификатор процесса: document_out/process/text();
 - Состояние процесса: document_out/process_condition/text(), возможные варианты (1:Процесс обработки запущен, 2:Процесс обработки документа завершен, 3:Процесс обработки документа временно приостановлен), указывается кодом;
 - Состояние: document_out/reg_cart_info/condition/text(), возможные варианты (1:Подготавливается, 2:Согласуется, 3:Регистрируется, 4:Исполняется,5:Исполнен), указывается кодом;
 - Примечание: document_out/reg_card_info/note/text(). Содержит информацию о причине отказа.
 - Дата регистрации: document_out/reg_cart_info/reg_card_date.
 - Ответственный исполнитель: document_out/execution_info/main_excecutor/text().
 
 ПЭВ, на основании наличия и значений данных параметров решает, что документ зарегистрирован, и сохраняет данное состояние в DB, после чего BPEL script начинает отслеживать процесс исполнения документа, или сразу перейдет в состояние просмотра отказа.
 
 Отслеживание процесса исполнения обращения
 
 После регистрации документа, ПЭВ инициирует цикл отслеживания процесса исполнения обращения гражданина. Используется операция GetDocumentStatus. Форма запроса о состоянии процесса исполнения документа показана в Листинг 6.
 Листинг 6
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 
 В ответ, операция СЭДО возвращает следующие данные (Листинг 7), в случае возникновения ошибки, СЭДО возвращает сообщение об ошибке (Листинг 3):
 Листинг 7
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 

1
 
  4
  Дата регистрации
 

 
  Ответственный исполнитель
  Краткое содержание ответа
 

 
 Основными информационными параметрами на данном этапе являются:
 - Идентификатор процесса: document_out/process/text();
 - Состояние процесса: document_out/process_condition/text(), возможные варианты (1:Процесс обработки запущен, 2:Процесс обработки документа завершен, 3:Процесс обработки документа временно приостановлен), указывается кодом;
 - Состояние: document/reg_cart_info/condition/text(), возможные варианты (1:Подготавливается, 2:Согласуется, 3:Регистрируется, 4:Исполняется,5:Исполнен), указывается кодом;
 - Ответственный исполнитель: document/execution_info/main_executor/text();
 
 Комментарии: Исполнитель переводит в состояние "Исполнен" - только запрос гражданина, так как исполняются резолюции, наложенные именно на запрос, ответ является Исходящим документом и статуса "Исполнен" не имеет.
 
 ПЭВ, должен анализировать изменения параметра Ответственный исполнитель, и изменять соответствующим образом свое состояние. В случае определения состояния документа = Исполнен, ПЭВ инициирует процедуру получения ответа.
 
 Получение ответа
 
 После изменения статуса документа на Обработан, необходимо прочитать из СЭДО ответ. Вызывается операция GetDocumentContent. Форма запроса на получение ответа аналогична предыдущим запросам и показана на Листинг 8.
 Листинг 8
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 
 В ответ, операция СЭДО возвращает следующие данные (Листинг 9), в случае возникновения ошибки, СЭДО возвращает сообщение об ошибке (Листинг 3):
 Листинг 9
 
 

525b15a6-c1fb-4818-9c9e-bf9c851e510f
 

1
 
  5
 

 
  Ответственный исполнитель
  Краткое содержание ответа
 

 
 
  Я, Гражданин Российской Федерации, направляю в Правительство
  Российской Федерации жалобу... Подпись: Иванов Иван
  Иванович.
 

 

<< Пред.           стр. 11 (из 14)           След. >>

Список литературы по разделу