Interfejs XML dla usług sieciowych
Deweloperzy | Online Breedband BV |
---|---|
Pierwsze wydanie | 16.11.2004 |
Wersja stabilna | 3.1 (22 lutego 2013 | )
Wersja podglądu | 3.0 beta 2 (9 czerwca 2012 | )
Magazyn | |
Napisane w | Jawa |
System operacyjny | Międzyplatformowe |
Dostępne w | język angielski |
Typ | usługi internetowe |
Licencja | BSD |
Strona internetowa | xins.org |
XML Interface for Network Services ( XINS ) to technologia typu open source do definiowania i wdrażania aplikacji internetowych, która wymusza podejście zorientowane na specyfikację.
Podejście zorientowane na specyfikację
Podejście zorientowane na specyfikację leży u podstaw XINS:
- należy napisać pierwszą specyfikację;
- następnie na podstawie tych specyfikacji generowana jest dokumentacja i kod;
- wtedy można rozpocząć zarówno testowanie, jak i wdrażanie.
Na podstawie specyfikacji XINS jest w stanie wygenerować:
- Dokumentacja HTML
- formularze testowe
- WSDL zgodny z SOAP
- podstawowa aplikacja internetowa Java
- kod testu jednostkowego (w Javie)
- kody pośredniczące (w Javie)
- kod po stronie klienta (w Javie)
Komponenty technologii XINS
Technicznie XINS składa się z następujących elementów:
- XML format specyfikacji dla projektów, interfejsów API , funkcji, typów i kodów błędów
- Protokół RPC w stylu POX (nazywany XINS Standard Calling Convention ), kompatybilny z przeglądarkami internetowymi ( parametry HTTP na wejściu, XML na wyjściu).
- Narzędzie do generowania czytelnej dla człowieka dokumentacji na podstawie specyfikacji.
- Narzędzie do generowania WSDL na podstawie specyfikacji.
- Technologia logowania oparta na Log4J (zwana Logdoc), oferująca format specyfikacji, internacjonalizację komunikatów dziennika, generowanie dokumentacji HTML i generowanie kodu.
- Biblioteka Java do wywoływania funkcji XINS, XINS/Java Client Framework ; w xins-client.jar.
- Kontener po stronie serwera dla implementacji API XINS opartych na Javie, XINS/Java Server Framework ; w xins-server.jar. To jest jak kontener serwletów dla interfejsów API XINS.
- Biblioteka Java z pewną wspólną funkcjonalnością, używana zarówno przez XINS/Java Client Framework, jak i XINS/Java Server Framework: XINS /Java Common Library , w xins-common.jar.
Samouczek wprowadzający o nazwie XINS Primer prowadzi czytelnika za rękę, przedstawiając łatwe do wykonania kroki i zrzuty ekranu.
Od wersji 1.3.0 XINS/Java Server Framework obsługuje nie tylko wywołania w stylu POX, ale także SOAP i XML-RPC . I obsługuje konwersję przy użyciu XSLT . Od wersji 2.0 obsługuje również JSON i JSON-RPC .
XINS jest open source i jest rozpowszechniany na liberalnej licencji BSD .
Specyfikacje
Wszystkie pliki specyfikacji XINS to Plain Old XML . W porównaniu do SOAP / WSDL / UDDI / itp. format jest niezwykle prosty. Istnieją specyfikacje projektów, listy środowisk, interfejsy API, funkcje, typy i kody błędów.
Poniżej znajduje się przykład definicji projektu XINS.
<project name= "MyProject" domain= "com.mycompany" > <api name= "MyAPI" > <impl/> <environments/> </api> </project>
Oto przykład specyfikacji listy środowisk:
<środowiska> < identyfikator środowiska = "netarray" url = "http://xins.users.mcs2.netarray.com/myproject/xins/" /> < /środowiska>
Przykład pliku specyfikacji API:
<api name= "MyAPI" > <description> Moje pierwsze API XINS </description> <function name= "Hello" /> </api>
Przykład definicji funkcji:
< nazwa funkcji= "Witaj" > <opis> Pozdrawia wskazaną osobę. </description> <input> <param name= "name" wymagane= "true" > <description> Imię osoby do powitania. </description> </param> </input> <output> <param name= "pozdrowienia" wymagane= "true" >
<opis> Konstruowane powitanie. </description> </param> </wyjście> </funkcja>
protokół RPC
XINS Standard Calling Convention to prosty protokół RPC oparty na protokole HTTP. Wejście składa się z parametrów HTTP, podczas gdy dane wyjściowe to dokument XML. Takie podejście sprawia, że jest kompatybilny ze zwykłymi przeglądarkami internetowymi .
Przykład żądania:
http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe [ stały martwy link ]
Przykład pomyślnej odpowiedzi:
<wynik> <param name= "greeting" > Witaj John Doe! </param> </wynik>
Konkurs
Nie są znane żadne produkty, które zapewniałyby zintegrowane podejście do programowania zorientowanego na specyfikację, podobne do XINS. Istnieje jednak kilka frameworków i bibliotek, które zapewniają funkcjonalność podobną do poszczególnych części XINS, w tym:
- JWSDP : Zbiór różnych technologii XML i SOAP dla języka programowania Java .
- Apache Axis : oparty na Javie framework do implementacji protokołu SOAP.
- Codehaus XFire : Idem.
- Hessian Web Service Protocol : Binarna alternatywa dla standardowej konwencji wywoływania XINS.