A Comparison of two major dynamic web platforms (LAMP vs. WISA)

Posted May 11, 2003
Last Updated Aug 13, 2013

There is no doubt that dynamic, database-driven websites are increasing the amount of business transacted over the web. Many small and medium business owners are looking to web developers for design of such sites. When receiving proposals from developers, many terms are tossed around, such as ASP, PHP, WISA, LAMP and SQL. But what do these terms mean, and which technologies are best?

A dynamic website has four major components: the operating system, the web server, the database and the scripting language. Although there are many combinations of these components, two major combinations are in use today, and will be the focus of this article. These first is based on Microsoft technologies: Windows (operating system), Internet Information Services (web server), Microsoft SQL Server (database) and ASP (scripting language). This combination is often abbreviated WISA. The other is based on various open-source technologies: Linux (operating system), Apache (web server), MySQL (database) and PHP (scripting language). This combination is abbreviated LAMP. This article will compare each component of WISA and LAMP.

The operating system is the platform on which all the other components run. Which operating system you may limit your choices of components. Generally, Windows is considered easier to use, however, the advanced controls needed to administer a dynamic web-site are often buried or only available by modifying configuration files. For most small websites, the hosting provider (who provides you with space on a machine to run the website) may not allow you access to operation system-level controls, so these considerations are relatively unimportant. For large websites, where you have your own dedicated machine, or the machine is located in-house, the operating system will be available to you. In these cases, I recommend choosing based on what other components you prefer.

The web server is the program that takes request for pages from a browser, interprets the request, and returns the results. For static HTML pages, it simply retrieves the HTML file that the browser requests. For dynamic pages, when a browser requests a page, the web server transfers control to a program or module that interprets the script and returns the results. Internet Information Services (IIS) is tightly integrated with the Windows operating system, and is only available on that platform. It is easy to install, and is part of the default installation of Windows 2000. Apache is open-source – meaning advanced programmers can customize the way it runs by editing the program itself. It is available on both the Linux and Windows platforms (as well as many others). Generally, Apache is considered more secure than IIS, but its security features can sometimes be difficult to configure. Apache and IIS are both free, but support contracts can be purchased.

The database stores information that can be retrieved, stored, and manipulated by the scripting language. For web-sites it can be used to store content (i.e. articles, news stories, calendar events) and user information (i.e. preferences, permissions, contact information). MySQL is a free database that supports most of the standard SQL syntax and runs on all operating systems. SQL stands for Standard Query Language, and is the language programs use to interact with databases. Microsoft SQL Server (sometimes abbreviated as MSSQL or just SQL Server) costs about $5,000, supports all SQL syntax, and only runs on Windows. SQL Server is considered an enterprise-level database, and is comparable to Oracle and Sybase is power and features. MySQL is not as powerful, but for almost all web applications it is sufficient. The difference in price may not be a factor in the decision if your website is to be hosted, as this is a cost to the hosting company. However, if the machine is in-house, the price is a considerable factor. I would recommend SQL Server if you anticipate using the database for non-web applications that need massive amounts of power, or if you are incorporating existing SQL code that uses commands not available to MySQL. (A less-expensive Microsoft database – Access – is another alternative. It supports most of the SQL syntax and runs on the Windows operating system.)

When a browser requests a script, the web server transfers control to a script engine which reads a program written in a scripting language. PHP is a free scripting language that was designed to work with the web. It offers many object-oriented features, integrated tightly with HTML, and is similar to other languages such as C++ and JavaScript. Active Server Pages (ASP) is not actually a scripting language, but is a Microsoft technology that allows existing scripting languages to be used in a web context. The most supported scripting language used is Visual Basic (VB). ASP/VB is often said to be easier to program in than PHP, however this statement is only true for the simplest of programs. The simplifications in VB syntax may make it easier to read, but make it harder to do some very fundamental tasks. It has no short syntax for string concatenation, strings may not contain line breaks, these is no way to store the name of a variable in a variable (sometimes known as variable variables), and there are problems with variable scope. Another consideration is cost. While both languages, and their engines, are free, PHP has more standard features than ASP, including file uploading and image manipulation. To get these functionalities in ASP one must purchase third party modules. Many pre-made packages such as shopping carts and web forums are written in PHP and distributed free, while those written in ASP are typically sold. The features on the free PHP packages are comparable, and often better, than the ASP packages, but may be difficult to install and may have incomplete documentation.

In summary, LAMP and WISA are both excellent platforms for web development. There differences stem from the communities that developed them: LAMP is low-cost, open-source, "geeky” and community-supported, while WISA is expensive, corporate, and well-documented. I would recommend LAMP for most web sites because of its cost, PHP’s simple web integration, and Apache’s security. I would recommend WISA for enterprise-level sites (such as web-based email services, online 3d graphics programs, or retailers that expect more than a few thousand online orders each day) because or SQL Server’s raw power, and Microsoft’s support services.

Note: There are also several other good choices not covered in this article such as WAMP, WIMP, LAMA, various other operating systems (MacOS, Unix, Solarius, BeOS), servers (WebStar, Xitami), databases (Postgre SQL, IBM DB), and scripting languages (PERL, Python).

Comment

No HTML Tags are permitted.

A Stevko

Jan 4, 2011

typo? - should WAMP be WISA in this sentence:



LAMP is low-cost, open-source, “geeky” and community-supported, while WAMP is expensive, corporate, and well-documented.



Andrew Penry

Aug 13, 2013

Thanks for the catch. Never too late to fix a typo.
Angry Teapot Level Design Awards