Internet Database Technologies
Since the mid 1980s databases have had to learn how to work in a networked environment. This evolution continues with respect to the Internet. We discuss the technologies used by Internet capable databases in this paper.
The Emergence of Networks
As networks began to emerge, information system designers realised that the client and server parts of a database could be separated. One of the original ways to connect to a database server was via a dumb terminal. This was essentially a remote connection over the network to the database server, and you got the same amount of functionality as you did if you were actually at the server machine.
When these systems grew, it was realised that not all of the business rules for the system had to be implemented on the database. Perhaps some could be moved to the client. In this way, for example, the data a clerk entered into the system could be validated against the business rules before the transaction was submitted to the database. In a system with many networked clients, this could reduce the workload of the server by reducing the amount of failed transactions. Clients of this type are sometimes referred to as rich or fat clients, as they contain some ‘intelligence’ about the information system. While this was an advantage of a fat client, the disadvantages are the need to deploy new clients every time business rules change.
As the Internet arrived the number of clients a database could expect to support again increased by an order of magnitude. Operational advantages could be gained if the information system used a web browser as a thin client. An information department now no longer needed to develop different platform versions of its client as most operating systems of the day could support a web browser.
All that was needed was a way to connect the web server to the database. Thus ‘middleware’ technologies were developed.
The first of these technologies was Common Gateway Interface (CGI). Using this, a web server would be configured to receive a special request. This would cause the web server to begin the execution of an external process. This process would do whatever was necessary to generate a response, be that looking up log files, or accessing a database. The output of this process was usually an HTML page which the web server returned to the client.
CGI is no longer used as a middleware technology. Despite its advantages, it was difficult to configure for security and its performance under heavy load was poor. Since CGI has fallen out of favour, other technologies have sprung up in its place.
Nowadays middleware is usually achieved by tight integration between the web server and a middleware server. Several server side scripting languages have been developed such as PHP, JSP, ASP and ColdFusion. These offer the advantages of easier deployment over CGI coupled with standardised Application Programming Interfaces (APIs).
All these server side extensions work in a similar fashion. The web server is configured to know when a ColdFusion page is being requested, for example. That script is then passed to the ColdFusion middleware server which executes the script commands contained in the file and builds a HTML page as a response to the request, accessing the database if necessary. This HTML page is then returned to the client.
Developing Databases for the Internet
Special considerations need to be taken into account when developing a database on the Internet such as data security, transaction management and client-side validation. Some databases add value to an organisation by being publicly visible on the Internet, such as product catalogues and order management databases. Others would seriously compromise a business such as operational databases. Ensuring which databases are publicly available, and to whom, is obviously important.
Finally transaction management needs to be considered. Databases which are available on the Internet need to be able to deal with large volumes of transactions. It is not uncommon for the number of transactions in a popular web store to number in the millions per day. The database server hardware and software will need to be sized and configured properly to enable this.