// =================================================================== // Title: Application MOF Specification 2.8, Runtime // Application System Model // Filename: Application28_AppRuntime.mof // Version: 2.8 // Status: Preliminary // Date: 12 August2003 // CVS: $Revision: 1.2 $ // =================================================================== // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: These classes represent the characterization of a // running application that supports a particular business // function and that can be managed as an independent unit. // They are maintained as a separate MOF file in the // Application Model. // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2. // 15 May 2003 CIM 2.8 Preliminary // - CR 1063 - Original Application Runtime Model // - CR 1147 - Change name of LastStatusUpdate // property in the RuntimeApplicationSystem and // change the statistics association to point // to the CIM_Application class. // =================================================================== #pragma locale ("en_US") // =================================================================== // RuntimeApplicationSystem // =================================================================== [Experimental, Version ("2.7.1000"), Description ( "The RuntimeApplicationSystem class represents an application " "or a software system that supports a particular business " "function and that can be managed as an independent unit. It " "also represents the core class of the Application Systems' " "sub-model which is part of the application runtime model. Its " "role in the systems sub-model is a) the root node of the " "containment hierarchy of the application elements (at runtime) " "as services, components, sub-systems, etc., b) the place for " "runtime overview information such as response time or system " "status, c) runtime control of the entire application (e.g., " "start/stop), and d) the main entry point to the navigation " "through and drill-down into the runtime model. \n" "The lifetime of an instance of this class is not limited to " "the application instance it represents. Even if the " "application is not running, the RuntimeApplicationSystem " "object can report properties that have values (e.g., the name " "of the application or the current status). Note that it is " "also possible to define the lifetime of the objects through " "the lifetime of the application instances. \n" "Through RuntimeApplicationSystemDependency, non-containment " "relationships can be expressed.") ] class CIM_RuntimeApplicationSystem: CIM_ApplicationSystem { [Description ( "Distribution describes how the application system is " "distributed with respect to its underlying servers. In " "general, the application system is distributed or local. " "This property indicates whether the application system is " "running on one or multiple servers. This can be determined " "without having to query for associated servers represented " "by ComputerSystems. Distributed systems also introduce a " "virtual notion to themselves. Note that a distributed " "application system is not tangible but virtual. Only its " "contained local systems can be found as processes or " "threads, and can therefore be regarded as tangible. The " "distributed system remains a named, virtual entity, that " "scopes strongly bound constituents and allows the " "application to be managed in its entirety. \n" "The property is needed to help root cause analysis and " "operations, especially when these are automated, in order " "to clearly know that more than one executed application - " "most likely the local application systems - is affected by " "the management task. This is particularly true if the " "contained application systems provide uniform functionality " "like webserver or application server farms. \n" "To express constraints between distributed and local " "system, this class must be derived and appropriate " "associations must be defined. \n" "This property should not be confused with the Roles[] " "property defined in System. The latter is reserved for " "administrator assigned roles. \n"), ValueMap {"0", "1", "2", "3..32767", "32768..65535"}, Values {"Unknown", "Distributed", "Local", "DMTF Reserved", "Vendor Specific"} ] uint16 Distribution; [Description ( "StartApplication() starts an application system. The " "RuntimeApplicationSystem object must have been created " "prior to the invocation of this method. It is up to the " "implementation of the method to define which of the " "contained or dependent sub-elements are to be started and " "in which order their startup may occur. \n" "Since a system startup can extend over long periods of time " "(several minutes is not unusual for complex distributed " "applications), the method can be implemented synchronously " "or asynchronously. In both cases EnabledState and " "RequestedState reflect the current state of the application " "and the desired state (Enabled) respectively. The exact " "nature of the errors during the startup cannot be " "determined in the asynchronous case. The method must " "return one of the following values: \n" "Unspecified Error: If no return code can be identified \n" "Completed with No Error: successful invocation \n" "Start Already in Progress: application still being " "started \n" "Failed: Indicates errors upon execution."), ValueMap {"0", "1", "2", "3", "4..4096", "4097..32767", "32768..65535"}, Values {"Unspecified Error", "Completed with No Error", "Start Already in Progress", "Failed", "DMTF Reserved", "Method Reserved", "Vendor Specific"}, ModelCorrespondence {"CIM_RuntimeApplicationSystem.EnabledState", "CIM_RuntimeApplicationSystem.RequestedState"} ] uint16 StartApplication(); [Description ( "StopApplication() allows for stopping/shutting down an " "application system. It is up to the implementation of the " "method to define which of the contained or dependent " "sub-elements are to be stopped and in which order their " "stop has to occur. \n" "Since a system shutdown can last considerable time (several " "minutes is not necessarily unusual for complex distributed " "applications), the method can be implemented synchronously " "or asynchronously. In both cases EnabledState and " "RequestedState reflect the current state of the application " "and the desired state (Disabled) respectively. The exact " "nature of the errors during the stop cannot be determined " "in the asynchronous case. The method must return one of " "the following: \n" "Unspecified Error: If no return code can be identified \n" "Completed with No Error: successful invocation \n" "Stop Already in Process: application is shutting down \n" "Failed: Indicates errors upon execution."), ValueMap {"0", "1", "2", "3", "4..4096", "4097..32767", "32768..65535"}, Values {"Unspecified Error", "Completed with No Error", "Stop Already in Process", "Failed", "DMTF Reserved", "Method Reserved", "Vendor Specific"}, ModelCorrespondence {"CIM_RuntimeApplicationSystem.EnabledState", "CIM_RuntimeApplicationSystem.RequestedState"} ] uint16 StopApplication(); [Override ("EnabledState"), Description ( "EnabledState is an integer enumeration that indicates the " "enabled/disabled states of an element. It can also " "indicate the transitions between these requested states. " "For example, shutting down and starting are transient " "states between enabled and disabled. \n" "In contrast to the original version defined higher in the " "inheritance hierarchy (EnabledLogicalElement), EnabledState " "is simplified. It reflects the notion of an execution " "status tailored to applications and represents a summary of " "the original property. It allows simplified and efficient " "determination of whether the application is started, " "stopped or in transition between either of these states. " "The property does not show any errors. Errors MUST be " "described in MSE.OperationalStatus, and MAY also be " "described in logs or other data sources. \n" "The mapping to MSE.OperationalStatus is as follows: \n" "ExecutionStatus <- MSE.OperationalStatus \n" "Unknown <- Unknown, No Contact, Lost Communication, \n" "Either of the values <- Other \n" "Enabled (started) <- OK, Degraded, Stressed, Predictive " "Failure, In Service, Dormant, Supporting Entity in Error, " "Completed \n" "Enabled or Disabled (Started or Stopped) <- Error, " "Non-Recoverable Error \n" "Starting <- Starting \n" "Shutting Down (Stopping) <- Stopping \n" "Disabled (Stopped) <- Stopped, Aborted. \n" "The mapping to the original EnabledState property is as " "follows: \n" "Unknown <- Unknown, Not Applicable \n" "Either of the values <-Other \n" "Enabled <- Enabled, Enabled but Offline, In Test, Deferred, " "Quiesce \n" "Disabled <- Disabled \n" "ShuttingDown <- ShuttingDown \n" "Starting <- Starting."), ValueMap {"0", "2", "3", "4", "10", "11..32767", "32768..65535" }, Values {"Unknown", "Enabled", "Disabled", "Shutting Down", "Starting", "DMTF Reserved", "Vendor Reserved"} ] uint16 EnabledState = 0; [Description ( "The point in time (date and time) when the application " "system was last started. If the application system is in a " "state other the state Enabled (i.e., started and running) " "this value is not meaningful and the property MUST be set " "to NULL. \n" "StartupTime is preferably the point in time when the " "application is available to the user. Instead, if the " "provider and/or the instrumentation cannot determine the " "point in time the application becomes available, the point " "in time can be used at which the underlying operating " "system reports successful launch of the application. " "If no value can be provided the property is NULL.") ] datetime StartupTime; [Description ( "ServingStatus is a summary of MSE.OperationalStatus. It " "allows simplified and efficient determination of whether " "the application is providing service or has stopped doing " "so for various reasons like errors, shutdown, abort, etc. " "Therefore, no transitional values are provided. The " "property does not show any errors. Errors MUST be " "described in MSE.OperationalStatus, and MAY also be " "described in logs or other data sources. " "Therefore, ServingStatus is suited to provide summary " "information for monitoring purposes and service level " "management. \n" "The mapping to MSE.OperationalStatus is as follows: \n" "ServingStatus <- MSE.OperationalStatus \n" "Unknown <- Unknown, No Contact, Lost Communication \n" "Either of the values <- Other \n" "Serving <- OK, Degraded, Stressed, Predictive Failure, " "Completed \n" "Not Serving <- Error, Non-Recoverable Error, Starting, " "Stopping, Stopped, In Service, Aborted, Dormant, Supporting " "Entity in Error."), ValueMap {"0", "1", "2", "5..4096", "4097..65535"}, Values {"Unknown", "Serving", "Not Serving", "DMTF Reserved", "Vendor Specific"}, ModelCorrespondence {"CIM_ManagedSystemElement.OperationalStatus"} ] uint16 ServingStatus; [Description ( "The point in time at which the ServingStatus property was " "last updated."), ModelCorrespondence {"CIM_RuntimeApplicationSystem.ServingStatus"} ] datetime LastServingStatusUpdate; }; // =================================================================== // ApplicationSystemDependency // =================================================================== [Association, Experimental, Version ("2.7.1000"), Description ( "This dependency expresses use-relationships or other logical " "interactions between application systems. At the business " "level, the relationship could be due to a distributed business " "process. Viewed from the technical level, the relationship is " "to be interpreted as communication between application " "systems. ApplicationSystemDependency primarily expresses " "'horizontal' relationships, i.e., relationships between " "distributed or local application systems.") ] class CIM_ApplicationSystemDependency : CIM_Dependency { [Override ("Antecedent"), Description ( "Antecedent represents the independent application system in " "this association.") ] CIM_RuntimeApplicationSystem REF Antecedent; [Override ("Dependent"), Description ( "Dependent represents the application system dependent on " "the Antecedent.") ] CIM_RuntimeApplicationSystem REF Dependent; [Description ( "The dependencies between two application system can be " "multifaceted. Usage, communication, sharing, etc. can " "represent relationships between application systems. " "Characteristics of the relationship are not mutually " "exclusive - e.g., the relationship can indicate usage " "and can also be temporary. The array permits the " "specification of all characteristics required for " "general information, automated problem analysis, and " "for configuration. Note that the characteristics " "are not specified using the ValueMap qualifier, but are " "free-form.") ] string DependencyCharacteristics[]; }; // =================================================================== // ApplicationSystemHierarchy // =================================================================== [Association, Experimental, Aggregation, Version ("2.7.1000"), Description ( "Application systems may have arbitrarily complex structures. " "It may be necessary to build application system hierarchies " "including the two-step hierarchy of distributed and local " "systems. ApplicationSystemHierarchy allows building " "containment trees (only one parent at a time). It should not " "be used to express use-relationships; use " "CIM_ApplicationSystemDependency instead.") ] class CIM_ApplicationSystemHierarchy: CIM_Component { [Aggregate, Override ("GroupComponent"), Max (1), Description ( "The parent RuntimeApplicationSystem in the association.") ] CIM_RuntimeApplicationSystem REF GroupComponent; [Override ("PartComponent"), Description ( "The child RuntimeApplicationSystem in the association.") ] CIM_RuntimeApplicationSystem REF PartComponent; }; // =================================================================== // StatisticalRuntimeOverview // =================================================================== [Experimental, Version ("2.7.1000"), Description ( "This class represents statistical data and metrics that " "characterize the application as a whole. It exists only once " "per application system instance and provides primarily raw " "data for the monitoring of service levels. Therefore, the " "metrics presented are only a summary or overview of the " "application system behavior at a certain point of time. " "Instances are only available if the concerned application is " "running. Therefore, an instance of RuntimeApplicationSystem " "MUST exist when the instance of this class is created.") ] class CIM_StatisticalRuntimeOverview: CIM_StatisticalData { [Description ( "The point in time (date and time) when the most recent " "inbound activity was observed for the application. A value " "of NULL indicates that no inbound activity has taken place " "since the application was started.") ] datetime LastActivity; [Description ( "The number of requests currently being served. This is not " "the count of open connections! Very often it reflects the " "number of current user requests. Note that the semantics " "of a request are general enough to characterize the entire " "application system."), Counter ] uint32 NumberOfActiveRequests; [Description ( "The number of active requestors in the application system. " "It may differ from the number of active requests (greater " "if a requestor has issued multiple requests, smaller if " "some of the requestors have no request running at the " "considered point in time). Very often it reflects the " "number of user logged on to the application system or the " "number of sessions being served by the system. \n" "Note that the semantics of a requestor are general enough " "to characterize the entire application system."), Counter ] uint32 NumberOfActiveRequestors; [Description ( "The average response time is the mean of a number of " "requests captured between StatisticTime and a close point " "in time in the past. This interval or duration, that the " "average depends on, is defined by the underlying " "implementation such that it still has a reasonable " "proximity to one point in time. The term average is not " "focused on averaging a number of requests but averaging a " "period of time. Therefore, the average does not relate to " "more than a couple of minutes and, consequently, " "AverageResponseTime has the notion of the response time at " "the point in time of StatisticTime. If the interval is too " "great, AverageResponseTime becomes meaningless for " "monitoring. If no response time can be determined, " "the value is 0."), Units ("MilliSeconds") ] uint32 AverageResponseTime; }; // =================================================================== // AssociatedAppSystemOverviewStatistics // =================================================================== [Association, Experimental, Version ("2.7.1000"), Description ( "The link to the runtime overview statistics of an application " "system.") ] class CIM_AssociatedAppSystemOverviewStatistics: CIM_ElementStatisticalData { [Override ("ManagedElement"), Min (1), Max (1), Description ( "The application system for which the overview is defined.") ] CIM_ApplicationSystem REF ManagedElement; [Override ("Stats"), Max (1), Description ( "The application system runtime statistical overview.") ] CIM_StatisticalRuntimeOverview REF Stats; }; // ================================================================== // end of file // ==================================================================