Wednesday, October 12, 2016

Nintex versus Azure App Service

Introductie

Dit document beschrijft vier platforms/producten die rondom Office365 van belang zijn of gaan worden: Nintex Workflow, Nintex Forms, Azure Logic Apps en PowerApps. Het doel van dit document is een korte inleiding te geven van elk platform en daarna de Nintex oplossingen te vergelijken met de nieuwe Azure Apps vooral in relatie tot Office365/SharePoint Online ontwikkeling. De vergelijking gebeurt op basis van software kwaliteiten zoals functionaliteit, gebruikerservaring, onderhoudbaarheid, schaalbaarheid, etc. De vergelijking is opgesteld op basis van (in het geval van Logic -en PowerApps beperkte) ervaring met -en documentatie van de betrokken platformen.
Dit document begint met een introductie van elk platform, hierna volgt een vergelijking en een discussie.

Nintex Workflow

Nintex is een onafhankelijk bedrijf en belangrijk partner van Microsoft. Het bedrijf is gestart in 2006 met een workflow product voor SharePoint Server 2007. Het is nu de populairste 3rd party tool voor SharePoint (Online en On premises) volgens Forrester. Nintex Workflow is een Cloud workflow automatiserings-engine dat gericht is op het verbeteren van kantoorproductiviteit. De Cloud oplossing is geëvolueerd vanuit de workflow producten op SharePoint 2007, 2010 en 2013. Nintex Workflow is gericht op de zakelijke gebruiker, maar wordt in de praktijk toch vooral ingericht door functionele consultants of power users. Nintex gebruikt het SharePoint Add-on model, dit betekent dat de code extern aan SharePoint Online (SPO) draait maar wel geïntegreerd is in SPO. Via remote event receivers haken de werkstromen in op gebeurtenissen in SPO zoals item creatie. Een Nintex Workflow draait in de context van de huidige gebruiker of met verhoogde rechten. De designer voor Nintex Workflow heeft een gebruikersvriendelijke drag-and-drop interface. Het is tevens goed inzichtelijk te maken wat de status is van werkstromen en hoe het werkstroomproces is verlopen. Nintex heeft een store opgericht waar additionele operaties voor Nintex workflow in staan. Hiermee kunnen externe Cloud services worden aangeroepen vanuit een werkstroom. Salesforce, Twitter, Facebook, Dynamics CRM en meer zijn ondersteund. Enkele voorbeelden van processen die worden ingericht met Nintex Workflow zijn: Vakantie aanvragen, onboarding, goedkeuring van declaraties, helpdesk aanvragen en site management.

Nintex Forms

Nintex Forms is opgezet in 2010 door Nintex om creatie van formulieren m.b.t. SharePoint lijsten gebruikersvriendelijk te maken voor zakelijke gebruikers. Het product kan gebruikt worden om het aanmaken en wijzigen van lijst items te vergemakkelijken en uit te breiden qua functionaliteit. Het biedt bijvoorbeeld de mogelijkheid om regels en validatie toe te voegen aan een formulier, en een volledig aangepaste opmaak te geven. Tevens kunnen formulieren worden toegevoegd aan workflows zodat deze de, door een gebruiker aangeleverde, informatie kunnen verwerken en verspreiden naar de juiste personen (bijv. ter goedkeuring aanbieden). Nintex Forms kunnen extern toegankelijk worden gemaakt en ook worden aangeboden in een mobiele applicatie voor de drie grote mobielen platformen (iOS, Android, Windows). Forms is net als Nintex Workflow een betaalde Add-on voor SPO.

Logic Apps

