This section outlines the technology options available for the development alongside the positive and negative points in regards to their usage. At the end of each technology review an evaluation and rational is provided for the chosen option.
Hosted Versus Self Hosting
The development would require both a front end website and backend database to operate on, so the first option to consider was a hosted versus self hosted solution.
One of the cheapest hosted solutions was Go Daddy. Go Daddy offer a basic package for £2.99 per a month that included one website and a single database instance (GoDaddy 2013).
The self hosting alternative was to re-purpose an existing Dell PowerEdge 840 server for the task. The advantage of self hosting provided the opportunity to understand how the software could be best configured and setup if it was transferred into a customers production environment. There are also no limits in the numbers of websites and databases that could be setup and configured for testing purposes.
The specification of the Dell Server is:
CPU - Xeon 3040 1.86 GHz 64bit Dual-Core processor 1066 MHz bus speed, 4 MB L2 Cache
Memory - Intel 3000 chipset 2 GB DDR2 ECC RAM (Upgraded to 4 GB)
Hard Disk - 250 GB SATA hard drive
Graphics - ATI ES1000 video with 16 MB of video memory
Other - CD-ROM drive, Integrated Broadcom Gigabit Ethernet LAN
Evaluation and Chosen Option
As the in-house version offered greater flexibility this was selected as the preferred method over the hosted option. The in-house option would also provide the opportunity to learn and install server operating systems and understand networking principles to make the in-house server internet facing.
Server Operating Systems, Databases and Web Servers
The Linux and Windows operating systems platforms were investigated (Table 18) as these are the main two rival operating systems on the market. The database and webserver software have been grouped together by their typical environment installations. However it is possible to install the MYSQL and Apache software on a Windows Server OS.
Table 18 - Comparison of Operating Systems
Evaluation and Chosen Option
To evaluate both operating systems Windows Server 2012 was installed first with Microsoft SQL 2012 standard edition, followed by a clean installation of Ubuntu with MYSQL and Apache.
It was clear once Windows was installed that the server was too slow to cope with the operating system and database on the same server. This manifested itself with slow loading times of applications and the server freezing between switching tasks.
When Windows was ruled out for these reasons Ubuntu was then installed using a guide from YouTube to perform a LAMP (Linux, apache, MySQL, PHP) installation. This installs all the required components with a single command line option (Unique 2013).
Ubuntu ran under utilised without any of the performance issues experienced on the same server running the Microsoft OS.This is shown in system resources screenshot shown below in Figure 29, only 23% of the memory and one CPU core is being utilised.
Figure 29 - Ubuntu System Resources Screenshot
Database Software for PoC
The options for the choice of software for the PoC database are shown in Table 19.
Table 19 - Database Software Choices
Evaluation and Chosen Option
Microsoft Access has been chosen for the PoC. The speed to build and test an Access database would be far quicker than building the same database in MySQL with the authors current knowledge of both programmes.
Web Design Software
On evaluation of the web designer tools out there most are paid for, web hosted or there are additional charges on top of the free offering to make the tool useful. CoffeeCup is an example of this where there are additional charges for the themes https://www.coffeecup.com/store/themes/visual-site-designer/.
The alternative software are text/code based editors such as NotePad++ http://notepad-plus-plus.org/.
Microsoft seem to offer the best free designer "Expressions Web" however they dropped support for it in December 2012 in favour of Visual Studio 2012 for the web (Spiderwebwoman 2012).
After installing and trialing the software, based on its ease of use it was selected for the web elements of the development. This is shown in Figure 30 where the software enables you to view a WYSIWYG representation of the site alongside the code view. This makes learning the HTML and CSS coding easier as you can click on the visual parts to match up where the code is inserted for each element.
Figure 30 - Screenshot of Expressions Web in Action
Programming Languages
There is only one language HTML and CCS used to code websites. This language is supported within the Expressions Web Tool. There is an alternative language being developed called AXR which aims to work with XML and HSS (AXR Project 2013). However this technology is at a pre-production stage and not mature enough on which to base the User Guardian development.
The Database can only be coded in SQL as supported by MySQL.
The choice for the Website interaction with the database has to be PHP as its a server side language designed for this reason. There are alternative ways such as JavaScript however this approach is not recommended (Stack overflow 2013).
Other Software and Hardware
The following list (Table 20) contains any additional software and hardware used to implement the project.
Table 20 - Additional Software Used
References
Go Daddy, 2013. Web Hosting [Online]
Available at:http://uk.godaddy.com/hosting/web-hosting-new.aspx?isc=gofhbuk10
[Accessed 29 December 2013]
InQbation, 2013. Waterfall method of software web developement. [Online]
Available at: http://www.inqbation.com/waterfall-method-of-software-web-development/
[Accessed 27 December 2013].
Microsoft, 2012. Installing Windows Server 2012 [Online]
Available at: http://technet.microsoft.com/en-us/library/jj134246.aspx
[Accessed 29 December 2013]
Microsoft, 2013. Hardware and Software Requirements for Installing SQL Server 2012 [Online]
Available at: http://msdn.microsoft.com/en-us/library/ms143506.aspx
[Accessed 29 December 2013]
MySQL , 2013. MySQL technical Specification [Online]
Available at: http://www.mysql.com/products/enterprise/techspec.html
[Accessed 29 December 2013]
Spiderwebwoman, 2012. Expression Web 4 is now a free download from Microsoft [Online]
Available at: http://msmvps.com/blogs/spiderwebwoman/archive/2013/01/07/1822268.aspx
[Accessed 29 December 2013]
Stack overflow, 2013. How to connect to SQL server from JavaScript [Online]
Available at: http://stackoverflow.com/questions/857670/how-to-connect-to-sql-server-database-from-javascript
[Accessed 29 December 2013]
Ubuntu, 2013. Meeting Minimum Hardware Requirements [Online]
Available at: https://help.ubuntu.com/lts/installation-guide/i386/minimum-hardware-reqts.html
[Accessed 29 December 2013]
Unique, 2013. How to easily install & configure a LAMP server on Ubuntu Linux [Online]
Available at: http://www.youtube.com/watch?v=Lu0KWbXv1aM
[Accessed 29 December 2013]