De technologische opties identificeren

Voltooid

U hebt niet veel tijd om de bedrijfsprocessen in uw bestaande fietsverhuursysteem en het systeem dat op de tweede campus in gebruik is op de juiste wijze met elkaar te integreren. U wilt optimaal profiteren van uw bestaande Azure-expertise en hebt gelezen dat Azure verschillende technologieën biedt waarmee u problemen als deze kunt oplossen.

In deze les verkennen we de verschillende technologische opties die beschikbaar voor u zijn in Azure om uw bedrijfsprocessen te automatiseren en te integreren.

Veelvoorkomende zakelijke problemen

In het bedrijfsleven is het ontwerpen en implementeren van strikte bedrijfsprocessen een manier om hoogwaardige producten en service aan klanten te garanderen. Dergelijke processen kunnen meerdere stappen, personen en softwarepakketten omvatten. Processen kunnen bestaan uit een eenvoudige reeks activiteiten die medewerkers achter elkaar kunnen uitvoeren, of kunnen vertakkingen of lussen bevatten. Verder kan een proces snel worden uitgevoerd of dagen of weken vergen.

Een bedrijf ondervindt vaak problemen wanneer het wordt samengevoegd met een tweede bedrijf of wordt geïntegreerd met een partnerorganisatie. Hoe kunnen beheerders de afzonderlijke processen, die mogelijk met andere software zijn geïmplementeerd, van de twee organisaties integreren?

Bedrijfsprocessen die in software zijn gemodelleerd, worden vaak werkstromen genoemd. Azure bevat vier verschillende technologieën die u kunt gebruiken om werkstromen te maken en te implementeren om meerdere systemen te integreren:

  • Logische apps
  • Microsoft Power Automate
  • WebJobs
  • Azure Functions

Deze vier technologieën hebben bepaalde overeenkomsten. Bijvoorbeeld:

  • In alle technologieën kan invoer worden geaccepteerd. Invoer is een aantal gegevens of een bestand dat wordt doorgegeven aan de werkstroom.
  • Met alle technologieën kunnen acties worden uitgevoerd. Een actie is een eenvoudige bewerking die door de werkstroom wordt uitgevoerd en kan vaak gegevens wijzigen of ertoe leiden dat een andere actie wordt uitgevoerd.
  • Alle technologieën kunnen voorwaarden bevatten. Een voorwaarde is een test, die vaak wordt uitgevoerd op basis van een invoer, die kan bepalen welke actie er vervolgens moet worden uitgevoerd.
  • Met alle technologieën kan uitvoer worden geproduceerd. Uitvoer is een aantal gegevens of een bestand dat door de werkstroom wordt gemaakt.

Verder kunnen werkstromen die met deze technologieën zijn gemaakt, volgens van een planning worden gestart of door een externe gebeurtenis worden geactiveerd.

Design-first technologieën

Wanneer bedrijfsanalisten een bedrijfsproces bespreken en plannen, tekenen ze soms een stroomdiagram op papier. Met Logic Apps en Microsoft Power Automate kunt u op een gelijksoortige manier een werkstroom ontwerpen. Ze bevatten beide gebruikersinterfaces waar u de werkstroom kunt tekenen. We noemen deze aanpak design-first.

Logische apps

Logic Apps is een service in Azure voor het automatiseren, organiseren en integreren van verschillende onderdelen van een gedistribueerde toepassing. Met de design-first aanpak in Logic Apps kunt u complexe werkstromen tekenen waarmee complexe bedrijfsprocessen worden gemodelleerd. In de volgende schermopname ziet u de Logic Apps Designer en het ontwerpcanvas dat u gebruikt om uw werkstroom te definiëren.

Screenshot of the Logic Apps workflow designer in the Azure portal.

Als u liever in code werkt, kunt u een werkstroom in JSON-notatie maken of bewerken met behulp van de codeweergave, zoals geïllustreerd in de volgende schermopname.

Screenshot of the Logic Apps code editor in the Azure portal.

