XMLRPC Framework A framework implementing XML-RPC in Objective-C. |
||||||||||
Abstract | ||||||||||
Mulle XMLRPC is a client/server implementation of
the XML-RPC specification. In short, XML-RPC is a protocol for
doing remote procedure calls on top of XML via HTTP. As such, XML-RPC does not depend on a specific
programming language and in fact there are a lot of implementations for different languages. This
implementation is written in Objective-C and fills that gap. The Mulle XMLRPC framework consists of a bunch of classes involved in managing the protocol aspects such as XML parsing/creating and transporting. As a user of the framework, you usually get in touch with a few classes and two Objective-C protocols only. Although the framework itself provides enough abstraction to make several things like the transport layer exchangeable, most of its classes make use of objects/categories from EDCommon and EDMessage frameworks. |
||||||||||
What you get ... | ||||||||||
Before going into too much detail now, let's make clear who it is this framework is made
for.
|
||||||||||
News | ||||||||||
|
||||||||||
Availability | ||||||||||
The sourcecode to XMLRPC is available via
CVS only. Although considered to be stable now, there are currently no specific releases of the XMLRPC framework at present. Mulle XMLRPC does have a developer base now, so there's probably need for specific releases in the near future
Please note that in order to compile the source code, you also need to get the latest copies of the EDCommon and EDInternet frameworks. At the time of this writing, EDCommon v32 and EDMessage v16 were ok. IMPORTANT: Because we use wrappers in our projects, you may need to install a special version of CVS on your machine in order to check out our projects correctly. Make sure you read our CVS pages which explain all steps necessary. So, in order to check out the project, do the following:
Then
you'll have to build EDCommon, EDMessage and XMLRPC in that order.PROBLEMS: If you have trouble building any of the above projects, make sure you read our techinfo on a bug in PBX and how to circumvent that bug. |
||||||||||
Mailing lists | ||||||||||
There's a mailinglist now which is open for discussion, announcements and what not circled around Mulle XMLRPC. The mailing list's address is xmlrpc-dev@mulle-kybernetik.com. Subscriptions go to xmlrpc-dev-subscribe@mulle-kybernetik.com. Help regarding the list management can be found at xmlrpc-dev-help@mulle-kybernetik.com. | ||||||||||
License | ||||||||||
Permission to use, copy, modify and distribute this software and its documentation is hereby granted under the terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software Foundation, provided that both the copyright notice and this permission notice appear in all copies of the software, derivative works or modified versions, and any portions thereof, and that both notices appear in supporting documentation, and that credit is given to Marcus Müller in all documents and publicity pertaining to direct or indirect use of this code or its derivatives. | ||||||||||
Credits | ||||||||||
Thanks must go to Erik Dörnenburg <erik@mulle-kybernetik.com> for contributing his excellent EDCommon and EDMessage frameworks to the public domain. Also, Erik's just a cool guy! And also, many thanks go to Helge Hess <helge@skyrix.com> for also being a cool guy ;-) and for having nice ideas - and especially for letting me know that such a thing as the XML-RPC protocol exists - it's really been a great time saver. | ||||||||||
Some project details | ||||||||||
This framework was written by
Marcus Müller
<znek@mulle-kybernetik.com>,
so make sure all your fanmail and other useful junk goes there ;-) The initial version took 2 1/2 days to complete and was roughly 90% of what you see now. The remaining 10% took about 1 week to implement. In the meantime Mulle XMLRPC got integrated into another Mulle project dubbed "BigBrother" which provided a good basis for refining the API in the places where it wasn't as good as I thought in the first place. There's still some space for improvements, especially in the coder objects. These offer some interesting opportunities as can be read in the TODO file included in the project source. |