Application Model C201 - Leading the development of open

Download Report

Transcript Application Model C201 - Leading the development of open

Version 1.00 13 June
Application Model
&
Metrics Model
Update
June 2001
Karl Schopmeyer
The Open Group
[email protected]
This presentation is dedicated to Heather Kreger and all of the work
she has done to move application management forward
June 13 2001
DMTF Developers Conference
1Page
Agenda
• The Objectives of Application Management
• The Original Model – Life Cycle
Management
• The Metrics Model
• The Work Today
– Managing Running Applications
.
• Directions and Futures
June 13 2001
DMTF Developers Conference
2Page
The Objectives of Application
Management
• Life-Cycle Management of Applications
– Distribution, installation, etc.
• Management of running Applications, Services,
Business Applications
– Performance Information, Executing Operations,
State of the application, etc.
June 13 2001
DMTF Developers Conference
3Page
A Short History of the Group
• Application Model – Lifecycle
– One of the first models finished (1999)
• DAP
– Model finished 2000
• Application RunTime
– Group initiated 2000
– First Submission CIM V2.5
– Merge with DAP (common Metrics) 2001
– In process now
June 13 2001
DMTF Developers Conference
4Page
Major Participants
•
•
•
•
•
•
•
•
•
Mark Johnson (Tivoli)
Heather Kreger (IBM)
Alex Keller (IBM)
Takaki Kuroda (Hitachi)
Vijay Machiraju (Hewlett Packard)
Mike Reynolds (BMC Software)
Karl Schopmeyer (The Open Group, Tivoli)
John Sweitzer (Tivoli Systems)
AndreaWesterinen (Cisco Systems)
June 13 2001
DMTF Developers Conference
5Page
User’s of the Application Model
Application Developers and Providers
Produced
By
Hand
Produce
Operating
Systems
Consumed
By
Application
Development
Tool
CIM-based
Application Management
Information
Produced using tools
like change
management tools.
Consumed
By
Management
Tool
Install
Utility
Software Distribution,
Dependency Checking,
Change Management
System
Based
Software
Inventory
Systems Systems Systems
June 13 2001
DMTF Developers Conference
6Page
The Existing Models
Application Management Model
June 13 2001
DMTF Developers Conference
7Page
Application Model Overview
Execution Service
Unit of Acquisition
Application Model
Application
System
Product
Service
Core
Model
Collect Features
into Business
System
ProductSoftwareFeature
Software
Feature
ApplicationSystemSoftwareFeature
SoftwareFeatureSoftwareElements
Unit of Component Management
Software
Element
Unit of Deployment
June 13 2001
DMTF Developers Conference
8Page
Software Elements
• The Unit of Deployment
– Installed and uninstalled
• Represent a collection of files and associated
details that are individually managed
• Abstracted to Software Features
Software
Element
This is what actually gets installed
June 13 2001
DMTF Developers Conference
9Page
Software Feature
• Unit of component management
• Components meaningful to consumer or user of
the application
• Reflect functions or roles of a component of an
application
• Ex. Trading client, quote server, etc.
Software
Feature
This is what the user sees
June 13 2001
DMTF Developers Conference
10Page
Software Product
• Unit of acquisition
• Implies agreement between consumer and
supplier
– License, support, warrantee, …
Product
This is what we pay for
June 13 2001
DMTF Developers Conference
11Page
Application Systems
• Collect features into business systems
• Support a business function
• Collections of software features from one or
more products combined to fulfill business
function
This is how the managers would
like to view the environment
June 13 2001
DMTF Developers Conference
Application
System
12Page
Life-Cycle Management
Application Management Model
the
Application Life-Cycle
June 13 2001
DMTF Developers Conference
13Page
Application Life Cycle
• Critical states in process of transition from
development to operational
• Applies to lowest-level component
– Software Elements
• States
Deployable
June 13 2001
Installable
Executable
DMTF Developers Conference
Running
14Page
Refining Software Element
Software
Element
Platform
States
Deployable
Installable
Executable
Running
Details
NT
Windows 95
Solaris
HPUX
•Number
•Conditions
•Actions
...
June 13 2001
DMTF Developers Conference
15Page
Software Element Conditions
Deployable
State
Installable
State
Executable
State
Running
State
Conditions
Conditions
Conditions
Conditions
In-State
In-State
In-State
In-State
Next State
Next State
Next State
Next State
Conditions are situations that are expect to exist or not exist in an environment
In-State Conditions are characteristics of an environment that contains an element.
Next-State Conditions are characteristics that need to be true in the target
environment for the next state of a software element.
June 13 2001
DMTF Developers Conference
16Page
Software Element Conditions
Condition
In-State Interpretation
Next-State Interpretation
Memory
Requirements
Minimum Amount of memory
required to transition into the
current state.
Minimum amount of memory required to
transition into the next state
Disk Space
Minimum amount of disk space
required to transition into the
current state.
Minimum amount of disk space required to
transition into the next state.
Swap Space
Minimum amount of swap space
required to transition into the
current state.
Minimum amount of swap space required
to transition into the next state.
June 13 2001
DMTF Developers Conference
17Page
Software Element Conditions
Condition
In-State Interpretation
Next-State Interpretation
Architecture
The architecture required by a
software element in the current
state.
The architecture required by the software
element to transition into the next state.
Files
A file that is expect to exist or not
exist when a software element is in
the current state.
A file this is expect to exist or not exist
before a software element transitions into
the next state.
Directories
A directory that is expect to exist or
not exist when a software element
is in the current state.
A directory this is expect to exist or not
exist before a software element transitions
into the next state.
OS Version
The version or ranges of versions a
software element requires in its
current state.
The version or ranges of versions a
software element elements requires before
it transitions into the next state.
Software
Elements
A software element that is expect to
exist or not exist when a software
element is in the current state.
A software element that is expect to exist
or not exist before a software element
transitions into the next state.
June 13 2001
DMTF Developers Conference
18Page
Software Element Actions
Deployable
State
Installable
State
Executable
State
Running
State
Actions
Actions
Actions
Actions
Next State
Next State
Next State
Next State
Uninstall
Uninstall
Uninstall
Uninstall
Actions are a sequence of operations
Next State Actions create a software element in a particular state.
Uninstall Actions properly remove a software element
June 13 2001
DMTF Developers Conference
19Page
Software Element Actions
Deployable
Installable
Executable
Running
Actions
Description
Directory
An action to create or remove a directory.
File
An action to create or remove a file.
Re-boot
An action the signals the need to reboot the computer
system.
Execute
Program
An action that execute a program. This can be the install
script or program (e.g., setup.exe) when a software element
in the installable state transitions to the executable state.
June 13 2001
DMTF Developers Conference
20Page
More on the Model
Software
ElementChecks
Phase
Software
Element
SoftwareElementAction
SoftwareElementState
ActionSequence
Action
Check
Direction
June 13 2001
DMTF Developers Conference
21Page
Resource Life Cycle
Planning
Deployable
Installable
Evaluating
Deploying
Executable
Running
Diagnosing
Configuring
Operating
Current Modeling work is
focused on the “Running
Application Requirements”
June 13 2001
DMTF Developers Conference
22Page
Application Management
Model
The DAP Model
Measuring Performance
June 13 2001
DMTF Developers Conference
23Page
DAP Working Group
• DAP = Distributed Application Performance
• DAP model incorporated into Schema in
Schema 2.3 or 2.4
• DAP work to merge with runtime application
work group.
June 13 2001
DMTF Developers Conference
24Page
DAP Charter
• Define common model for standard runtime behavior
of distributed applications in heterogeneous
environments
– Includes quality of service objects
– Relate to other CIM models
– Evolve standard methods to populate the model
• Develop a unifying model for a unit of work
June 13 2001
DMTF Developers Conference
25Page
DAP Status
• Define common model for standard runtime behavior
of distributed applications in heterogeneous
environments
– Includes quality of service objects [DONE]
– Relate to other CIM models
[TBD??]
– Evolve standard methods to populate the model
• Will DAP ever do this?
• Emphasis has been on compatibility with existing interfaces (ARM in
particular), rather than defining new ones
• Unifying model for a unit of work [DONE]
June 13 2001
DMTF Developers Conference
26Page
Unifying concept for a unit of
work
• A unit of work can be many things, such as:
– Batch job
– User-initiated interactive operation
– Transaction executed by a TP Monitor
– Short server transactions, such as a database read
June 13 2001
DMTF Developers Conference
27Page
Thoughts on naming
• Why is the term “Unit of Work” used instead of
“Transaction”?
– “Transaction” can imply specific behavior, such as
commit and rollback
– Batch jobs and similar units of work are not often
thought of as “transactions”
June 13 2001
DMTF Developers Conference
28Page
Major schema classes
• Definition of unit of work type
• Instances of these unit of work types that have started
executing
– Common measurements are properties
• Definition of metrics associated with the unit of work
• Values of metrics
Note: what has also been added since the last version
was the asociation to CIM_ManagedSystemElement
from the CIM Core Schema.
June 13 2001
DMTF Developers Conference
29Page
Managed
Element
CIM_
Logical
Element
Logical Element
UOW Definition
UOW Metric
Definition
UOW
Definition
Logical Element
performs UOW
Sub UOW
Definition
Started UOW
w
Metric
Definition
UOW Metric
Metric
Value
June 13 2001
UOW
Sub
UOW
DMTF Developers Conference
30Page
ManagedElement
Title
: DAP Schema v2.3a
Filename: CIM_DAP23.vsd
Author : John Lee
Date
: February 1, 2000
Inheritance
Association
Caption: string
Description string
w
w
Association with WEAK reference
Aggregation
Aggregation with WEAK reference
ManagedSystemElement
InstallDate:datetime
Name:string
Status:string
Title
: DAP Schema v2.3a
Filename: CIM_DAP23.vsd
Author : John Lee
Date
: February 1, 2000
LogicalElement
0..
n
0..
n
LogicalElementUnitOfWorkDe
f
0..
n
NEW
UnitOfWorkDefinition
Context : string [required]
Name : string [required]
Id : string [key]
1..
n
Anteceden
t
0..
n
SubUoWDef
0..
n
Dependen
t
UoWMetricDefintion
StartedUoW
0..
n
MetricDefinition
id : string [key]
Name: string[required]
DataType: uint16 [required]
Calculable: uint16 [required]
Units: string
Validity: uint16
0..n
w
UnitOfWork
0..
n
UoWMetric
UoWMetric
0..
n
0..
n
id : sint64 [key]
UoWDefId: string [key, propagated]
UserName: string
StartTime: datetime
ElapsedTime: datetime
Status : uint16
Anteceden
t
Value : string
June 13 2001
LogicalElementPerformsUo
W
1..
1
DMTF Developers Conference
0..
1
0..
n
SubUoW
Dependen
t
elapsed time has
response time if
UnitOfWork has
completed
32Page
Unit Of Work
Definition
• Defines a type of work
• Examples:
– Update account balance
– Backup file system
– Query data server
– Execute subroutine/method
June 13 2001
DMTF Developers Conference
33Page
UOW Definition
Properties
• ID - 16 bytes long [key]
– Use of OSF UUID is recommended
•
•
•
•
MAC address (or substitute)
Current date and time
Counter to handle high-frequency allocations
A clock sequence and related state to handle the
retrograde movement of clocks.
• Name
• Context (such as application name)
June 13 2001
DMTF Developers Conference
34Page
Unit of Work
• Represents a UOW that has started (and
maybe completed) executing
• Always associated to its definition
– Weak association with propagated key
– This provides separation of the namespace to avoid
collisions
June 13 2001
DMTF Developers Conference
35Page
Unit of Work
Measurements
• Response time or elapsed time (if still
executing)
• Status
•
•
•
•
•
•
Active
Suspended
Completed (with unknown state)
Completed Good
Completed Failed
Completed Aborted
• Metrics (in a separate class)
June 13 2001
DMTF Developers Conference
36Page
Unit of Work
Properties
•
•
•
•
•
ID [key]
UOW ID [key, propagated]
User Name [or ID or context or ???]
Start time
Elapsed time since UOW started (response
time if complete)
• Status
June 13 2001
DMTF Developers Conference
37Page
Associations
between
UOWs
• UOW may be associated to other units of
work (parent or children)
– Ex: a server UOW may be the child of the client
UOW that invoked it
• Association can be at either or both of two
levels
– Between UOW definitions
–13Between
UOWDMTF
instances
June
2001
Developers Conference
38Page
Associations
to
Logical Elements
• A UOW instance may be associated to the
Logical Element that performs it
• Examples:
– Computer system/processor
– Printer
– Application system
June 13 2001
DMTF Developers Conference
39Page
Associations
to
Logical Elements-2
• A UOW definition may be associated to
another logical element
• Semantics of the association are not
specified
June 13 2001
DMTF Developers Conference
40Page
Metric
Definition
• The Class
– Defines metrics associated with a unit of work
– Even if defined, a value may not be provided at all times
• Properties
–
–
–
–
ID [key]
Name
Data type (sint32, uint64, string, …)
Calculable (What type of calculations, if any, are OK: none, sum, no
sum)
– Units (bytes, files, milliseconds, …)
– Validity (start/middle/stop) [??]
June 13 2001
DMTF Developers Conference
41Page
Metric
• Contains the actual value at any point in
time
• Value is a string so it can contain any of the
several data types
• Constraint on Metric Definition:
– Must be associated to the same UOW Definition
to which the UOW is weakly associated
June 13 2001
DMTF Developers Conference
42Page
Application Management
Model
Managing
Operational Applications
June 13 2001
DMTF Developers Conference
43Page
Running Application Requirements
Running Application Requirements have many interpretations.
They can focus on the “Resource View”…
Model the operational issues for an application in isolation.
They can focus on the “Service View”…
Model the operational issues of a service for a user
They can focus on the “Business View”…
Model the operational issues for an application that is part of a
business process.
June 13 2001
DMTF Developers Conference
44Page
Running Application Ingredients
Run Time
Events
Relationships
Monitors
Application
Description
Operations
Metrics
Heartbeat
Configuration
Information
June 13 2001
(Thresholds)
Exerciser
DMTF Developers Conference
45Page
More Details for
Configuration Information
Leverage: How does the Core Model classes for
Configuration and Setting fit into the requirements?
Scope: How does one express the existence of a
Configuration
Information
setting before values are known?
Classes: What classes can have configuration information?
(Product, Software Feature, Software Element, Services, etc.)
Operations: What assumptions does a particular approach make
about how configuration is changed? (method call, property value, etc.)
June 13 2001
DMTF Developers Conference
46Page
More Details for Metrics
Leverage: How does the DAP Model relate?
Scope: How does one express the existence of a
metrics before values are known?
Metrics
Classes: What classes can have metrics? Does the answer
change for resource/service/business views?
Policy: How does the policy model impact metrics?
June 13 2001
DMTF Developers Conference
47Page
More Details for Operations
Leverage: Can runtime operations be expressed using the
CIM method concept?
Scope: How does one express the existence of an
operation?
Operations
Classes: What classes can have runtime operations? (Product,
Software Feature, Software Element, Services, etc.)
Parameters: What are the type of parameters?
June 13 2001
DMTF Developers Conference
48Page
Issues with Managing Apps
• There are so many of them
• There is no single clear model for the
organization of Applications
• Application structure and architecture varies
widely
• Moving from static to dynamic applications and
relationships
June 13 2001
DMTF Developers Conference
49Page
The State of the Model
• Metrics Model
– Preliminary defined
• Operations Model
– Preliminary Defined
• Configuration Information
– In Process
• State Management
– Preliminary Discussion
• Incremental Changes Passed Schema 2.5
June 13 2001
DMTF Developers Conference
50Page
Modeling Metrics
•
•
•
•
Step 1 -Started with an independent Model
Step 2 –Realized commonality with DAP
Step 3 – Blended two in to Metrics work group
Step 4 – Blended metrics back into Runtime
Apps
• Status Today
– Preliminary model defined
– Needs documentation
June 13 2001
DMTF Developers Conference
51Page
The Metrics Model
Managed
Element
PRELIMINARY
MetricForMe
BaseMetric
Managed
System
Element
MetricDefForMe
LEUoWDef
Base Metric
Definition
Logical
Element
UnitofWork
Definition
Metric
Definition
Policy
Rule
LEPerformsUoW
CIM_UoWMetricDef
StartedUoW
UoWMetric
UnitofWork
CIMMetricValidityPolicy
June 13 2001
DMTF Developers Conference
52Page
The Metrics Model
Title
: Metric Schema v2.6
Filename: CIM_Metric26.vsd
Author : Heather Kreger
Date
: January 19, 2001
ManagedElement
0..n
Caption: string
Description string
0..n
Inheritance
Association
w
w
ManagedSystemElement
MetricForME
StatisticalInformation
InstallDate:datetime
Name:string
Status:string
Name: string
Description: string
Caption: string
MetricDefForME
LogicalElement
id: string[key]
defId: string[key]
time: datetime
Value : string
PRELIMINARY
LogicalElementUnitOfWorkDef
0..n
1..n
BaseMetricDefinition
id : string [key]
Name: string[required]
CIM_MetricValidityPolicy
DataType: uint16 [required]
*
Calculable: uint16 [required]
CIM_MetricValidityPolicyGroup Units: string
*
*
Antecedent
UnitOfWorkDefinition
Context : string [required]
Name : string [required]
Id : string [key]
0..n w
MetricInstance
1
0..n
0..n
0..n
BaseMetric
0..n
Association with WEAK reference
Aggregation
Aggregation with WEAK reference
0..n
0..n
SubUoWDef
Dependent
1..1
LogicalElementPerformsUoW
StartedUoW
CIM_UoWMetricDefinition
PolicyRule
0..n w
UnitOfWork
*
PolicyGroup
MetricDefinition
id : string [key]
Name: string[required]
DataType: uint16 [required]
Calculable: uint16 [required]
Units: string
Validity: uint16
0..n
0..n
UoWMetric
0..n
id : sint64 [key]
UoWDefId: string [key, propagated]
UserName: string
StartTime: datetime
ElapsedTime: datetime
Status : uint16
Antecedent
0..1
0..n
0..n
Dependent
UoWMetric
Value : string
June 13 2001
DMTF Developers Conference
SubUoW
elapsed time has
response time if
UnitOfWork has
completed
53Page
The Operations Classes
• Assumes that operations are required against
applications but they may be dynamic
– Exist only when app exists
– Time oriented, etc.
•
•
•
•
Model the concept of an Operation
Separate definition from instances of operation
Allow operations to be attached to services
Separate operation parameters from operations
and allow late binding.
June 13 2001
DMTF Developers Conference
54Page
Operations Model
Service
PRELIMINARY
Managed
Element
Operational
Service
ServicOperationOperationn
ServicOperationDefinition
Application
System
Operation
Definition
DefaultParms
Method
Parameters
AppOperationDefinition
OperationInstanceDefinition
Associations for input, default
And output parameters
Software
Feature
SoftFeatureOperationDefinition
Operation
June 13 2001
DMTF Developers Conference
55Page
Service
ManagedElement
CreationClassName: string [key]
Name: string [key]
StartMode: string
Started: boolean
Description: string
Caption: string
The Operations Model
StartService(): uint32
StopService(): uint32
OperationalService
*
PRELIMINARY
OperationDefinition
CreationClassName: string [key]
Name: string [key]
ApplicationSystem
ApplicationSystem
*
ServiceOperationDef
Timeout: uint64
*
*
ApplicationSystemOperationDef
Timeout:uint64
*
OperationDefId [key]:uint64
OperationDefDefaultInParameters
Name: string
*
Impact: uint16 (U/NC/C)
Presentation: string
InputParameters: string
OutputParameters: string
*
0..1
*
MethodParameters
*
*
SoftwareFeatureOperationDef
CIM_ApplicationSystemSoftwareFeature Timeout:uint64
*
MethodParametersID: string
Description: string
Caption: string
1..1 W
*
CIM_OperationInstanceDefinition
SoftwareFeature
SoftwareFeature
*
*
*
*
*
IdentifyingNumber:string
ProductName:string
Vendor:string
Version:string
Name:string
Operation
CIM_OperationDefPreExecutionPolicy
OperationId [key]:uint32
OperationDefId [key]: uint32
CIM_OperationDefPostExecutionPolicy
VerifyOKToInvoke(
[IN] CIM_ManagedElement
Ref instanceId,
[IN] CIM_MethodParameters Ref
inParms) :uint32)
SoftwareFeatureOperation
Timeout:uint64
CIM_PolicyGroup
*
Invoke(
[IN] CIM_ManagedElement
Ref instanceId,
[IN] CIM_MethodParameters Ref
inParms,
[OUT] CIM_MethodParmeters Ref
outParms) :uint32
*
*
*
*
1...*
CIM_OperationInParameters
CIM_OperationPreExecutionPolicy
CIM_OperationPostExecutionPolicy
ApplicationSystemOperation
Timeout:uint64
ServiceOperation
Timeout: uint64
*
*
*
VerifyInvocationResults(
[IN]CIM_ManagedElement ref instanceId,
[IN] CIM_MethodParameters
inParms,
[OUT] CIM_MethodParmeters
* Operation outParms):uint32
1..*
CIM_OperationOutParameters
1..*
CIM_OperationDefaultInParameters
*
ServiceOperation
Timeout: uint16
ApplicationSystemOperation
Timeout: uint16
June 13 2001
SoftwareFeatureOperation
DMTF
Developers Conference
Timeout: uint16
56Page
Title
Filename
Author
Datetime
Page 1
RuntimeElement Model
: RuntimeElement Model Specification 2.6
: CIM_Runtime20010201.vsd
: DMTF Application Working Group
: 200102011445445.050000+600
: Object Classes
Inheritance
w
w
*
Association
Association with WEAK reference
Aggregation
Aggregation with WEAK reference
equivalent to: 0 .. n
CIM_SoftwareElement
CIM_LogicalElement
*
CIM_Synchronized
*CIM_LogicalIdentity
*
CIM_Service
*
CIM_RuntimeElementSoftwareElementBind
CIM_Service
Component
CreationClassName:string
Name:string
StartMode:string
Started:boolean
SystemCreationClassName:string
SystemName:string
StartService():uint32
StopService():uint32
*
CIM_RuntimeElementProvidesService
CIM_RuntimeStateStateDependency
Name:string
Strength: string
Prerequiste:boolean
Dependent: ref RuntimeState
Antecedent:ref RuntimeState
CIM_RuntimeElement
*
1
CIM_RuntimeElementCurrentState
Name:string
Version:string
SoftwareElementState:uint16
SoftwareElementID:string
TargetOperatingSystem:uint16
OtherTargetOS:string
Manufacturer:string
BuildNumber:string
SerialNumber:string
CodeSet:string
IdentificationCode:string
LanguageEdition:string
CreationClassName:string
Name:string
SystemCreationClassName:string
SystemName:string
1
terminate():uint32
1
*w
*
CIM_HostedRuntimElement
CIM_System
CIM_RuntimeElementDesiredState
1
w 1
0..1
1
CIM_RuntimeState
*
CIM_RuntimeStateStateDependency
*
Name:string
Status:string
UserStatus:string
CreationClassName:string
SystemCreationClassName:string
SystemName:string
RuntimeElementName:string
CreationClassName:string
Name:string
NameFormat:string
PrimaryOwnerContact:string
PrimaryOwnerName:string
Roles[]:string
Operation
1
OperationId [key]:uint32
OperationDefId [key]: uint32
VerifyOKToInvoke(
[IN] CIM_ManagedElement
Ref instanceId,
[IN] CIM_MethodParameters Ref
inParms) :uint32)
CIM_RuntimeStateOperation
0..1
*
CIM_RuntimeStateInstance
CIM_NextRuntimeState
CIM_RuntimeStateInfo
Name:string
RuntimeElementClass:string
June 13 2001
1
Invoke(
[IN] CIM_ManagedElement
Ref instanceId,
[IN] CIM_MethodParameters Ref
inParms,
[OUT] CIM_MethodParmeters Ref
outParms) :uint32
VerifyInvocationResults(
[IN]CIM_ManagedElement ref instanceId,
[IN] CIM_MethodParameters
inParms,
[OUT] CIM_MethodParmeters
outParms):uint32
DMTF Developers Conference
PRELIMINARY
57Page
Changes Made for CIM 2.5
•
•
•
•
•
•
Associating Services with Processes
Expressing Nested Software Features
Distinguishing Multiple Product Installations
Additional Semantic for Properties
Added value to CIM_ManagedElement.status
Indicate unset value consistently for
CIM_Setting
June 13 2001
DMTF Developers Conference
58Page
Associating Services with
Processes
• CIM_ServiceProcess
Association
– Relates services and system
processes
– Allow apps to determine
processes that represent a
particular application
June 13 2001
DMTF Developers Conference
Process
Service
*
*
CIM_ServiceProcess
59Page
Expressing Nested Software
Features
• CIM_SoftwareFeatureComponent
– Models subordinate software feature
which are aggregated
– Allows software features to be
contained within other software
features
*
CIM_SoftwareFeatureComponent
Software
Feature
*
• Example
– English/French dictionary within
dictionary
June 13 2001
DMTF Developers Conference
60Page
Distinguishing Multiple
Product Installations
• Problem
– A product could be installed multiple times on a
system
– Previously model could not distinguish between
these separate installations
• Examples
– Production and development installations
June 13 2001
DMTF Developers Conference
61Page
Multiple Product Installation(2)
• Added one new class and three new associations
between the new class and existing classes
– CIM InstalledProduct - new class, which represents the collection of Software Features
and Software Elements that make up an installed product. Various properties for
distinguishing between multiple instances are defined.
– CIM InstalledProductImage - association that relates an arbitrary number of CIM
InstalledProducts to one CIM Product. CIM InstalledProduct is on the “weak” side of the
association because it has to have a CIM Product counterpart for being existent.
– CIM CollectedSoftwareFeatures - aggregation, which does for CIM InstalledProduct
that CIM ProductSoftwareFeatures does for CIM Product. Aggregates the various CIM
SoftwareFeatures into a CIM InstalledProduct and allows one e.g., to find all the product
installations in which a software feature is represented.
– CIM CollectedSoftwareElements is an aggregation that collects various CIM
SoftwareElements into a CIM InstalledProduct. This aggregation is used, e.g., to find all
the product installations in which a software element is deployed.
June 13 2001
DMTF Developers Conference
62Page
Multiple Product Installation(3)
June 13 2001
DMTF Developers Conference
63Page
Additional Semantic for
Properties
• Added PropertyUsage as optional Qualifier
• Possible values:
– Descriptive – describes element
– Capability – inherent capability of element
– Configuration – influences configuration
– State – can be used to derive status
– Metric – numeric representing statistic, etc.
– CurretContext – determined by position in schema
• Provides additional meta-information for
properties
June 13 2001
DMTF Developers Conference
64Page
Added value to
CIM_ManagedElement.status
• CIM_ManagedSystemElement.Status
– Represents operational, administrative or usage status
– Operational status such as “OK”, “degraded” …
– Non Operational status such as “error”, “starting” …
• However no value to represent not activated
• ADDED
– “Stopped”
– Semantics are
• Exits but not operational (or)
• Not encountered an error but purposely made non-operational
June 13 2001
DMTF Developers Conference
65Page
What is Next?
•Dormant for 4 Months
•Merge of the Metrics and Application Groups
•Immediate Objectives
•Finish the current models
•Document the models
•How we want to work
•Regular Telecons
•Working Papers to define conclusions
•At least one F2F
•It is up to the committee members
June 13 2001
DMTF Developers Conference
68Page
Lessons Learned
• REALLY understanding the existing model is not easy.
• If you do not understand the existing models you will
probably make a mess
• Modeling is not easy
• Complex modeling needs implementation early to test
the model
• Changes can affect and demand changes to other
parts of the model
• Sometimes the existing models do not allow reuse or
extension (ex. The changes made to V 2.5)
June 13 2001
DMTF Developers Conference
69Page
Q&A
June 13 2001
DMTF Developers Conference
70Page
Example
CustomerFirst Application...
Incident
Tracker
Problem
Manager
Relational
DBMS
Advance Graphic
Package
June 13 2001
DMTF Developers Conference
71Page
CustomerFirst Features
CIM_Product
Vendor = “First Always Co.”
Name = “CustomerFirst”
ProductNumber = “PROD-001”
IdentificationNumber = “TYR-99-003”
Version = “01.01.00”
Caption = “CustomerFirst Support Product”
Description = “ The product for everyone.”
instance of CIM_Product as $prod001
{ Vendor = " First Always Co.";
Name = "CustomerFirst";
ProductNumber = "PROD-001";
IdentifyingNumber = " TYR-99-003";
Caption = " CustomerFirst Support Product";
Description = "The product for everyone ";
Version = "01.01.00"; };
instance of CIM_ProductSoftwareFeatures
{ Product = $prod001 ;
Component = $feat001 ; };
CIM_SoftwareFeature
Vendor = “First Always Co.”
ProductName = “CustomerFirst”
instance of CIM_SoftwareFeature as
ProductNumber = “PROD-001”
{ Vendor = "First Always Co." ;
IdentificationNumber = “TYR-99-003”
Version = “01.01.00”
ProductName = "CustomerFirst" ;
Name = “Incident Trcker”
Caption = “Your Favorite Incident Manager”
Description = “ The best.”
$feat001
ProductNumber = "PROD-001" ;
IdentificationNumber = "TYR-99-003" ;
Caption = “Your Favorite Incident Manager”
Description = “ The best.”
Version = "01.01.00" ;
Name = "Incident Tracker";
Caption = " Your Favorite Incident Manager";
Description = "The best." ; };
June 13 2001
CIM_SoftwareFeature
Vendor = “First Always Co.”
ProductName = “CustomerFirst”
ProductNumber = “PROD-001”
IdentificationNumber = “TYR-99-003”
Version = “01.01.00”
Name = “Advance Graphics Package”
DMTF Developers Conference
CIM_SoftwareFeature
Vendor = “First Always Co.”
ProductName = “CustomerFirst”
ProductNumber = “PROD-001”
IdentificationNumber = “TYR-99-003”
Version = “01.01.00”
Name = “Problem Tracking”
Caption = “Your Favorite Problem Tracker”
Description = “ The best.”
72Page
Incident Tracker Software Elements
CustomerFirst Application...
Incident
Tracker
Map out the software elements by platform
States
Deployable
Installable
Executable
Running
NT
1
1
1
1
Windows 95
1
1
1
1
Platform
June 13 2001
DMTF Developers Conference
73Page
Some Software Elements
CIM_SoftwareElememnt
Name = “Incident Manager Element”
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 0;
SoftwareElementID = “Definition”
Version = “01.01.01”
CIM_SoftwareFeature
Vendor = “First Always Co.”
ProductName = “CustomerFirst”
ProductNumber = “PROD-001”
IdentificationNumber = “TYR-99-003”
Version = “01.01.00”
Name = “Incident Tracker”
Caption = “Your Favorite Incident Manager”
Description = “ The best.”
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
CIM_SoftwareElememnt
Name = “Incident Manager Element”
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 3;
SoftwareElementID = “Definition”
Version = “01.01.01”
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
CIM_SoftwareElememnt
Name = “Incident Manager Element
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 1;
SoftwareElementID = “Definition”
Version = “01.01.01”
CIM_SoftwareElememnt
Name = “Incident Manager Element”
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 2;
SoftwareElementID = “Definition”
Version = “01.01.01”
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
Software ElementsDMTF
forDevelopers
IncidentConference
Tracker Feature on NT
June 13 2001
74Page
Software Element Keys
CIM_SoftwareElememnt
Basics
Name = “Incident Manager Element
Version = “01.01.01”
Platform and State
Cross Product
TargetOperatingSystem = 17
SoftwareElementState = 1
SoftwareElementID = “Definition”
Instance Specific
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
June 13 2001
DMTF Developers Conference
75Page
Software Element Conditions
Feature
Platform
Details
Deployable
Installable
Executable
Running
3.5.1
3.5.1
15 MB
3 MB
Memory
8 MB
32 MB
Incident
Software
Oracle
Oracle
Manager
Version
15 MB
3 MB
Memory
8 MB
32 MB
Software
Oracle
Oracle
Version
NT
Win. 95
Disk Space
Disk Space
.75 MB
.75 MB
2 MB
2 MB
Version row refers to the
operating system version
required by the software
element in the specified state,
Disk space row refers to the
minimum amount of disk space
required to transition in the
specified state,
Version
NT
Disk Space
Advance
Memory
Graphics
Software
1 KB
5 KB
1 MB
Excel
Probl. Tracker
Package
Memory row refers to the
minimum amount of memory
required to transition into the
specified state,
Version
Win. 95
Disk Space
1 KB
5 KB
1 MB
Memory
Software
Excel
Probl. Tracker
June 13 2001
DMTF Developers Conference
Software row refers to the
software elements that are
expect to exist for the software
element in the specified state.
76Page
More on Checks
CIM_SoftwareElememnt
Name = “IM. On NT in Inst. State”
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 1;
SoftwareElementID = “Definition”
Version = “01.01.01”
Manufactuer = “First Always, Co,”
SerialNumber = “ “
LanguageEdition = “en”;
CIM_DirectorySpecification
Files/Directory
are expected
conditions in an
environment.
June 13 2001
Name = “IM. On NT in Inst. State ”
TargetOperatingSystem = 17
Version = “01.01.01”
SoftwareElementState = 1;
SoftwareElementID = “Definition”
Version = “01.01.01”
CheckID = “Master Directory”
Description = “ ”
Caption = “ ”
CheckMode = “ ”
DirectoryType = 000;
DirectoryPath = “ \”
In-State
CIM_FileSpecification
CIM_FileSpecification
Name = “IM. On NT in Inst. State ”
CIM_FileSpecification
TargetOperatingSystem
17 State ”
Name = “IM. On NT in=Inst.
CIM_FileSpecification
Version
=
“01.01.01”
TargetOperatingSystem
17 State ”
Name = “IM. On NT in=Inst.
CIM_FileSpecification
SoftwareElementState
= 2;= 17
Version
=
“01.01.01”
TargetOperatingSystem
Name = “IM. On NT in Inst. State ”
SoftwareElementID
= “Definition”
CIM_FileSpecification
SoftwareElementState
= 2; 17
Version
== “01.01.01”
TargetOperatingSystem
Name
“IM. On NT in=Inst.
State ”
Version
=
“01.01.01”
SoftwareElementID
=
“Definition”
CIM_FileSpecification
SoftwareElementState
= 2;= 17
Version
=
“01.01.01”
TargetOperatingSystem
Name
= “IM.
On NT in Inst. State ”
CheckID
= “OS
VersionCheck”
Version
“01.01.01”
SoftwareElementID
= “Definition”
CIM_FileSpecification
SoftwareElementState
= 2; 17
Version
== “01.01.01”
TargetOperatingSystem
Name
“IM.
On NT in=Inst.
State ”
CheckID
=
“OS
VersionCheck”
Version
“01.01.01”
SoftwareElementID
=
“Definition”
CIM_FileSpecification
SoftwareElementState
= 2;= 17
Version
=
“01.01.01”
TargetOperatingSystem
Name
= “IM.
On NT in Inst. State ”
Description
““
CheckID
= “OS
VersionCheck”
Version
“01.01.01”
SoftwareElementID
= “Definition”
SoftwareElementState
= 2; 17
Version
== “01.01.01”
TargetOperatingSystem
Caption
=
““
Name
“IM.
On NT in=Inst.
State ”
Description
=
““
CheckID
“OS
VersionCheck”
Version
=
“01.01.01”
SoftwareElementID
=
“Definition”
SoftwareElementState
Version
= “01.01.01” = 2;= 17
CheckMode
=
““
TargetOperatingSystem
Caption
=
““
Description
““ VersionCheck”
CheckID
= “OS
Version
“01.01.01”
= “Definition”
SoftwareElementState
= 2;
Name
=SoftwareElementID
“custfir.bmp“
Version
= “01.01.01”
CheckMode
= =““““
Caption
=
““
Description
CheckID
“OS
VersionCheck”
Version
=
“01.01.01”
SoftwareElementID
= “Definition”
CreateTimeStamp
=
“199704201048**.*******-300”
;
SoftwareElementState
= 2;
Name
=
“custfir.bmp“
CheckMode
Caption
= ““= =“““OS
Description
““kilobytes
CheckID
VersionCheck”
Version
“01.01.01”
FileSize
=
30218
;
//
SoftwareElementID
=
“Definition”
CreateTimeStamp
=
“199704201048**.*******-300”
;
Name
= “custfir.bmp“
CheckMode
Caption
= ““= =“““OS
Description
““kilobytes
CheckID
VersionCheck”
Version
=
“01.01.01”
FileSize
=
30218
;
//
CreateTimeStamp
= “199704201048**.*******-300” ;
Name
= “custfir.bmp“
CheckMode
Caption
= ““= =“““OS
Description
CheckID
VersionCheck”
FileSize
=
30218
;
//““
CreateTimeStamp
=kilobytes
“199704201048**.*******-300” ;
Name
= “custfir.bmp“
CheckMode
Caption
= ““= =““““
Description
FileSize
== 30218
; //In-State
CreateTimeStamp
=kilobytes
“199704201048**.*******-300” ;
Name
“custfir.bmp“
CheckMode
Caption
= ““= =““““
Description
FileSize
=
30218
;
//
kilobytes
CreateTimeStamp
=
“199704201048**.*******-300” ;
Name
= “custfir.bmp“
CheckMode
Caption
= ““= ““
FileSize
=
30218
;
//
kilobytes
CreateTimeStamp
Name
= “custfir.bmp“
CheckMode
= ““= “199704201048**.*******-300” ;
FileSize
; //=kilobytes
CreateTimeStamp
“199704201048**.*******-300” ;
Name == 30218
“custfir.bmp“
FileSize
=
30218
;
//
CreateTimeStamp =kilobytes
“199704201048**.*******-300” ;
FileSize = 30218 ; // kilobytes
DMTF Developers Conference
77Page