Een van de redenen waarom Logic Apps zich zo goed leent voor integratie is omdat deze service meer dan 200 connectors bevat. Een connector is een Logic Apps-onderdeel dat fungeert als interface naar een externe service. Met de X-connector kunt u bijvoorbeeld korte berichten verzenden en ophalen, terwijl u met de Office 365 Outlook-connector uw e-mail, agenda en contactpersonen kunt beheren. Logic Apps biedt honderden vooraf gemaakte connectors die u kunt gebruiken om uw apps te maken. Als u een ongebruikelijk of uniek systeem hebt dat u wilt aanroepen vanuit Logic Apps, kunt u uw eigen connector maken als uw systeem een REST API beschikbaar maakt.

Microsoft Power Automate

Microsoft Power Automate is een service voor het maken van werkstromen, zelfs als u geen ervaring hebt met ontwikkelen of IT-professionals. Met behulp van de website of de mobiele Microsoft Power Automate-app kunt u werkstromen maken om allerlei verschillende onderdelen te integreren en te organiseren.

Er zijn vier verschillende stroomtypen die u kunt maken:

  • Geautomatiseerd: begint met een trigger van een bepaalde gebeurtenis. De gebeurtenis kan bijvoorbeeld de komst zijn van een nieuw kort bericht of een nieuw bestand dat wordt geüpload.
  • Knop: Voert een terugkerende taak uit met één klik vanaf uw mobiele apparaat.
  • Gepland: wordt regelmatig uitgevoerd. Bijvoorbeeld één keer per week, op een specifieke datum of na 10 uur.
  • Bedrijfsproces: Modellen van een bedrijfsproces, zoals het voorraadbestellingsproces of de klachtenprocedure. Het stroomproces kan beschikken over: meldingen aan vereiste personen; met hun goedkeuring geregistreerd; kalenderdatums voor stappen; en vastgelegde tijd van stroomstappen.

Microsoft Power Automate biedt een eenvoudig te gebruiken ontwerpoppervlak voor het maken van deze typen stromen. Zoals in de volgende schermopname wordt geïllustreerd, kunt u met de stroomontwerper eenvoudig uw proces ontwerpen en opmaken.

Screenshot of the Microsoft Power Automate designer showing a workflow with a file trigger, an Office action to get a user's profile and an Outlook action to send an email.

Achter de schermen is Microsoft Power Automate gebaseerd op Logic Apps. Dit betekent dat Power Automate hetzelfde scala aan connectors en acties ondersteunt als Logic Apps. U kunt ook aangepaste connectors gebruiken in Microsoft Power Automate.

Vergelijking van design-first technologieën

Zoals u in de volgende tabel kunt zien, is Microsoft Power Automate met name geschikt voor gebruik door niet-technisch personeel. Als uw werkstroomontwerpers IT-professionals, ontwikkelaars of DevOps-professionals zijn, is Logic Apps meestal beter geschikt:

Microsoft Power Automate Logische apps
Beoogde gebruikers Kantoorpersoneel en bedrijfsanalisten Ontwikkelaars en IT-professionals
Beoogde scenario 's Het maken van selfservicewerkstromen Geavanceerde integratieprojecten
Ontwerphulpprogramma's Alleen GUI. Browser en mobiele app Browser en Visual Studio Designer. Bewerken van code is mogelijk
Beheer van toepassingslevenscyclus Power Automate bevat test- en productieomgevingen De broncode van Logic Apps kan worden opgenomen in Azure DevOps en broncodebeheersystemen

Code-first technologieën

De ontwikkelaars in uw team schrijven waarschijnlijk liever code als ze verschillende bedrijfstoepassingen in één werkstroom willen organiseren en integreren. Dit is het geval wanneer u meer controle wilt over de prestaties van uw werkstroom of als u aangepaste code moet schrijven als onderdeel van het bedrijfsproces. Voor zulke personen bevat Azure WebJobs en Functions.

WebJobs en de WebJobs-SDK

De Azure App Service is een cloudhostingservice voor webtoepassingen, mobiele back-ends en RESTful API's. Met deze toepassingen moet vaak een achtergrondtaak worden uitgevoerd. Wanneer een gebruiker in uw fietsverhuursysteem bijvoorbeeld een foto van een fiets uploadt, moet er misschien een miniatuurfoto van worden gegenereerd.

WebJobs, onderdeel van Azure App Service, zijn webtaken waarmee u automatisch een programma of script kunt uitvoeren. Er zijn twee soorten webtaken:

  • Doorlopend. Wordt onmiddellijk gestart wanneer de webtaak wordt gemaakt en wordt uitgevoerd in een doorlopende lus. U kunt een doorlopende webtaak bijvoorbeeld gebruiken om te controleren of een gedeelde map een nieuwe foto bevat.
  • Geactiveerd. Begint op basis van een bindingsevenement, volgens een planning of wanneer u deze handmatig activeert (op aanvraag).

