XML: Just Add Water

Clear methods steaming toward easy-to-use Web services language.

As the poem goes, "Water, water everywhere ... ." If Mike Plusch and Christopher Fry have their way, thats how the development world will be, but there will be plenty to drink. Plusch and Fry are the co-founders of Clear Methods Inc., a Cambridge, Mass., startup creating the Water language and Steam, the execution engine and development environment based on Water.

"What we saw was there was this new technology, XML, and people were using it for all sorts of things," said Plusch. "They were using it for data, they were using it for remote procedure calls, they were using it for defining interfaces, they were using it for presentation and they were using it for logic. But there was a lack of a general-purpose language that was designed for XML."

Waters position in the Web services world is at its most basic level—the language. Plusch and Fry named the language for a reason—its everywhere and very important, but people take it for granted. What they add to XML is an object-oriented programming language expressed in XML. "People were trying to extend [XML] into this dynamic thing, but it just wasnt designed for that. It had this document-centric view of the world, and it was being asked to do data-centric things. Theyre sort of mismatched," Plusch said. "So we saw an opportunity."

Plusch and Fry started the company following studies at the Massachusetts Institute of Technology, also in Cambridge. They saw the way things were going with Web services, so they figured a language was needed.

"Good academic languages dont get adopted because theyre not practical. And general practical languages arent good because they were designed for a very narrow case and then extended beyond it," Plusch said.

"So the goal for Water was to make something as easy as BASIC to use but had a smooth curve and had the power of LISP—very flexible and very dynamic—but easy enough for someone from Visual Basic land to pick it up," Plusch said.

Plusch and Fry began work on the language in 1998 and completed Version 1.0 in January of last year. Water Version 3.0 was released earlier this month.

Barry Goldberg, president of First Call Medical Transport Inc., in Boston, an early Water customer, said: "Our first Water application has been in daily use since March 2002. We are an early adopter of Water and the Steam platform because it gave us the flexibility we needed to automate our business. The second phase will be to move all our applications [written in Delphi and Paradox] to the Steam platform."

"The Java and Microsoft [Corp.] camps have handed IT departments quite a mess," said Scott Johnson, a venture capitalist with Draper Fisher Jurvetson New England, in Cambridge. "Web apps are complex and slow. Clear Methods offers a migration path to a much cleaner approach. It was great to see Microsoft leak their X# concept, recognizing that a service-based architecture begs for a language built with that paradigm in mind."

Jason Bloomberg, an analyst with ZapThink LLC, in Cambridge, agreed. "Water is original and exciting. It just makes a lot of sense to use XML to write all your code in. If all developers knew Water, then everybody could write code for every tier—Web pages, middleware, Web services, whatever—all in XML. Goodbye, JavaScript, [JavaServer Pages], C#, Java, VB .Net."

Bloomberg said the only problem is developer support. "For Clear Methods and their Steam product to be successful, Water has to take hold in the developer community, and that is an enormous challenge. Unfortunately, much as I like them and their ideas, theres a real chance that Water will fall in the category of Great Ideas that Dont Succeed."

Peter Carmichael, a Cambridge-based independent software consultant, said hes not convinced he needs a new language until he looks at Water.

"I had been exposed to XML and its misuse," Carmichael said. XML is too verbose, yet Water handles and manipulates XML and HTML very easily, he said. "Water is also an excellent XML schema definition language, is very concise and makes it easy to do Web services," he said.

Clear Methods Plusch said the language provides developers with the opportunity to build security into the application when they design it, based on the capabilities and security model inherent in the language.

After years of Java wars, Plusch said, he believes Water features the best of object-oriented programming. It does everything Simple Object Access Protocol; Web Services Description Language; and Universal Description, Discovery and Integration do, he said.

"We named it Water because it is clear," Plusch said. "It is not the caffeinated stuff of Java or about cloudy mixtures or about adding sugars to make it tolerable for people who dont like it black. Theres a clear purity about Water."

"Water represents an opportunity to clean up the mess of scripts and languages used to build interactive Web applications," said Jonathan Stephenson, principal analyst with Web services consulting company CBDi Forum Ltd., in London. "Water 3 is an XML-based language built from the ground up to deal efficiently with XML data and Web services."