Programování v jazyku C# II.

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Advanced Technologies 05 Využití MOM 2005 pro správu Exchange 2003 Petr Šetka, MCSE, MCT, MVP konzultant & lektor.
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Nadpis Portál pro komunikaci s občany 1 Portál pro komunikaci s veřejností Portál pro komunikaci s veřejností DATRON, a.s. ing. Jaromír Látal projektový.
Mainstream Technologies, s.r.o.
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Kompozitní aplikace (Office Business Applications) Michael Juřek, Software Architect Tomáš Kutěj, TSP – Office Platform Microsoft s.r.o.
Skupinová politika Windows 200x - požadavky
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Operační systémy a aplikační servery Tomáš ZACHAT SPŠ Praha 10, STIC.
Práce se soubory. Ukládání dat Textové soubory s jednoduchou strukturou (např..txt a.csv) textové soubory s vnitřní hierarchií (např..xml) Soubory binárního.
„Programátor by měl být v prvé řadě líný.“. PIFovo Web API (API = Application Programming Interface)
C# pro začátečníky Mgr. Jaromír Osčádal
ZMVŠ. Bezpečnost Windows 8 Dynamic Access Control (DAC) Volně – Dynamický kontrolní přístup) rozšíření NTFS access control listů (ACL) o složitá pravidla.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Adresářové služby – základní pojmy
Uživatelé, Role, Schémata
Vaše jistota na trhu IT Důvěryhodná výpočetní základna Ladislav Šolc Microsoft, s.r.o. Solution.
Úvod do databází Databáze.
Představení Office365 Břetislav Regner PROJEKT financovaný
M O R A V S K O S L E Z S K Ý K R A J 1 Vedení správních řízení ve spisové službě a statistika vyřizování dokumentů.
pit – CAD 2011 Nové funkce a rozšíření Strana: 1www.pitsoftware.cz /
Petr Šetka, MVP Exchange, MCSE:Messaging, MCT Windows Small Business Server 2003 R2.
Adresářová služba Active directory
Bezpečnost na platformě Microsoft & Petr Hartmann Solution Specialist Microsoft.
Slide 1 A Free sample background from © 2003 By Default! Jiří Kůsa Testování propustnosti síťového firewallu.
E-Learning Strategie společnosti Microsoft pro podporu vzdělávání
Vývoj aplikací pro SharePoint
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Software Architect Forum 2006 Trendy ve vývoji aplikací Michael Juřek, Dalibor Kačmář Microsoft s.r.o.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
Konference SI Praha Ladislav Přívozník is:energy czech a.s.
Tomáš Urych, ESO9 Intranet a.s.
Microsoft System Center Operations Manager
4IT445 – Testování a ladění v PHP Ing. Jan Mittner
Serverové systémy Windows
SIPVZ – Státní informační politika ve vzdělávání w w w. e - g r a m. c z E-gram E-gram Informační a komunikační web SIPVZ 1. Původní web:
Excelent v EKOSu Ing. Daniela Dufková. Excelent v EKOSu Ing. Daniela Dufková.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Dokumentace objektů a zveřejnění funkcí
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.1 Lucián Piller Intranet HR.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Advanced Technologies 05 Rozšířené monitorování infrastruktury pomocí MOM 2005 Ondřej Výšek Systémový Specialista Infinity a.s., member of Synergon Group.
Marian Henč, Jan Dryml Systems Engineers Microsoft Windows Server 2003 R2 – co je nového?
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Mobilní kancelář (…nejen pro velké firmy) Vladimír Wojnar Microsoft Solutions HP.
P ROVISIONING Provisioning system Provisioning je služba, která slouží k automatickému nastavení veškerých konfiguračních.
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
Petr Šetka solutions architect Mainstream Technologies, s.r.o.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Delphi a databáze MS SQL Server.
Advanced Technologies 05 Migrace a instalace klientských stanic Pavel Cach, Praha
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
Aktuální bezpečnostní výzvy … a jak na ně ….. v praxi Dalibor Lukeš Platform and Security Manager Microsoft Czech and Slovak Michal Pechan Production Stream.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II –IS na platformě.NET Michal Varga.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
Protálová řešení Příklady reálných nasazení Tomáš Kutěj System Engineer Microsoft.
Miroslav Holec Software Developer & Consultant Monitoring a diagnostika aplikací s Application Insights 2015.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
.NET framework platforma Jiří Pokorný
C# přehled vlastností.
Transkript prezentace:

Programování v jazyku C# II. 11.kapitola

Obsah Přehled technologií pro spravovatelnost aplikací WMI – základy WMI – přístup z .NET frameworku WMI – instrumentace vlastních aplikací Monitorování aplikace pomocí MOM 2005 2/36

Monitorování a provoz .NET aplikací Aplikace musí být nejenom dobře napsaná, ale i dobře provozovatelná Monitorování, instrumentace – sledování Trasování – záznam událostí a chyb v aplikaci Konfigurovatelnost – nastavení externích parametrů aplikace Na tyto vlastnosti je nutné myslet již při návrhu Dodání těchto funkcí ex-post je obtížné Dobrý objektový návrh vše zjednodušuje 3/36

Vize - System Definition Model „Živá“ předloha pro fungování aplikace Design for Operations Vytvoření definice nového systému nebo jeho úprava Fungování systému podle jeho definice Dynamic Data Center Merc. Stage Shuttle Job Cache HTTP SQL Feed Store DSS FTP Potřebné zdroje Operační možnosti Politiky pro běh aplikace Automatická alokace zdrojů a konfigurace podle definice STORAGE SERVERS NETWORKING SDM dokument 4/36

Konfigurace aplikací Externí parametry (cesty, spojení do DB apod.) by měly být uloženy mimo aplikaci Infrastruktura v .NET Frameworku = konfigurační soubor: Pro spustitelné – JmenoExeSouboru.exe.config Pro ASP.NET aplikace – web.config Cestu lze zjistit jako: AppDomain.SetupInformation.ConfigurationFile Cestu lze nastavit při vytváření AppDomain Obsah je spojen s obsahem machine.config Tip pro VS.NET – app.config v rootu projektu tlustých aplikací je vždy správně nakopírován !!! Velká rozšíření pro Framework 2.0 a Longhorn 5/36

Trace, Debug Velmi podobné statické třídy Výstup diagnostických informací: Nepodmíněný – Write, WriteLine Podmíněný – WriteIf, WriteLineIf, Assert Kód, který je volá, se kompiluje pouze tehdy, jsou-li přítomné přepínače DEBUG, TRACE Je možné nechat i v ostré verzi produktu Liší se určením - konvence je, že: DEBUG chybí v ostré verzi (je pro vývojáře) TRACE zůstává v ostré verzi (je pro provozní diagnostiku) Stavební kameny: Listener – zpracovává události Switch – abstrahuje konfiguraci 6/36

Event Log Zápis do/čtení z Event Logu Možno používat systémové (Application, System, …) anebo si vytvářet vlastní Jde o starší technologii, použití z .NET frameworku není zcela přirozené Pozor na práva, řídí se přístupovými právy ke klíčům v Registry HKLM/…/Services/EventLog/… Standardně je nebude mít Network Service (účet pod kterým běží ASP.NET) v dostatečném rozsahu 7/36

Performance Counters Čtení hodnot čítačů výkonnosti a vytváření vlastních čítačů Jde o starší technologii, použití z .NET frameworku není zcela přirozené Pozor na práva, řídí se přístupovými právy ke klíčům v Registry Modifikaci lze najít na různých webech, ale není to podporovaný postup Standardně je nebude mít Network Service (účet pod kterým běží ASP.NET) v dostatečném rozsahu 8/36

Frameworky pro abstrakci událostí Oddělují vlastní abstraktní událost („publish“) od způsobu jejího zpracování a eskalace: Databáze, Event Log, soubor na disku, WMI, message queueing, e-mail, … Konfigurace je dána konfiguračním souborem a lze ji dynamicky měnit Dostupné frameworky na MSDN: Exception Management Application Blok Enterprise Instrumentation Framework Logging Application Block 9/36

K čemu je WMI dobré? Sběr dat - čtení Konfigurace systému - zápis Inventura hardwaru, výkonnostní čítače, klíče registry, Event Logy, služby, procesy, … Konfigurace systému - zápis Sdílené adresáře, NTFS oprávnění, konfigurace nastavení sítě, pagefile, … Vykonání akcí – volání metod Zastav službu, zruš proces, … Správa událostí W3SVC služba se zastavila, kabel síťové karty odpojen, nalezen nový virus, … 10/36

WBEM vs. WMI WBEM (Web Based Enterprise Management) Standard navržený skupinou DMTF Velmi čistý objektový návrh Základní schéma nezávislé na OS (CIMv2) Využit v mnoha mgmt. produktech WMI (Windows Management Interface) Implementace WBEM na Windows platformě Podporováno od Windows 98 & NT4 Počínaje Windows 2000 součást OS Mnoho dalších produktů podporuje WMI Přístupné přes COM i .NET Framework 11/36

