Programmering

Første titt: Microsofts API-mashup-verktøy for resten av oss

Ikke alle skyapplikasjoner trenger å være sky-skala. De er ofte enkle rutinger og bytter apper som tar informasjon fra en kilde, behandler den minimalt og deretter viderefører den. Det var der verktøy som IFTTT og Yahoo Pipes kom til spill, slik at du raskt kunne bygge og dele informasjonsflyter som koblet en tjeneste til en annen. Dessverre har Yahoo Pipes blitt stengt, og IFTTT har konsentrert seg om enkle lenker til tingenes internett.

Det betyr at det er plass i markedet for et nytt verktøy - en som fokuserer på å jobbe med applikasjoner og tjenester, og som er i stand til å håndtere mer komplekse operasjonskjeder enn IFTTTs grunnleggende input til en output-mapping. Du kan bygge mikrotjenester på Node.js for å automatisere denne typen tilkoblinger mellom applikasjoner og mellom API-er, men det vil være for mye. Det samme vil Azure Logic Apps eller AWS Lambda.

I tillegg til lanseringen av sitt nye visuelle utviklingsverktøy, PowerApps, presenterte Microsoft nylig sitt nye tilkoblingsbaserte utviklingsverktøy, Flow. I likhet med IFTTT og Pipes, er Flow designet for å hjelpe deg med raskt å koble sammen utganger og innganger for å bygge applikasjoner som utløses av en hendelse på en inngang, og levere svar på en eller flere tjenester. Der IFTTT kunne skanne en strøm av tweets og lagre spesifikt innhold i en fil, kan Flow ta en innspill og bruke den som grunnlag for en mer kompleks informasjonsflyt, spørre flere informasjonskilder og håndtere flere handlinger som et resultat.

Med innledende støtte for 12 tjenester (og mange flere APIer), er Microsoft Flow tydelig designet for å automatisere det som ellers ville vært kjedelige oppgaver. Støttede tjenester inkluderer Twitter, GitHub, Salesforce, Dropbox, Slack og Office 365, noe som gir deg tilgang til mye av Office-grafen. Ved å bruke disse tjenestene kan du for eksempel skanne Twitter på jakt etter omtale av et produkt og levere dem til en Slack-kanal for produktteamet, slik at teamet kan se hva brukerne sier om produktet deres.

Ins og outs, hvis og da

Microsoft tilbyr et sett med 63 innledende maler som håndterer en rekke oppgaver, som alle også er klare for tilpasning. Utvalget av maler spenner over administrasjon av kundeforhold, avvikler varsler og måter å administrere ditt online liv på, og bygge bro over mellomrom mellom lagring, sosiale medier, e-post og andre skytjenester.

Jeg startet med å tilpasse en av de grunnleggende malene, ta tweets jeg sendte og arkivere dem i en CSV-fil på min personlige OneDrive. Det er relativt enkelt å redigere en strøm. Du får presentert nøkkelelementene til en mal i nettleseren din som et grunnleggende flytskjema, innganger øverst på skjermen, utganger nederst. Du kan klikke på en blokk for å åpne egenskapene. I en Twitter-blokk finner du for eksempel et standard Twitter-spørsmål.

En viktig forskjell mellom Flow og IFTTT er støtte for conditionals. For eksempel, hvis en fil du trenger ikke er til stede, kan strømmen opprette den og plassere et innledende datasett. Når den er på plass, vil en alternativ sti legge til nye data i filen. Flow tilbyr et veldig grunnleggende sett med betingede operatører, men det er nok til å la deg bygge relativt komplekse applikasjoner. Du kan kjede innganger, spørsmål og betingelser, slik at du kan kontrollere flyten i strømmen din, fra inngang til ditt valg av utganger.

Det er mye fleksibilitet i Flow. Når du går ned i å bygge dine egne flyter i stedet for å bruke de oppgitte malene, vil du oppdage at du kan bruke Swagger API-definisjoner for raskt å koble vilkårlige REST API-er til en flyt. Du kan også koble til en HTTP-handling, et alternativ som lar deg koble til en nettkrok i et program som Slack, eller å jobbe med data som sendes via et webskjema eller via JSON. Det er en viktig funksjon, da den betyr at du ikke er begrenset til standard sett med kontroller.

Du er også i stand til å bygge en flyt i en PowerApps-app, og gi den sin egen brukergrensesnitt. Det er enkelt å feilsøke, med rapporter for hver operasjon som lar deg bore ned i hver blokk, slik at du kan se hva som gikk galt - og like viktig, hva som gikk riktig.

Bare starten

Resultatet er et kraftig lite verktøy som raskt kan skrape en kløe. Evnen til å nå ut til et hvilket som helst API er viktig, og det samme er støtten for en rekke forskjellige inngangstyper. Microsoft har gitt nok ruter til Flow for at du skal kunne finne en som vil fungere med ditt valg av innganger - selv om de ikke er blant de spesifikke utløserne som Flow definerer. Utgangene er kanskje litt mer begrensede på dette stadiet. Jeg hadde ønsket å se bedre støtte for Office Graph og dens forskjellige enheter, inkludert flere dokumenttyper enn Excel.

Noen aspekter av Flow-utviklingsprosessen er fremdeles litt buggy, spesielt rundt OneDrive-integrasjonen. Jeg syntes det var nesten umulig å bla gjennom en lang liste med mapper, for eksempel, og jeg måtte manuelt legge inn mappen jeg hadde tenkt å bruke. Til tross for disse begynnelsesproblemene, utvikler Flow seg pent som en erstatning for de dessverre tapte Yahoo Pipes, om enn en designet for API-verdenen vi har i dag, i stedet for bare HTTP, RSS og XML.

Flow er en tjeneste som gir mening raskt, selv for ikke-programmerere. Det er lett nok å komme i gang ved å tilpasse en mal, men når du først bygger dine egne strømmer, gir det grafiske oppsettet av flyt og programblokker raskt mening. Hvis du vil gå utover malene og standardhandlingene, må du bli kjent med syntaksen til RESTful APIer. Flows støtte for beskrivelsesspråket Swagger API bør forenkle ting, i det minste der nettsteder og tjenester tilbyr Swagger-definisjoner.

Med verktøy som Flow og PowerApps betjener Microsoft endelig et utviklerpublikum sammensatt av informasjonsarbeidere som ønsker å løse små problemer. Flow er ikke et generelt programmeringsverktøy, men det er likevel både kraftig og fleksibelt. Flow er en påkjøring av en ny stil for applikasjonsutvikling, og den er en som alle kan bruke.

$config[zx-auto] not found$config[zx-overlay] not found