Bosworth’s second take

After being pushed around by Microsoft, a Web services champion seeks a comeback with his own development tools

SECOND ACTS ARE rare. The exceptions prove the rule: Richard Nixon in politics, Bob Dylan and Miles Davis in music, Babe Ruth in sports. That’s a stretch, except for Red Sox fans who remember the Babe as an all-star pitcher before the Yankees bought him for a handful of wampum.

The list of one-hit technology wonders is more common: Marc Andreessen of Netscape, Shawn Fanning of Napster, Steve Wozniak of Apple. For some it’s a story of lightning not striking twice; for others the drive to compete receding behind family, fortune, or fast living.

Arguably, this is Act Three for Adam Bosworth. After championing XML at Microsoft and seeding the transition to what we now know as .Net, Bosworth left Microsoft for a small startup dedicated to realizing the vision of cross-platform Web services. CrossGain attracted more than 30 Microsoft engineers and Tod Neilsen, once the most visible evangelist of Microsoft technologies at its developer conferences.

CrossGain was a shooting star, flaring across the sky as it launched and again as it burned up on atmosphere re-entry. Microsoft didn’t take kindly to Bosworth’s plan to deploy CrossGain’s Web services architecture not just on Windows NT servers but also on J2EE (Java 2 Enterprise Edition) ones. Exercising noncompete clauses, Microsoft forced the startup to pull back. Bosworth retreated for six months and, after his return, agreed to CrossGain’s acquisition by J2EE server leader BEA.

Back then, Bosworth spoke of the promise of Web services as the next generation of n-tier architecture. He also spoke of the missing pieces — most importantly, a conversational asynchronous model. Now, as Microsoft ships Visual Studio .Net, Bosworth is back to fill in the blanks. At last week’s InfoWorld Next Generation Web Services Conference in San Francisco, he gave a sneak preview of BEA’s new Web services development tools, code-named Cajun.

“I believe Web services are nothing more and nothing less than a way to standardize app-to-app integration,” Bosworth told me in a conversation a few days earlier, “in the same way that SQL and ODBC/JDBC [Java Database Connectivity] were used to standardize client/server computing.” And he reminded me of the three pillars of this new application development integration platform: a coarse-grained messaging style, support for asynchronous messaging, and support for a loosely coupled architecture.

Cajun’s design goals were to solve these problems in an intuitive yet powerful way. “The general precept of any product is that simple things should be easy, and hard things should be possible,” Bosworth says. “In the case of corporate developers, it’s been our experience that simple things should be declarative, but hard things should be procedural. Corporate developers have no trouble dealing with code; they do have trouble dealing with very rich, abstract languages.”

It’s a little strange to hear Bosworth talk about J2EE as “the right platform to build apps for the enterprise because you get the reliability, the availability, and the scalability that you need.” But he’s taking advantage of what Microsoft did so well with Visual Basic and others did with PowerBuilder and Delphi: building a framework for describing a Web service, a deployment model and test harness, and server-side controls.

“While the J2EE platform is very powerful, it can require a very sophisticated programmer to make full use of it,” Bosworth admits. “We set out for ourselves the goal that any reasonably intelligent corporate developer could take advantage of what we’re building.” Controls help in a number of ways: They automatically integrate with the IDE (integrated development environment) to cut the learning curve, allowing programmers to pick from palettes and set properties from drop-down list boxes.

“Controls have always had this idea — don’t call us, we’ll call you,” Bosworth says. Bosworth is a real Renaissance man; he spices tech talks with instant marketing hooks. “They call you when an interesting event has occurred in the server — a timing event or a change to some critical resource.”

“But [controls] also call you when something asynchronous is occurring that you need to know about — someone has responded to your Web service [or] sent you back a message. You don’t think about the plumbing because the control has given you an event model for it, and you simply write the appropriate event for the control,” Bosworth says.

Crucially, controls can be specialized by task, constraining a complex API to a simpler set of properties and methods. “So we make it very easy, for example, to queue messages by providing a very small and simple API compared to the complete [Java Messaging System] API that they might otherwise have to learn,” Bosworth says.

Bosworth sees some similarities between Visual Studio and Cajun. Microsoft added keywords to C# to hide the XML Web services plumbing, and Bosworth’s team added an extensible annotation model. “We chose to leave Java as Java,” he needles. “And we think that the way we did it, to be honest, is more open-ended and a little more democratic than the approach of a company that owns a language being able to add keywords to a language.”

Bosworth says BEA and Sun are discussing a plan to work together on JSRs (Java Specification Requests) to make the annotation technology a higher-level standard, time frame unknown. “The way that we show how you move from a simple synchronous service to a complex asynchronous service is just very different than anything we’ve seen from .Net.”

Adam Bosworth got Bill Gates to commit to XML by getting IBM and Oracle on board. Will Bosworth now go back to Microsoft and try to get its cooperation on his new standards? “Yes. I believe Microsoft is an important player in this space and it’s incumbent on us to work with them,” he says. Are they amenable to talking? “I can’t comment on that.”

Source: www.infoworld.com