WMI - architektura Klienti (consumer) Nástroje, skripty Jiné aplikace Management aplikace Služby (dotazy, události, filtrování, správa metadat, vazba klient-poskytovatel, …) Management Schema Katalog Infrastruktura Poskytovatelé (provider) Aplikace Zařízení OS (Win32) 12/36

Schéma – jmenné prostory Slouží k rozlišení různých skupin tříd patřících různým aplikacím (OS, SQL, BizTalk, IIS, NLB, …) Základní jmenný prostor (namespace) se jmenuje root Základní třídy pro OS jsou ve jmenném prostoru root/CIMv2 Jmenný prostor je základ pro nastavení bezpečnosti Creating a Namespace Namespaces are used in Windows Management Instrumentation (WMI) to differentiate among the groups of classes and instances that represent particular managed environments. Because the components in a managed environment are defined by the classes and instances in a schema, each new schema or schema version requires a new namespace. For example, the root\cimv2 namespace contains the classes and instances defined in the Microsoft® Win32® schema. Namespaces are represented in WMI by the __Namespace system class and classes that derive from this system class. The __Namespace class has a single property called Name, which must be unique within the scope of the parent namespace. The Name property must be set to a string that begins with a letter. All other characters in the string can be letters, digits, or underscores. All characters are case-insensitive. Namespaces can be created using the Managed Object Format (MOF) Language or the WMI API. To create a new namespace using the MOF language, create an instance of the __Namespace system class as follows: instance of __Namespace { Name = "MyNamespace"; }; The namespace called MyNamespace is created within the current namespace. To create a namespace within a specific namespace other than the current one, use the #pragma namespace directive prior to the instance declaration. The next example shows how to create a namespace as a sibling to the root\cimv2 namespace: #pragma namespace("\\\\.\\Root\\Cimv2") instance of __Namespace { Name = "MyNamespace"; }; To create a namespace using the WMI API Call the IWbemServices::GetObject method to retrieve an IWbemClassObject pointer for the __Namespace system class. Call the IWbemClassObject::SpawnInstance method to define an instance of the __Namespace system class. Call the IWbemClassObject::Put method to set the Name property of the __Namespace instance. Call the IWbemServices::PutInstance method to create the namespace. The pInst parameter should point to the new instance. 13/36

Schéma – jmenné prostory Bezpečnost Vytvářet jmenné prostory a měnit je smí pouze lokální administrátor Tedy ani Network Service ani ASPNET účty V .NET frameworku je řešením použít předem installutil.exe z SDK http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconregisteringtheschemaforaninstrumentedapplication.asp Další práva se pak nastavují přes MMC snapin nebo voláním API 14/36

Schéma - třídy Základní jednotka pro správu Symbolizuje spravovaný objekt Přibližné analogie: Namespace = databáze, běžící aplikace Instance = instance objektu, tabulka databáze Property = vlastnost objektu, sloupec databáze Method = metoda Association = relace mezi tabulkami, asociace Win32_Process: Methods: Create, GetOwner, GetOwnerSid, Terminate Properties: Name, ProcessID, Priority, PageFaults, . . . An Instance: notepad.exe, 900, 8, 335, . . . Associations: Win32_ComputerSystem, CIM_DataFile 15/36

WMI události Intrinsic Events Extrinsic Events Timer Events Systémové události („triggery“) vyvolané změnou dat nebo metadat Instance/Class/Namespace-Creation/Deletion/Modification-Event Extrinsic Events Definované poskytovateli Např. Win32_PowerManagementEvent Timer Events Systémové, periodicky nebo v daný čas 16/36

WMI - poskytovatelé WMI tým v MS Další týmy v MS Výrobci třetích stran Win32 SNMP DMI (with Intel) Registry Windows NT® Event log Performance Monitor Performance Counters Active Directory™ Windows Installer WMI for WDM SCSI Disk, IDE Disk, NDIS, Keyboard, Mouse, USB HUB, Modem, ACPI, SMBIOS, Serial, Parallel, Disk Perf Další týmy v MS Exchange 2000 Systems Management Server NetMon monitors and experts Network Load Balancing SNA Server Office 2000 SQL Server™ 2000 DNS Server Application Center Monitoring IIS, NetShow™ BizTalk™ Server Clustering Services Disk Quotas, Job Objects, Ping More… Výrobci třetích stran 17/36

