XINS is a technology used to define, create and invoke remote APIs. XINS is specification-oriented. When API specifications are written (in XML), XINS will transform them to HTML-based documentation and Java code for both the client- and the server-side. The communication is based on HTTP.
XINS competes with the overcomplex SOAP technology. Main design goals include simplicity, scalability and testability.
XINS is not only a specification technology, but also an application development framework. It offers transaction logging, unique log documentation and active code generation.
In a nutshell: SOA + Java + XML + code_generation - complexity => XINS
The goal is to ease JavaScript development by building a library of reusable modules and components and enhancing JavaScript with simpler Class and Module handling mechanisms.
Include modules:
Apache XML-RPC is a Java implementation of XML-RPC, a popular protocol that uses XML over HTTP to implement remote procedure calls.
Apache XML-RPC was previously known as Helma XML-RPC. If you have code using the Helma library, all you should have to do is change the import statements in your code from helma.xmlrpc.* to org.apache.xmlrpc.*.
It's a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet.
It's remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.
What DWR does for you:
Turbine is a servlet based framework that allows experienced Java developers to quickly build web applications.
Turbine allows you to use personalize the web sites and to use user logins to restrict access to parts of your
application.
Turbine is a matured and well established framework that is used as the base of many other projects (like e.g.
the excellent Jetspeed 1 Portals framework.
Turbine is an excellent choice for developing applications that make use of a services-oriented architecture. Some
of the functionality provided with Turbine includes a security management system, a scheduling service, XML-defined
form validation server, and an XML-RPC service for web services. It is a simple task to create new services particular
to your application.
Echo2 is the next-generation of the Echo Web Framework, a platform for developing web-based applications that approach the capabilities of rich clients. The 2.0 version holds true to the core concepts of Echo while providing dramatic performance, capability, and user-experience enhancements made possible by its new Ajax-based rendering engine.
Web services are Web-based enterprise applications that use open, XML-based standards and transport protocols to exchange data with calling clients. Java 2 Platform, Enterprise Edition (J2EE) provides the APIs and tools you need to create and deploy interoperable Web services and clients.
Java Technology and Web Services is organized into these subcategories:
JSON-RPC-Java is a key piece of Java web application middleware that allows JavaScript DHTML web applications to call remote methods in a Java Application Server (remote scripting) without the need for page reloading (as is the case with the vast majority of current web applications). It enables a new breed of fast and highly dynamic enterprise Java web applications (using similar techniques to Gmail and Google Suggests).
Explanation of standard formats and protocols:
Mozilla's XMLHttpRequest is modelled after Microsoft's IXMLHttpRequest object.
The goal has been to make Mozilla's version match Microsoft's version as closely as possible, but there are bound
to be some differences.
Provides client-side protocol support for communication with HTTP servers.
The goals of the Apache XML Project (part of The Apache Software Foundation) are:
:: getting information from the server without refreshing the page
When traditional web applications exchange data with the server, the current page is replaced, causing a redraw
of the display and disruption of application flow. Many applications are forced to be drawn out along a series
of wizard steps rather than dealt with on a single form.
While SOAP, XML-RPC, Web Services and .NET are all designed to deal with these issues and others, there still remain
many sites who wish to support a wide range of browsers while providing remote procedure call functionality.
Microsoft's Remote Scripting (MSRS) solves this problem by embedding a Java
applet in the page to communicate with the server. It provides synchronous and asynchronous remote procedure calls,
and works with Netscape 4.x and IE 4+ only on Windows platforms. Because it requires Java, it only works with Windows
XP if the optional JVM is loaded. It is designed to work with IIS/ASP on the server side. MSRS is in wide use,
mostly on corporate intranets where the client base is predictable. Microsoft has made MSRS freely available.
Javascript Remote Scripting (JSRS) is a client-side javascript library which
uses Dynamic HTML elements to make hidden remote procedure calls to the server. It only works asynchronously, but
is known to work on Win9x, WinNT/2000, WinXP, Unix/Linux/BSD, and Mac with IE4+, NS4.x, NS6.x, Mozilla, Opera7
and Galeon. There are server-side implementations for ASP, ColdFusion, PerlCGI, PHP,Python, and JSP(servlet). JSRS
is in production use on intranet and public sites in Canada, the US, South America, Australia, Europe, and the
Middle East. JSRS is free of charge and its source is open and freely available.
RSLite is an extremely lightweight implementation of remote scripting which
uses cookies. It is very widely browser-compatible (Opera!) but limited to single calls and small amounts of data.
It is also free.
From the draft W3C specification:
SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.
This project is a follow-on to the Apache SOAP project.
Please see the Reference Library for a list of technical resources that should prove useful.
For Axis 1.2, we are focusing on our document/literal support to better address the WS-I Basic Profile 1.0 and JAX-RPC 1.1 specifications. And we are fixing as many bug as possible.
http://developer.apple.com/internet/webcontent/xmlhttpreq.html
http://www.adaptivepath.com/publications/essays/archives/000385.php
http://raibledesigns.com/page/rd?anchor=using_dwr_with_spring_and
For those of you that get bored quickly, [t]here's a movie (QuickTime) of the app's Ajax features.


