Tutorial: Using XINS to implement web services

Discussions

News: Tutorial: Using XINS to implement web services

  1. XINS is a relatively new approach to web services. It stands for "XML Interface for Network Services," and competes with SOAP. Specifications are all XML-based. From the specs, XINS generates server- and client-side code, test forms and documentation.

    The XINS Primer is a hands-on tutorial that takes the reader by the hand with easy-to-follow steps to perform, with screenshots.

    Summarized, the tutorial takes you through the following steps:

    1. Install Java, Ant and XINS;
    2. Write a specification for a XINS API;
    3. Generate client-side code, HTML documentation, test-forms and a basic implementation, all from the specification;
    4. Generated a WAR file with an empty implementation;
    5. Write a bit of Java code to implement the specification properly;
    6. Generate, run and test the implementation again.

    After installing XINS, this exercise should take no more than 10 minutes.

    Would you consider XINS for implementing web services in your organization?
  2. The downfall of SOAP is twofold: there is the false analogy between the SOAP envelope and an IP header, and there is the fact that the SOAP server has to intercept everything and do content-based routing. XINS appears to be more RESTful: each invocation of each service is a resource. So far, so good.
  3. Note that we are working on making XINS able to receive SOAP and XML-RPC requests. The SOAP support is planned for XINS 1.3.0 and is currently being tested (for example, with Java and with PHP).

    XINS supports a generic CallingConvention mechanism, since release 1.1.0. The default CallingConvention accepts simple parameters via HTTP HEAD, GET or POST.

    Since XINS 1.2.0 there is an XSLTCallingConvention, and you can write and use your own CustomCallingConvention.

    If we need to be more RESTful than we are now, then we could add a new CallingConvention for this. An RFE has been submitted for this, but we first need to do more investigation.