June 27, 2004

Web service certification: SCDJWS

A couple of months back, Sun announced a new certification program for Web Services, called the Sun Certified Developer for Java Web Services (SCDJWS, exam number CX-311-220). This test is still in beta and is not available to the general public.

There are bunch of resource sites for the exam out already- watch out for exam preparation books anytime now!

For those interested, some references:

  • The announcement mail from Sun, with testing objectives
  • A study guide for SCDJWS, maintained by Mikalai Zaikin
  • An introduction to SCDJWS, currently only a list of Web Service specifications that are covered in the test
  • A Yahoo group for the test, just under 200 members but not much activity
  • There is even an ambitiously named 'SCDJWS Certification Center' that has the above mentioned resource links, a buy-from-Amazon button for a Web service book, and lots of text ads courtesy Google.
Posted by vivek at 06:15 PM | Comments (1) | TrackBack

Take this, you peddlers of spam!

I've been really mad the last few weeks by the number of spam posts in my weblog- and I don't want to turn off comments / trackback to stop it.

Now thanks to a neat little MT plugin - Jay Allen's MT Blacklist, I have a way to fight back! Go way, you peddlers of anatomy-enlarging-pills! I am armed with MT-Blacklist, and not afraid to use it !!

MT-Blacklist works in a neat, yet simple way:

Spam posts on blogs have a unique weakness. They exist, not to sell stuff, but to bump up the Google page rank of websites.

So spammers can change the comment text, and the IP address from where they post, but not their URL. The URL needs to be the same, if they want to be noticed by Google.

MT-Blacklist filters on the URL, and not on IP address (like MT's IP-banning filter). The latest blacklist is available from a centralized site, and Jay eventually hopes to have peer-to-peer distributed way to share this. Thanks Jay!

Posted by vivek at 04:17 PM | Comments (0) | TrackBack

June 04, 2004

Overcoming XML limitations for higher performance

Now that Web services are being considered for high performance applications- such as scientific computing- the limitiations of XML for messaging are being felt very acutely. No matter what you do for performance [3], once you try transferring huge amounts of, say biological data [5], your performance characteristics won't be pretty. Its not just the size of the message that is a concern, it is also the overhead of doing a object->XML->object conversion.

There are multiple solutions that have been proposed for this:

  1. Compress the XML payload [5]. However, compression isn't free, and so this approach has a tradeoff between processing and network overhead. Another problem is interoperability - though this can be overcome by specifying the compression protocol as a part of the payload.
  2. Use XML accelerators [1] that offload XML processing from Application servers to hardware. Sarvega and Data Power are two companies I know that offer these products.
  3. Use SOAP to negotiate a custom binary protocol, and then use that for data transfer [4].
  4. An interesting new approach is a Sun initiative called Fast Web services [2] or "Fast". This uses a binary encoding for the SOAP payload. The higher level protocols (WSDL for contract definition of service etc.) remain unchanged, so in theory you could use standard SOAP-XML for development, and have a switch that turns on the binary protocol for production deployment. The binary protocol is not Java-only, and is standards based- Packed Encoding Rules (PER), also known as X.691. This protocol is a part of the ASN.1 family, and has been around for a while. Work is underway to map XSD to ASN.1. Fast is also backward compatible with non-Fast peers - the approach is "Use Fast when available, and use XML otherwise".

This is an interesting area to watch- I personally like Fast approach. Sun was supposed to unveil a prototype version of Fast Web services in its Java Web Services Developer Pack (WSDP) early 2004, and I'm waiting for it.

References:

[1] Peter Lin. So You Want High Performance? http://jakarta.apache.org/tomcat/articles/performance.pdf

[2] Paul Sandoz, Santiago Pericas-Geertsen et al. Fast Web Services. http://java.sun.com/developer/technicalArticles/WebServices/fastWS/

[3] Vivek Chopra. Performance best practices for Web services. http://www.soaprpc.com/archives/000020.html

[4] Madhusudhan Govindaraju, Aleksander Slominski et al. Requirements for and Evaluation of RMI Protocols for Scientific Computing. http://www.sc2000.org/techpapr/papers/pap.pap261.pdf

[5] Chetna Warade, Virinder Batra et al. Web services for bioinformatics, Part 2- Integrate high-throughput services with Web services. http://www-106.ibm.com/developerworks/library/ws-bioinfo2.html?ca=drs-ws2304

Update [June 18, 2004]: More information of Fast Web services and Fast infoset can be found here.

Posted by vivek at 12:52 AM | Comments (0) | TrackBack