[jdev] Echomine Feridian
Chris Chen
ckchris at echomine.com
Wed May 31 20:24:02 CDT 2006
Hi All,
This email was sent to the echomine mailing list, but I wanted to
also let everyone know about it.
Peter, do you think you can add this project to the libraries page on
jabber.org? The link should be http://open.echomine.org/, same as
for Muse.
Thank You,
Chris
------------------------------------------------------------------------
---------
I want to announce the FIRST anticipated release of Echomine
Feridian, the new Java XMPP/Jabber API that replaces the old Muse API
library. Feridian sports an unprecedented set of features not
available on Muse (and other Java APIs for that matter):
Feridian's goals
=============================
Feridian is created to address some features that were either good or
lacking in Muse and other APIs. Specifically, Feridian has the
following goals in mind:
*) 100% support for XMPP specs
*) Support for as many Jabber JEPs as possible
*) Easy coding to work with 80% of XMPP functions
*) Easy customization to work with the other 20%.
*) Modular design to allow easy addition of new feature support
What's new and supported?
==========================
~95% of XMPP specs are implemented
- TLS Support
- SSL support (superseded by TLS in modern XMPP servers)
- SASL authentication
- Jabber style authentication support for backwards-compatibility
(ie. 0k, digest, plain authentications)
- Full Stream features parsing and support for XMPP specs.
- Resource Binding
- Session stream
- IQ Roster
- IQ Privacy
- Full xml:lang and localization support
Extreme customization capabilities
===============================
Feridian API also takes ease of supporting custom packets and stream
features to a whole new level:
- XML-style configuration files makes for easy configurability of
Feridian
- Easy way to override default handlers without changing any Feridian
jar files
- Modularity allows you to add custom packets and stream features
support without having to modify any code or subclass any Feridian
classes. Simply implement the appropriate interfaces if required and
write a XML configuration file to notify Feridian of the new capability.
- Feridian allows you to take complete control over the entire stream
processing if needed. This is most useful for stream processing
during handshake negotiation such as adding in the ability to support
stream compression.
- Feridian uses JiBX as the underlying XML parsing mechanism. What
this means is that you can add support for custom XML packets by
writing a binding file instead of xml marshalling/unmarshalling
code. If custom marshalling/unmarshalling code is required, the
option is available as well. Visit http://jibx.sourceforge.net/ to
see how JiBX works.
Documentation
=================
I have not yet written the documentation. The only code that is
currently available for reference is the SimpleXMPPClient located in
the examples/ directory.
Documentation is on the way and will be available soon on http://
open.echomine.org/ under the Feridian space.
Where to download
=================
As there are currently no articles and documentation created yet for
Feridian, you can find the direct download on Berlios.de:
http://developer.berlios.de/projects/echomine
How to use Feridian
======================
I will shortly be writing a quickstart tutorial for Feridian and post
it in the near future. For now, if you have any questions, don't
hesistate to post them here. I will answer them as best as I can.
What's next?
==================
I will be concentrating more on adding more Jabber JEP support and
writing documentation for the API.
Please try it out and give me any feedback on what you would like to
see in the future releases.
Good luck!
Chris Chen
More information about the JDev
mailing list