applications and servers

waiter

introduction

Software is created to do the donkey work of the modern world. Computer hardware is created to run software. A set of software programs that are applied to a problem are collectively called an application.

A server is a type of application. Servers are found all over the Internet. An application that provides access to Internet resources is providing an Internet service: the application is called the server and the work it does defines the type of service. An Internet resource is information such as a document or a program contained somewhere in the Internet . Popular Internet services are e-mail and web.

what it is

The name "application" is a little woolly: it is a suite of computer programs that allow the application of a computer to a job, such as storing company information or handing out company documents. Any suite of computer programs that work together with one purpose can be called an application. In e-commerce land the name tends to be associated with business logic services: the services that store business objects and make business decisions. Programmers are given requirements and write the programs that form the application.

A customer obtains a database application so he can apply it to his need for storing information. A database application like MySQL is used for the particular purpose of storing data.

A server is one type of application. The Internet is full of resources. Any software that is used by customers is a resource, such as images and documents. Resources are desired by clients. A lot of software on the Internet is designed to satisfy that desire by offering resources. An application that performs a service to clients from the Internet is called a server. The most famous Internet service application is the web server. Or possibly the e-mail server. Or the tennis server.

A server is usually included in a bigger application. MySQL and sendmail are two applications that contain servers in addition to other programs.

  • The MySQL database application contains lots of mini-applications (little suites of programs) to cover different types of database work. MySQL contains a database server, a client that a customer can use to talk to the server, tools to make an administrator's job easier, tools for programmers and so on.
  • The sendmail application is an MTA (Mail Transfer Agent), an application that sends e-mail across the Internet. An MTA has a lot of jobs to do so it contains mini-applications including a server, a client, a security checker and so on.

In the 1990s users of the Internet grew from a few techno-hippies to an entire world of nouvea nerds. Its popularity grew because of a holy trinity of services taht these new age geeks wanted to get their hands on: e-mail, WWW and ftp. Everyone wanted to receive and send messages. Everyone wanted to read web sites. Everyone copied files to their shiny new web sites provided by their ISPs. There were many services behind the scenes making all this usage growth happen, but most nouvea nerds only noticed these three.

A computer built for running a server is different from a general purpose PC. It tends to be a big beefy box with lots of memory, CPU and disk space and nothing fun such as a graphics card or audio speakers.

A suite of programs that makes up an application is delivered in one big archive, along with any documentation such as assembly instructions. This is called a package because it arrives in a box wrapped in brown paper stuck down with tape.

what it isn't

An application server. This is not defined as "any application that provides a service". An application server is one type of server used to tie lots of applications together and connect them to a network.

A computer. For some obscure reason, perhaps some astonishing lack of imagination or a shoddy grasp of language, the computer that a server runs on has also become known as a server. Other meanings of server, such as tennis server, are best avoided.

where it is

The servers in the LIC run on the same LAN. Database servers, application servers, LDAP servers and all the rest are found in the biz LAN in the middle of the LIC. One of the security features of the LIC is to protect this LAN. This LAN is protected from the outside world by not letting any customer go directly to it. There are LANs on the Internet side and the enterprise side of the LIC that contain web servers that act as proxies. Customers can contact the proxies and the proxies contact the applications on their behalf.

Every part of the LIC runs applications and many of these are servers. The diagram below shows a complicated arrangement of applications and servers used for very big web sites. Putting this arrangement into practice would take dozens of computers.

LIC topology: a complicated topology of applications and servers
Internet
e-mail servers
SSL accelerators
load balancers
load balancers
firewalls
web servers
web servers
application, database, dns, e-mail and reporting servers
dns servers
firewalls
load balancers
web servers
administration servers
security servers
firewalls
enterprise network

history

apache

mysql

In 1999 the J2EE specification, a range of java-related API descriptions, was published. J2EE-compliant application servers started to appear in 2000.