Validating Data Validation
By dannycoward on Aug 11, 2006
The rites of passage of a JSR are at times exhilarating and terrifying. Scary expert group rebellions, unending debates about API naming. The excitement of dozens of expert group applicants, the thrill of release of a public draft.
But did you know that the most important moments of a JSR are the three occasions it has to come before the venerable JCP Executive Committee for a vote ? Once at the start, once in the middle, and once at the end. This elected body, on which I serve (with, surprisingly, some of the nicest people), takes a vote to make sure a new JSR is not treading on the toes of anyone else's JSR, and that an existing JSR is doing what it said it would do. Many pass unscathed through these hoops of fire, some singe a little hair along the way. And occasionally EC members have even been known to forget to vote. But many a spec lead's heart skips a beat or three at the gruesome prospect of joining the charred remains of others less fortunate.
A fascinating new idea recently survived round one of this triplicate torture. One of those good ideas, one wonders, in the long lifetime of Java, that no-one had thought of making a standard API of before: a general purpose framework for Data Validation. One measure if its usefulness is the number of other technologies that could make good use of it. So when I asked around to find out who from within Sun would like to sign up for the expert group, expecting to have to twist a few arms and call in some embarrassing favors that I couldn't possibly talk about even with you, I was surprised that I had to beat them off with a stick.
From web applications that need to check validity of the return date of your flight, to the persistence layer double checking someone's age before it serves up a byte-stream containing something unmentionable, to desktop application verifying the format of the telephone number you entered. Not forgetting the IDE that automagically attaches these checks into any reasonably formed component, this JSR offers the possibility of specifying and enforcing these data validation checks easily, and hopefully in an easily reuable way.
This JSR I think will build on some great experience, and it looks like it will have a lively expert group. Good luck with the next rite of passage, Jason.