XML-интерфейс для сетевых служб
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Online Breedband B.V. |
---|---|
Первоначальный выпуск | 11/16/2004 |
Стабильная версия | 3.1 (22 февраля 2013 г [±] | )
Предварительный выпуск | 3.0 beta 2 (9 июня 2012 г [±] | )
Репозиторий | |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Доступно в | Английский |
Тип | Веб-сервисы |
Лицензия | БСД |
Веб-сайт | xins.org |
XML-интерфейс для сетевых служб ( XINS ) — это технология с открытым исходным кодом для определения и реализации интернет-приложений, которая обеспечивает подход, ориентированный на спецификации.
Спецификационно-ориентированный подход
[ редактировать ]Подход, ориентированный на спецификации, лежит в основе XINS:
- необходимо написать первые спецификации;
- затем на основе этих спецификаций генерируется документация и код;
- тогда можно будет начать как тестирование, так и внедрение.
На основе спецификаций XINS может генерировать:
- HTML- документация
- тестовые формы
- SOAP -совместимый WSDL
- базовое Java веб-приложение
- код модульного теста (на Java)
- заглушки (на Java)
- клиентский код (на Java)
Компоненты технологии XINS
[ редактировать ]Технически XINS состоит из следующего:
- Формат спецификации на основе XML для проектов, API , функций, типов и кодов ошибок.
- Протокол POX в стиле RPC (называемый стандартным соглашением о вызовах XINS ), совместимый с веб-браузерами ( HTTP входящие параметры , выходные данные XML ).
- Инструмент для создания удобочитаемой документации на основе спецификаций.
- Инструмент для генерации WSDL , из спецификаций.
- Технология ведения журналов на основе Log4J (называемая Logdoc), предлагающая формат спецификации, интернационализацию сообщений журнала, генерацию HTML-документации и генерацию кода.
- Библиотека Java для вызова функций XINS, XINS/Java Client Framework ; в xins-client.jar.
- Серверный контейнер для реализаций API XINS на основе Java, XINS/Java Server Framework ; в xins-server.jar. Это похоже на контейнер сервлетов для API XINS.
- Библиотека Java с некоторыми общими функциями, используемая как XINS/Java Client Framework, так и XINS/Java Server Framework: Общая библиотека XINS/Java в xins-common.jar.
Вводное руководство под названием XINS Primer предлагает читателю простые для выполнения шаги и снимки экрана.
Начиная с версии 1.3.0, XINS/Java Server Framework поддерживает не только вызовы в стиле POX, но также SOAP и XML-RPC . И он поддерживает преобразование с использованием XSLT . Начиная с версии 2.0, он также поддерживает JSON и JSON-RPC .
XINS имеет открытый исходный код и распространяется по либеральной лицензии BSD .
Технические характеристики
[ редактировать ]Все файлы спецификаций XINS представляют собой обычный старый XML . По сравнению с SOAP / WSDL / UDDI /и т.д. формат чрезвычайно прост. Существуют спецификации проектов, списки сред, API, функции, типы и коды ошибок.
Ниже приведен пример определения проекта XINS.
<project name="MyProject" domain="com.mycompany">
<api name="MyAPI">
<impl/>
<environments/>
</api>
</project>
Вот пример спецификации списка окружения:
<environments>
<environment id="netarray" url="http://xins.users.mcs2.netarray.com/myproject/xins/"/>
</environments>
Пример файла спецификации API:
<api name="MyAPI">
<description>My first XINS API</description>
<function name="Hello"/>
</api>
Пример определения функции:
<function name="Hello">
<description>Greets the indicated person.</description>
<input>
<param name="name" required="true">
<description>The name of the person to be greeted.</description>
</param>
</input>
<output>
<param name="greeting" required="true">
<description>The constructed greeting.</description>
</param>
</output>
</function>
протокол RPC
[ редактировать ]Стандартное соглашение о вызовах XINS — это простой протокол RPC на основе HTTP. Входные данные состоят из параметров HTTP, а выходные данные представляют собой XML-документ. Такой подход делает его совместимым с обычными веб-браузерами .
Пример запроса:
http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe[permanent dead link]
Пример успешного ответа:
<result>
<param name="greeting">Hello John Doe!</param>
</result>
Соревнование
[ редактировать ]Не существует известных продуктов, обеспечивающих интегрированный подход к разработке, ориентированной на спецификации, подобно XINS. Однако существует несколько фреймворков и библиотек, которые предоставляют функциональность, аналогичную отдельным частям XINS, в том числе:
- JWSDP : Коллекция различных технологий XML и SOAP для языка программирования Java .
- Apache Axis : платформа на основе Java для реализаций SOAP.
- Codehaus XFire : То же.
- Гессенский протокол веб-службы : двоичная альтернатива стандартному соглашению о вызовах XINS.