In this chapter, we will look at different classes of applications, and then review some key design points for applications that will perform well. Then we will cover the methods for loosely coupled communication with other systems, which can include mainframes and Java application servers. Finally, we review the development platforms available and position the open source choices, which are LAMP and Tomcat/JBoss, against the major closed code products, which are server pages and application servers based on .Net and Java. The term LAMP refers to development with Linux, Apache, MySQL, and PHP. Less commonly, it might include the other open source languages Perl or Python or the open source database PostgreSQL.