50217A-EnU Powerpnt 18

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 48

Module 18:

Extending Service Manager

1
Lesson objectives
How does the Authoring Console work
How can you extend Service Manager
Forms
Creating a Class (New CI type) in the CMDB
Creating Workflows

2
Common Platform in Service Manager

Customizations

Incident Mgmt Change Mgmt

MicrosoftImprovements
Solutions for ServicePartner
ManagerSolutions
Problem Mgmt Config Mgmt

Common
Operations
Platform
Manager
for Infrastructure
System Center
3
Common Platform Capabilities

Model, Store, Automate Customize User


and Access Data Processes with Experience
• Extensible Model-
based Database
Windows • Console Framework
• Forms Infrastructure
• Security Workflow • Reporting
• Programmability Layer Foundation Infrastructure
(.Net APIs)
• Data Warehouse

4
Management Packs

Management Packs are the solution content


that runs on the platform
Example: Change Management MP
Management Packs are self-contained and
transportable
Microsoft/Partners  Customers
Pre-production  Production

5
Authoring Console

6
Service Manager Authoring Tool v1.0
RTW = Service Manager RTM+60
Offline experience
• Operates on MP files
• No live server connection required
Leverages Visual Studio 2008 Shell
Drag and drop designers
No code or XML editing required!
Main features :
Forms customization
• Add/remove/move fields, images, change
layout
Extend CMDB model
• Add new classes, relationships, and
properties
Workflow authoring
• Compose workflows using predefined
activities
• Define automated activity rules to execute
these workflows 7
Service Manager Console
Following things can be modified in the
Service Manager Console
Incident Event Queues and Groups
Change Request Event Console Tasks (cmd line only)
Connectors Templates
Software provisioning Lists (enumerations)
UI Customizations Workflows (certain kinds)
Folders Notification
Views DCM

8
Other Tools
Report authoring
Business Intelligence Design Studio (BIDS)
Report Builder
Form authoring
Visual Studio
Blend

9
Implementation
SM Server
Authoring Tool Automated Activity
Work Item Class
Import

Form

Workflow

Management Pack

Console

Create
Create Execute
Execute
Approve
Approve


Change Request
10
Personas, Experiences and Scenarios

SM Console SM Authoring Tool Visual Studio

IT Pro Advanced IT Pro Developer

•• Add
Add Views
Views •• Customize
Customize Forms
Forms •• New
New Solution
Solution
•• Add
Add Templates
Templates •• Extend/Add
Extend/Add Classes
Classes •• New
New WF
WF Activities
Activities
•• Add
Add Groups
Groups •• Add Workflows
Add Workflows •• New
New Module Types
Module Types
•• Add
Add Queues
Queues … •• New View Types
New View Types
•• Add
Add Tasks
Tasks …
•• Customize
Customize Lists
Lists
•• Configure
Configure Workflows
Workflows
… Leverage on Leverage on
SM Console Auth. Console

11
Management Pack

12
Management Pack Identity
Every MP must have a unique ID
Recommend using a namespace like:
Contoso.IncidentManagement.Extension
Contoso.SomeNewSolution
The MP file name must be the same as the ID
Every MP must have a version
Format: #.#.#.# where each # can be 0-9 and up
to 10 digits long. Typical: 1.0.0.0
Every MP must have a Name
not shown anywhere in the UI

23
Management Pack Identity

24
MP References
Management Packs can take a dependency on other MPs
Especially important in the following cases:
Target (views, tasks, subscriptions, etc.)
Parent (views, folders, etc)
Class Inheritance or Extension
Type Projections
You can only take a dependency on a sealed MP
You can only reference an MP element which is
Accessibility=“Public” (not =“Internal)
Specify the MP ID, Version, Public Key Token
Use an Alias to make it easier to reference things
Authoring tools add this automatically for you
Microsoft’s public key token is always: 31bf3856ad364e35
25
MP Reference Example

26
Referencing an MP Element using an Alias

27
Extending Classes

28
Extending Classes
Extending the CMDB with additional data to track
Extending an existing WI or CI class (e.g. Incident, Computer) and
adding properties to it
Creating a new class with new properties (e.g. track additional assets)
Adding relationships between classes
Extension properties can be used on customized forms
A new class can be rendered in new forms, or leverage the dynamically-
generated form feature.

29
Creating New Classes
The CMDB schema can be extended to
accommodate new types of CIs and work
items (WIs) – really anything!
This will allow the possibility of defining CI
types which are not pre-defined by AD,
Operations Manager or Configurations
Manager
CSV files can be used to create and update
objects of those new classes

30
Extending Classes
Use the Authoring Tool or Create a
Management Pack in XML
Define Class Name and Friendly Name
ID element
Name
References
CSV files can be used to update CI types in
an automated manner.

31
Creating Classes
ID (required)
must be unique within the management group – suggest using a namespace
naming convention
Base (required)
Points to the class you are deriving or extending (use reference alias)
Accessibility (required)
Public – other MPs can reference this class
Internal – other MPs cannot reference this class;things within the same MP can
Abstract
True = objects of this class will not be created
False (or not present) = objects of this class will be created
Extension
True = this is a class extension
False (or not present) = this is a derived class
Hosted
True = this class is hosted by another class
False (or not present) = this is not hosted
Singleton
True = there can only ever be a single object of this class
False (or not present) = there can be many objects of this class
32
ClassType Example

33
Class Properties
ID (required)
Must be unique within the ClassType
Type (required)
string – use for storing strings
datetime – use for storing dates/times
Int – use for storing integers
bool – use for storing true/false
enum – use for restricting the values to a pre-defined list
guid – use for storing GUIDs
richtext – use for storing RTF content
decimal – use for storing numbers with decimal values
double – use for storing REALLY big numbers
binary – use for storing binary data
Required
true = value must be specified when creating an objet
false (or not present) = value does not need to be specified
Key
true = is a key property (values must be unique)
false (or not present) = not a key property
34
Properties Continued
MinLength, MaxLength (optional)
Default = 0 (MinLength), 256 (MaxLength)
Range: 1..65536 (MaxLength) . 0..65536 (MinLength)
Use only with int data type
MinValue, MaxValue
Use only with int data type
Range: -2147483648..2147483648
AutoIncrement
true = auto increment the property value
false (or not present) = don’t auto increment
CaseSensitive
true = string values are case sensitive
false (or not present) = not case sensitive
RegEx
Uses W3C Reg Ex patterns for validation
Use only with String data type
DefaultValue
Optional
EnumType
Reference to base EnumerationValue element 35
Demonstration

Extending Service
Manager

37
Demo - Extending Classes
1. Extend the class to include Windows
Mobile phones (Slides)
2. Use a enumeration list with the class
(Slides)
3. Import Management Pack (Lab)
4. Create CI Folder and View (Lab)
5. Create xml file (Slides)
6. Create the csv file (Slides)
7. Import csv file (Lab)
8. View new CIs in CMDB (Lab)
38
Demo - Extending Classes
<?xml version="1.0" encoding="utf-8"?>
<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true"
SchemaVersion="1.1">
<Manifest>
<Identity>
<ID>WinMobile</ID>
<Version>1.0.0.5</Version>
</Identity>
<Name>Windows Mobile</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
39
Demo - Extending Classes MP
Standard XML
MP Name: WinMobile.xml
<?xml version="1.0" encoding="utf-8"?>
<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true"
SchemaVersion="1.1">
<Manifest>
<Identity>
<ID>WinMobile</ID>
<Version>1.0.0.5</Version>
</Identity>
<Name>Windows Mobile</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions> 40
Demo Extending Classes Class
definition
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="Windows.Mobile" Accessibility="Public" Abstract="false" Base="System!
System.ConfigItem">
<Property ID="SerialNumber" Type="string" Key="true" CaseSensitive="false"
MaxLength="256" MinLength="0" Required="true" />
<Property ID="Name" Type="string" MaxLength="256" MinLength="0" Required="false" />
<Property ID="Manufacturer" Type="string" MaxLength="256" MinLength="0"
Required="false" />
<Property ID="Model" Type="string" MaxLength="256" MinLength="0" Required="false" />
<Property ID="WinOSVersion" Type="string" MaxLength="256" MinLength="0"
Required="false" />
<Property ID="Condition" Type="enum" EnumType="WinMobileCondition" />
</ClassType>
</ClassTypes>

41
Demo Extending Classes
Enumeration list
<Property ID="Condition" Type="enum" EnumType="WinMobileCondition" />
</ClassType>
</ClassTypes>
<EnumerationTypes>
<EnumerationValue ID="WinMobileCondition" Accessibility="Public"/>
<EnumerationValue ID="Working" Parent="WinMobileCondition" Accessibility="Public"/>
<EnumerationValue ID="BeingRepaired" Parent="WinMobileCondition"
Accessibility="Public"/>
<EnumerationValue ID="New" Parent="WinMobileCondition" Accessibility="Public"/>
<EnumerationValue ID="Broken" Parent="WinMobileCondition" Accessibility="Public"/>
<EnumerationValue ID="WinMobileViewTasksEnumeration" Accessibility="Public"/>
</EnumerationTypes>

42
Demo Extending Classes CSV
XML file
Name: WindowsMobile.xml
<CSVImportFormat>
<Class Type="Windows.Mobile">
<Property ID="SerialNumber"/>
<Property ID="Name"/>
<Property ID="Manufacturer"/>
<Property ID="Model"/>
<Property ID="WinOSVersion"/>
</Class>
</CSVImportFormat>

43
Demo Extending Classes CSV
Serial Display Name Manufacturer Model Win Os Version

123456HTC Leo HTC Leo Microsoft Windows Mobile 6.5 Professional

112344HTC Hero HTC Hero Microsoft Windows Mobile 6.1 Professional

312213HTC Touch Pro2 HTC Touch Pro2 Microsoft Windows Mobile 6.1 Professional

124324Mio Moov M400 2GB MIO Moov M400 Microsoft Windows CE 5.0 Core

356765Samsung GT-B7300 OmniaLITE Samsung GT-B7300 Mobile 6.1 Professional

458768Samsung GT-B7610 OmniaPRO Samsung GT-B7610 Mobile 6.1 Professional

657657Sony Ericsson Xperia X2 Sony Xperia X2 Microsoft Windows Mobile 6.5 Professional

857567Toshiba TG03 Toshiba TG03 Microsoft Windows Mobile 6.5 Professional

789879Motorola MOTO A4500 Motorola MOTO A4500 Microsoft Windows Mobile 6.5 Professional

GT-B7610
243287Samsung GT-B7610 OmniaPRO Samsung Microsoft Windows Mobile 6.5 Professional
OmniaPRO

44
Demo Extending Classes CSV file
Name: WindowsMobile.csv
Serial;Display Name;Manufacturer;Model;Win Os Version
123456;HTC Leo;HTC;Leo;Microsoft Windows Mobile 6.5 Professional
112344;HTC Hero;HTC;Hero;Microsoft Windows Mobile 6.1 Professional
312213;HTC Touch Pro2;HTC;Touch Pro2;Microsoft Windows Mobile 6.1 Professional
124324;Mio Moov M400 2GB;MIO;Moov M400;Microsoft Windows CE 5.0 Core
356765;Samsung GT-B7300 OmniaLITE ;Samsung;GT-B7300;Mobile 6.1 Professional
458768;Samsung GT-B7610 OmniaPRO ;Samsung;GT-B7610;Mobile 6.1 Professional
657657;Sony Ericsson Xperia X2 ;Sony;Xperia X2;Microsoft Windows Mobile 6.5 Professional
857567;Toshiba TG03;Toshiba;TG03;Microsoft Windows Mobile 6.5 Professional
789879;Motorola MOTO A4500 ;Motorola;MOTO A4500;Microsoft Windows Mobile 6.5
Professional
243287;Samsung GT-B7610 OmniaPRO ;Samsung ;GT-B7610 OmniaPRO;Microsoft Windows
Mobile 6.5 Professional

