[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