Interfejs XML dla usług sieciowych

XINS
Deweloperzy Online Breedband BV
Pierwsze wydanie 16.11.2004
Wersja stabilna 3.1 (22 lutego 2013 ; 10 lat temu ( 22.02.2013 ) )
Wersja podglądu 3.0 beta 2 (9 czerwca 2012 ; 10 lat temu ( 09.06.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:

Linki zewnętrzne