XML-gränssnitt för nätverkstjänster
Utvecklare | Online Breedband BV |
---|---|
Initial release | 2004-11-16 |
Stabil frisättning | 3.1 (22 februari 2013 | )
Förhandsgranska release | 3.0 beta 2 (9 juni 2012 | )
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:
- JWSDP : Samling av olika XML- och SOAP -teknologier för programmeringsspråket Java .
- Apache Axis : Java -baserat ramverk för SOAP-implementationer.
- Codehaus XFire : Idem.
- Hessian Web Service Protocol : Binärt alternativ till XINS Standard Calling Convention.