Egyéni munkafolyamat létrehozása (Master Data Services)

A következőkre vonatkozik:Felügyelt Windows Azure SQL-példányon futó SQL Server

Fontos

A Master Data Services (MDS) az SQL Server 2025-ben (17.x) törlődik . Továbbra is támogatjuk az MDS-t az SQL Server 2022 (16.x) és korábbi verzióiban.

A Master Data Services üzleti szabályokkal hoz létre alapvető munkafolyamat-megoldásokat, például automatikusan frissíti és ellenőrzi az adatokat, és e-mail értesítéseket küld az Ön által megadott feltételek alapján. Ha összetettebb feldolgozásra van szüksége, mint amit a beépített munkafolyamat-műveletek nyújtanak, használjon egyéni munkafolyamatot. Az egyéni munkafolyamatok létrehozott .NET-szerelvények. Amikor meghívja a munkafolyamat-szerelvényt, a kód bármilyen műveletet végrehajthat, amit a helyzet igényel. Ha például a munkafolyamat összetett eseményfeldolgozást igényel, például többrétegű jóváhagyásokat vagy bonyolult döntési fákat, konfigurálhatja a Master Data Servicest egy egyéni munkafolyamat elindítására, amely elemzi az adatokat, és meghatározza, hogy hol küldje el jóváhagyásra.

Egyéni munkafolyamatok feldolgozása

Az egyéni munkafolyamatok feldolgozásának három fő összetevője van: a Master Data Manager webalkalmazás, az SQL Server MDS munkafolyamat-integrációs szolgáltatás és a munkafolyamat-kezelő szerelvény. Ezek az összetevők az alábbiak szerint dolgoznak fel egyéni munkafolyamatokat:

  1. A Master Data Manager használatával érvényesíthet egy munkafolyamatot indító entitást.

  2. A Főadat-kezelő elküldi az üzleti szabály feltételeinek megfelelő tagokat a Szolgáltatásszervezői üzenetsorba a Master Data Services-adatbázisban.

  3. Az SQL Server MDS munkafolyamat-integrációs szolgáltatás rendszeres időközönként meghív egy tárolt eljárást a Fő data Services-adatbázisban.

  4. Amikor ez a tárolt eljárás rekordokat talál a Service Broker üzenetsorában, visszaadja őket az SQL Server MDS munkafolyamat-integrációs szolgáltatásának.

  5. Az SQL Server MDS Workflow Integration Services átirányítja az adatokat a munkafolyamat-kezelő szerelvényéhez.

Megjegyzés:

Megjegyzés: Az SQL Server MDS munkafolyamat-integrációs szolgáltatása egyszerű folyamatok indítására szolgál. Ha az egyéni kód összetett feldolgozást igényel, végezze el a feldolgozást egy külön szálon vagy a munkafolyamaton kívül.

Főadat-szolgáltatások konfigurálása egyéni munkafolyamatokhoz

Egyéni munkafolyamat létrehozásához egyéni kód megírására és a Master Data Services konfigurálására van szükség a munkafolyamat-adatok munkafolyamat-kezelőnek való átadásához. Kövesse az alábbi lépéseket az egyéni munkafolyamat-feldolgozás engedélyezéséhez:

  1. Hozzon létre egy .NET-szerelvényt, amely implementálja a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender elemet.

  2. Konfigurálja az SQL Server MDS munkafolyamat-integrációs szolgáltatását, hogy csatlakozzon a master Data Services-adatbázishoz, és társítson egy címkét a munkafolyamat-kezelővel.

  3. Indítsa el az SQL Server MDS munkafolyamat-integrációs szolgáltatását.

  4. Hozzon létre egy üzleti szabályt a Master Data Managerben, amely elindít egy munkafolyamatot, amely a munkafolyamat-kezelő nevével van megjelölve.

  5. Alkalmazza az üzleti szabályt az egyéni munkafolyamatot aktiváló tagra.

A munkafolyamat-kezelő szerelvényének létrehozása

Az egyéni munkafolyamatok a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender interfészt implementáló .NET-osztálytár-szerelvények. Az SQL Server MDS munkafolyamat-integrációs szolgáltatás meghívja a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* metódust a kód futtatásához. Például a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* implementálását megvalósító kód, lásd : Egyéni munkafolyamat-példa (Master Data Services).

