Version 33 (modified by lauer, 17 years ago) (diff) |
---|
Using XML-RPC the easy way ... The logo has been designed by Dominik Heim |
XML-RPC Delight is meant for: All users that want to have their java components connected using a web-based protocol but don't want to waste time with defining the interfaces a second time in another language-independend description format and then generate stubs and skeletons and so on.
XML-RPC Delight is an addon to the XML-RPC specification (http://www.xmlrpc.com/spec) and builds on apache's implementation (http://ws.apache.org/xmlrpc/), version 1.1 (Download here).
Design Objectives
- have java components interact over internet wire with a minimum of programming and configuration effort
- preserve XML-RPC compliance
- make EVERY type XML-RPC transportable with minimal coding effort (ideally, not a single line of extra code!)
- do not interfere with design of remote interfaces. Within the remote calls, one should be able to use any type or interface he wants.
- neither the client nor the server has to be forced to load configuration files or register factories programmatically in order to use non XML-RPC compliant types in remote calls.
Overview
XML-RPC Delight creates remote clients to java APIs that are supposed to be used remotely. XML-RPC Delight does this at runtime, not at compile time!
In case the API uses types which are not XML-RPC compliant, java annotations and user-defined conversion methods allow for automatic transformation of types to and from a XML-RPC compliant representation. Optimally, one can use non-compliant java classes in XML-RPC calls without having to code a single line of code!!
While all the automatic conversion is done, communication with the server is still XML-RPC compliant so that remote methods can still be called by non-java languages.
How does it Work?
Examples
Getting started -- Using XML-RPC compliant types in your API
Using own concrete types in your API
Using interface or abstract types in your API
Using third party types in your API -- When you cannot annotate or modify classes you want to use remotely ...
For lazy programmers: using XmlRpcBeans -- Own types without conversion coding ...
Author
This library was developed by Andreas Lauer. It is used in several projects of the DFKI's Knowledge Management Lab including Mymory and Nepomuk.
License
The library is published under LGPL.
Download
Latest Version (2.1): http://delight.opendfki.de/repos/trunk/XmlRpcDelight/dist/XmlRpcDelight-2.1_29.11.2007.zip
Changes
- support for sets added
- new automatic null-value masking feature: XmlRpc.useAutomaticNullMasking( true ) enables the feature
values for all standard XML-RPC types (except BASE64), arrays and Convertable parameters can now be null-values. XmlRpcBeans can have null-valued properties. ParameterConverters can handle null-values separately, but also can rely on the new masking feature.
- Note: this version is java 1.5 compliant
Older Versions:
v 2.0: http://delight.opendfki.de/repos/trunk/XmlRpcDelight/dist/XmlRpcDelight-2.0_22.05.2007.zip
Changes
- Contains annotation not needed anymore
- Array support added (also supported: primitive type arrays)
- Nested parameters and return types for collections, maps and arrays possible
- 'null'-parameters can be used together with ParameterConverters
- Better logging support
v 1.0: https://delight.opendfki.de/repos/trunk/XmlRpcDelight/dist/XmlRpcDelight-1.0_17.11.2006.zip
Repository
A subversion repository is setup at https://delight.opendfki.de/repos/. Use the repository to checkout the latest version of XML-RPC Delight.
Documentation
http://delight.opendfki.de/repos/trunk/XmlRpcDelight/apidoc/index.html
Also see some slides on XML-RPC Delight (for version 1.0) available in ppt or pdf format.
Attachments (1)
-
xml-rpc_delight_logo_v_5_1.png
(64.5 KB) -
added by lauer 18 years ago.
XML-RPC Delight Logo
Download all attachments as: .zip