|The following features are scheduled for the upcoming version 0.4.0:|
|selective HTTP packaging to prevent proxies from blocking ejoe connections||done with partial support of the HTTP/1.0 and HTTP/1.1 protocols. EJServer/EJClient use HTTP/1.0 but EJServer can also deal with most (non-EJClient-) HTTP/1.1 requests as long as they don't expect usage of Chunked Transfer Coding or Range Units. HTTP support is implemented for non-blocking IO only.|
|caching (pooling) of already allocated ByteBuffers to reduce expensive allocations||done|
|server configuration via properties file (similiar to the existing feature of EJClient)||done|
|direct exchange of ByteBuffers without using a SerializeAdapter||done|
|automatic adjustment of threadpool sizes depending on server load up to a limit||done|
|Mixed deserializing strategy: serialize objects between client and server as usual
using a SerializeAdaper, but don't deserialize server responses in the client and return
the server response directly as ByteBuffer.
This feature makes it possible to use an XML-SerializeAdapter and use the server response directly for XSLT-Transformations etc...
|Remote Reflection ( aka EJOE Remoting ;-) ):
|Support of the Crispy framework||done|
|Support of the Web Services Invocation Framework (WSIF)||done|
to allow direct AJAX requests from webpages to a EJOE server instance.
|done (JSON is supported via four adapters:|
|Remote Reflection calls through typed dynamic proxies||done|
|interprocess communication (IPC) between client and server when both are running within the same JVM||done|
|The following features are discussed to become part of version 0.4.0:|
|runtime configuration via MBean support||done, but will be subject to change during the next releases|
|secure communication via SSL/TLS||Unfortunately SSL with non-blocking sockets is not available in Java < 1.5. Hence we will support SSL only for Java >= 1.5.|
|cluster support with at least a round-robbing mechanism as well as basic failure detection||unfortunately we can't implement this feature within the next time caused by lack of time :-(|
|Whitelist: adjustable configuration of allowed client IP adresses (or networks)
Blacklist: adjustable configuration of banned client IP adresses (or networks)
|Seems like a usual feature of a firewall, so why should we reinvent the wheel and add that feature to EJOE?|