IKAN ALM Technical Sheet

Overview

IKAN ALM is a cross-platform web-based solution for Application Lifecycle Management. It combines DevOps initiatives (continuous build and continuous integration) and lifecycle management to support the complexity of service-oriented architectures and highly distributed systems.

IKAN ALM encompasses all aspects of the Application Lifecycle Management process offering build management, continuous integration, rebuild, manual build, release management, approval processes and deployment management. Within IKAN ALM, you define, implement and enforce software lifecycle processes, appropriate for your organization, including development, test, quality assurance and final production.

IKAN ALM is a methodology-independent and repository-neutral tool (enabling cross-platform development). IKAN ALM complies with industry standards, such as CMMI, ITIL and PRINCE. It helps your organization to enforce, control, audit, report and facilitate best practices and guidelines for Application Lifecycle Management, and provides benefits which guarantee conformity with audit requirements and improve communications with the different parties across the IT system.

Do not hesitate to contact us to learn more about IKAN’s solution for Application Lifecycle Management.

Technical Features

Build Features

  • Support for multiple projects

  • Continuous Integration: temporal scheduling of project builds

  • Ability to manually initiate a build

  • Build/rebuild any project version

  • Build/rebuild on multiple environments

  • Customizable build workflow: adapt the flow of sub-processes (Phases) to be executed for a build

  • Dynamic and secured build parameters which may be edited just before the execution of the build

  • Configurable VCR tagging: template-based tagging, defined for each Project Stream (with variables such as project name, build number, date/time, branch prefix, suffix, …​). The default (template-based) tagging may also be overwritten at build creation, e.g., to enable applying labels like “RC1” or “BaseLine4.0”

  • Project dependency:

    • include the latest result, a specific result or the production build result of a dependent project

    • include and build the latest source or a specific production source version of a dependent project

  • Incremental build:

    • only build the modified sources compared to the previous build

    • only build the modified sources compared to the build in production

    • only build the modified sources compared to a specific VCR tag

  • Tag-based build: Build based on a specific tag instead of on the latest code

Deploy Features

  • Deployment of successful builds

  • Temporal scheduling of project deployment

  • Ability to manually initiate a deployment

  • Deployment of any Project Version

  • Deployment on multiple environments, in sequence or in parallel

  • Customizable Deploy workflow: adapt the flow of sub-processes (Phases) to be executed for a Deploy

  • Dynamic and secured deploy parameters, may be edited just before the deploy

  • Partial deploy: deploy only the modified result files comparing to the previous build result

Support for Lifecycle Management

  • Rebuild of previous builds on other target platform

  • Deployment of previously executed builds to other target servers

  • Define process flow: how builds migrate from BUILD to TEST to PRODUCTION environments (called Levels in IKAN ALM language)

  • Customize the Build and Deploy steps for delivering to a Level

  • Possibility to define hierarchical approval process after and/or before deployment towards a Level

  • Possibility to define required notification after and/or before build/deployment towards a Level

  • Deliver/Redeliver/Rollback functionality of built/deployed software

  • Freeze functionality blocks the continuous build process or any other new build on the build level

  • Optional Levels: possibility to skip a Level in a Lifecycle

  • “Milestone” Levels: levels with no associated environments to support an advanced Approval and Notification process

  • Define one or more physical environments (Windows, Linux, Mainframe, …​) for each level

User Interface

  • Web-based user interface allows configuration of the entire system (no need to manually edit configuration files)

  • History log of all administrative changes ensuring maximum traceability

  • Convenient list of all the projects and color coded results of their last builds (succeeded/failed)

  • Overview pages with enhanced search capabilities to quickly find the status and history of a Project’s lifecycle.

  • Customizable desktop in Tiles or Classic (table) style providing a clear status view of the user’s projects

  • Two-way overview of Build dependencies.

  • Convenient interface for approving, rejecting and searching approvals.

  • Intranet project with javadocs, JUnit test results, metrics, and downloadable artifacts

  • Interface to quickly identify and delete obsolete build artifacts

  • Internationalization: the interface language can be defined through the user definition

  • Context-sensitive help is available online (https://docs.ikanalm.com) in HTML format

  • Convenient interface to easily re-use defined build or deploy parameters through cloning of parameters and environments, or by defining machine parameters that are inherited by the environments

Support for Version Control Systems

  • Subversion

  • Git and GitHub

  • Microsoft Team Foundation Version Control (TFVC)

  • Azure DevOps Services Version Control

  • CVS

  • Support for any Version Control System can be made available via the API interface

Version Control System Interaction

  • Performs checkout or sync of project sources

  • Applies a label with the current project version number

  • Diff with the previous built/deployed software

  • Show Sources (with version info) related to a build or deploy

  • Ability to select and move individual files or components through a lifecycle (Git, GitHub, Subversion, TFVC and Azure DevOps)

  • Subversion meta properties are automatically retrieved during the "Retrieve code" phase and can be used by the build or deploy scripting tool

Ant, Gradle, NAnt, Maven 2/3 Builder and Deployer

  • Ability to execute any Ant, Gradle, NAnt, or Maven script to build and deploy the project

  • No intrusion into the build/deploy script

  • Ability to pass extra Ant/Gradle/NAnt/Maven properties and change them right before build/deploy

  • Wrap an Ant/Gradle/NAnt/Maven script in a Custom Phase with specific properties and easily distribute and reuse it in different Projects or IKAN ALM installations

  • Ability to specify JVM options like -Xms and -Xmx

  • Support for Multiple Versions of Ant/Gradle/NAnt/Maven

  • Configurable Ant/Maven Classpath

  • Ability to run Ant via the “Ant Launcher”

  • Support for Multiple JDKs or .NET frameworks

Supported Transfer Protocols

  • FileCopy using Windows shares and Linux mounts

  • Secured file transfer using Secure Copy (SSH)

  • FTP

Issue Tracking

  • Link builds with issues, manually or automatically

  • Possibility to link issues with builds manually

  • Synchronize issue properties (status, description, etc.) with external Issue Tracking System

  • Automatically add comments to issues each time a build moves through the lifecycle

  • View details of issues from within the IKAN ALM GUI

  • Built-in integration with JIRA (on-premise and Cloud), Team Foundation Server, Azure DevOps Services, MicroFocus ALM and GitHub

  • Integration with any 3rd party Issue Tracking System via API

Package-based Build and Deployment

  • Ability to select and move individual files or components through a lifecycle (Git(Hub), Subversion and TFVC). Supports mainframe way of development

  • Specific revisions/versions of individual files can be chosen

  • A history log is maintained, allowing auditing the changes in the content of a Package (files added/removed/modified)

  • A Package Build Group concept handles dependencies between Packages

Build/Deploy Notification

  • Support for:

    • SMTP

    • RSS

  • Customizable, internationalized templates for plain text or HTML format e-mails

  • Send out e-mails informing interested parties of build/deploy results

  • Receive e-mails for every build/deploy, only failed build/deploy or only successful build/deploy

  • Notification when build/deployment is requested/executed

  • Notification when approval is requested/executed

  • E-mails contain hyperlink which automatically forward to detailed information in the user interface

  • RSS Feeds for displaying data about the last 10 builds/deploys that meet specified criteria

Audit Trail

  • All administrative changes get a version log

  • Build/Deploy logs for every build/deploy of every project

  • Status overview of which build is residing at which machine/level

  • History of built/deployed software through the lifecycle of a project

  • Source-to-load relationship: overview of which sources have been used to make the build result, and which binaries have been deployed

Modular Architecture

  • Agent/Server Architecture enabling distributed builds and/or deploys

  • Possibility to define multiple build servers

  • Possibility to define multiple deployment agents

  • Command Line and REST Interface enabling the launching of builds and/or deploys on external triggers

Installation

  • Text-based installer for the full product

  • Automated UI configured (remote) installation of build servers and/or deployment agents

Security - Integration with JAAS

  • Integrates with operational security system

  • User Authentication

  • Passwords and passphrases in all IKAN ALM settings (System Settings, VCR definition, Secure Shell…​) cannot be read by any IKAN ALM user

  • All secure values are encrypted before they are stored in the database for maximum security

  • Possibility to encrypt all communication between IKAN ALM components

  • User Authorization:

    • For requesting builds

    • For requesting deliveries to levels

    • For approving/rejecting builds and/or deploys

    • For administering projects

    • For administering build and/or deploy parameters

    • For administering IKAN ALM

Commandline (C) and REST (R) Interface

  • Execute a build or deploy from a command prompt or REST endpoint (C+R)

  • Allow scheduling builds and deploys with an external scheduling tool (Task Scheduler, Cron, …​) (C+R)

  • Generate a report from a command prompt (C)

  • Create or edit a package from a command prompt or REST endpoint (C+R)

  • Approve or Reject the delivery of a build to the next level (R)

  • Export a Project from one (e.g. Test) IKAN ALM instance and subsequently import it into another (e.g. Production) instance (R)

  • Retrieve the details of global setup, projects, builds, deploys,…​ in json or xml format (R)

Customizable Reporting

  • The build and deploy overview is available as a customizable report in several formats (pdf, csv, xls, rtf). These reports can be launched from the User Interface or Command Line Interface. Command Line reporting enables the integration with other tools (e.g. planning) or the creation of reports in batch.

  • The ALM Reports tool allows generating several other administration or follow-up reports using a wide range of selection criteria.

Technical Requirements

Minimum system requirements

Required Java Environment

  • A Java 11 JDK.

  • The Oracle Java SE JDK11, OpenJDK11, Adoptium OpenJDK 11 and Azul OpenJdk 11 are supported .

Supported Web Server

  • Tomcat 8.5.x or 9.0.x, recommended 9.0.x

Supported Production Databases

  • MySQL

  • PostgreSQL

  • Oracle Database

  • Microsoft SQL Server

  • IBM DB2 for Linux, Unix and Windows

Supported Operating Systems

  • Windows 8.1/2012 R2 Server

  • Windows 10/2016/2019 Server

  • Linux: tested on Redhat Fedora, CentOS, Oracle Linux, Suse Linux Enterprise, OpenSUSE, Debian, Ubuntu, Mandriva, zLinux. Other recent Linux distributions should also work.

  • Unix flavors: HP Unix, Solaris, IBM AIX etc.

Client Web Browser (Java Script must be enabled)

  • Microsoft Edge

  • Mozilla Firefox

  • Google Chrome

Supported Version Control Systems

  • Subversion 1.4.x, recommended 1.6 and higher

  • Git 1.8, recommended 2.27 and higher

  • GitHub

  • Microsoft Team Foundation Version Control (TFVC) 2013

  • Azure DevOps Services Version Control

  • CVS 1.x, recommended 1.12 and higher

  • CVSNT 2.x, recommended 2.5.x and higher

Supported Build Tool Integrations

  • Ant 1.4.x, recommended 1.10.3 and higher

  • Gradle 2.2 and higher

  • NAnt 0.9.x, NAnt2

  • Maven 2.1.x, 3.x, recommended 3.6.1 and higher

Supported Deploy Tool Integrations

  • Ant 1.4.x, recommended 1.10.3 and higher

  • Gradle 2.2 and higher

  • NAnt 0.9.x, NAnt2

  • Maven 2.1.x, 3.x, recommended 3.6.1 and higher

Supported Mail Integrations

  • SMTP

Minimum Hardware Requirements

IKAN ALM consists of 4 major components:

  • IKAN ALM Web Application

  • IKAN ALM Server

  • IKAN ALM Agent

  • IKAN ALM Commandline

The IKAN ALM Server and Web Application need to be installed on the same host. The IKAN ALM Agent and Commandline can be installed on remote hosts.

IKAN ALM Web Application

  • RAM: minimum 512 MB, recommended 1 GB or more

  • Disk Storage Space: minimum 1 GB, recommended 5 GB or more

IKAN ALM Server

  • RAM: minimum 512 MB, recommended 1 GB or more

  • Disk Storage Space: minimum 10 GB, recommended 40 GB or more

There is no hard and fast rule for disk storage space. The actual amount you will require depends on the number and size of projects managed with IKAN ALM, and the size of the build results stored in the build archive. The more projects and build results, and the larger they are, the more disk storage you will require.

IKAN ALM Agent

  • RAM: minimum 512 MB, recommended 1 GB or more

  • Disk Storage Space: minimum 1 GB

The amount of RAM and disk space needed by a machine that runs an ALM Agent greatly depends on the amount of resources needed by the build and deploy scripts and custom phases used by the projects that are being built and deployed on it.

IKAN ALM Commandline

  • RAM: minimum 256 MB, recommended 256 MB

  • Disk Storage Space: minimum 100 MB