Introduction
Technology Overview
Common Information Model (CIM)
Web Based Enterprise Management (WBEM)
Management Profiles
Management Initiatives
DMTF
Glossary

 


DMTF Tutorial > CIM > CIM Schema > Common Models > Application Model

CIM Schema - Application Model

Overview | CIM Specification | CIM Schema | Extension Schema

Core Model | Common Models

The CIM Application Management Model describes the information commonly required to deploy and manage software products and applications. This model is based on the need to manage the lifecycle and execution of applications. It can describe applications with structures ranging from standalone desktop applications to a sophisticated, multi-platform distributed, Internet-based application. Both a single software product and a group of interdependent software products that form a business system can be modeled.

The schema today incorporates three major concepts:

  1. Structure of an application.
  2. Lifecycle of an application.
  3. The transition between states in the lifecycle of an application.

The structure of an application is defined in the following components:

  • A Software Product is a collection of software features that can be acquired as a unit. Acquisition implies an agreement between the consumer and supplier, which may have implications in terms of licensing, support, or warrantee.

  • A Software Feature is a collection of software elements that performs a particular function or role of a software product. This level of granularity is intended to be meaningful to a consumer or user of the application. This concept allows software products or application systems to be decomposed into units that have a meaning to users rather than units that reflect how the product or application was built (i.e., software elements).

  • A Software Element is a collection of one or more files and associated details that are individually deployed and managed on a particular platform. It represents the next level of granularity after software features.

  • An Application System is a collection of software features that can be managed as an independent unit that supports a particular business function.

The most basic aspect of managing applications is managing their transitions through their life cycle. The life cycle can be segmented into four activities:

  1. Deployment
  2. Installation and configuration
  3. Startup
  4. Operation including monitoring

The model captures the following states in the lifecycle of an application (note that state information is maintained at the level of the software elements):

  • The deployable state describes the element in its distribute-able form (for example, in a software repository), as well as the details and operations required to move the element to the installable state (i.e, the next state).

  • The installable state describes the element as ready for installation (for example, as a zip file that can be decompressed and installed). Also, the details and operations required to move the element to the executable state (i.e., the next state) or back to the deployable state can be defined.

  • The executable state describes the element as ready to start/run, as well as the details and operations required to move the element to the running state (i.e., the next state) or back to the installable state.

  • The running state describes the element as it is configured and running.

Managing an application through these states requires an understanding of the conditions that must be true in order to change state (modeled as 'next-state' Conditions), the conditions to verify that an element is in a certain state (modeled as 'in-state' Conditions), and the individual operations to change the state (modeled as Actions). Conditions describe situations in the computer system environment (e.g. file existence or sufficient disk space). Actions are operations that either create a new software element or remove an existing software element. Actions are organized into two categories: next-state actions and uninstall actions.

This can be visualized as follows:

Taken together, these concepts (and the Application Model that defines them) allow the lifecycle of an application to be fully described, allowing the management of the deployment and operation of the software.

There is additional development, ongoing today within the Application Working Group, to manage the execution of applications. This includes models for describing the structure of complex application runtime environments, and the monitoring and operational aspects of applications. In addition, it is necessary to relate the Unit-of-Work metrics (from the Metrics Model) to the structure of applications, so that software performance can be related to the flow of work through the application.

Applications Event Network Support
Database Interop Physical Systems
Devices Metrics Policy User

Copyright © 2002-2006 Distributed Management Task Force, Inc. and WBEM Solutions, Inc.
All rights reserved.