A System Center közös sémájának változásai

 

Közzétéve: 2016. július

Hatókör: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

A System Center 2012 – Service Manager alkalmazás a System Center felügyeleti csomagjainak frissített sémaverzióját tartalmazza. A séma elnevezése System Center közös séma, és ez számos olyan javítást és bővítést tartalmaz, amely tökéletesíti a meglévő funkciókat, és lehetővé teszi a Service Manager szolgáltatásainak használatát. Ez a szakasz a System Center közös sémájának változásait ismerteti.

További tudnivalók a Service Manager felügyeleti csomagjairól, valamint a további XML-példákat lásd: Közvetlen szerzői műveletek végrehajtása a felügyeleticsomag-fájlon kivetítők kezeléséhez.

Tulajdonságok és tulajdonságkorlátozások

A közös séma számos új tulajdonságtípus bevezetésével kiterjeszti az osztályokat. Új tulajdonságtípus a binary, az enumerator és az autoincrement.

Emellett bizonyos tulajdonságértékekhez korlátozásokat definiálhat. Például reguláris kifejezéssel korlátozást adhat meg egy string típusú tulajdonságértékhez. A következő példában a BuildingName tulajdonsághoz reguláris kifejezéssel megadott korlátozás tartozik, amely szerint csak azok az értékek számítanak érvényesnek, amelyek a „Building” szót követően egy szóközt és egy számot tartalmaznak.

  
<ClassType ID="Lobby" Accessibility="Public" Base="System!System.Entity">  
   <Property ID="Id" Type="int" Key="true" />  
   <Property ID="BuildingName" Type="string" RegEx="Building [0-9]+" />  
</ClassType>  
  

Képek

A képeket nem felügyeleti csomagban tárolja a rendszer. Ezért a felügyeleti csomag <PresentationTypes> szakasza már nem tartalmazza az <Images>, <Image> és az <ImageData> címkét. Ezek helyett használjon képerőforrásokat.

<Resources>  
   <Image ID="TestLibrary.Resources.Image1" Accessibility="Public" FileName="image.png"/>  
</Resources>  
  

Enumerálások

A közös séma támogatja az enumerálásokat. Az enumerálások olyan értékek fája, amelyek tulajdonságok vagy attribútumok értékének korlátozására használhatók.

Minden enumerálás előírt egyedi ID attribútummal és választható módon Parent attribútummal rendelkezik.

A következő példában a XBoxState enumerálás három lehetséges értékkel van definiálva: Running, Stopped és Error.

  
<EnumerationTypes>  
   <EnumerationValue ID="XBoxState" Accessibility="Public"/>  
   <EnumerationValue ID="XBoxState.Running" Parent="XBoxState" Accessibility="Public"/>  
  <EnumerationValue ID="XBoxState.Stopped" Parent="XBoxState" Accessibility="Public"/>  
   <EnumerationValue ID="XBoxState.Error" Parent="XBoxState" Accessibility="Public" />  
   <EnumerationValue ID="XBoxState.Error.RROD" Parent="XBoxState.Error" Accessibility="Public" />  
</EnumerationTypes>  
  

A következő példában az Xbox osztály egy enum tulajdonságot definiál, amelynek típusa XBoxState.

  
<ClassType ID="XBox" Accessibility="Public" Base="System!System.ConfigItem" Hosted="true">  
   <Property ID="Id" Type="int" Key="true" />  
   <Property ID="Name" Type="string" />  
   <Property ID=“State" Type="enum" EnumType=“XBoxState" />  
</ClassType>  
  

Kapcsolatok

A kapcsolatdefiníciók funkciója tovább lett fejlesztve a közös sémában. A RelationshipType típus immár a Source és a Target részelemmel rendelkezik ID tulajdonsággal, amelyek megjelenítendő névként használhatók. Emellett minimális és maximális kardinalitást is definiálhat a forráshoz és a célhoz (például egy-az-egyhez vagy nulla-a-többhöz kapcsolat).

A kardinalitást nem kényszeríti a felügyeleti csomag érvényesítési folyamata, de segítséget nyújt felhasználói felületek definiálásánál a felügyeleti csomaghoz. Például a kardinalitás ellenőrzésével meghatározható, hogy egy mező beviteli mezőként vagy listaként jelenjen-e meg.

System_CAPS_ICON_important.jpg Fontos!


Minden 1-nél nagyobbként definiált MaxCardinality érték korlátlanként lesz feldolgozva.

Ha új kapcsolattípust vesz fel saját felügyeleti csomagjából, a felhasználóknak megfelelő jogosultságokkal kell rendelkezniük a kapcsolattípus forrás és cél osztálypéldányai tulajdonságainak módosításához, hogy létrehozhassák az új kapcsolattípus példányát.

