Liferay provides several options for installing the portal depending on your specific needs. The installation options can be grouped into three main areas:
Using an open source bundle: the bundles are the easiest and fastest installation method. They include an embedded database so all it takes to do the installation is to install a Java SE runtime environment, unzip the bundle and run. It is recommended for people that want to review Liferay's functionality. They can also be used for production environments if the database configuration is modified.
Detailed installation procedure: explains how to install the portal in an existing application server or that has just been installed using the vendor packages. This is option is available for all the supported application servers. It is recommended for production environments and when deploying to a proprietary app. server.
Using the ext environment: this option provides a full development environment to extend the functionality provided by Liferay. It is recommended for installation in the personal computers of the developers doing the customization. It won't be covered in this guide. Refer to the developer guides for more information about it.
Liferay is provided in two editions so it is necessary to choose the one that better fits each specific needs. The reason they exist is because some people love EJBs and some people hate them. We want to keep both happy and leverage our flexible Spring based architecture to offer both options with the same code base:
Liferay Portal Enterprise: uses Enterprise Java Beans (EJB) and the services provided by them. This edition can only be deployed in full JavaEE applicaton servers.
Liferay Portal Professional: uses servlets plus the functionalities provided by Spring and can be deployed in a servlet container.
Both editions provide the exact same functionality. The main reasons for choosing one or another will be budget limitations or performance and reliability issues. Related to the latter, to determine which edition is best for each specific case it is necessary to perform tests that will simulate the real usage and load of the system.