Jump to content

XML Interface for Network Services

From Alfawiki
Adapted from the English Wikipedia article XML Interface for Network Services, available under CC BY-SA 4.0Updated 9 August 2025
XINS
Company typeOpen-source software framework
IndustryInternet software development
Area served
Internet applications
ProductsSpecification-driven development tools, Java client and server frameworks, logging system
OwnerOnline Breedband B.V.
Websitexins.org

XML Interface for Network Services (XINS) represents an open-source framework created by Online Breedband B.V. designed to define and develop internet applications through a specification-centric methodology.

Specification-oriented approach

XINS follows a process driven primarily by specifications:

  • Begin by drafting detailed specifications;
  • Automatically produce documentation and source code from these documents;
  • Continue with implementation and testing based on the generated materials.

From these detailed specifications, XINS can produce:

  • HTML-formatted documentation
  • interactive test forms
  • SOAP-compatible WSDL files
  • a foundational Java web application
  • unit tests written in Java
  • client-side code and stubs in Java

Components of the XINS technology

The XINS framework comprises several elements:

  • An XML-based schema for specifying projects, APIs, functions, data types, and error codes
  • A POX-style RPC protocol called the "XINS Standard Calling Convention," which supports web browser interaction (HTTP parameters input, XML output)
  • Utilities to create user-friendly documentation and WSDL definitions from the specifications
  • Logdoc, a logging system built on Log4J featuring internationalized messages, HTML documentation generation, and code production
  • The XINS/Java Client Framework (xins-client.jar) designed for invoking XINS functions
  • The XINS/Java Server Framework (xins-server.jar), functioning as a servlet-like container for Java-based XINS API implementations
  • The XINS/Java Common Library (xins-common.jar), utilized by both client and server frameworks

The introductory tutorial, XINS Primer, assists newcomers with setup procedures supported by illustrative screenshots.

Starting with version 1.3.0, the server framework expanded support to include POX, SOAP, and XML-RPC, along with transformations via XSLT. Version 2.0 further introduced compatibility with JSON and JSON-RPC protocols.

XINS is released under the permissive terms of the BSD license.

Specifications

Specification files in XINS employ straightforward Plain Old XML, providing a simpler alternative to complex standards such as SOAP/WSDL/UDDI. These files define projects, environment configurations, APIs, functions, data types, and error codes.

A sample project declaration in XINS:

<syntaxhighlight lang="xml"> <project name="MyProject" domain="com.mycompany">

 <api name="MyAPI">
   <impl/>
   <environments/>
 </api>

</project> </syntaxhighlight>

An example of an environment list specification:

<syntaxhighlight lang="xml"> <environments>

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

</environments> </syntaxhighlight>

Illustration of an API definition:

<syntaxhighlight lang="xml"> <api name="MyAPI">

 <description>My first XINS API</description>
 <function name="Hello"/>

</api> </syntaxhighlight>

Sample function declaration:

<syntaxhighlight lang="xml"> <function name="Hello">

 <description>Greets the indicated person.</description>
 <input>
   <param name="name" required="true">
     <description>The name of the person to be greeted.</description>
   </param>
 </input>
 <output>
   <param name="greeting" required="true">
     <description>The constructed greeting.</description>
   </param>
 </output>

</function> </syntaxhighlight>

RPC protocol

The XINS Standard Calling Convention represents a straightforward RPC protocol built on HTTP. It accepts input through HTTP parameters and delivers output as an XML document, guaranteeing seamless interaction with standard Web browsers.

Sample request:

http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe

Sample successful response:

<syntaxhighlight lang="xml"> <result>

  <param name="greeting">Hello John Doe!</param>

</result> </syntaxhighlight>

Competition

Currently, no products provide a fully integrated specification-driven development methodology like XINS. Other frameworks and libraries tend to specialize in particular areas, such as:

External links