A következő példában birtokosi kapcsolat (elnevezése HasXboxes) van definiálva a Lobby típus és az Xbox típus között. Ebben a kapcsolatdefinícióban minden Lobby típus több Xbox típussal rendelkezhet.

  
<RelationshipType ID="HasXBboxes" Accessibility="Public" Base="System!System.Hosting">  
   <Source ID="Source" Type="Lobby" />  
   <Target ID="Target" Type="Xbox" MinCardinality="0" MaxCardinality="9999" />  
</RelationshipType>  
  

Kombinált osztályok

A kombinált osztályok több kapcsolódó típus összesítését képviselik a felügyeleti csomagban, ezek a Microsoft SQL Server adatbázisában definiált nézetekre hasonlítanak, amelyek több táblából adhatnak vissza adatokat. A kombinált osztályok az összes összesített adatot tárolják és lekérik egy adatbázis-műveletben, és ezek megkönnyíthetik felhasználói felületek definiálását a felügyeleti csomaghoz.

A következő példában leképezés van definiálva egy incidenskezelési nézethez. Ez a leképezés egy incidensre vonatkozó több különböző összetevőt egyesít egy egységbe, amely könnyebben használható űrlapoknál és adatbázis-műveleteknél.

  
<TypeProjections>  
   <TypeProjection ID="System.WorkItem.Incident.View.ProjectionType"  
      Accessibility="Public" Type="Incident!System.WorkItem.Incident">  
      <Component Alias="AffectedUser"  
Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>  
      <Component Alias="AssignedUser" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
   </TypeProjection>  
   <TypeProjection ID="System.WorkItem.Incident.View.DCMProjectionType" Accessibility="Public" Type="Incident!System.WorkItem.Incident.DCMIncident">  
      <Component Alias="AffectedUser" Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>  
      <Component Alias="AssignedUser" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
      <!--Baseline and Configuration Item Information-->  
      <Component Alias="AffectedComputer" Path="$Target/Path[Relationship='Incident!System.WorkItem.Incident.DCMIncident.Refers.NonComplianceComputer']$"/>  
   </TypeProjection>  
   <TypeProjection ID="System.WorkItem.ChangeRequestViewProjection" Accessibility="Public" Type="System.WorkItem.ChangeRequest">  
      <Component Alias="AssignedTo" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
   </TypeProjection>  
   <TypeProjection ID="System.WorkItem.ChangeRequestProjection" Accessibility="Public" Type="System.WorkItem.ChangeRequest">  
      <Component Alias="Activity" Path="$Target/Path[Relationship='SMActivity!System.WorkItemContainsActivity']$">  
         <Component Alias="ActivityAssignedTo" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
         <Component Alias="ActivityRelatedWorkItem" Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToWorkItem']$">  
            <Component Alias="ActivityRelatedWorkItemAssignedTo" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
         </Component>  
         <Component Alias="ActivityRelatedConfigItem" Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToConfigItem']$"/>  
         <Component Alias="ActivityAboutConfigItem" Path="$Target/Path[Relationship='System!System.WorkItemAboutConfigItem']$"/>  
         <Component Alias="ActivityFileAttachment" Path="$Target/Path[Relationship='System!System.WorkItemHasFileAttachment']$">  
            <Component Alias="ActivityFileAttachmentAddedBy" Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"/>  
         </Component>  
         <Component Alias="Reviewer" Path="$Target/Path[Relationship='SMActivity!System.ReviewActivityHasReviewer']$">  
            <Component Alias="User" Path="$Target/Path[Relationship='SMActivity!System.ReviewerIsUser']$"/>  
            <Component Alias="VotedBy" Path="$Target/Path[Relationship='SMActivity!System.ReviewerVotedByUser']$"/>  
         </Component>  
      </Component>  
      <Component Alias="CreatedBy" Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedByUser']$"/>  
      <Component Alias="AssignedTo" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
      <Component Alias="CreatedFor" Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>  
      <Component Alias="RelatedWorkItem" Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToWorkItem']$">  
         <Component Alias="RelatedWorkItemAssignedTo" Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>  
      </Component>  
      <Component Alias="RelatedConfigItem" Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToConfigItem']$"/>  
      <Component Alias="AboutConfigItem" Path="$Target/Path[Relationship='System!System.WorkItemAboutConfigItem']$"/>  
      <Component Alias="FileAttachment" Path="$Target/Path[Relationship='System!System.WorkItemHasFileAttachment']$">  
         <Component Alias="FileAttachmentAddedBy" Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"/>  
      </Component>  
   </TypeProjection>  
   <TypeProjection ID="System.FileAttachmentProjection" Accessibility="Public" Type="System!System.FileAttachment">  
      <Component Alias="FileAttachmentAddedBy" Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"/>  
   </TypeProjection>  
