Tuesday, June 5, 2007

JML: JSR Modeling Language

This month, I've been writing an article on JSR 181: metadata for Web Services (WS).

A big part of the learning experience was untangling the knot of JSRs that make up the WS space: it's complex.

Actually it's a testament to the vibrancy of the Java community, and the success of the JSR/JCP process. But I think we have reached a point where the number of JSRs are unwieldy.

Because of the volume of JSRs, and also because of the relationships among them, I think we need to start looking at JSRs graphically. In fact, I think we should borrow from our friends in the UML and design pattern camp.

Consider JML: the JSR Modeling Language. Check out the examples in the diagram.

That JAXB uses annotations is an easy example, but it took me days to realize that JSR 181 is essentially the facade pattern for JSR 224! It also took some time to realize that these relationships need not apply to objects: they can apply to JSRs. (Note that many original design patterns came from architecture, not OO.)

The diagram is crude, but I tell you: whoever illustrates a schematic of JSRs on a nice, large poster will make money.

Yet another profitable idea from Code To Joy... if only there were more hours in the day. Alas, I don't have time so I donate the idea to you all.

No comments: