Developing Microsoft System Center Operations Manager 2007 Management Packs, Page 3
In addition to properties inherited from the base class, the MyApp class has a Version Property.
Figure 4: MyApp Class Properties
Although the Authoring tool doesn't enforce it, best practices dictate using namespacelike conventions. Classes must be unique and namespace conventions are an easy way to achieve uniqueness.
Your class example is a somewhat trivial. More complicated Service Models define multiple classes and class relationships.
Populating class properties and making Operations Manager aware of classes is the role of Discovery Rules.
Developers are used to classes handling their own initialization, so discovery may, at first, seem a bit non-intuitive. Recall, classes are not executable code. Classes are simply an XML representation of the application.
Determining where an application is running may require multiple steps. For example, in the sample the application runs on a server. So, first Operations Manager needs to gather all the servers it monitors and then send instructions to all Agents to scan every server's Registry for a TestGenerateEvents key. An application may run on multiple servers or it may be composed of, for example, multiple Windows Services and a SQL Server database. Figure 5 is the discovery for the sample application.
Figure 5: Discoveries in the TestManagement Pack Sample
Below are the properties of the TestDevelopment.FindTestGenerateEvents Discovery.
Figure 6: FindTestGenerateEvents Discovery
Target, a term used throughout Management Pack development, indicates what a rule should act upon to find the particular piece of information. The sample scans the Registry so the best target would be Microsoft.Windows.Server.Computer.