Kövesse az alábbi lépéseket a Visual Studio 2010 használatával egy olyan szerelvény létrehozásához, amelyet az SQL Server MDS munkafolyamat-integrációs szolgáltatás meghívhat egy egyéni munkafolyamat kezeléséhez:

  1. A Visual Studio 2010-ben hozzon létre egy új Osztálytár projektet, amely a választott nyelvet használja. C#-osztálytár létrehozásához válassza ki a Visual C#\Windows projekttípusokat, és válassza ki az Osztálytár sablont. Adja meg a projekt nevét (például MDSWorkflowTest), és kattintson az OK gombra.

  2. Hivatkozás hozzáadása Microsoft.MasterDataServices.WorkflowTypeExtender.dll. Ez a szerelvény a Saját telepítési mappában <>található\Master Data Services\WebApplication\bin.

  3. Adja hozzá a "using Microsoft.MasterDataServices.Core.Workflow;" (A Microsoft.MasterDataServices.Core.Workflow; használata) elemet a C# kódfájlhoz.

  4. Örökölje a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender függvényt az osztálydeklarációban. Az osztálydeklarációnak a következőhöz hasonlónak kell lennie: "public class WorkflowTester : IWorkflowTypeExtender".

  5. Implementálja a Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender felületet. A Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* metódust az SQL Server MDS munkafolyamat-integrációs szolgáltatása hívja meg a munkafolyamat elindításához.

  6. Másolja a szerelvényt az SQL Server MDS munkafolyamat-integrációs szolgáltatás végrehajtható helyére, Microsoft.MasterDataServices.Workflow.exenéven a Saját telepítési mappába<>\Master Data Services\WebApplication\bin.

SQL Server MDS munkafolyamat-integrációs szolgáltatás konfigurálása

Szerkessze a Master Data Services konfigurációs fájlját úgy, hogy az tartalmazza a master Data Services-adatbázis kapcsolati adatait, és az alábbi lépések végrehajtásával társítson egy címkét a munkafolyamat-kezelő szerelvényéhez:

  1. Keresse meg a Microsoft.MasterDataServices.Workflow.exe.config a Saját telepítési mappában<>\Master Data Services\WebApplication\bin.

  2. Adja hozzá a Master Data Services adatbázis kapcsolati adatait a "ConnectionString" beállításhoz. Ha az SQL Server telepítése kis- és nagybetűk közötti rendezést használ, az adatbázis nevét ugyanabban az esetben kell megadni, mint az adatbázisban. A teljes beállításcímke például így nézhet ki:

    <setting name="ConnectionString" serializeAs="String">  
        <value>Server=myServer;Database=myDatabase;Integrated Security=True</value>  
    </setting>  
    
  3. A "ConnectionString" beállítás alatt adjon hozzá egy "WorkflowTypeExtenders" beállítást a címkenév és a munkafolyamat-kezelő szerelvény társításához. Például:

    <setting name="WorkflowTypeExtenders" serializeAs="String">  
        <value>TEST=MDSWorkflowTestLib.WorkflowTester, MDSWorkflowTestLib</value>  
    </setting>  
    

    Az értékcímke belső szövege <a Workflow tag>=<assembly-qualified munkafolyamat-típusnév> formájában van megadva<.> <A munkafolyamat-címke> egy név, amellyel azonosíthatja a munkafolyamat-kezelő szerelvényt, amikor üzleti szabályt hoz létre a Master Data Managerben. <A szerelvény által minősített munkafolyamat-típus neve> a munkafolyamat-osztály névtér-minősített neve, amelyet vessző követ, majd a szerelvény megjelenítendő neve. Ha a szerelvény neve erősen el van nevezve, a verzióinformációkat és annak PublicKeyTokenjét is tartalmaznia kell. Több <beállításcímkét> is megadhat, ha több munkafolyamat-kezelőt hozott létre különböző típusú munkafolyamatokhoz.

Megjegyzés:

