Open standards

Software monoliths are no longer in vogue. Although an application may well be monolithic when it is first built, over time, no application is an island, and even the most complete, most monolithic application will sooner or later need to be part of a large software ecosystem.

Any large software system consists of many parts that need to work together. For the parts to work together, the interfaces can be ad hoc (or point to point), or they can conform to standards. While there is a place for ad hoc interfaces in specialized situations, standards make the world run. It has been argued that the industrial revolution did not take off when the steam engine was invented, but rather when standards emerged for mundane things like threads so that we can go to a hardware store and purchase screws confident that they will fit when we go home.

There are two types of standards: proprietary standards and open standards.

Proprietary standards and the applications built around them are like walled gardens. They can be functional. They can be elegant. They can look beautiful. They can work well. But ultimately, proprietary standards are not owned by the community of those who use them. They are standards imposed by those who own them and as profit maximizing entities, once usage of a standard starts to proliferate, the organization owning it can charge monopolistic rents to those who use the standard. For those who are hooked, a proprietary standard can be restrictive, addictive, expensive, and difficult to break away from.

In contrast, open standards are built by a broad consensus of those who use them and those who provide products and services; by technical experts and those who hope to make a profit. They can be messy. The process of standardization can be protracted. But they work. They can be as restrictive and difficult to break away from as proprietary standards. They can be expensive, but they cannot be overpriced because as long as there are no barriers to competitive entry, prices are market prices rather than monopolistic rents. A good example of an open standard is TCP/IP. That a major vendor of a proprietary standard recently attempted to hijack an open standard setting process shows how much the market values open standards.

Standards can be formal, like the ISO standard Open Document Format, or they can be informal and cultural - such as shaking hands with the right hand (unless you are a boy scout in uniform).

GT.M is an open architecture implementation of MUMPS that based on the philosophy of excelling at what it does, and with an open architecture that leverages the underlying operating system environment for capabilities that the environment provides well using formal and cultural standards.

The Database Column

There's a new arrival in the blogosphere called The Database Column.

There's an impressive array of contributors lined-up, but so far it seems like an advertising vehicle for Michael Stonebraker's Vertica database. Time will tell whether there is any substance to this blog.

Anyway, the first article there One size fits all discusses the use of column oriented storage as being particularly effective for data warehouse purposes. Stonebraker makes some impressive performance claims for his own product in this respect.

It would be interesting to see how Vertica matches up to Caché and whether column-centric data stores would be a good design pattern for some of our databases. Performance for fetching a single column might be good, but wouldn't it suck if you needed several columns?

New Website, new EWD!

As part of the lead-up to the conference I've been busy re-designing our web site. It's a case of practising what we preach, so the new web site is totally Ajax-based using the EWD Ajax Framework. It's a work in progress, so some of the tabs will still take you back to old parts of the site, but the eXtc Web Developer (EWD) section is fully re-designed.

The EWD section is worth exploring - the version of EWD you can now download is the very latest one, bringing in many new features including:

- loads of new Ajax capabilities
- some built-in Yahoo YUI widgets
- WebLink Developer integration
- support for WebLink as a compilation target
- GT.M support

Although not a formal documented part of this release, the latest EWD can be used to design and build PHP applications that use mySQL as the back-end database. This is the first step towards making EWD a completely technology-independent web application development and design framework. As another example of practising what we preach, when you download EWD you'll be running an EWD application that is running PHP and mySQL on our new, shiny leased virtual server (which of course came with PHP and mySQL for free, so why not use it!).

The web site is also an example of the use of EWD's Ajax Framework for static pages and fragments, and it's also a "hybrid" EWD Ajax site where a static "container page" is taken over by a dynamic EWD Ajax application (where the EWD application consists of nothing but "parasitic" fragments). The site is a good example, then, of the kind of things I'll be referring to in my talk at the conference.

You'll find that all the information you need to get going with EWD is now available online in the web site including lots of working examples (complete with fully commented source code). I think the multi-tabbed layout lends itself much better to documenting all the potential compilation technology options supported by EWD - do let me have your comments!

I'm always interested in suggestions and if you have or would like more examples, just let me know.

So get onto www.mgateway.com and start exploring!

Give a lightning talk

The lightning talks session is where we invite you to give a five minute talk on any subject of your choice.

This is your chance to tell everyone about your current project or some cool technology you've been using. Or maybe tell us about some problems you've encountered or show off a clever solution.

Lightning talks are your forum for sharing your thoughts and achievements with your peers.

If you are interested in giving a talk, just check the box on the registration form or send an email to Michelle: michelles@georgejames.com.

Syndicate content