Показаны сообщения с ярлыком WSDL. Показать все сообщения
Показаны сообщения с ярлыком WSDL. Показать все сообщения

Как мы документируем программные интерфейсы


Как визуализировать модель данных WSDL

Вариант 1. Eclipse + hyperModel

1) Установить plug-in для Eclipse.
2) Далее импортировать XSD документ.
3) После генерации UML документа открыть его.
4) ПКМ на schema и выбрать Open With - Class Dynagram

Вариант 2. XML Schema to Graphviz + graphviz

Пример:

Сначала нужно скачать XML Schema to Graphviz

Потом установить пакет для визуализации данных graphviz:

$ brew install graphviz
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/graphviz-2.
######################################################################## 100,0%
==> Pouring graphviz-2.38.0.mountain_lion.bottle.tar.gz
🍺  /usr/local/Cellar/graphviz/2.38.0: 469 files, 69M

Далее нужно извлечь XSD из WSDL, это можно сделать с помощью Altova XMLSpy 2011:
1) WSDL - Types - Edit Schema(s) in Shema View
2) ПКМ - Save as...

И наконец визуализировать схему:
$ cd ~/Downloads/xmlschematograph-commandline
$ java -jar XmlSchemaToGraph.jar -o output.dot file:/Users/Devtype/Downloads/schema.xsd 
$ dot -Tpng output.dot > output.png

Вариант 3. xsdvi

Пример: http://xsdvi.sourceforge.net/ipo.svg

Скачать xsdvi

java -jar ~/Downloads/xsdvi/dist/lib/xsdvi.jar schema.xsd


Веб-сервисы в Java

Веб-сервис - это приложение предоставляющее функционал клиенту. Клиентами могут быть как обычные веб-браузеры так и стандартные приложения. Связь между клиентом и сервисом устанавливается посредством стандартных протоколов, которые обеспечивают подключение к endpoint-ам сервисов. Endpoint - это специальный адрес, используемые для того чтобы получить  доступ к веб-сервису.
С точки зрения Java веб-сервисы можно разделить на две категории:
  1. Java API for XML Web Services (JAX-WS) - основаны на XML и Simple Object Access Protocol (SOAP). Возможности сервиса публикуются на Web Services Description Language (WSDL). Поддерживаются типы сервисов на основе сообщений и на основе RPC. Этот подход более сложный чем следующий, но он окупается поддержкой транзакций и обеспечением большей безопасности. 
  2. JAX-RS - Representational State Transfer или RESTful веб-сервисы. Этот подход применим для простых приложений не предъявляющих высоких требований. Отлично подходит для stateless-сервисов без фиксации состояния (служба в которой содержатся данные только для чтения; антоним statefull service). Можно наладить кэширование для достижения высокой производительности.