Using Web Technology to Provide Low Cost Business Software

Spreadsheets have transformed business. But there are limitations in what spreadsheets can provide. Once the limits of spreadsheets are reached, database solutions are needed. (See my blog What is a Database) . Most business applications, whether bespoke or off-the-shelf, are based around some form of database.

Recently, some software developers have found that web technology can be used to make bespoke database applications much more affordable and usable.

Windows has many advantages and is nearly universal on PCs but it suffers from poor database support. In fact, Windows is really designed for applications like word processors and spreadsheets. There have never really been any standards for providing Windows database apps. The solutions that exist have tended to veer between the very expensive and inelegant. The solutions are rarely easy to set up and they often place many restrictions on the layouts of forms. The lower priced ones are difficult and expensive to maintain.

However, the software to create web sites has become very standard and sophisticated. The software components work well, and many are open source with minimal or no licence charges. Some developers have realised that it is now easy to build business apps around intranets. These reside on the user’s server and are accessed through the browser.

Using intranets to provide apps provides many benefits.

No deployment costs

You only pay for the development, not licences for a database engine

Ease of deployment

Traditionally, database drivers have had to be installed on every workstation. All that is needed to use the software from a new PC is to type the app’s address into the browser.

And, of course, everybody knows how to use a browser.

Wide availability of resources (skills)

Web software, especially the PHP programming language and the MySQL database engine are popular with developers and there are large numbers of developers available. This reduces being tied to one supplier.

Future proof

Web technology is here to stay. The environment is stable and suppliers are committed to the future. Standards are not controlled by users, not companies.

Low cost

Cost of development can be significantly cheaper than traditional methods.

What is a Database?

Broadly, a database is a collection of data records. Databases are capable of holding and processing very large volumes of data. The database in Facebook holds records for well over a billion users for example.

The core of a database is a table. A table is a bit like a spreadsheet: it contains rows and columns of data. Unlike a spreadsheet, a database column contains a single type of data, perhaps a 6 digit number, a date, or a text field.

Typically a database consists of a set of tables. For example, a company might have a table of products, one of customers and another table of employees.

What are the advantages of databases over spreadsheets?

Firstly, spreadsheets are only suitable for a few thousand records at most. For larger volumes, databases are essential. It simply isn’t feasible to manage and keep track of large volumes of data in a spreadsheet.

Secondly, a spreadsheet is basically a stand alone application. Whilst they are good for some calculations, these calculations are contained within the spreadsheet. Databases do not have to be stand alone, they can be accessed by programs and usually are. This makes all sorts of processing possible. The main advantages of databases are:

  • searching for data is fast and easy

  • processing and calculations can be done

  • data can be displayed better, and viewed and input in forms

  • web sites can use databases

  • data can be grouped into classes and subclasses

  • selection and sorting are easy.

Classes and subclasses

With a database, it is easy to extract data for a class of record. It is also easy to get sub totals for each class of data. Consider the example of a sales table that records sales made by type of product (say hardware, software or accessories) and by salesman. You may want a monthly report of the total sales for each type of product and another report for the totals for each salesman. These figures can be produced by single calls to a database.

Single commands to the database can extract all records for a type of data. For example the web site for a music shop might want to display:

All blues albums

All Pink Floyd albums

All albums by artists beginning with B

Albums whose title contains “holiday”

These can be done directly

In a large system, there can be a hierarchy of classes. You can see this in web sites like Amazon, Argos or DIY shops.

Combined data

Often data is needed from more than one table. Consider an invoicing program. An invoice needs data for:

  • a customer

  • an order

  • several products

A database engine can extract all this information with a single command.

In conclusion: using databases

Most business applications are built around databases. Databases provide ways to store data and this data can be analysed over time to provide valuable information about trends in a business.

About the author

John McMillan is a software developer based on the Essex Suffolk border in England, close to Cambridge and North East London. He carries out computer programming services to provide bespoke solutions to business needs. He has written software for a wide range of clients from the small SMEs up to blue chip companies.

Would you like to receive John’s occasional newsletter?

Click here to sign up for the newsletter.