DesignXMPP analysis » History » Revision 15
Revision 14 (Adrian Georgescu, 04/01/2012 05:20 PM) → Revision 15/17 (Adrian Georgescu, 04/01/2012 05:20 PM)
h1. = Software Candidates Analysis = [[TOC(DesignXMPP, DesignXMPP_analysis, DesignXMPP_arch, DesignXMPP_im, , DesignXMPP_conference, DesignXMPP_presence, DesignXMPP_jingle,DesignXMPP_ft, depth=2)]] In this phase the existing XMPP libraries will be analyzed and one will be chosen to be used throughout the project. h2. == Requirements == * Written in Python (C/C++ could also be used, but a wrapper would need to be written) * Support for XMPP server and/or component * Ability to use it with the current model used by SylkServer ** * Green threads ** * Callback based IO h2. == Software Libraries Evaluation == The following aspects were considered when evaluating a given library: * Met requirements stated above * Is it actively maintained? * Example use cases * Deployments in real-world scenarios * Perceived complexity to integrate it with SylkServer architecture List on xmpp.org http://xmpp.org/xmpp-software/libraries/ h2. == Selected XMPP library == After analyzing candidate libraries *Wokkel* '''Wokkel''' was the chosen one for the following reasons: * Implemented on top of Twisted, which makes integration with SylkServer straightforward * Support for both component and XMPP server models, allowing for flexibility in implementation http://wokkel.ik.nu/ * Plugin architecture, 'subprotocols' implementing different XEPs * Client and server component support * XMPP server-to-server support (s2s) * Designed to be used with Twisted (reactor model) * Active development h2. == Selected SIP Library == SIP SIMPLE SDK http://sipsimpleclient.com used by SylkServer