As we head this week for San Francisco and the seventh annual JavaOne conference, I can tell you that one of the things most worth seeing will be M7 Web Foundry from M7 Corp.
I got a thorough preview of the product, which makes its debut at the show, from M7 CEO Mansour Safai—whom Ive known since before he was one of Symantecs Java development gurus, back when Symantecs Café defined the genre of integrated Java development systems. "The problem," explained Safai as we met at my home two Sundays ago, "is that tools for writing Java code let too few people do too many things. You can write an operating system, which few people need to do, or you can write a business application, which many people need to do, but you have to have extensive Java coding skills to do either one."
If I had to describe M7s alternative to conventional Java development, in the fewest possible words, Id call it a business application construction and maintenance suite. If allowed to extend that description with an implementation clause, Id add: "based on visual editing of XML descriptors that separate Java-based process from XML- and HTML-based content." Thats pretty much the whole story.
Initially, a developer builds M7 application logic in a visual editor, drawing on a library of prebuilt or customized elements, and inherits presentation style from template files. Later in the application life cycle, a line-of-business expert can make impressively sophisticated changes to the application without ever touching the underlying Java code, merely by opening property and attribute editors that parse the XML descriptors—automatically generated behind the scenes—to figure out whats there and how it can logically be changed.
On the back end, M7 abstracts various data sources into a consistent business-object interface. I cant yet say what its initial capabilities will be for doing the same with Web services protocols, but I see no architectural barrier to interacting with service-based resources in the same way as with conventional SQL databases or other static data sources. The object interface, captured in the XML repository, appears to be capable of handling either back-end option with equal ease.
The integrated development environment of the M7 Suite, called M7 Studio, is itself an XML-driven application that can reconfigure itself at run time based on the type of application that the developer wants to build: Business-oriented commands to insert different types of application element can appear to different developers who have different responsibilities and different areas of expertise.
The last time that I had met with Safai was just before Symantec sold the Café product to Webgain, and Ive wondered several times since then what he might be doing: I knew that his team at Symantec had been working on a next-generation product, and that this work did not appear to be part of what Webgain had acquired.
Now, I believe I know. Moreover, Safai told me that about three years of work and thousands of customer contacts are reflected in what M7 has now produced: I believe youll find it worth your time to give it a look.