45
Hands on Lab

Extending
Service Manager

46
Authoring Forms

47
Authoring Forms
Forms Customization
The Forms Designer enables IT Pros to customize the out-of-box
presentation of data shipped with solutions without coding
Change layout and style of forms, add branding
Show/hide fields
Expose new CMDB data on forms by adding new fields and binding to
class properties
Add new tabs
Form customizations are stored as XML in the Management Pack and
automatically applied at runtime to the original WPF form
Multiple levels of form customizations are supported

48
What is a Service Manager Form ?
A UI window for displaying information about an object in the
database and for allowing users to add or edit objects. E.g. the
“Incident” form displays information about a selected incident in the
database.

Windows
Windows
Phone
Phone

A form is targeted to a class or type projection


If the form needs to display values from related objects, a projection is needed
Form fields are bound to target class or type projection properties

Forms can be further customized using a graphical form designer :


Adjust look and feel of existing forms – change layout, labels, fonts etc.
Add/remove fields on forms to customize information displayed 49
Add new forms for new object types in the system, new custom controls
What is an SM Form (cont.)
The Form consists of :
A WPF form in a .NET assembly (dll)
New forms are developed in VS or Expression
A Management Pack element
Defines what objects this form targets, i.e. represents
When the MP is imported, the form is stored in
the CMDB, and provided on demand to the
console
When an SM Console user requests to view or
change a CMDB object (e.g. Incident, Computer
etc.), the system looks up the appropriate form
based on targeting and displays it.
50
The Generic Form
If an object in the system doesn’t have a custom
form associated with it, the system dynamically
generates a Generic form to display the object
The Generic form lists all properties of the object in a
standard layout
Allows creating new objects, viewing or editing existing
ones
When you extend Service Manager with new data,
and -
You don’t care much about how the new data is
displayed
You don’t want to spend time customizing a form or
creating a new form for your extended data
=> Rely on the built-in Generic Form 51
What is an SM Form (cont.)
The Form consists of :
A WPF form in a .NET assembly (dll)
New forms are developed in VS or Expression
A Management Pack element
Defines what objects this form targets, i.e. represents
When the MP is imported, the form is stored in
the CMDB, and provided on demand to the
console
When an SM Console user requests to view or
change a CMDB object (e.g. Incident, Computer
etc.), the system looks up the appropriate form
based on targeting and displays it.
52
Form Customization
Out-of-the-box forms can be customized
by customers to adjust to organization
needs
Customizations are done in the SM
Authoring Tool
Does not require any code additions !
Change layout of controls on the form
Add fields for existing or new object properties
Hide existing fields
Form customizations are stored in the
Management Pack and travel with the form55
5555
Authoring Workflows

56
Workflows
Customizing and extending Process Automation using
Workflows

Workflow Designer enables IT Pros to compose new workflows by


dragging and dropping various activities from a library
Leveraging Windows Workflow Foundation
Rules can be defined for when workflows are triggered, on a schedule or
watching for changes in CMDB data
Workflows and rules are defined and referenced in MPs
Tool generates WF workflow dll
Out of box Activity Library contains :
Service Manager Activities, e.g. “Create Incident”
Powershell script activity (CMD and VBS to come)
Common IT automation tasks, e.g. “Add User To AD Group”
Control flow Activities, e.g. If/Else
Activity Library is extensible so 3rd part WF activities can be added and
used 57
Workflows

58
Service Manager Extension
Questions
What can you do with the Authoring
Console? Give three examples.

What is needed if new CI types need to be


added to the CMDB?

What are forms? When should you use a


Generic form instead of a Custom form?

59
Summary and Class Discussion
Understand how and when Service
Manager should be extended

Understand the Authoring Console

How to Customize a Form

How to Create a New CI type

60
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not

61
be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

You might also like