Architectuur van het Dynamics 365-proces
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Het procesbeheersysteem in Microsoft Dynamics 365 bevat de Microsoft Dynamics 365 SDK- invoegtoepassingen, -formulieren en andere onderdelen.
In dit onderwerp
Procesarchitectuurdiagram
Proces- en uniform gebeurtenismodel
Proceslevenscyclus
Proces en de asynchrone service: alleen voor werkstromen
Persistentie en afsluiting van het proces: alleen voor werkstromen
Procesarchitectuurdiagram
Het volgende diagram illustreert de systeemarchitectuur op hoog niveau voor Microsoft Dynamics 365 en markeert delen van het systeem die specifiek zijn voor processen.
In dit diagram wordt de procesarchitectuur van Microsoft Dynamics 365 geïllustreerd, met de interne onderdelen, de externe onderdelen, de infrastructuur en de gegevens.
Interne onderdelen. De interne onderdelen die het programmeringsmodel voor het Microsoft Dynamics 365-proces ondersteunen omvatten webservices, gedeeld platform en bedrijfslogica. Het gedeelde platform bestaat uit gemeenschappelijke Microsoft Dynamics 365-onderdelen die registratie, het in de cache opnemen van metagegevens en services voor gegevenstoegang bieden. Bedrijfslogica bevat de implementatie van bedrijfslogica voor Microsoft Dynamics 365-bedrijfsentiteiten.
Externe onderdelen. De volgende externe onderdelen zijn beschikbaar:
Windows Workflow Foundation-objectmodel, dat een reeks klassen bevat die worden gebruikt om werkstroomprocesdefinities te maken en te parseren in XAML-indeling.
Windows Workflow Foundation-uitvoering, die een reeks klassen bevat die worden gebruikt om werkstroomprocessen uit te voeren.
Procesinfrastructuur. De Microsoft Dynamics 365-procesinfrastructuur bestaat uit de volgende onderdelen:
Procesentiteitsmodel, dat een reeks klassen bevat die het Windows Workflow Foundation-objectmodel gebruiken en Microsoft Dynamics 365-werkstroomactiviteiten uitvoeren.
Procesbedrijfslogica, waarbij bedrijfslogica wordt geïmplementeerd voor processpecifieke entiteiten.
Procesuitvoering, die werkstroomuitvoeringsservices biedt, zoals hosting van werkstromen en persistentie.
Procesgegevens. Het programmeringsmodel voor het Microsoft Dynamics 365-proces wordt ondersteund door de volgende gegevens:
Zakelijke gegevens, die informatie bevatten die is gekoppeld aan Microsoft Dynamics 365-entiteiten.
Procesconfiguratiegegevens, die werkstroomprocesdefinities, gecompileerde werkstroomrpocessen en instellingen voor werkstroomprocessen bevatten.
Runtime gegevens voor processen, die zijn vereist voor het uitvoeren van werkstroomprocessen en werkstroomprocesfuncties, zoals persistentie en meldingen.
Proces- en uniform gebeurtenismodel
Microsoft Dynamics 365 gebruikt een uniform gebeurtenismodel in zowel invoegtoepassingen (toelichtingen) als processen. Dit subsysteem voor gebeurtenisverwerking voegt meer flexibiliteit toe aan de uitvoering van processen en invoegtoepassingen door het model van de pipeline-uitvoering te introduceren.
Met dit model worden processen en invoegtoepassingen uitgevoerd op basis van hun registratie, berichttype en een vooraf gedefinieerde set configureerbare parameters. De kernbewerkingen voor het platform nemen deel aan de uitvoeringsvolgorde waardoor een veel betrouwbaarder en uitbreidbaar uitvoeringsmodel ontstaat.
Proceslevenscyclus
De levenscyclus van een proces beschrijft de statusovergangen van creatie tot en met uitvoering. Een proces kan zich in een van de volgende statussen bevinden: Gereed, Onderbroken, Vergrendeld en Voltooid. De gebeurtenissen die door de hele levensduur van het proces heen plaatsvinden veroorzaken van overgang van de ene statuswaarde naar de andere.
Werkstromen
De levenscyclus van een werkstroom is als volgt:
Wanneer u een werkstroom maakt, bevindt deze zich in de status Concept. U moet de werkstroom activeren voordat deze kan worden uitgevoerd. Wanneer u een werkstroom activeert, abonneert deze zich op specifieke gebeurtenissen in Microsoft Dynamics 365. Wanneer deze gebeurtenissen worden geactiveerd op het platform, wordt een momentopname van de werkstroomafhankelijkheden en invoerparameters gemaakt en wordt een nieuwe asynchrone bewerking toegevoegd aan de wachtrijbeheerder van de asynchrone service. De asynchrone bewerking vertegenwoordigt een werkstroomuitvoeringstaak en wacht in de status Gereed op uitvoering in de wachtrij.
Als de asynchrone bewerking is verwerkt, wordt een werkstroomexemplaar, die aan deze bewerking is gekoppeld, gemaakt door de runtime-engine van Windows Workflow Foundation en wordt de status ervan gewijzigd van Gereed in Vergrendeld.
De asynchrone bewerking wordt bijgewerkt met de status van de werkstroomexemplaar bij elke overgang. Als de asynchrone bewerking wordt geblokkeerd, plaatst de runtime-engine van Windows Workflow Foundation het werkstroomexemplaar in de status Onderbroken en wordt dit uit het geheugen verwijderd. Als aan de voorwaarden voor de status Onderbroken wordt voldaan, wordt het werkstroomexemplaar terug in het geheugen geladen.
De werkstroomuitvoering wordt hervat door het werkstroomexemplaar in de status Gereed te plaatsen en vervolgens in de status Vergrendeld. In het eenvoudige scenario, gaat het werkstroomexemplaar over naar een status Voltooid als alle werkstroomactiviteiten zijn voltooid.
De status van asynchrone bewerkingen kan ook worden gewijzigd door de gebruiker. Zo kan bijvoorbeeld een asynchrone bewerking in de status Onderbroken expliciet opnieuw door de gebruiker worden gestart.
Dialoogvensters
De levenscyclus van een dialoogvenster ziet er als volgt uit:
Wanneer u een dialoogvenster maakt, bevindt dit zich in de status Concept. U moet het dialoogvenster activeren voordat dit kan worden uitgevoerd. Een dialoogvenster kan worden uitgevoerd vanaf het primaire entiteitsformulier en raster of rechtstreeks via de URL van het dialoogvenster. Zie Start een dialoogvenster met behulp van een URL voor meer informatie.
Telkens wanneer u een dialoogvenster uitvoert, wordt een exemplaar van een processessie gemaakt voor het dialoogvenster. Wanneer het uitvoeren van het dialoogvenster vordert, wordt de processessie-entiteit bijgewerkt met de acties die zijn uitgevoerd tijdens het uitvoeren van het dialoogvenster.
Als u het uitvoeren van het dialoogvenster hebt voltooid, wordt de overeenkomstige processessierecord gemaakt met de status Voltooid. Als u het dialoogvenster annuleet zonder het te voltooien, wordt de overeenkomstige processessierecord gemaakt met de status Onvolledig.
Proces en de asynchrone service: alleen voor werkstromen
De asynchrone service stelt u in staat verschillende bewerkingen die lang duren, zoals bulkimport, bulk-e-mail en werkstroomprocessen uit te voeren, te controleren en te beheren. Als u de prestaties, schaalbaarheid en betrouwbaarheid van Microsoft Dynamics 365 wilt verbeteren, worden deze bewerkingen asynchroon uitgevoerd. Dit betekent dat een aangevraagde bewerking niet onmiddellijk wordt verwerkt, maar aan een wachtrij wordt toegevoegd en door Microsoft Dynamics 365 op een geschikt tijdstip verwerkt.
Wanneer een gebeurtenis in de Microsoft Dynamics 365-platformpipeline wordt geactiveerd, worden alle werkstromen die aan het evenement zijn gekoppeld uitgevoerd door de asynchrone service. De handlers van de werkstroomgebeurtenis worden toegevoegd aan de asynchrone wachtrij en verwerkt in de volgorde van de uitvoering van de gebeurtenis.
Notitie
Als een asynchrone systeemtaak (werkstroom) meerdere keren achter elkaar mislukt, zal Dynamics 365 de uitvoering van deze taak gedurende steeds langere intervallen uitstellen, zodat de Dynamics 365-beheerder tijd heeft om het probleem te onderzoeken en op te lossen. Zodra de uitvoering van de taak weer succesvol verloopt, wordt het normale uitvoeringsschema weer aangehouden.
Persistentie en afsluiting van het proces: alleen voor werkstromen
Een werkstroom kan een langdurige bedrijfsactiviteit zijn die uren, weken of maanden in beslag neemt. De werkstroom kan gedurende lange perioden inactief zijn in afwachting van invoer van gebruikers of andere systemen.
Als u de prestaties, schaalbaarheid en betrouwbaarheid van langdurige Microsoft Dynamics 365-activiteiten wilt verbeteren, zoals werkstromen, gebruikt u de asynchrone service.
De asynchrone service, als host van de runtime-engine van Windows Workflow Foundation, kan niet altijd alle objecten in cache opslaan en actief houden die tijdens voortdurende werkstroomactiviteit worden verzameld. Onder bepaalde omstandigheiden, zoals bij herstart of afsluiting tijdens het uitvoeren van een werkstroom, gebruikt de runtime-engine van de werkstroom een persistentieservice om de status van het werkstroomexemplaar op de schijf op te slaan. De persistentieservice wordt ook aangeroepen wanneer andere omstandigheden zich voordoen, bijvoorbeeld wanneer een werkstroom inactief wordt en wacht totdat een bepaalde externe gebeurtenis zich voordoet. Het persistent maken van deze inactieve werkstroomexemplaren bespaart geheugen en vergroot de schaalbaarheid aanzienlijk. Als een server waarop de asynchrone service wordt uitgevoerd wordt afgesloten of als de werkstroom vastloopt tijdens de uitvoering, kan de werkstroom opnieuw worden gestart vanaf het laatste persistentiepunt nadat de server opnieuw is opgestart. Wanneer de werkstroom niet langer inactief is, wordt de status van het werkstroomexemplaar hersteld in het geheugen in de status op het laatst persistente punt.
Meer informatie:Werkstroompersistentie.
Zie ook
Asynchrone service in Microsoft Dynamics 365
Pipeline voor gebeurtenisuitvoering
Inleiding tot het gebeurtenisframework
Bedrijfsprocessen automatiseren met het Dynamics 365-proces
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht