Supportability
Supportability of the Sun ONE Portal Server software is critical to achieve the required performance levels of the proposed solution. To achieve this, you must consider the establishment of a preproduction environment, the creation of organization-specific directories to contain the templates and pages that are used to implement the look and feel of the organization, the use of a well-defined process to install customizations on every production server, and the creation of a comprehensive set of customer-ready documents that describes the implemented solution.
Preproduction Environment
To test and plan the installation of patches and customizations to the different Portal Server components, you must create a preproduction, or staging environment. This environment must be identical to the production environment. Many customers fail to realize that this system is critical to achieve the levels of availability, security, and supportability that they require. Before a patch or fix can be put into the production system, the proper installation process needs to be defined, tested, and documented. This build document should also include how to roll back changes if necessary, and what the expected downtime of the system is. After the patch is installed on the staging server, it must be tested to ensure that there are no new security holes associated with this change.
Look-and-Feel Templates
You should create organization-specific directories that contain the HTML and JavaServer Pages™ (JSP™) technology templates that are used to implement the look and feel of the organization. This is a good practice, even for a server with a single organization.
In the Sun ONE Portal Server 6.2 software, the default desktop templates and JSP technology templates are located in the /etc/opt/SUNWps/desktop/default directory. You can copy the contents of this directory to a new directory under /etc/opt/SUNWps/desktop and modify the files that are used to implement the desired look and feel. To have the Portal Server to use this directory instead of the default directory, change the desktop type attribute in the organization's Desktop service by using the administration console.
In addition, you should remember that the look-and-feel templates that are included with the Sun ONE Portal Server software are just samples of what can be done with the Sun ONE Portal Server framework. You do not have to use them. In some cases, it will be more efficient to create a complete new and simple set of templates. If this is the case, there is an option during the installation to not install the sample portal.
Even if the sample portal is used, the JSP technology templates need to be cleaned up to remove unused elements. The sample desktop includes several channels and containers just to show what is possible to do. Most of the time, a small fraction of the elements defined in the sample portal are actually used. Streamlining the desktop templates will make the desktop more manageable and easier to maintain. This is also valid for the display profile, which is used to manage the user's visible containers and channels. The default display profile, which is installed with the sample portal, should be trimmed to contain just the necessary definitions.
The HTML and JSP technology templates used during the authentication process are stored in the /opt/SUNWam/web-apps/services/config/auth directory. By creating a subdirectory underneath this directory with the modified copies of these templates, you can create a specific look and feel for each organization.
Installation of Customizations
To apply a new set of customizations or patches to a system in production, it is necessary to create a well-defined process to install these customizations on every production server. Often these processes are defined in the Run Books for the system. The processes should define what to do in case the customizations need to be backed out.
It is a good practice to automate the installation process as much as possible through the use of custom installation scripts and to avoid manual steps in the installation process as much as possible. In addition, the installation process should include very detailed installation instructions.
Although they are more complex to create, the best approach is to create custom Solaris OS packages that can be applied, removed, and patched using the standard Solaris OS tools, such as pkgadd(1M) and pkgrm(1M). This also enables you to quickly verify what version of the customizations are installed by querying the Solaris OS package database.
It is also important to maintain a good tracking system to keep track of changes on the customizations. This enables you to easily roll back changes if regression problems are found. The preferred tools for change control systems and to build applications are the open source tools CVS and ANT.
Documentation
One of the most important mechanisms to increase the supportability of a system is to create a comprehensive set of customer-ready documents that describe the implemented solution. Unfortunately, because the documentation has to be done at the end of the project when time and money are usually running low, the documentation phase is usually reduced to the absolute minimum. The areas that must be documented to create a supportable solution are:
System architecture
Software installation and configuration
Operational procedures (also known as Run Books)
Software customizations
Custom code
Third-party product integration