YOUR FEEDBACK
Adobe Flex 2 - Answering Tough Questions About Enterprise Development
A Correct Person wrote: Denis Roebrt commented on the 21 Aug 2006 "Tough Que...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


What's in a Specification?

Digg This!

This past month gave me a newfound respect for specification writers. I remember when James Davidson marshaled the early Servlet API and the lively discussions that ensued on the mailing lists, basically coordinating the entire operation (no JCP in those days, eh?!). The point is, at least there were discussions and, more important, a formalized document was produced at the end of the process. This past month I found myself dabbling in a number of technologies that sat outside the comfort of Javaland.

For a project I'm involved with (Blog-City), I was tasked with building the XML-RPC interface for the widely used Blogger API. This XML-RPC API has a handful of methods for updating your blog site remotely, enabling you to view recent posts, upload and edit posts, and all the normal things you would expect. All seems pretty simple so far, but the problem is that the documentation for this API is thin on the ground, and the one HTML page that does exist is over a year old. A trawl through the mailing list archives shows a lot of frustrated would-be users of their XML-RPC left out in the cold.

I did manage to figure it out eventually by looking up the source code from one of the SourceForge client projects to see what results they were expecting from the server. My aim was not to build a client, but the server side of the fence, so I wanted to make sure I caught all the different calls that could be sent to me. Although I have to say the irony wasn't lost on me that one of the world's leading blogging sites couldn't keep a page on their own API up-to-date!

Having now drafted the overall protocol flow, the job of actually providing the server functionality was next on my list. A quick look in Google and I discover the wonderment that is known as Apache's XML-RPC library. This was simply a joy to use. Take a single JAR file, easy-to-follow instructions, and within three lines of code, I had a complete server running that accepted and processed XML-RPC requests. No special classes or interfaces to implement. No complicated descriptor files to maintain. It just worked, straight out of the box so to speak.

The whole process was a resounding success. But as the day ended, I reflected on the whole situation and how it highlighted the importance of standards bodies and specifications.

In many respects the Java world is lucky; by and large, we seem to do it right. We keep it open and try to involve as many people as possible. After my recent experience, I now think of Blogger as the Microsoft of the blogging world. There was no sign of any openness or even an effort to involve the community in the design and maintenance of their API. It was their way or the highway. Legions of client-side tools had come to accept the fact that they would need to keep an eye on the main server and continually update their own software for changes. Because one day, it just might not work.

As we know, such blind ignorance of the world around doesn't work. There are alternatives to the Blogger API, much better APIs in terms of documentation and proper version controls. These APIs, I am sure, will persist far longer than the Blogger API, simply due to the fact that there is a published specification.

For this reason, I am very happy to be in the Java camp as opposed to the C# (a.k.a. .NET) camp. At the end of the day, I feel secure knowing that when I call a particular method, it's going to be there the next time I make the call, and the next time, and so on. One day it isn't going to stop working because someone decided to tweak a method signature.

We take specifications for granted at times and, on behalf of the community, for all those who take the time to formalize the standards we rely on, I thank you. Keep up the good work and, more important, keep listening!

About Alan Williamson
Alan Williamson is editor-at-large of JDJ. In addition he holds the CTO office @ n-ary (consulting) Ltd, one of the first companies in the UK to specialize in Java at the server side. Reach him at alan@sys-con.com (http://alan.blog-city.com). He welcomes all suggestions and comments.

LATEST JAVA STORIES & POSTS
JavaOne 2008: A Developer's Perspective
This is my third JavaOne. Many topics were discussed, friendships were made, new partnerships were started. I must say things have changed a lot and stayed the same yet again, here are my thoughts in no particular order, bear in mind that they do not represent the opinion of my c
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in mi
A Lightweight Approach to SOA and BPM in Java Using jBPM
SOA is mostly associated with technologies such as BPEL, SCA and Web Services. But does SOA really imply these technologies? In this session we will show how you can use the service oriented approach while staying inside the Java world. jBPM is a powerful lightweight framework th
Case Study: Java and the Mac
This is the story of a Mac application developer (okay - it's about two of them) who set out on a quest to find an application development tool based on Java so his boss would let him develop on the Mac platform, which he loved. There was only one catch - he had to find a tool th
eApps Hosting Now Offers the GlassFish Java Application Server in VPS Hosting Plans
eApps Hosting announced that the GlassFish Open Source Application Server for Java EE 5, from the GlassFish community project, is now available as a click installable application service in low cost Virtual Private Server (VPS) hosting plans. The eApps Hosting service has support
The 4 Core Principles of Agile Programming
One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto (http://agilema
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING JAVA NEWS
Five Sun Microsystems Women Honored with Prestigious Awards
Sun Microsystems, Inc. (NASDAQ:JAVA) today announced that five Sun women have been awar