A kiszolgáló konfigurációjától függően a Microsoft.MasterDataServices.Workflow.exe.config fájl mentésekor "Hozzáférés megtagadva" hibaüzenet jelenhet meg. Ha ez történik, ideiglenesen tiltsa le a felhasználói fiókok felügyeletét (UAC) a kiszolgálón. Ehhez nyissa meg a Vezérlőpultot, és kattintson a Rendszer és biztonság elemre. A Műveletközpont területen kattintson a Felhasználói fiókok vezérlési beállításainak módosítása elemre. A Felhasználói fiókok vezérlési beállításai párbeszédpanelen húzza a sávot az aljára, hogy ne kapjon értesítést. Indítsa újra a számítógépet, és ismételje meg az előző lépéseket a konfigurációs fájl szerkesztéséhez. A fájl mentése után állítsa alaphelyzetbe az UAC-beállításokat az alapértelmezett szintre.

SQL Server MDS munkafolyamat-integrációs szolgáltatás indítása

Alapértelmezés szerint az SQL Server MDS munkafolyamat-integrációs szolgáltatás nincs telepítve. Használat előtt telepítenie kell a szolgáltatást. A legnagyobb biztonság érdekében hozzon létre egy helyi felhasználót a szolgáltatáshoz, és csak a munkafolyamat-műveletek végrehajtásához szükséges engedélyeket adja meg a felhasználónak. Felhasználó létrehozásához, a szolgáltatás telepítéséhez és a szolgáltatás elindításához kövesse az alábbi lépéseket:

  1. A Helyi felhasználók és csoportok kezelővel létrehozhat például mds_workflow_service nevű helyi felhasználót.

  2. Az SQL Server Management Studio használatával adja meg a mds_workflow_service felhasználói engedélyt az [mdm] végrehajtásához. [udpExternalActionsGet] tárolt eljárás. Ehhez hozzon létre egy új bejelentkezést a mds_workflow_service-fiókhoz, hozzon létre egy új felhasználót a Master Data Services-adatbázisban, rendelje le ezt a felhasználót a mds_workflow_service bejelentkezéshez, és adjon a felhasználónak VÉGREHAJTÁSI engedélyt az [mdm] számára. [udpExternalActionsGet] tárolt eljárás.

  3. Adjon felhasználói engedélyt a mds_workflow_service a munkafolyamat-kezelő szerelvény végrehajtásához. Ehhez adja hozzá a mds_workflow_service felhasználót a munkafolyamat-kezelő szerelvény Tulajdonságai lapjának Biztonság lapjára, és adjon meg olvasási és VÉGREHAJTÁSI engedélyt a mds_workflow_service felhasználónak.

  4. Adjon felhasználói engedélyt a mds_workflow_service az SQL Server MDS munkafolyamat-integrációs szolgáltatás végrehajtható végrehajtásához. Ehhez adja hozzá a mds_workflow_service felhasználót a Microsoft.MasterDataServices.Workflow.exetulajdonságainakBiztonsági lapjára a Saját telepítési mappában<>\Master Data Services\WebApplication\bin, és adja meg a mds_workflow_service felhasználónak olvasási és VÉGREHAJTÁSI engedélyt.

  5. Telepítse az SQL Server MDS munkafolyamat-integrációs szolgáltatást az InstallUtil.exenevű .NET telepítési segédprogrammal. InstallUtil.exe a .NET telepítési mappájában található, például C:\Windows\Microsoft.NET\Framework\v4.0.30319\. Telepítse az SQL Server MDS munkafolyamat-integrációs szolgáltatását egy rendszergazda jogú parancssorba az alábbiak beírásával:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil Microsoft.MasterDataServices.Workflow.exe  
    

    Adja meg a mds_workflow_service felhasználót, amikor a rendszer a telepítés során kéri.

  6. Indítsa el az SQL Server MDS munkafolyamat-integrációs szolgáltatást a Szolgáltatások beépülő modullal. Ehhez keresse meg az SQL Server MDS munkafolyamat-integrációs szolgáltatást a Szolgáltatások beépülő modulban, jelölje ki, majd kattintson a Start hivatkozásra.

Munkafolyamat-üzleti szabály létrehozása

A Master Data Manager használatával létrehozhat és közzétehet egy üzleti szabályt, amely alkalmazáskor elindítja a munkafolyamatot. Győződjön meg arról, hogy az üzleti szabály olyan műveleteket tartalmaz, amelyek módosítják az attribútumértékeket, így a szabály az egyszeri alkalmazás után hamis értékre lesz kiértékelve. Az üzleti szabály például akkor lehet igaz, ha egy Ár attribútum értéke nagyobb 500-nál, és a Jóváhagyott attribútum értéke üres. A szabály ezután két műveletet is tartalmazhat: egyet a jóváhagyott attribútum függőben lévő értékre történő beállításához, egyet pedig a munkafolyamat elindításához. Másik lehetőségként érdemes lehet létrehozni egy szabályt, amely a "megváltozott" feltételt használja, és az attribútumokat hozzáadva módosítja a követési csoportokat. Az üzleti szabályokról további információt az Üzleti szabályok (Fő adatszolgáltatások) című témakörben talál.

