Oh man…its has been more than a month that I blogged ..okie..so I am posting this half baked blog just to keep my blog rolling. I am still working on this post, trying to create a comparative table, but till then below are some thoughts on web application development choices.
A dynamic web application, minimally, involves 1) a database, 2) a server side scripting language, and 3) a front end. At each level, developers have many choices to choose the right combination of technology for their web application. While, it is good to have choices, one also has to carefull in picking the right technology depending on his own level of competency and project requirements. Based on my own experience, I have jotted down some choices and concerns one should be aware of when developing a web application:
Choices:MySQL, Postgres, Oracle, DB2, Objectivity, MSSQL, etc.
When picking a database for any project, I always think about these concerns:
- RDBMS vs. ODBMS vs. ORDBMS –Relational Database Management Systems (RDBMS) are one of the most widely used database management systems (DBMS). For most applications, they provide robust solution. However, certain applications such as those concerned with hierarchy, RDF/OWL, object oriented can be more efficiently modeled using Object oriented databases (ODBMS) or object-relational database management systems (ORDBMS).
Open Source vs. Free vs. Proprietary –
XML Support –Some database such as MSSQL provide an inbuilt XML datatype. Thus, you can store, retrieve and query XML as any regular (int, text) datatype. Although, I don’t like MSQL at all, I found this ability to be very useful in many applications. Mainly, as the web applications are moving towards Service-Oriented-Architecture (SOA), the ability of a database to natively handle XML gets increasingly useful.
GeoSpatial Support –Increasingly geospatial applications are becoming common. Google Mashup, Virtual earth, etc are just tip of the iceburg. Oracle has a long history of providing good support for geospatial applications. It supports basic topological operators such as overlap, intersection, etc. In open source community, increasingly, Postgres is becoming the default choice where-ever an application needs GeoSpatial support.
Full-Text Search –
Community support –
Server Side Scripting Languages:
Choices:PHP, Ruby, Java Servlets, Python, Perl, etc
- Community Support
- Object Oriented
- Search engine optimization – While traditional webpages can be easily scanned and searched by robots, this is not true for rich internet applications.
- Application loading time –if application loading time is critical for you, then using traditional HTML approach is a better idea. Flex and Silverlight requires loading libraries and there introduce significant latency when initially loading the application.
- Rich interactive visualizations –If your application requires providing rich web based visualization such as interactive maps, graphs, network charts, etc., using RIA’s provided you with much more options.