Автоматическая генерация каркасов клиентских приложений для систем с сервисно-ориентированной

advertisement
Санкт-Петербургский Государственный Университет
Математико-Механический Факультет
Кафедра Системного Программирования
Автоматическая генерация
каркасов клиентских
приложений для систем с
сервисно-ориентированной
архитектурой
Дипломная работа студента 545 группы
Аязяна Арама Арменовича
Научный руководитель
Н.И. Артамонов
Рецензент
Д.Г. Глиненко
Санкт-Петербург
2007 год
Введение

Новый виток в развитии технологии
программирования – переход на Webплатформу
 SOA
и стек Web-служб
UDDI
 WSDL
 SOAP, REST

 AJAX
– Asynchronous Javascript And XML
Предпосылки

Значительные различия в реализации
Web-служб

Неприспособленность языка Javascript
для создания сложных приложений

Производственная необходимость
Постановка задачи
Изучить различия спецификаций WSDL
 Изучить существующие
инструментальные средства для
кодогенерации по WSDL
 Создать генератор программного кода
для языка Javascript

Требования к решению

Простота добавления поддержки новых
версий спецификации WSDL

Поддержка сложных типов данных

Полученный программный код должен быть:
 Структурированным
 Кросс-браузерным
 Удобным для адаптации
в различных проектах,
основанных на разных Javascript библиотеках
Предлагаемое решение

Использует язык программирования
Ruby

Основывается на стандартной
библиотеке WSDL4R

Использует шаблоны ERB
Иллюстрация процесса кодогенерации
Объектное
представление
WSDL 1.1
Парсер
WSDL 1.1
(WSDL4R)
Объектное
представление
WSDL 2.0
Обобщенное объектное
представление WSDL
Парсер
WSDL 2.0
Генератор
программного
кода
Шаблоны
ERB
Документ
WSDL 1.1
Документ
WSDL 2.0
Программный код на Javascript
Пример использования
“search service?”
UDDI реестр
Google.wsdl
Генератор Javascript по WSDL
GoogleProxy.prototype.search_ch
var gp = new GoogleProxy();
Google.js
= function (/*SearchResult[]*/ sr) {
gp.search(page, query, parm);
alert(sr.toString());
Браузер
}
SOAP
SOAP
Web-служба Google
Результаты
Проведен анализ различий
спецификаций WSDL
 Изучены существующие
инструментальные средства для
кодогенерации по WSDL
 Успешно создан генератор
программного кода для языка Javascript

Download