Main Content

Web Application Components

Archive - Originally posted on "The Horse's Mouth" - 2006-03-28 05:44:19 - Graham Ellis

When putting a web resource together, we want to keep what each individual user needs on his computer simple - REAL simple - which means that all the work and the complexity needs to be at the server side.

I'm running a deployment course that started yesterday and it's only when I started to think "what should I include in this course" that I realised just how many technologies were involved. So I started off with a board diagram and started putting the components up, each represented by a book from our library. Starting off from the ground level, you need an operating system (Fedora Linux has been chosen), with admin and networking skills, and a web server with HTML and the other components such as style sheets, Javascript and a little about images.

General Deployment resources are indexed by subject here on this web site



Many server side applications run under CGI - better know something about that and someone needs to write the applications and maintain them - perhaps in Perl, PHP or Python. If your applications are going to be major ones, Tomcat may be a better vehicle to serve with (ah, but you'll probably still need httpd too), and you'll want some XML skills in order to understand the Tomcat configuration files - and the other XML data you'll be handling too, together with Schema to help validate your XML and XSLT in order to format it for the display

Perl and CGI resources are indexed by subject here on this web site.

PHP resources are indexed by subject here on this web site.

Python resources are indexed by subject here on this web site.



If your application is to be Tomcat based, then you'll be using Java. Described as a simple language, complexity is added by the huge array of classes available and the various web interfaces such as Servlets and JSP that in essence are an alternative to the CGI approach. You'' need to manage your Java code - perhaps with ANT, and your data in a database - contacted via JDBC drivers, talking SQL, and running a daemon such as MySQL

Java resources are indexed by subject here on this web site.

MySQL resources are indexed by subject here on this web site.



CAN there be yet more? Yes, there can! there will be a number of other side technologies that may turn up - this week, for example, the Tcl language is used as a configuration tool for a piece of third part software and common login databases are supported via LDAP. The server needs to be running a mialing daemon, and there are mailing lists to look after too, and the little issue of security!

The there's a whole aspect we haven't even considered - the design of the whole thing. As Java is OO based, you have better understand those concepts and the more formal methods such as UML to document and share your design round a larger team. You'll be content managing so as well as databases you'll be looking at blogs, forums and wikis. And also the whole look and feel of the site - what to do and how NOT to do it too. Human engineering!

On the more commercial side, you'll want Google, MSN and the other search engines to register your page and send traffic to the right place, and perhaps you'll use adwords or other advertising to help this. "Search Engine Optimisation" is often the name given to this huge topic. Be aware, too, in the UK of the DDA (Disability discrimination act), Copyright laws, unsuitable content, data protection registration, and so on. And make sure that your pages are in good, clean English (or other source language).

Tcl resources are indexed by subject here on this web site.

And have a look too at the non-technical index and another look at the deployment index too.

And why "The Gardening Year" at the end of my stack of books? That represents the subject of the web site - knowledge and enthusiasm there will take you a long way!