WMI klienti (consumers) Management produkty Microsoftu Operations Manager, AppCenter, SMS Mgmt. produkty třetích stran CA, Tivoli, HP OpenView, BMC, … VS.NET – Server Explorer WMI Extension http://go.microsoft.com/fwlink/?LinkId=3353 WMI Administrative Tools (CIM studio) Mnohem více funkčnosti, ale není integrováno s .NET http://www.microsoft.com/downloads/details.aspx?familyid=6430f853-1120-48db-8cc5-f2abdc3ed314&displaylang=en 18/36

WMI v .NET Frameworku Funkce WMI jsou ve jmenném prostoru System.Management Známé prostředí a techniky Třídy, kolekce, enumerátory, foreach, delegate, event, … Jazykově neutrální – C#, VB.NET, … Generování typových tříd pro WMI třídy: MgmtClassGen.exe v .NET Framework SDK WMI Server Explorer Extension pro VS.NET Výhody IntelliSense®, kontrola při kompilaci … 19/36

Základní úlohy Enumerace a filtrování instancí objektů Získání specifické instance Dotazy na instance nebo události Provádění metod Registrace k odběru událostí Zjištění vztahů mezi spravovanými objekty 20/36

System.Management Základní třídy ManagementObject ManagementClass Reprezentuje objekt WMI (data) ManagementClass Reprezentuje třídu WMI (schéma) ManagementObjectSearcher Vyhledávání objektů v repository WQL – dotazovací jazyk vycházející z SQL Další způsoby hledání – Relationship, RelatedObject ManagementObjectEventWatcher Pro sledování událostí WMI (EventArrived) 21/36

