Relational schema still speaks volumes about any application - A look at Fatima
By Angsuman Chakraborty, Gaea News NetworkMonday, April 18, 2005
We often talk about understanding an application from code and unit tests with catch phrases like - “code is the documentation”. In my experience I haven’t found a better and more concise documentation then reading the SQL schema for any application, assuming it has one.
Today I was looking at Fatima - a weblogging software. I could have have gone for the API or Javadocs or jumped into the code. However I just opened the SQL scheme.
In five minutes flat I have a decent working knowledge of the application. I know what goals it has, how much flexibility it has in implementing new features and roughly how it will do it and what are its limitations.
For example it is obvious that not much thought has been given to prevent comment spamming, having no database support for it. Logging isn’t supported at the database level, it cannot have hierarchical categories, nor hierarchical comments as of now. There are scores of interesting information including the depth of advertised capabilities like podcasting etc.
I can go to an architectural meeting armed with just the SQL schema. Agreed some information are missing like how much of the schema has been actually implemented but that can be easily rectified.
The point of this article is to emphasize the importance of having a well thought out SQL schema for any application (assuming it does something significant, so it needs one). A good SQL schema underlines the developers understanding of the business domain. And nowhere else it can be so concisely expressed.
BTW: I think Fatima is a decent application looking just at the schema. However several key features need to be added to make it effectively compete with likes of WordPress. Personally I would like nothing better then to switch to a Java/JSP based WebLog platform. Unfortunately JRoller doesn’t fit the requirements and I do not want to tinker with Velocity templates.
One thing which kind of put me off wrt. Fatima. Why does it have a 93 MB war file! That is too huge for the type of functionaility it provides. As far as applications are concerned I am of the old school which believes smaller is better, modular even so.
Tags: School
September 9, 2005: 6:22 am
@GioSico > What are the missing JRoller requirements? > Why not want to tinker w/ Velocity? Why invent and force people to learn yet another templating language when there are already dime-a-dozens available? Best, |
![]() GioSico |
September 1, 2005: 3:47 am
What are the missing JRoller requirements? Cheers |
Angsuman