HOME

TheInfoList



OR:

XML Interface for Network Services (XINS) is an open-source technology for definition and implementation of internet applications, which enforces a specification-oriented approach.


Specification-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 The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaSc ...
documentation * test forms *
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
-compliant
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
* a basic
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
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: * An
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
-based specification format for projects,
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s, functions, types and error codes * A POX-style RPC protocol (called the ''XINS Standard Calling Convention''), compatible with web browsers (
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
parameters in,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
out). * A tool for generating human-readable documentation, from the specifications. * A tool for generating
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
, from the specifications. * A
Log4J Apache Log4j is a Java-based logging utility originally written by Ceki Gülcü. It is part of the Apache Logging Services, a project of the Apache Software Foundation. Log4j is one of several Java logging frameworks. Gülcü has since c ...
-based technology for logging (called Logdoc), offering a specification format, internationalization of log messages, generation of HTML documentation and generation of code. * A
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
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 a
servlet container A web container (also known as a servlet container; and compare "webcontainer" ) is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a pa ...
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 th
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 Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
and
XML-RPC XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Edit ...
. And it supports conversion using XSLT. As of version 2.0, it also supports JSON and
JSON-RPC JSON-RPC is a remote procedure call protocol encoded in JSON. It is similar to the XML-RPC protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data sent to the server that does not require a response) and for m ...
. XINS is open-source and is distributed under the liberal
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
.


Specifications

All XINS specification files are
Plain Old XML Plain Old XML (POX) is the basic XML, sometimes mixed in with other, blendable specifications like XML Namespaces, Dublin Core, XInclude and XLink. This contrasts with complicated, multilayered XML specifications like those for web services or ...
. Compared to
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
/
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
/
UDDI Web Services Discovery provides access to software systems over the Internet using standard protocols. In the most basic scenario there is a ''Web Service Provider'' that publishes a service and a ''Web Service Consumer'' that uses this service. ...
/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. The constructed greeting.


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 A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
. Example of a request: http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe{{dead link, date=July 2016 , bot=InternetArchiveBot , fix-attempted=yes 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 The Java Web Services Development Pack (JWSDP) is a free software development kit (SDK) for developing Web Services, Web applications and Java applications with the newest technologies for Java. Oracle replaced JWSDP with GlassFish. All component ...
: Collection of various
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
and
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
technologies for the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywh ...
. *
Apache Axis Apache Axis (Apache eXtensible Interaction System) is an open-source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service app ...
:
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
-based framework for SOAP implementations. *
Codehaus XFire Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus in 2006. These two projects were combin ...
: Idem. *
Hessian Web Service Protocol Hessian is a binary Web service protocol that makes Web services usable without requiring a large framework, and without learning a new set of protocols . Because it is a binary protocol, it is well-suited to sending binary data without any need ...
: Binary alternative to the XINS Standard Calling Convention.


External links


XINS website
Internet protocols Java (programming language) libraries XML-based standards Web services Web service specifications