WMI .NET Consumer API Příklad - Enumerate WMI objects using System; using System.Management; using System.IO; public void EnumerateServices() { //Request the collection of services ManagementObjectSearcher s = new ManagementObjectSearcher(“Win32_Service”); //Enumerate through the collection foreach (ManagementObject service in s.Get()) Console.WriteLine(“Service: “+Service[“Name”]+ ” is “+Service[“State”]); return; } 22/36

WMI .NET Consumer API Příklad - Subscribe for events Define the event query public void ServiceStopped() { WqlEventQuery q = new WqlEventQuery(“__InstanceModificationEvent”, 10, “TargetInstance isa Win32_Service and TargetInstance.State=‘Stopped’”); ManagementEventWatcher watcher = new ManagementEventWatcher(q); MyHandler handler = new MyHandler(); watcher.EventArrived += new EventArrivedEventHandler(handler.Arrived); watcher.Start(); Console.WriteLine(“Hit any key to stop listening…”); Console.ReadLine(); watcher.Stop(); } public class MyHandler { public void Arrived(object sender, EventArrivedEventArgs e) { ManagementBaseObject service = (ManagementBaseObject)(e.NewEvent["TargetInstance"]); Console.WriteLine(“Service " + service[“Name”] + “has stopped !!!”); Initialize an event watcher with this query Set up a handler for incoming events Start listening Handle the event when it arrives 23/36

WMI .NET Consumer API Příklad - Strongly-typed objects From previous example: public void Arrived(object sender, EventArrivedEventArgs e) { ManagementBaseObject service = (ManagementBaseObject)(e.NewEvent["TargetInstance"]); Console.WriteLine(“Service " + service[“Name”] + “has stopped !!!”); } Use SDK utility (MgmtClassGen.exe) to generate strongly-typed class “Service” for the WMI “Win32_Service” class Using the generated class the code becomes: Service service = new Service(e.NewEvent[“TargetInstance”]); Console.WriteLine(“Service " + service.Name + “has stopped !!!”); //and, if we want to restar service.StartService(); 24/36

Instrumentace vlastní aplikace Snadná cesta k spravovatelné aplikaci Intuitivní .NET třídy se mapují na WMI třídy 1:1 WMI schéma automaticky zjištěno z definice třídy a z přiřazených atributů Deklarativní – pomocí atributů a dědičnosti Označení tříd typů, které chcete zpřístupnit Označení schématu a názvu třídy Volitelně – omezení zpřístupněných členů třídy Jednoduchá a bezpracná Vše je v System.Management.Instrumentation Instance typů zpřístupněny do vrstvy WMI Události v kódu jsou vyvolány ve WMI 25/36

Vlastní WMI událost Jak na to? Definujte .NET třídu reprezentující událost Označte třídu pro instrumentaci Pokud je to možné, poděděním ze třídy System.Management.Instrumentation.BaseEvent Pokud ne, použijte pro třídu atribut [InstrumentationClass(InstrumentationType.Event)] Vytvořte instanci třídy, vyplňte vlastnosti, zavolejte metodu Fire Vyvolá WMI událost s příslušnými daty 26/36

Firing Events Příklad – using attribution Define the WMI namespace to fire events into using System.Management.Instrumentation; [assembly:Instrumented(“root/default")] [InstrumentationClass(InstrumentationType.Event)] public class UserLogin { public string Username; public int SessionId; public int TimeToLogin; } UserLogin ul = new UserLogin(); ul.Username = “corinaf”; ul.SessionId = sCount++; ul.TimeToLogin = 10; Instrumentation.Fire(ul); Attribute indicates this is instrumentation event Define event class Instantiate and fill in values Fire event using helper classes 27/36

Firing Events Příklad – using base class using System.Management.Instrumentation; [assembly:Instrumented(“root/default")] public class UserLogin : BaseEvent { public string Username; public int SessionId; public int TimeToLogin; } UserLogin ul = new UserLogin(); ul.Username = “corinaf”; ul.SessionId = sCount++; ul.TimeToLogin = 10; ul.Fire(); Derive from “BaseEvent” Fire event using base method 28/36

Zpřístupnění objektu přes WMI Jak na to? Definujte libovolnou .NET třídu Označte třídu pro instrumentaci: Pokud je to možné, poděděním ze třídy System.Management.Instrumentation.Instance Pokud ne, použijte pro třídu atribut [InstrumentationClass(InstrumentationType.Instance)] Vytvořte instanci, opublikujte pomocí Publish Objekt bude přístupný přes WMI Pouze pole a vlastnosti označené Public Pouze ke čtení (bezpečnost) Metody nejsou zpřístupněny (bezpečnost) 29/36

Exposing Data Příklad – using attribution Define the WMI namespace to fire events into using System.Management.Instrumentation; [assembly:Instrumented(“root/default")] [InstrumentationClass(InstrumentationType.Instance,“CIM_User”)] public class UserInfo { public string Name; public DateTime LastLogin; public int MaxWait; public UserInfo(name) { Name = name; LastLogin = GetLastLogin(); MaxWait = GetMaxWait(); Instrumentation.Publish(this); } usr[0] = new UserInfo(“Jeff”); usr[1] = new UserInfo(“Cori”); Attribute indicates this is instrumentation data Define data class When values are available, publish it Instantiate as usual 30/36

Exposing Data Example – using base class using System.Management.Instrumentation; [assembly:Instrumented(“root/default")] public class UserInfo : Instance { public string Name; public DateTime LastLogin; public int MaxWait; public UserInfo(name) { Name = name; LastLogin = GetLastLogin(); MaxWait = GetMaxWait(); Published = true; } usr[0] = new UserInfo(“Jeff”); usr[1] = new UserInfo(“Cori”); Derive from “Instance” Publish instance using property on base class 31/36

Co je MOM 2005? Kompletní řešení pro operační dohled serverů a aplikací na bázi WMI Identifikace a řešení kritických stavů ještě před tím, než se objeví „Operační expertíza v krabici“ – snadná instalace a okamžité výsledky Jednoduchá správa – snadné použití, flexibilita, automatizované nasazení, škálovatelnost Spolupráce s management nástroji dalších dodavatelů Přináší vyspělý reporting Workgroup verze – levné řešení do 10 serverů 32/36

MOM 2005 popis architektury System Center Data Warehouse System Center Data Warehouse SQL Reporting Services Databáze MOM 2005 Operační data Konfigurační data MOM management Server Database access server MOM service MOM agent +MOM Server Uživatelská rozhraní Agenti MOM 2005 Lokální monitorování Lokální správa Šifrovaná komunikace Reportování MOM Server DB Oper. konzole Admin konzole Web konzole Agenti Agenti 33/36

Reference Monitoring in .NET Distributed Application Design http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/monitordotnet.asp Operating .NET-based Applications http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/net/maintain/opnetapp/default.asp MOM 2005 http://www.microsoft.com/mom/default.mspx WMI Server Explorer Extension http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmise/wmioriManagingWindowsManagementInstrumentationWMIDataEventsWithServerExplorer.asp WMI Tools http://www.microsoft.com/downloads/details.aspx?familyid=6430f853-1120-48db-8cc5-f2abdc3ed314&displaylang=en 34/36

Závěrem Aplikace musí být nejenom dobře napsaná, ale i dobře provozovatelná Na tyto vlastnosti je nutné myslet již při návrhu, dodání ex-post je obtížné Dobrý objektový návrh vše zjednodušuje WMI je správná technologie MOM 2005 je nejvhodnější nástroj pro monitorování prostřednictvím WMI 35/36

Konec 36/36