- XML Interface for Network Services
Infobox Software
name = XINS
caption =
developer =Orange Nederland Breedband B.V.
released = ?
frequently_updated = yes
programming language = ?
operating system =Cross-platform
language = ?
genre =Web services
license = BSD
website = [http://www.xins.org/ xins.org]XML Interface for Network Services (XINS) is an
open source technology for definition and implementation of internet applications, which enforces a specification-oriented approach.pecification-oriented approach
The specification-oriented approach is at the heart of XINS:
* first specifications need to be written;
* then documentation and code is generated from these specifications;
* then both testing and implementation can start.From specifications, XINS is able to generate:
*HTML documentation
* test forms
*SOAP -compliant WSDL
* a basic Java web application
* unit test code (in Java)
* stubs (in Java)
* client-side code (in Java)Components of the XINS technology
Technically, XINS is composed of the following:
* AnXML -based specification format for projects, APIs, functions, types and error codes
* A POX-style RPC protocol (called the "XINS Standard Calling Convention"), compatible with web browsers (HTTP parameters in,XML out).
* A tool for generating human-readable documentation, from the specifications.
* A tool for generating WSDL, from the specifications.
* ALog4J -based technology for logging (called Logdoc), offering a specification format, internationalization of log messages, generation of HTML documentation and generation of code.
* A Java library for calling XINS functions, "the XINS/Java Client Framework"; in xins-client.jar.
* A server-side container for Java-based XINS API implementations, the "XINS/Java Server Framework"; in xins-server.jar. This is like aservlet container for XINS APIs.
* A Java library with some common functionality, used by both the XINS/Java Client Framework and the XINS/Java Server Framework: the "XINS/Java Common Library", in xins-common.jar.An introductory tutorial called the [http://xins.sourceforge.net/primers/primer.html XINS Primer] takes the reader by the hand with easy-to-follow steps to perform, with screenshots.
Since version 1.3.0, the XINS/Java Server Framework supports not only POX-style calls, but also
SOAP andXML-RPC . And it supports conversion using XSLT. As of version 2.0, it also supportsJSON andJSON-RPC .XINS is open-source and is distributed under the liberal
BSD license .pecifications
All XINS specification files are plain old XML. Compared to
SOAP /WSDL/UDDI /etc. the format is extremely simple. There are specifications for projects, environment lists, APIs, functions, types and error codes.Below is an example of a XINS project definition.
Here is an example of a specification of an environment list:
An example of an API specification file:
My first XINS API An example of a function definition:
Greets the indicated person. The name of the person to be greeted. RPC protocol
The "XINS Standard Calling Convention" is a simple HTTP-based RPC protocol. Input consists of HTTP parameters, while output is an XML document. This approach makes it compatible with plain
Web browsers .Example of a request:
http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe
Example of a successful response:
Hello John Doe! Competition
There are no known products that provide an integrated approach to specification-oriented development, similar to XINS. However, there are several frameworks and libraries that provide functionality similar to individual parts of XINS, including:
*
JWSDP : Collection of variousXML andSOAP technologies for the Java programming language.
*Apache Axis : Java-based framework for SOAP implementations.
*Codehaus XFire : Idem.
*Hessian Web Service Protocol : Binary alternative to the XINS Standard Calling Convention.External links
* [http://xins.sourceforge.net/ XINS website]
* [http://xins.sourceforge.net/faq.html Frequently Asked Questions]
Wikimedia Foundation. 2010.