</TypeProjections>  

Konzolfeladatok

A konzolfeladatok bővítve lettek a közös sémában. Korábban a konzolfeladatok egyszerű mutatók voltak egy alkalmazástárra és egy végrehajtható fájl nevére. A konzolfeladatok most kezelőkódként vannak megvalósítva a Microsoft .NET-keretrendszer szerelvényében. A kezelőkód arra a szerelvényre mutat, amely a kódot, a kezelő nevét és olyan nevesített értékek listáját tartalmazza, amelyek argumentumként átadhatók a kezelőnek.

A következő példában a Some.Handler.Name kezelő van definiálva a MyLibrary.Resources.Assembly szerelvényben. A kezelő paramétereinek és a paraméterek értékeinek listája is definiálva van.

<ConsoleTask ID="MyLibrary.ConsoleTasks.T1"  
    Accessibility="Public"  
     Target="System!System.Entity"  
     Enabled="true"  
     RequireOutput="true">  
   <Assembly>MyLibrary.Resources.Assembly1</Assembly>  
   <Handler>Some.Handler.Name</Handler>  
   <Parameters>  
      <Argument Name="Application">cmd.exe</Argument>  
      <Argument Name="WorkingDirectory">%TEMP%</Argument>  
      <Argument>test1</Argument>  
      <Argument>test2</Argument>  
   </Parameters>  
</ConsoleTask>  

Erőforrások

A bináris adatokat nem közvetlenül a felügyeleti csomagban tárolja a rendszer. Ehelyett a bináris erőforrásra vonatkozó metaadatok tárolódnak a felügyeleti csomagban, míg a tényleges bináris adatok külső erőforrásfájlban találhatók. A metaadatok közé tartozik egy egyedi azonosító, a fájlnév, a létrehozás dátuma, a módosítás dátuma és a hozzáférési információ.

A bináris adatok tartalmazhatnak általános erőforrásokat, képeket, szerelvényeket, jelentésdefiníciókat és űrlapokat. A következő példában általános XML-erőforrás, szerelvény-erőforrás és jelentés-erőforrás található.

  
<Resources>  
   <Resource ID="TestLibrary.Resources.Test1" Accessibility="Public" FileName="res1.xml"/>  
   <Resource ID="TestLibrary.Resources.Test2" Accessibility="Public" FileName="res2.xml"/>  
   <Assembly ID="TestLibrary.Resources.Assembly1" Accessibility="Public" QualifiedName="Baz, Version=1.0.0.0" FileName="baz.dll"/>  
   <Assembly ID="TestLibrary.Resources.Assembly2" Accessibility="Public" QualifiedName="Yoyo, Version=1.0.0.0" FileName="yoyo.dll">  
      <Dependency ID="TestLibrary.Resources.Assembly1"/>  
   </Assembly>  
   <ReportResource ID="TestLibrary.Resources.Report1" Accessibility="Public" MIMEType="text/xml" FileName="res1.xml"/>  
   <Image ID="TestLibrary.Resources.Image1" Accessibility="Public" FileName="image.png"/>  
</Resources>  
  

Űrlapok

Az űrlapokat felügyeleti csomagokban definiálják. Az űrlapok segítségével egy típus vagy kombinált osztály egyetlen példánya tekinthető meg és módosítható.

Az űrlapok a Windows Presentation Framework (WPF) keretrendszeren alapulnak, és szerelvényekben vannak definiálva. Adott felügyeleti csomagnál az űrlap megvalósításait tartalmazó szerelvény és osztály a felügyeleti csomag erőforrások szakaszában található. Az új közös sémát használó felügyeleti csomagok más bináris erőforrásaihoz hasonlóan maga a felügyeleti csomag nem tartalmazza az űrlap bináris adatait. A felügyeleti csomagban csak az erőforrásjegyzék van megadva.

A felügyeleti csomagban saját konfigurálási adatokat adhat meg az űrlaphoz. A következő példában a konfigurálási szakasz egy ShowXboxes tulajdonságot tartalmaz. A konfigurálási adatokat nem értékeli ki a felügyeleti csomag érvényesítési folyamata, ezeket csak az űrlap megvalósítása értelmezi.

  
    <Forms>  
   <Form ID="LobbyForm" Target="Projection" Assembly="FormAssembly“ TypeName="MyFormClass">  
   <Configuration>  
      <ShowXboxes>yes</ShowXboxes>  
   </Configuration>  
   </Form>  
</Forms>  
  

Lásd még

Közvetlen szerzői műveletek végrehajtása a felügyeleticsomag-fájlon kivetítők kezeléséhez
Űrlapok: Általános irányelvek és bevált gyakorlatok