About ALM Technology and Architecture :
ALM is an enterprise-wide application that is based on Java 2 Enterprise Edition (J2EE) technology.J2EE technology provides a component-based approach to the design, development, assembly,and deployment of enterprise applications.
Understanding the ALM Components
An ALM system contains the following components:
- HP ALM client components. When you open Application Lifecycle Management or Site Administration on your client machine, client components are downloaded to the machine. ALM client components interact with each other using .NET and COM technologies. The client communicates with the server over HTTP/S.
- ALM server/Application server. Client requests are dispatched by servlets to the deployed server. ALM comes with a built-in application server called the ALM Application Server. The deployed application contains Application Lifecycle Management, Site Administration, and associated files which are packaged into a Web Application Archive (WAR) file. Client requests from ALM are dispatched to the deployed application.The Java Database Connectivity (JDBC) interface is used to communicate between the application server and database server(s).
The server can run on a Windows or on an Linux/Oracle Solaris platform.
- Database server(s). The database server stores two types of schemas:
- Site Administration schema. Stores information related to the ALM system, such as
domains, users, and site parameters. A row exists in this schema for each project you create.Irrespective of how you configure your system, there is always only one Site Administration schema.
- Project schemas. Stores project information, such as entity data and user data. A separate schema exists for every project you create.
By default, the project schemas are created on the same database server as the Site
Administration schema. These default project schemas are useful for smaller setups.
However, if you are working with a large number of projects or with a small number of hugeprojects, it may be advisable to define additional database servers solely for storing projectschemas. You define additional servers in the Site Administration DB Servers tab. For more information, refer to the HP Application Lifecycle Management Administrator Guide.
The schemas can reside on an Oracle or on a Microsoft SQL server. For detailed guidelines on deploying on the database server, refer to the HP ALM Database Best Practices Guide.
- Project repository. Stores all files to be used by all the projects in the system. For example,.xml files, templates, and attachments. By default the repository is located on the same machine as the application server, which is useful for smaller setups. For larger organizations however, or when working in a clustered environment, it is advisable to install the repository on a dedicated machine.
When working in a clustered environment, the repository must be accessible by all nodes.
- Load balancer. When working with a load balancer, client requests are transmitted to the load balancer and distributed according to server availability within the cluster.
- Tanuki wrapper. A Java service wrapper that allows ALM to be installed and controlled like a native Windows Service. It also includes advanced fault detection software to monitor ALM.
Example of Basic ALM Configuration
The following diagram illustrates a basic ALM system configuration:
Example of Clustered ALM Configuration
Within the J2EE framework, ALM supports clustering. A cluster is a group of application servers that run as if they were a single entity. Each application server in a cluster is referred to as a node.
Clusters provide mission-critical services to ensure maximum scalability. The load balancing technique within the cluster is used to distribute client requests across multiple application servers,making it easy to scale to an infinite number of users.
Take the following into consideration when setting up a clustered environment:
- All nodes must have access to the database server on which the Site Administration database schema resides.
- All nodes must have access to all database servers.
- All nodes must have access to the repository. By default the repository is located on the first node in the cluster, and therefore all other nodes must have access to the first node. If you in
The following diagram illustrates a clustered ALM system configuration:
Example of Integration with Application Lifecycle Intelligence
It is possible to integrate ALM with HP Application Lifecycle Intelligence (ALI). ALI is a set of capabilities, reports, and metrics providing complete traceability, enabling stakeholders to make informed decisions. For more information, refer to the HP Application Lifecycle Intelligence User Guide.
You integrate ALM with HP Application Lifecycle Intelligence (ALI) using the HP Application Lifecycle Intelligence add-in, available from the HP Application Lifecycle Management Add-ins page (Help > Add-ins).
ALI adds a Source Control Management (SCM) server and a Build server to the system. The SCM and Build servers can reside anywhere so long as ALM has access to them. The SCM and Build servers can work with or without an ALI agent.
The following diagram illustrates an ALM system integrated with ALI: