1 tony 1.1 // ===================================================================
2 // Title: Application MOF Specification 2.8, Runtime
3 // Application System Model
4 // Filename: Application28_AppRuntime.mof
5 // Version: 2.8
6 // Status: Preliminary
7 // Date: 12 August2003
8 // CVS: $Revision: 1.4 $
9 // ===================================================================
10 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
11 // All rights reserved.
12 // DMTF is a not-for-profit association of industry members dedicated
13 // to promoting enterprise and systems management and interoperability.
14 // DMTF specifications and documents may be reproduced for uses
15 // consistent with this purpose by members and non-members,
16 // provided that correct attribution is given.
17 // As DMTF specifications may be revised from time to time,
18 // the particular version and release date should always be noted.
19 //
20 // Implementation of certain elements of this standard or proposed
21 // standard may be subject to third party patent rights, including
22 tony 1.1 // provisional patent rights (herein "patent rights"). DMTF makes
23 // no representations to users of the standard as to the existence
24 // of such rights, and is not responsible to recognize, disclose, or
25 // identify any or all such third party patent right, owners or
26 // claimants, nor for any incomplete or inaccurate identification or
27 // disclosure of such rights, owners or claimants. DMTF shall have no
28 // liability to any party, in any manner or circumstance, under any
29 // legal theory whatsoever, for failure to recognize, disclose, or
30 // identify any such third party patent rights, or for such party's
31 // reliance on the standard or incorporation thereof in its product,
32 // protocols or testing procedures. DMTF shall have no liability to
33 // any party implementing such standard, whether such implementation
34 // is foreseeable or not, nor to any patent owner or claimant, and shall
35 // have no liability or responsibility for costs or losses incurred if
36 // a standard is withdrawn or modified after publication, and shall be
37 // indemnified and held harmless by any party implementing the
38 // standard from any and all claims of infringement by a patent owner
39 // for such implementations.
40 //
41 // For information about patents held by third-parties which have
42 // notified the DMTF that, in their opinion, such patent may relate to
43 tony 1.1 // or impact implementations of DMTF standards, visit
44 // http://www.dmtf.org/about/policies/disclosures.php.
45 // ===================================================================
46 // Description: These classes represent the characterization of a
47 // running application that supports a particular business
48 // function and that can be managed as an independent unit.
49 // They are maintained as a separate MOF file in the
50 // Application Model.
51 //
52 // The object classes below are listed in an order that
53 // avoids forward references. Required objects, defined
54 // by other working groups, are omitted.
55 // ==================================================================
56 // Change Log for v2.
57 // 15 May 2003 CIM 2.8 Preliminary
58 // - CR 1063 - Original Application Runtime Model
59 // - CR 1147 - Change name of LastStatusUpdate
60 // property in the RuntimeApplicationSystem and
61 // change the statistics association to point
62 // to the CIM_Application class.
63 // ===================================================================
64 tony 1.1
65 #pragma locale ("en_US")
66 // ===================================================================
67 // RuntimeApplicationSystem
68 // ===================================================================
69 [Experimental, Version ("2.7.1000"), Description (
70 "The RuntimeApplicationSystem class represents an application "
71 "or a software system that supports a particular business "
72 "function and that can be managed as an independent unit. It "
73 "also represents the core class of the Application Systems' "
74 "sub-model which is part of the application runtime model. Its "
75 "role in the systems sub-model is a) the root node of the "
76 "containment hierarchy of the application elements (at runtime) "
77 "as services, components, sub-systems, etc., b) the place for "
78 "runtime overview information such as response time or system "
79 "status, c) runtime control of the entire application (e.g., "
80 "start/stop), and d) the main entry point to the navigation "
81 "through and drill-down into the runtime model. \n"
82 "The lifetime of an instance of this class is not limited to "
83 "the application instance it represents. Even if the "
84 "application is not running, the RuntimeApplicationSystem "
85 tony 1.1 "object can report properties that have values (e.g., the name "
86 "of the application or the current status). Note that it is "
87 "also possible to define the lifetime of the objects through "
88 "the lifetime of the application instances. \n"
89 "Through RuntimeApplicationSystemDependency, non-containment "
90 "relationships can be expressed.") ]
91 class CIM_RuntimeApplicationSystem: CIM_ApplicationSystem {
92
93 [Description (
94 "Distribution describes how the application system is "
95 "distributed with respect to its underlying servers. In "
96 "general, the application system is distributed or local. "
97 "This property indicates whether the application system is "
98 "running on one or multiple servers. This can be determined "
99 "without having to query for associated servers represented "
100 "by ComputerSystems. Distributed systems also introduce a "
101 "virtual notion to themselves. Note that a distributed "
102 "application system is not tangible but virtual. Only its "
103 "contained local systems can be found as processes or "
104 "threads, and can therefore be regarded as tangible. The "
105 "distributed system remains a named, virtual entity, that "
106 tony 1.1 "scopes strongly bound constituents and allows the "
107 "application to be managed in its entirety. \n"
108 "The property is needed to help root cause analysis and "
109 "operations, especially when these are automated, in order "
110 "to clearly know that more than one executed application - "
111 "most likely the local application systems - is affected by "
112 "the management task. This is particularly true if the "
113 "contained application systems provide uniform functionality "
114 "like webserver or application server farms. \n"
115 "To express constraints between distributed and local "
116 "system, this class must be derived and appropriate "
117 "associations must be defined. \n"
118 "This property should not be confused with the Roles[] "
119 "property defined in System. The latter is reserved for "
120 "administrator assigned roles. \n"),
121 ValueMap {"0", "1", "2", "3..32767", "32768..65535"},
122 Values {"Unknown", "Distributed", "Local", "DMTF Reserved",
123 "Vendor Specific"} ]
124 uint16 Distribution;
125
126 [Description (
127 tony 1.1 "StartApplication() starts an application system. The "
128 "RuntimeApplicationSystem object must have been created "
129 "prior to the invocation of this method. It is up to the "
130 "implementation of the method to define which of the "
131 "contained or dependent sub-elements are to be started and "
132 "in which order their startup may occur. \n"
133 "Since a system startup can extend over long periods of time "
134 "(several minutes is not unusual for complex distributed "
135 "applications), the method can be implemented synchronously "
136 "or asynchronously. In both cases EnabledState and "
137 "RequestedState reflect the current state of the application "
138 "and the desired state (Enabled) respectively. The exact "
139 "nature of the errors during the startup cannot be "
140 "determined in the asynchronous case. The method must "
141 "return one of the following values: \n"
142 "Unspecified Error: If no return code can be identified \n"
143 "Completed with No Error: successful invocation \n"
144 "Start Already in Progress: application still being "
145 "started \n"
146 "Failed: Indicates errors upon execution."),
147 ValueMap {"0", "1", "2", "3", "4..4096", "4097..32767",
148 tony 1.1 "32768..65535"},
149 Values {"Unspecified Error", "Completed with No Error",
150 "Start Already in Progress", "Failed", "DMTF Reserved",
151 "Method Reserved", "Vendor Specific"},
152 ModelCorrespondence
153 {"CIM_RuntimeApplicationSystem.EnabledState",
154 "CIM_RuntimeApplicationSystem.RequestedState"} ]
155 uint16 StartApplication();
156
157 [Description (
158 "StopApplication() allows for stopping/shutting down an "
159 "application system. It is up to the implementation of the "
160 "method to define which of the contained or dependent "
161 "sub-elements are to be stopped and in which order their "
162 "stop has to occur. \n"
163 "Since a system shutdown can last considerable time (several "
164 "minutes is not necessarily unusual for complex distributed "
165 "applications), the method can be implemented synchronously "
166 "or asynchronously. In both cases EnabledState and "
167 "RequestedState reflect the current state of the application "
168 "and the desired state (Disabled) respectively. The exact "
169 tony 1.1 "nature of the errors during the stop cannot be determined "
170 "in the asynchronous case. The method must return one of "
171 "the following: \n"
172 "Unspecified Error: If no return code can be identified \n"
173 "Completed with No Error: successful invocation \n"
174 "Stop Already in Process: application is shutting down \n"
175 "Failed: Indicates errors upon execution."),
176 ValueMap {"0", "1", "2", "3", "4..4096", "4097..32767",
177 "32768..65535"},
178 Values {"Unspecified Error", "Completed with No Error",
179 "Stop Already in Process", "Failed", "DMTF Reserved",
180 "Method Reserved", "Vendor Specific"},
181 ModelCorrespondence
182 {"CIM_RuntimeApplicationSystem.EnabledState",
183 "CIM_RuntimeApplicationSystem.RequestedState"} ]
184 uint16 StopApplication();
185
186 [Override ("EnabledState"), Description (
187 "EnabledState is an integer enumeration that indicates the "
188 "enabled/disabled states of an element. It can also "
189 "indicate the transitions between these requested states. "
190 tony 1.1 "For example, shutting down and starting are transient "
191 "states between enabled and disabled. \n"
192 "In contrast to the original version defined higher in the "
193 "inheritance hierarchy (EnabledLogicalElement), EnabledState "
194 "is simplified. It reflects the notion of an execution "
195 "status tailored to applications and represents a summary of "
196 "the original property. It allows simplified and efficient "
197 "determination of whether the application is started, "
198 "stopped or in transition between either of these states. "
199 "The property does not show any errors. Errors MUST be "
200 "described in MSE.OperationalStatus, and MAY also be "
201 "described in logs or other data sources. \n"
202 "The mapping to MSE.OperationalStatus is as follows: \n"
203 "ExecutionStatus <- MSE.OperationalStatus \n"
204 "Unknown <- Unknown, No Contact, Lost Communication, \n"
205 "Either of the values <- Other \n"
206 "Enabled (started) <- OK, Degraded, Stressed, Predictive "
207 "Failure, In Service, Dormant, Supporting Entity in Error, "
208 "Completed \n"
209 "Enabled or Disabled (Started or Stopped) <- Error, "
210 "Non-Recoverable Error \n"
211 tony 1.1 "Starting <- Starting \n"
212 "Shutting Down (Stopping) <- Stopping \n"
213 "Disabled (Stopped) <- Stopped, Aborted. \n"
214 "The mapping to the original EnabledState property is as "
215 "follows: \n"
216 "Unknown <- Unknown, Not Applicable \n"
217 "Either of the values <-Other \n"
218 "Enabled <- Enabled, Enabled but Offline, In Test, Deferred, "
219 "Quiesce \n"
220 "Disabled <- Disabled \n"
221 "ShuttingDown <- ShuttingDown \n"
222 "Starting <- Starting."),
223 ValueMap {"0", "2", "3", "4", "10", "11..32767",
224 "32768..65535" },
225 Values {"Unknown", "Enabled", "Disabled", "Shutting Down",
226 "Starting", "DMTF Reserved", "Vendor Reserved"} ]
227 uint16 EnabledState = 0;
228
229 [Description (
230 "The point in time (date and time) when the application "
231 "system was last started. If the application system is in a "
232 tony 1.1 "state other the state Enabled (i.e., started and running) "
233 "this value is not meaningful and the property MUST be set "
234 "to NULL. \n"
235 "StartupTime is preferably the point in time when the "
236 "application is available to the user. Instead, if the "
237 "provider and/or the instrumentation cannot determine the "
238 "point in time the application becomes available, the point "
239 "in time can be used at which the underlying operating "
240 "system reports successful launch of the application. "
241 "If no value can be provided the property is NULL.") ]
242 datetime StartupTime;
243
244 [Description (
245 "ServingStatus is a summary of MSE.OperationalStatus. It "
246 "allows simplified and efficient determination of whether "
247 "the application is providing service or has stopped doing "
248 "so for various reasons like errors, shutdown, abort, etc. "
249 "Therefore, no transitional values are provided. The "
250 "property does not show any errors. Errors MUST be "
251 "described in MSE.OperationalStatus, and MAY also be "
252 "described in logs or other data sources. "
253 tony 1.1 "Therefore, ServingStatus is suited to provide summary "
254 "information for monitoring purposes and service level "
255 "management. \n"
256 "The mapping to MSE.OperationalStatus is as follows: \n"
257 "ServingStatus <- MSE.OperationalStatus \n"
258 "Unknown <- Unknown, No Contact, Lost Communication \n"
259 "Either of the values <- Other \n"
260 "Serving <- OK, Degraded, Stressed, Predictive Failure, "
261 "Completed \n"
262 "Not Serving <- Error, Non-Recoverable Error, Starting, "
263 "Stopping, Stopped, In Service, Aborted, Dormant, Supporting "
264 "Entity in Error."),
265 ValueMap {"0", "1", "2", "5..4096", "4097..65535"},
266 Values {"Unknown", "Serving", "Not Serving", "DMTF Reserved",
267 "Vendor Specific"},
268 ModelCorrespondence
269 {"CIM_ManagedSystemElement.OperationalStatus"} ]
270 uint16 ServingStatus;
271
272 [Description (
273 "The point in time at which the ServingStatus property was "
274 tony 1.1 "last updated."),
275 ModelCorrespondence
276 {"CIM_RuntimeApplicationSystem.ServingStatus"} ]
277 datetime LastServingStatusUpdate;
278 };
279
280
281 // ===================================================================
282 // ApplicationSystemDependency
283 // ===================================================================
284 [Association, Experimental, Version ("2.7.1000"), Description (
285 "This dependency expresses use-relationships or other logical "
286 "interactions between application systems. At the business "
287 "level, the relationship could be due to a distributed business "
288 "process. Viewed from the technical level, the relationship is "
289 "to be interpreted as communication between application "
290 "systems. ApplicationSystemDependency primarily expresses "
291 "'horizontal' relationships, i.e., relationships between "
292 "distributed or local application systems.") ]
293 class CIM_ApplicationSystemDependency : CIM_Dependency {
294
295 tony 1.1 [Override ("Antecedent"), Description (
296 "Antecedent represents the independent application system in "
297 "this association.") ]
298 CIM_RuntimeApplicationSystem REF Antecedent;
299
300 [Override ("Dependent"), Description (
301 "Dependent represents the application system dependent on "
302 "the Antecedent.") ]
303 CIM_RuntimeApplicationSystem REF Dependent;
304
305 [Description (
306 "The dependencies between two application system can be "
307 "multifaceted. Usage, communication, sharing, etc. can "
308 "represent relationships between application systems. "
309 "Characteristics of the relationship are not mutually "
310 "exclusive - e.g., the relationship can indicate usage "
311 "and can also be temporary. The array permits the "
312 "specification of all characteristics required for "
313 "general information, automated problem analysis, and "
314 "for configuration. Note that the characteristics "
315 "are not specified using the ValueMap qualifier, but are "
316 tony 1.1 "free-form.") ]
317 string DependencyCharacteristics[];
318 };
319
320
321 // ===================================================================
322 // ApplicationSystemHierarchy
323 // ===================================================================
324 [Association, Experimental, Aggregation, Version ("2.7.1000"),
325 Description (
326 "Application systems may have arbitrarily complex structures. "
327 "It may be necessary to build application system hierarchies "
328 "including the two-step hierarchy of distributed and local "
329 "systems. ApplicationSystemHierarchy allows building "
330 "containment trees (only one parent at a time). It should not "
331 "be used to express use-relationships; use "
332 "CIM_ApplicationSystemDependency instead.") ]
333 class CIM_ApplicationSystemHierarchy: CIM_Component {
334
335 [Aggregate, Override ("GroupComponent"), Max (1), Description (
336 "The parent RuntimeApplicationSystem in the association.") ]
337 tony 1.1 CIM_RuntimeApplicationSystem REF GroupComponent;
338
339 [Override ("PartComponent"), Description (
340 "The child RuntimeApplicationSystem in the association.") ]
341 CIM_RuntimeApplicationSystem REF PartComponent;
342 };
343
344 // ===================================================================
345 // StatisticalRuntimeOverview
346 // ===================================================================
347 [Experimental, Version ("2.7.1000"), Description (
348 "This class represents statistical data and metrics that "
349 "characterize the application as a whole. It exists only once "
350 "per application system instance and provides primarily raw "
351 "data for the monitoring of service levels. Therefore, the "
352 "metrics presented are only a summary or overview of the "
353 "application system behavior at a certain point of time. "
354 "Instances are only available if the concerned application is "
355 "running. Therefore, an instance of RuntimeApplicationSystem "
356 "MUST exist when the instance of this class is created.") ]
357 class CIM_StatisticalRuntimeOverview: CIM_StatisticalData {
358 tony 1.1
359 [Description (
360 "The point in time (date and time) when the most recent "
361 "inbound activity was observed for the application. A value "
362 "of NULL indicates that no inbound activity has taken place "
363 "since the application was started.") ]
364 datetime LastActivity;
365
366 [Description (
367 "The number of requests currently being served. This is not "
368 "the count of open connections! Very often it reflects the "
369 "number of current user requests. Note that the semantics "
370 "of a request are general enough to characterize the entire "
371 "application system."),
372 Counter ]
373 uint32 NumberOfActiveRequests;
374
375 [Description (
376 "The number of active requestors in the application system. "
377 "It may differ from the number of active requests (greater "
378 "if a requestor has issued multiple requests, smaller if "
379 tony 1.1 "some of the requestors have no request running at the "
380 "considered point in time). Very often it reflects the "
381 "number of user logged on to the application system or the "
382 "number of sessions being served by the system. \n"
383 "Note that the semantics of a requestor are general enough "
384 "to characterize the entire application system."),
385 Counter ]
386 uint32 NumberOfActiveRequestors;
387
388 [Description (
389 "The average response time is the mean of a number of "
390 "requests captured between StatisticTime and a close point "
391 "in time in the past. This interval or duration, that the "
392 "average depends on, is defined by the underlying "
393 "implementation such that it still has a reasonable "
394 "proximity to one point in time. The term average is not "
395 "focused on averaging a number of requests but averaging a "
396 "period of time. Therefore, the average does not relate to "
397 "more than a couple of minutes and, consequently, "
398 "AverageResponseTime has the notion of the response time at "
399 "the point in time of StatisticTime. If the interval is too "
400 tony 1.1 "great, AverageResponseTime becomes meaningless for "
401 "monitoring. If no response time can be determined, "
402 "the value is 0."),
403 Units ("MilliSeconds") ]
404 uint32 AverageResponseTime;
405 };
406
407
408 // ===================================================================
409 // AssociatedAppSystemOverviewStatistics
410 // ===================================================================
411 [Association, Experimental, Version ("2.7.1000"), Description (
412 "The link to the runtime overview statistics of an application "
413 "system.") ]
414 class CIM_AssociatedAppSystemOverviewStatistics:
415 CIM_ElementStatisticalData {
416
417 [Override ("ManagedElement"), Min (1), Max (1), Description (
418 "The application system for which the overview is defined.") ]
419 CIM_ApplicationSystem REF ManagedElement;
420
421 tony 1.1 [Override ("Stats"), Max (1), Description (
422 "The application system runtime statistical overview.") ]
423 CIM_StatisticalRuntimeOverview REF Stats;
424 };
425
426
427 // ==================================================================
428 // end of file
429 // ==================================================================
|