Dear Wiki user, You have subscribed to a wiki page or wiki category on "James Wiki" for change notification.
The following page has been changed by SergeyLubinskiy: http://wiki.apache.org/james/SummerOfCode2005/SergeyLubinskiyFastFail ------------------------------------------------------------------------------ === POJO/JMX/XML Configuration Convergence === One of the key features of the proposed ./ProtocolLet desing is a rich runtime configuration model. The __New SMTP Block__ will be able to - * read/write XML configuration to disk - * provide JMX setter/getters for the complete configuration of each ./ProtocolLet + * read/write configuration of each ./ProtocolLet in XML format + * expose all of the ./ProtocolLet s as managed beans + * for each of ./ProtoclLet s managed beans provide a JMX attribute for setting and getter configuration - * provide JMX operations for reordering ./ProtocolLet s, taking them down and creating new ones + * expose JMX operations for reordering ./ProtocolLet s, taking them down and creating new ones - All the metadata about ./ProtocolLet will be extracted by introspecting the implementating class. Both XML format and JMX interface will be derived products. + All the metadata about a ./ProtocolLet will be extracted by introspecting the implementating class. Both XML format and JMX interface will be derived products. === ProtocolLets As A New Kind Of Components === - Like [http://loom.codehaus.org/Component+layers regular phoenix blocks] ./ProtocolLet s will be able to depend on other Blocks inside James Phoenix Application. + Like [http://loom.codehaus.org/Component+layers Regular Phoenix Blocks] ./ProtocolLet s will be able to depend on other Blocks inside James Phoenix Application. === Future Directions === - If timeframe permits I may try to implement integration with scripting languages. There's nothing impossible in "protocolLets" being written in beanshell, jython, javascript. + If timeframe permits I may try to implement integration with scripting languages. There's nothing impossible in ./ProtocolLet s being written in beanshell, jython, javascript. + I believe that this go from POJO to XML and [http://docs.jboss.org/jbossas/javadoc/3.2.7/jmx/javax/management/openmbean/CompositeData.html JMX CompositeData] approach will let some fresh air into the old dynamic reconfiguration problem. - I believe that this "go from getter/setters via JMX CompositeData to XML will let some fresh wind into the old dynamic server reconfiguration problem. - - === Advantages for ASF === - * A solid foundation for RBL/SPF/white-gray listing/Plug-In-Yours FastFail spam blocking + * A solid foundation for RBL/SPF/white-gray listing/Fill-In-Yours FastFail spam blocking * Possibly a new insight on COP via POJO/XML/JMX configuration convergence === Deliverables === - Totally revamped drop-in replacement for the existing [http://james.apache.org/javadocs/org/apache/james/smtpserver/SMTPServer.html SMTPServer]. Possibly patches or pieces of coded targeted for ASF containers. + * Totally revamped drop-in replacement for the existing [http://james.apache.org/javadocs/org/apache/james/smtpserver/SMTPServer.html SMTPServer] + * Possibly patches for ASF COP containers. === Schedule === - * start active coding around June the 22nd, the expected end of examination session - * deliver version 0.1 by July the 12th, this version should prove that configuration and more importantly reconfiguration of "protocolLets" along the path: "inspect class via reflection - build JMX type descriptor - configure via JMX - save to XML" is feasible and desirable - * deliver version 0.2 by July 25 - "protocolLets" actually able to see other blocks visible to SMTP server (they get them via setter methods), the new SMTP block actually able to accept main and feed it into the existing processor pipeline - * deliver version 0.5 by August 14 - some protocolLets actually make sense and do some useful Spam blocking + ||Date||Milestone||Features|| + ||22 June||||The expected end of examination session, start active coding|| + ||12 July||0.1||__New SMTP Server__ instantiates ./ProtocolLet s, injects dependecies and configuration, reading/writing configuration via XML works + ||25 July||0.2||JMX management of ./ProtocolLet s works|| + ||14 August||0.5||Several real-life ./ProtocolLet s are written, they do some useful spam blocking|| + ||1 September||1.0||Some bugs fixed, some requests for enhancement implemented. If timeframe has permitted initial scripting language integration implemented|| - After August 14 fix react to bug reports and requests for enhancements. If time permits look into integration with scripting languages. -