Als u wilt bepalen welke acties uw webtaak uitvoert, kunt u code schrijven in verschillende talen. U kunt bijvoorbeeld een script voor de webtaak maken door code te schrijven in een Shellscript (Windows, PowerShell, Bash). U kunt ook een programma schrijven in PHP, Python, Java of JavaScript.

U kunt een webtaak ook programmeren met behulp van .NET en een .NET-taal zoals C# of VB.NET. In dit geval kunt u ook de WebJobs SDK gebruiken om de taak te vereenvoudigen. De SDK bevat allerlei klassen, zoals JobHostConfiguration en HostBuilder, waardoor er minder code nodig is om te communiceren met Azure App Service.

De WebJobs SDK ondersteunt alleen C# en NuGet-pakketbeheer.

Azure Functions

Met Azure Functions kunt u eenvoudig kleine stukjes code uitvoeren in de cloud, zonder dat u zich zorgen hoeft te maken over de infrastructuur die nodig is om die code te hosten. U kunt de functie schrijven in C#, Java, Javascript, PowerShell, Python of een van de talen die worden vermeld in het artikel Ondersteunde talen in Azure Functions. Daarnaast betaalt u met de optie voor het verbruiksabonnement uitsluitend voor de tijd waarop de code wordt uitgevoerd. Uw functie wordt automatisch geschaald in Azure om te reageren op de vraag van gebruikers.

Wanneer u een Azure-functie maakt, kunt u in de portal beginnen met het schrijven van code ervoor. Als u broncodebeheer nodig hebt, kunt u ook gebruikmaken van GitHub of Azure DevOps Services.

Kies uit de beschikbare sjablonen om een Azure-functie te maken. De volgende lijst is een voorbeeld van een aantal sjablonen die voor u beschikbaar zijn:

  • HTTP-trigger. Wanneer u wilt dat de code wordt uitgevoerd als reactie op een aanvraag die via het HTTP-protocol wordt verzonden.
  • Timertrigger. Wanneer u wilt dat de code volgens een schema wordt uitgevoerd.
  • Blob Storage-trigger. Wanneer u de code wilt uitvoeren wanneer een nieuwe blob wordt toegevoegd aan een Azure Storage-account.
  • Cosmos DB-trigger. Wanneer u wilt dat de code wordt uitgevoerd als reactie op nieuwe of bijgewerkte documenten in een NoSQL-database.

Azure Functions is te integreren met veel verschillende services, zowel binnen Azure als van derden. Met deze services kan uw functie worden geactiveerd, invoer naar uw functie worden verzonden of uitvoer van uw functie worden ontvangen.

Vergelijking van code-first technologieën

Dankzij het eenvoudige beheer en het flexibelere codeermodel van Azure Functions zult u in de meeste gevallen liever hiervoor kiezen dan voor WebJobs. U kunt echter om de volgende redenen webtaken kiezen:

  • U wilt dat de code wordt opgenomen in een bestaande App Service-toepassing en wordt beheerd als onderdeel van die toepassing, bijvoorbeeld in dezelfde Azure DevOps-omgeving.
  • U wilt nauwe controle over het object dat luistert naar gebeurtenissen die de code activeren. Dit object in kwestie is de JobHost-klasse, en in WebJobs hebt u meer flexibiliteit om het gedrag ervan te wijzigen.
Azure WebJobs Azure Functions
Ondersteunde talen C# als u de WebJobs SDK gebruikt C#, Java, JavaScript, PowerShell en meer
Automatisch schalen Nr. Ja
Ontwikkelen en testen in een browser Nr. Ja
Betalen per gebruik Nr. Ja
Integratie met Logic Apps Nr. Ja
Pakketbeheer NuGet als u de WebJobs SDK gebruikt NuGet en NPM
Kan deel uitmaken van een App Service-toepassing Ja Ja (gehost onder App Service-plan)
Biedt een close-control van JobHost Ja Nr.

Nu u weet welke design-first en code-first technologieën er voor u beschikbaar zijn, hoe verfijnt u dan uw keuzen? Deze vraag komt in de volgende les aan de orde.