eXo Web Services 1.3 what news and what next.
eXo Web Services 1.3 is released, congratulations to WS team!
So, what is new in this version?
Cross-domain AJAX framework
Browsers’ security policy prevents XmlHttpRequest to access data from another server. For detail’s you can visit http://www.mozilla.org/projects/security/components/same-origin.html.
This has put a serious limitation for the tasks such as Comet clusterization as browser can not make direct connection to a server other than served up the current page. So, primary goal of developed Cross-domain AJAX framework is solving this problem to connect Comet server located on other than current page’s one. Naturally, it can be used for other purposes as well. See http://wiki.exoplatform.com/xwiki/bin/view/WS/Cross-domain+AJAX for details.
Using Comet technology in highly extensive messaging application may cause a performance problem in a single Comet server environment. For instance, testing Cometd server according to methodology described in http://docs.codehaus.org/display/JETTY/Stress+Testing+Cometd shows that growing number of Comet clients causes growing up of delivered message latency dramatically. Thats why eXo Comet framework was improved with remote Comet server ability, i.e. clusterization. Thanks to LoadBalancer on server side, user’s request can be redirected to one of configured Comet server node using internal REST service and described above Cross-Domain AJAX framework allows to establish the HTTP server push connection.
See http://wiki.exoplatform.com/xwiki/bin/view/WS/Cometd+Cluster+with+LoadBalancing for details.
WS SOAP engine now uses Apache CXF
Previous versions of WS SOAP framework was using XFire as a SOAP engine. Staring from version 1.3 it is switched to Apache CXF which is an open-source Web Services framework, combination of two projects: Celtix and XFire (which developing is stopped). CXF implements the JAX-WS APIs version 2.0 and supports a variety of web service standards including SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, and WS-Security.
Next big version in schedule is WS 2.0, it is planned to be released in a few weeks. First of all it will include is really huge change in the REST framework, it will be JSR-311 – “JAX-RS: The JavaTM API for RESTful Web Services” conformed (http://jcp.org/en/jsr/detail?id=311). Yes, it’s true 🙂 ! WS team had to almost completely rewrite current REST framework implementation (which was close but not really JSR-311).
Moreover, we not only implemented the specification, we also bring our 2 years experience to make valuable proprietary extensions, including:
- extended providers (readers/writers for entity body)
- unspecified but useful providers for application/json, multipart/* media types
- pluggable request and response filters for service’s response pre/post-processing respectively
- method pre-invocation filters, and many others.
Those filtering is especially useful for permission checking purpose and, again, we are making that using JSR standard, supporting method scope JSR-250 security annotations, such as PermitAll, DenyAll or RolesAllowed.
So, stay tuned ;)…