A Comparison of two major dynamic web platforms (LAMP vs. WISA)
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.)
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).