Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel




Скачать 299.52 Kb.
НазваниеМатематико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel
страница1/9
Дата19.12.2012
Размер299.52 Kb.
ТипЗадача
  1   2   3   4   5   6   7   8   9


Санкт-Петербургский государственный университет

Математико-механический факультет


Кафедра системного программирования


Генерация веб-сервисов C#.net
на основе BPEL



Дипломная работа студента 544 группы

Сеппеля Евгения Вальтеровича


Научный руководитель ………………. А.Н. Терехов

д.ф.-м.н., профессор


Рецензент ………………. В.В. Соколов

к.ф.-м.н.


«Допустить к защите»

заведующий кафедрой, ………………. А.Н. Терехов

д.ф.-м.н., профессор


Санкт-Петербург,

2008

Содержание


Содержание 2

Введение 4

Постановка задачи 8

Архитектура решения 9

CASE пакет QReal 9

Требования к объектной модели системы 10

API кодогенераторов и редакторов 12

ZeroC ICE 14

Создание требований к редактору 15

BPEL 16

Соглашения о структуре хранимых в репозитарии данных 20

Реализация кодогенератора 22

Заключение 25

Список сокращений 26

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

Приложение 1: Описание используемого подмножества языка BPEL. 29

Перечисление элементов 29

Контейнеры 31

Язык описания условий 31

Рёбра 32

Переменные и параметры 33

Приложение 2. API кодогенераторов и редакторов 34

Приложение 3. Описание сетевого ICE API 38

Приложение 4. Интерфейсы и классы кодогенератора 41

Приложение 5. Таблица типов данных 43

Введение


Задача кодогенерации веб-сервисов возникла в рамках проекта «К700». «К700» — это проект создания рабочих мест оператора и инженера технического обслуживания для телефонной станции КСН-Ц (Коммутатор Специального Назначения), выполняемый в ГУП «Терком».

Прежде чем переходить непосредственно к постановке задачи кодогенерации, будет приведено краткое описание архитектуры проекта «К700», которая поставила перед разработчиками необходимость автоматической генерации кода.

«К700» — это система с ручным управлением АТС (ручной коммутацией абонентов). Обслуживает примерно 1500 абонентов. Перед разрабатываемой системой ставятся повышенные требования по надёжности. Система разрабатывается с целью облегчения и оптимизации работы оператора и модернизации системы в целом.

В рамках проекта разрабатываются рабочие места для телефонистов и инженеров обслуживания

Проект разрабатывается как веб-решение согласно трёхуровневой модели (клиентская часть, бизнес-логика, база данных) и следует паттерну проектирования MVС (Model View Controller) который подробно описан в [8], [9]

Используемые при разработке программные средства:

  • C#.net на платформе Microsoft.NET 2.0 (реализация бизнес-логики, веб-сервера, роутера),

  • MySQL 5.0 с использованием транзакций, триггеров и хранимых процедур (СУБД),

  • Ajax и XSL-преобразования (клиентская часть)‏

Общую архитектуру системы можно увидеть на рисунке 1. (стрелки указывают направление запросов)

Рисунок 1. Архитектура системы «К700»

Взаимодействие между роутером и бизнес-логикой, бизнес-логикой и веб-сервером осуществляется посредством веб-сервисов [12] по протоколу SOAP.

Взаимодействие базы данных с другими компонентами системы происходит по сетевому протоколу MySQL поверх TCP/IP с использованием MySQL Connector.net.

Взаимодействие с АТС происходит посредством специального протокола, работающего поверх UDP.

Инициаторами возникающих в системе событий могут служить либо операторы/инженеры, либо АТС. События от АТС обрабатываются роутером и через БЛ отображаются в БД, события же от пользователя обрабатываются веб-сервером и через БЛ тоже отображаются в БД. Клиентский интерфейс посредством pooling’а через веб-сервер получает у базы данных текущее состояние интерфейса.

Логика процессов приложения находится в компоненте бизнес-логики. Логика работы с данными реализована в качестве хранимых процедур, триггеров и функций базы данных MySQL 5.

На рисунке 2 можно увидеть типичный интерфейс работающей системы

Рисунок 2. Вид интерфейса системы

Веб-сервисы, работающие по протоколу SOAP, как было сказано выше, реализованы на языке C# платформы Microsoft.NET 2.0. В связи с наличием открытой реализации GNU Mono платформы .NET достигается кроссплатформенность решения.

Каждый веб-сервис — это специальным образом оформленный класс на C#, некоторые public методы которого доступны для вызова по сети. Суть работы каждого веб-сервиса в системе сводится к вызову других веб-сервисов бизнес-логики и роутера, а также вызову хранимых процедур БД с целью записи в БД или чтения информации из неё.

Таким образом, в бизнес-логике сосредоточена вся логика РМО, кроме логики непосредственной работы с данными.

В рамках реализации проекта и взаимодействия с заказчиком НИИ «Красная Заря» выяснилось, что логику приложения приходится часто изменять и переписывать в связи с новыми требованиями заказчика или новым толкованием старых требований. Процесс написания логики на языке высокого уровня — C# — представляется достаточно рутинной и однотипной задачей, не требующей высокой квалификации. Поэтому было принято решение производить автоматическую генерацию C# кода веб-сервисов посредством CASE пакета QReal, разработанного на кафедре системного программирования математико-механического факультета Санкт-Петербургского государственного университета.

Задача же кодогенерации логики работы с данными — хранимых процедур MySQL — рассматривается в дипломной работе [7].


  1   2   3   4   5   6   7   8   9

Похожие:

Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов
Метод подстройки пользовательских приоритетов при поиске по коллекциям изображений 28
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconПетербургский Государственный Университет Математико-Механический Факультет Кафедра Системного Программирования
Сравнение различных методов хранения xml в реляционных базах данных и в разных системах
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования Поддержка структурных изменений в процессах загрузки данных
Исследование необходимости поддержки структурных изменений в источниках данных 35
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования «Мультиагентные платформы и их применение в сетевых задачах»
Мас концентрируют все необходимые для таких технологий свойства с наибольшей выразительностью и полнотой. Результаты внедрения агентных...
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования Разработка системы сравнения производительности субд
Существует большое количество разнообразных субд (Система управления базами данных), предназначенных для разных задач, однако обычно...
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования Разработка jre на ecma cli
Виртуальная машина, включая сборщик мусора и jit компилятор, является наиболее крупным монолитным компонентом среды управляемого...
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет Кафедра системного программирования Создание режима быстрого прототипирования в case-системе qreal
Использование различных видов диаграмм и сущностей позволяет пользователям наглядно и подробно описать необходимые модули и поведение...
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconКурс «Обзор перспективных технологий Microsoft. Net» Губанов Ю. А., математико-механический факультет спбгу курс "Обзор перспективных технологий Microsoft. Net"
Зачем нужно распределенное исполнение, какова его славная история и зачем вообще нужна wcf. Мы рассмотрим предшествующие и существующие...
Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет

Математико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel iconМатематико-механический факультет

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница