DesignXMPP analysis » History » Revision 16
Revision 15 (Adrian Georgescu, 04/01/2012 05:20 PM) → Revision 16/17 (Tijmen de Mes, 05/07/2012 11:14 AM)
This page has been moved h1. Software Candidates Analysis In this phase the existing XMPP libraries will be analyzed and one will be chosen to "Sylkserver":http://projects.ag-projects.com/projects/sylkserver/wiki/DesignXMPP_analysis 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* 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