Category Archives: Database Design Documentation

Considerations and components of web based business oriented database systems

So if you are planning on developing a database driven web based application either by yourself or hiring out the task to a partner developer, what tools and technologies would be typically used?

JQUERY

JQUERY, a popular library of JavaScript is a tool that is now the standard for making responsive web sites. It has become so widely adopted as to become a standard part of the web-based user interface.  A benefit of using JQUERY is that these libraries are designed for use among many browsers so it reduces the development and testing time (which is why it is so popular).

AJAX

The name AJAX stands for Asynchronous JavaScript and XML.  This is the technology that is used to POST or GET data in such a way as to interact with databases and return data. It can be used to do other processing like moving files or other file or data operations. However what is most beneficial to users is these operations are done without causing a full-blown postback event on the web page. This ability makes for a better user experience because users do not get the page flicker normally associated with web applications. Since it is expressed in the JavaScript language, it can be used in any JavaScript script or via JQUERY. With JQUERY you have a ‘wrapper’ around AJAX and some developers find this easier to work with it rather than write their own AJAX functionality.

HTML5

Because the cost of supporting many versions it is recommended for anyone thinking of developing a new web application to make a clean jump to the latest HTML standard which is HTML5. While many plain old HTML pages exist, as do XHTML pages,  the future is really with HTML5.  It allows more intuitive, more responsive controls that are better suited for modern usage like mobile devices and tablets. Microsoft even has a certification you can test for that focuses on HTML5  (Exam 70-480).

PHP or ASP (Server Side Code)

Besides PHP and ASP.NET there are other  languages like PERL and Java. These languages run computing tasks on the server that hosts the web pages hidden from the browser that displays the page. In many ways these languages help implement a middle tier, They can interact with the web page elements and also interact with the any databases, files or other resources that the browsing page should not be able to directly connect to. When choosing the development language the primary considerations are if the language supports the features required by the proposed database application. Most mature general purpose languages are feature laden to support typical business needs. Then, of course, if you are writing the code yourself, typically you use the language you either want to learn or already know. If you are going to pay a developer to create the database application it is worth asking what language or languages they are strongest in.

Middle Tier Components

Sometimes a middle tier component is used to satisfy some business requirement. If you plan to build this yourself, you would make sure the platform can deliver the solution required. Platforms like JAVA and DOT NET are valid well seasoned choices. The component could be compiled object or interpreted script that resides on the same server where the web application resides or it can be accessed via a web service that invokes a process from a remotely located space. Such components can often be used to make an application more extensible or to manage aspects like security better.

 Databases

It is true, most database driven web applications operate MySQL but common databases that are valid are SQL Server, PostGreSQL and of course ORACLE. That said, what form, which vendor and which version are not the only considerations. Bigger questions require answering. Ideally, business requirements are known in advance. Once this is done, one may accurately determine what form (if any) the database should take and also what the design should be.  There are many kinds of database that can be valid options. It is not a given that all applications will require a proprietary RDBMS (Relational Database Management System) such as SQL Server or Oracle.  There are free and open source relational database solutions like MySQL and PostGreSQL to consider. There are also file based solutions like XML or text files that have their own pros and cons. File server type database applications like ms-access and file maker pro may be an option too. There are non relational systems for certain cases in which better performance can be obtained. Additionally there is the question of how the database is hosted. One may host it on a cloud service that can be managed internally, or use a cloud service managed by another company. We can also use the database offerings of a web hosting account provided by any one of a number of web hosting companies.