Logic Apps is een in 2015 geïntroduceerde toevoeging aan Azure App Services, dat op dit moment nog in preview fase is. Een Logic App draait binnen de Azure Apps infrastructuur mee op je Azure bronnen, en kost niets meer dan het verbruik van die bronnen. Het biedt een workflow engine dat draait in Azure en dat kan integreren met allerlei Cloud services binnen Azure, in Office365 en met andere ondersteunde Cloud providers. De integratie gebeurt met de beschikbare connectoren (bijv. Salesforce, Office365, Twilio, Twitter, Facebook, etc) of simpelweg via het http protocol. Ook kan worden geïntegreerd met On premises software (hiervoor zijn ook connectoren beschikbaar) of met zelfontwikkelde web services. Een Logic App bestaat uit triggers en acties, echter is een trigger niet direct maar wordt deze door regelmatig polling van het andere systeem bewerkstelligd. Een Logic App is daarmee een scheduled workflow. Een mogelijke trigger is ook simpelweg een timer, waardoor de Logic App autonoom kan opstarten. Een belangrijke feature van Logic Apps zijn de aanroepbare eindpunten. Hiermee kan een extern systeem een Logic App starten en input meegeven. Hierdoor wordt het toch mogelijk een Logic App direct te laten uitvoeren vanuit een proces in het bronsysteem. Ook kan de ene Logic App een andere starten en invoer meegeven. De aanroepbare eindpunten kunnen ook gebruikt worden in een WebHook, dat is een actie in het midden van de workflow die wacht op een post van een ander systeem. ZO kan nog geavanceerdere interactie met andere services worden gebouwd.
Hiernaast is er een management API beschikbaar voor Logic Apps die het mogelijk maakt Logic Apps aan te maken, te starten of te verwijderen. Dit maakt de Logic Apps zeer programmeerbaar. Een Logic App verbindt met een ander systeem onder een service account. Je kunt een Logic App op verschillende manieren beveiligen, hij kan volledig publiek zijn, publiek met authenticatie (ik neem aan Azure AD) en intern.
Er is een visuele designer beschikbaar in Azure waarmee gemakkelijk de triggers en acties kunnen worden toegevoegd aan een werkstroom. Er is tevens naar een code view te schakelen, aangezien de Logic Apps worden opgesteld in JavaScript Object Notation (JSON). Dit maakt mogelijk dat de Logic Apps opgeslagen kunnen worden in een broncode systeem zoals Visual Studio Online, en ook bewerkt kunnen worden in de favoriete editor van de ontwikkelaar. Logic Apps zijn niet bedoeld om door zakelijke gebruikers te worden opgesteld maar door ontwikkelaars en integratie specialisten. Wanneer een Logic App operaties doet op bijv. SPO dan is dit ook niet direct zichtbaar, de App is niet geïntegreerd in de Office365 ervaring zoals een Nintex Workflow. Er zijn management functies voorhanden binnen Azure waarmee inzicht kan worden verkregen in het verloop en fouten binnen een workflow.

PowerApps

PowerApps is een web en desktop applicatie waarmee PowerApps gemaakt kunnen worden. Dit zijn cross-platform mobiele (en web) applicaties die Cloud services consumeren. Het wordt de zakelijke gebruiker gemakkelijk gemaakt om te verbinden met Cloud services en zo bijvoorbeeld een mobiele applicatie te maken om een declaratie in een SPO lijst te zetten. Ook is het mogelijk met On premises service te verbinden, al zal dit waarschijnlijk nog wat werk van een IT afdeling vragen. De PowerApps applicatie kan gemakkelijk verspreid worden, er is geen App store tussenkomst voor nodig. Een mobiele PowerApp draait op de telefoon binnen een native app. Het PowerApps platform richt zich op de zakelijke gebruiker / power user en wil ze in staat stellen om gemakkelijk specifieke mobiele applicaties te maken voor een proces binnen de onderneming. Ook dit platform is op dit moment in Preview fase.

Vergelijking Nintex & Azure App Services

Onderstaand een vergelijking op verschillende kwaliteiten tussen Nintex en Azure Apps. De mogelijkheden van Azure Apps die in de Preview in maart 2016 beschikbaar waren worden genoemd.




Kwaliteit
Onderwerp
Nintex
Azure Apps
Functionaliteit




Logic flow
Uitgebreide mogelijkheden: While loops, if statements, state machines
Weinig mogelijkheden: alleen if statements

Triggers
Handmatig, item creatie, item modificatie, geen scheduling van workflows
Handmatig, Timer, Aanroepbaar eindpunt, Polling van externe service, WebHooks

Operaties
Uitgebreide mogelijkheden: nieuw item aanmaken, item bijwerken, goedkeuringstaak starten, email versturen, Cloud service aanroepen, datum operaties, string operaties, mathematische operaties
Binnen SharePoint: Create item, create file, lijst items ophalen. Geen item bijwerken, geen goedkeuring flows, geen site provisioning. Wel string operaties, mathematische operaties en operaties op collecties. Verscheidenheid aan operaties op andere Cloud services voorhanden.

Management
Management in SPO, inzichtelijk wat de lopende werkstromen zijn en de status ervan, fouten etc.
Management in Azure, inzichtelijk wat de resultaten van de operaties zijn en wanneer de workflow gelopen heeft. Logic Management API maakt 3rd party management software waarschijnlijk.

Security
Draait in context van huidige gebruiker of App.
Opereert d.m.v. service accounts. De Logic App kan publiek, publiek + auth of intern worden ingesteld.

Programmeerbaarheid
Geen
Logic Management API maakt aanroep, creatie, wijziging van Logic Apps mogelijk. Broncode in JSON maakt source editing en control mogelijk.

Use cases
HR processen, Financieel administratieve processen, IT support processen voornamelijk binnen SPO
Integratie processen tussen on premises en Cloud, platform overstijgende processen.
Gebruikerservaring




Visual designer
Drag and drop, help functionaliteit, import + export workflows, workflow snippets opslaan.
Code en design view, Cloud service bouw blokken

