Choosing a Technology Platform for Your Site
A question I sometimes hear when first talking with prospective clients is, “Which technology platform and programming language is best for my site? Then, in the same breath they’ll say, “I heard Footron Version 3.0 is the best.”
We’ll examine some factors to consider when making this important decision, but first a few truths to think about.
- You can do almost anything you want to with ASP, ASP.NET, PHP, RUBY, PEARL, JSP, PYTHON, CGI, Cold Fusion, or any other popular web programming language.
- Microsoft Internet Information Services and Apache are both good web servers.
- Microsoft and SUN are good platforms.
- Most web languages have similarities since they have been derived from lower level languages like C, C++.
- Some are more prevalent than others.
- Some are more robust in features than others.
- Some lend themselves to rapid application development (RAD) better than others.
- Some are more robust in features than others.
- There is no best. It depends on the project.
Site Requirements
A site’s requirements are derived from its purpose, the resulting functionality and audience demands. If the site contains all static content that simply acts as an online brochure, the platform is not very important. HTML, which is what creates web pages, is platform independent. The web server does not need to do much work to display the site. If your site has any dynamic content, a content management system, or e-commerce, then more importance is placed on the platform and web server’s role.
Functionality for such features is provided by programming from scratch, purchasing pre-built applications, or leasing services. While making these choices is beyond the scope of the article, the platform to choose is tied directly to which of these alternatives are used. If you’re programming from scratch, there is flexibility to use any reasonable web platform. Leased services are also somewhat independent of the platform of the web server because of APIs and web services that allow for interoperability. If you buy a content management system or shopping cart the platform is largely determined by that application. Any other applications used on the site should be of the same platform. It can create a lot of problems to mix technologies. Don’t to it if you don’t have to.
The amount of traffic to the site also influences platform decisions. Sites with few visitors (5-2000/day) can usually handle the load with one web server and single tier architecture. Sites with a lot of traffic (2000-1,000,000+/day) may need several servers to distribute the load and processing. Some technologies scale better than others.
Where’s the site going to live?
A site resides on a web server. How it's developed is determined by the type of server, or the type of server is determined by how it's developed. Companies can host their own sites, lease dedicated servers, or lease space on shared servers. These options come in all platforms and are closely priced.
There are basically two factions of web platforms: Microsoft and everyone else. Apache is the most popular web server. It is most often found on non-Windows computers (Linux, Unix, Macintosh, Sun). Second, is Microsoft’s Internet Information Services, IIS, it follows Apache in market share across the web, but leads in business use because of Microsoft’s focus on business computing and development.
Who’s going to work on it?
Vendors are usually specialized and have a platform and programming language of choice. They sell what they know and can usually justify their preference. It is important to make sure there are other resources available to work on the site than just the vendor that built it. Choose a technology that has an abundance of development resources available in your area.
Common Choices
Microsoft Internet Information Services, IIS (Windows) Languages Active Server Pages, ASP – Microsoft’s core web scripting platform can be developed using VB Script, a language derived from Visual Basic, or JScript, JavaScript. ASP has essentially been replaced by ASP.NET, but there are a lot of sites still on the web using this technology.
ASP.NET – Microsoft’s pride and joy. A true paradigm shift in how web sites are developed. The .NET framework provides a huge arsenal of objects (namespaces) with robust functionality and the speed of compiled assemblies versus interpreted script. ASP.NET can be programmed in C#, VB, and JavaScript.
PHP – This is the most popular and arguably the best open source scripting language on the web today. It's mostly used on non-MS web servers, but there is a version for IIS too. It is also made to go with MySQL database server the most popular open source database server. The language has nice syntax and structure with quite a few built in objects, but nothing compared to ASP.NET.
Pearl – Pearl was very popular in the open source world, but it has been surpassed by PHP. Ruby - Ruby is the new kid on the block. It is gaining popularity because it’s easy to learn and Ruby On Rails, a RAD framework, created by 37 Signals. Purists love its simplicity.
Cold Fusion – Cold Fusion is part of Adobe’s suit of development products. It is a super easy to learn, RAD system that uses a tag structure, like HTML, to provide functionality. Before Macromedia (now Adobe) purchased it, Cold Fusion’s future was uncertain. They kept it alive and Adobe plans to make improvements and reestablish it as a major web development alternative.
Common Gateway Interface, CGI – This was the first technology to provide server functionality on the web. CGI apps are programmed in C, C++, Java and other primary development languages. This technology is still out there, but outdated.
Apache Web Server Languages ASP – There is a version of ASP created for Apache, but why? It’s kind of like trespassing. PHP – This is PHP’s true home. Pearl – ditto. Ruby – ditto. Cold Fusion CGI
Enterprise Systems
Large businesses today are using software systems that manage information and provide collaborative tools for a wide degree of business services that include web publishing. It gets really complicated on projects of this scale. IMB’s Web Sphere, Oracle’s JD Edwards, Sun’s J2EE, and Microsoft’s Family of Servers all have web publishing components. There are hundreds of smaller development firms that have their own systems built with several of the languages listed above.
Most Importantly
Whatever platform is used the application can be developed well using best practices, or end up being a mess. When choosing a vendor and subsequent development technology look for a team that can deliver a well designed and executed application while keeping things simple. Technology
|