Hozzon létre egy üzleti szabályt, amely egyéni munkafolyamatot indít el a Master Data Managerben az alábbi lépések végrehajtásával:

  1. A Master Data Manager üzleti szabályszerkesztőjében az üzleti szabály feltételeinek megadása után húzza a Munkafolyamat indítása műveletet a Külső műveletek listából az THEN panel Művelet címkéjére.

  2. A Művelet szerkesztése panel Munkafolyamat típusa mezőjébe írja be a munkafolyamat-kezelő szerelvényét azonosító címkét. Ez a szerelvény konfigurációs fájljában megadott címke, például a TEST.

  3. Ha szeretné, jelölje be a Tagadatok belefoglalása jelölőnégyzetet. Ezt választva attribútumneveket és értékeket tartalmazhat a munkafolyamat-kezelőnek átadott XML-fájlban.

  4. A Munkafolyamat-webhely mezőbe írja be a webhely nevét. Előfordulhat, hogy az egyéni munkafolyamatra ez nem vonatkozik, de használható a hozzáadott környezethez.

  5. A Munkafolyamat neve mezőbe írja be a munkafolyamat nevét a Visual Studióból. Előfordulhat, hogy az egyéni munkafolyamatra ez nem vonatkozik, de használható a hozzáadott környezethez.

  6. Mentse és tegye közzé az üzleti szabályt.

Üzleti szabályok alkalmazása munkafolyamat indításához

Alkalmazza az üzleti szabályt az adatokra a munkafolyamat elindításához. Ehhez a Master Data Managerrel szerkessze az érvényesítendő tagokat tartalmazó entitást. Kattintson az Üzleti szabályok alkalmazása elemre. Az üzleti szabályra válaszul a Master Data Manager feltölti a Master Data Services-adatbázis Service Broker üzenetsorát. Amikor az SQL Server MDS munkafolyamat-integrációs szolgáltatás ellenőrzi az üzenetsort, elküldi az adatokat a megadott munkafolyamat-kezelő szerelvénynek, és törli az üzenetsort. A munkafolyamat-kezelő szerelvény minden olyan műveletet végrehajt, amelybe kódolt.

Egyéni munkafolyamatok hibaelhárítása

Ha a munkafolyamat-kezelő szerelvény nem fogad adatokat, megpróbálhatja az SQL Server MDS munkafolyamat-integrációs szolgáltatás hibakeresését vagy a Szolgáltatásközvetítő üzenetsor megtekintését.

Az SQL Server MDS munkafolyamat-integrációs szolgáltatásának hibakeresése

Az SQL Server munkafolyamat-integrációs szolgáltatás hibakereséséhez hajtsa végre a következő lépéseket:

  1. A Szolgáltatás beépülő modul használatával állítsa le a szolgáltatást.

  2. Nyisson meg egy parancssort, keresse meg a szolgáltatás helyét, és futtassa a szolgáltatást konzol módban a következő beírással: Microsoft.MasterDataServices.Workflow.exe -console.

  3. A Master Data Managerben frissítse a tagot, és alkalmazza újra az üzleti szabályokat. A részletes naplók a konzolablakban jelennek meg.

A Szolgáltatásközvetítő üzenetsor megtekintése

A munkafolyamat részeként átadott fő adatokat tartalmazó Service Broker-üzenetsor a következő: mdm.microsoft/mdm/queue/externalaction. Az üzenetsorok az SQL Management Studio Objektumkezelőjében , a Master Data Services-adatbázis Szolgáltatásközvetítő csomópontja alatt találhatók. Vegye figyelembe, hogy ha a szolgáltatás megfelelően törölte az üzenetsort, ez az üzenetsor üres lesz.

Lásd még:

Egyéni munkafolyamat-példa (főadat-szolgáltatások)
Egyéni munkafolyamat XML-leírása (Master Data Services)