Hardware and software do the donkey work of the modern world. Hardware is so expensive it is packaged up and sold as a general purpose computer. A computer is no good on its own to help someone do their work. The software is what turns a computer into a virtual beast of burden. The software is made of computer programs and data stores.
An application is software that is used for one purpose. The name comes from the application of a computer to a problem. A set of software makes it possible to apply a computer for some purpose. Some clever marketing people used the word application to label different sets of software. A kernel, a GUI and a server are types of application.
Every customer has problems he needs to solve and tasks he needs help with. A customer may be persuaded to spend money on hardware and software to help him with his needs. Hardware is not created for its decorative qualities: computers are complex, temperamental and expensive. If a customer has a need for storing information he buys a computer and a database server application like MySQL. If the customer also wants to view web sites he obtains a web browser application like firefox.
The name "application" is a little woolly: it is a suite of computer programs and data stores 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. Every computer runs lots of applications at the same time.
In e-commerce land the name "application" 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.
|popular types of applications|
|kernel||A kernel is the central component of an OS (Operating System) such as FreeBSD, Linux and Solaris. It is used by other applications, not by people.|
|utility||A basic application that allows a person to control a computer. There are thousands of these, such as sh (a shell), rm (a file controller) and man (a documentation viewer). A utility has a CLI (Command Line Interface). Many utilities have been around for thirty years.|
|server||A more complicated application that provides a service to customers. The most famous are the web, e-mail and database servers.|
|GUI||A graphical application that provides a GUI (Graphical User Interface) rather than a CLI (Command Line Interface). Gnome and KDE are big GUIs that provide a whole virtual desktop. GUIs have been popular for about fifteen years.|
|client||An application that can talk to servers, such as a web browser, media player and video conference viewer. A client is either used by a person or another application.|
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.
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.
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 where these are in a LAN view of the LIC. It gives you a hint of how much knowledge you need to support the LIC applications.
In 1967 the IBM company announced it would no longer bundle software and hardware together. The software industry was born.
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 that 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.
In 1999 the J2EE specification, a range of java-related API descriptions, was published. J2EE-compliant application servers started to appear in 2000.