XML-gränssnitt för nätverkstjänster

XINS
Utvecklare Online Breedband BV
Initial release 2004-11-16
Stabil frisättning 3.1 (22 februari 2013 ; 10 år sedan ( 2013-02-22 ) )
Förhandsgranska release 3.0 beta 2 (9 juni 2012 ( 2012-06-09) ; 10 år sedan )
Förvar
Skrivet i Java
Operativ system Cross-platform
Tillgänglig i engelsk
Typ webbservice
Licens BSD
Hemsida xins.org

XML Interface for Network Services ( XINS ) är en öppen källkodsteknik för definition och implementering av internetapplikationer, som tvingar fram ett specifikationsorienterat tillvägagångssätt.

Specifikationsorienterat förhållningssätt

Det specifikationsorienterade tillvägagångssättet är kärnan i XINS:

  • de första specifikationerna måste skrivas;
  • sedan genereras dokumentation och kod från dessa specifikationer;
  • då kan både testning och implementering börja.

Från specifikationer kan XINS generera:

  • HTML- dokumentation
  • provformulär
  • SOAP- kompatibel WSDL
  • en grundläggande Java- webbapplikation
  • enhetstestkod (i Java)
  • stubbar (i Java)
  • kod på klientsidan (i Java)

Komponenter i XINS-tekniken

Tekniskt sett består XINS av följande:

  • Ett XML -baserat specifikationsformat för projekt, API:er , funktioner, typer och felkoder
  • Ett RPC- protokoll i POX -stil (kallat XINS Standard Calling Convention ), kompatibelt med webbläsare ( HTTP- parametrar in, XML ut).
  • Ett verktyg för att generera läsbar dokumentation utifrån specifikationerna.
  • Ett verktyg för att generera WSDL , från specifikationerna.
  • En Log4J -baserad teknologi för loggning (kallad Logdoc), som erbjuder ett specifikationsformat, internationalisering av loggmeddelanden, generering av HTML-dokumentation och generering av kod.
  • Ett Java- bibliotek för anrop av XINS-funktioner, XINS/Java Client Framework ; i xins-client.jar.
  • En behållare på serversidan för Java-baserade XINS API-implementeringar, XINS/Java Server Framework ; i xins-server.jar. Det här är som en servletbehållare för XINS API:er.
  • Ett Java-bibliotek med vissa gemensamma funktioner, som används av både XINS/Java Client Framework och XINS/Java Server Framework: XINS /Java Common Library , i xins-common.jar.

En inledande handledning som kallas XINS Primer tar läsaren i handen med enkla steg att utföra, med skärmdumpar.

Sedan version 1.3.0 stöder XINS/Java Server Framework inte bara POX-anrop utan även SOAP och XML-RPC . Och det stöder konvertering med XSLT . Från och med version 2.0 stöder den även JSON och JSON-RPC .

XINS är öppen källkod och distribueras under den liberala BSD-licensen .

Specifikationer

Alla XINS-specifikationsfiler är vanlig gammal XML . Jämfört med SOAP / WSDL / UDDI /etc. formatet är extremt enkelt. Det finns specifikationer för projekt, miljölistor, API:er, funktioner, typer och felkoder.

Nedan är ett exempel på en XINS-projektdefinition.

  
   
    
    
  
 <project  name=  "MyProject"  domain=  "com.mycompany"  >  <api  name=  "MyAPI"  >  <impl/>  <environments/>  </api>  </project> 

Här är ett exempel på en specifikation av en miljölista:


    
 <environments>  <environment  id=  "netarray"  url=  "http://xins.users.mcs2.netarray.com/myproject/xins/"  />  </environments> 

Ett exempel på en API-specifikationsfil:

 
  
   
 <api  name=  "MyAPI"  >  <description>  Mitt första XINS API  </description>  <function  name=  "Hej"  />  </api> 

Ett exempel på en funktionsdefinition:

 
  
  
      
      
    
  
  
      
      
    
  
 <function  name=  "Hej"  >  <description>  Hälsar den angivna personen.  </description>  <input>  <param  name=  "name"  required=  "true"  >  <description>  Namnet på personen som ska hälsas.  </description>  </param>  </input>  <output>  <param  name=  "greeting"  required=  "true"  >  <description>  Den konstruerade hälsningen.  </description>  </param>  </output>  </function> 

RPC-protokoll

XINS Standard Calling Convention är ett enkelt HTTP-baserat RPC-protokoll. Indata består av HTTP-parametrar, medan output är ett XML-dokument. Detta tillvägagångssätt gör det kompatibelt med vanliga webbläsare .

Exempel på en begäran:

 http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe [  permanent  död länk  ] 

Exempel på ett lyckat svar:


    
 <result>  <param  name=  "hälsning"  >  Hej John Doe!  </param>  </result> 

Konkurrens

Det finns inga kända produkter som ger en integrerad metod för specifikationsorienterad utveckling, liknande XINS. Det finns dock flera ramverk och bibliotek som tillhandahåller funktionalitet som liknar enskilda delar av XINS, inklusive:

externa länkar