Integratie met SPO GUI
Geïnstalleerd in SPO site. Nintex acties in de ribbon beschikbaar, geïntegreerd in lijsten.
Geen.

Mogelijkheden maatwerk (Forms/PowerApps)
Maatwerk input formulieren, workflow formulieren, offline formulieren in mobile App mogelijk
Focus op native mobile applicatie, creatie door gebruiker, gemakkelijk deelbaar binnen organisatie.

Debugging
Status zichtbaar. Het is inzichtelijk te maken waar de werkstroom is gestopt. Logging naar werkstroom geschiedenis.
Resultaten van de acties zijn zichtbaar. Niet inzichtelijk wanneer Logic App niet (goed) wordt getriggerd.

Doelgroep
Business user, power user, developer, consultants
Logic Apps: Developers, Integration specialists.
PowerApps: business users.
Onderhoudbaarheid




Management API
Nee
Ja

Source control
Nee
Ja

Governance
Alles op 1 plek. Goed in te regelen binnen SPO met rechtenstructuur. Nintex Forms Apps kunnen gepushed worden naar mobiele apparaten met MDM.
Verspreid tussen SPO en Azure. Logic Apps: Deployment door Azure beheerders. PowerApps: creatie en verspreiding door gewone gebruikers.

Ondersteuning
Ondersteunings overeenkomst mogelijk. Redelijke community beschikbaar.
Nog in preview dus geen support, veel aanleg voor sterke community
Uitbreidbaarheid




Connectoren
Beschikbaar in Store. Waarschijnlijk minder aantrekkelijk voor 3rd parties om Nintex connectoren te maken dan voor Logic Apps.
On premises en Cloud service connectoren beschikbaar in Azure. Eigen web services in Azure kunnen ook aangesloten worden.
Kosten




Prijs
Per user/per workflow
Logic Apps: per Azure bron-minuten. PowerApps: per gebruiker.
Diversen




Schaalbaarheid
Niet handmatig schaalbaar, draait in Nintex Cloud
Zeer schaalbaar, tegen een prijs.

Robuustheid / Volwassenheid
Goed, draait al jaren voor veel klanten
In preview fase
              

Discussie

Nintex is een uitstekende tool voornamelijk voor relatief simpele zakelijke processen, die vanwege zijn origine als SharePoint Add-on en hechte koppeling met de SPO interface absoluut niet snel op zijn vlak zal worden ingehaald door Logic Apps. Het is simpelweg te gemakkelijk om binnen Nintex zakelijke processen op te zetten om gegevens op te slaan en te wijzigen en om goedkeuringsprocessen mee in te regelen. Voor processen die binnen SPO beginnen zal Nintex nog een lange tijd een waardevolle tool zijn. Logic Apps zal vanwege het gebrek aan zichtbaarheid binnen SPO, en ondersteuning voor standaard operaties vanuit/in SPO hiervoor (nog) niet geschikt zijn. Mogelijk dat ze meer gaan concurreren wanneer er SPO Add-ins worden ontwikkeld die Logic Apps meer functionaliteit geven binnen SPO.
Voor SharePoint overstijgende processen, zoals werkstromen binnen Office365 tussen Exchange Online en SPO, of tussen verschillende Cloud service providers, kunnen Logic Apps een uitstekende oplossing worden. Ook met betrekking tot de ontsluiting van On premises oplossingen (of maatwerk API’s in Azure) naar Azure services toont het platform veel potentie. Het nut van Logic Apps neemt sterk toe naarmate de onderneming een aanwezigheid heeft met systemen binnen Azure of in andere Cloud services.
Het interesseert me enorm wat er mogelijk gaat blijken met de features van aanroepbare eindpunten en de management API. Al met al zal het succes van Logic Apps afhankelijk zijn van de stabiliteit en volwassenheid en de daarmee gepaard gaande populariteit van het platform. De benodigde functionaliteit en best practices zullen dan snel volgen.
Wat betreft PowerApps is het mij minder duidelijk of dit succes zal hebben. Het zal afhangen van de ervaring die gebruikers van de Apps hebben om simpele Cloud operaties mee te doen. Het moet blijken of het in handen geven van App creatie en verspreiding aan zakelijke gebruikers een goed idee is. Het is in ieder geval goed dat Microsoft een poging doet om ontsluiting van Office365/SPO cross-platform, en op mobiel, bereikbaar te maken.

Dat zowel Logic Apps als PowerApps nog een lange weg te gaan hebben is duidelijk, op beide platforms werkten de standaard operaties nog niet eens ten tijde van dit schrijven. Echter is de potentie zo groot dat beide platformen goed in de gaten moeten worden gehouden en moeten wij als Motion10 de (on)mogelijkheden scherp in de gaten blijven houden.

No comments:

Post a Comment