Software die uitgebreid kan worden
De prijs van functie nummer twintig wordt bepaald door keuzes die u bij functie nummer twee maakt. Meestal in het datamodel.
8 min lezen
Koppelingen
Elke API valt een keer uit. Het verschil tussen een korte hapering en een dag handmatig herstel zit in drie dingen die u vooraf inbouwt.
Een koppeling bouwen is meestal een middag werk. Een koppeling bouwen die over twee jaar nog betrouwbaar is, is iets anders — en dat verschil wordt pas zichtbaar op het moment dat de andere kant iets doet wat u niet had verwacht.
Dit artikel gaat over wat er misgaat bij API-koppelingen, en over de drie voorzieningen die dat opvangen: een wachtrij ertussen, verstandige herhaalpogingen en bewaking die alarm slaat voordat de klant dat doet.
De storing die iedereen verwacht — de andere kant is onbereikbaar — is juist de makkelijkste. Die is duidelijk en direct te herkennen. De vervelende storingen zijn de dubbelzinnige:
De belangrijkste beslissing is om een externe aanroep nooit onderdeel te maken van het verzoek van de gebruiker. Is een order pas opgeslagen nadat het boekhoudpakket heeft geantwoord, dan is de beschikbaarheid van uw systeem gelijk aan die van het traagste systeem waaraan het hangt.
Met een wachtrij ertussen slaat het systeem eerst op wat het zelf weet, en verwerkt het de koppeling daarna. De gebruiker merkt een storing bij de andere partij niet, de opdracht raakt niet kwijt, en herstel na uitval is een kwestie van de wachtrij laten leeglopen in plaats van handmatig nalopen wat er ontbreekt.
Opnieuw proberen is de standaardoplossing en tegelijk een veelvoorkomende oorzaak van dubbele boekingen en overbelaste leveranciers. Vier regels houden het veilig:
De meeste koppelingen worden op de verkeerde manier bewaakt: er komt een melding zodra een aanroep faalt. Dat is te laat en tegelijk te veel. Een enkele mislukte aanroep die daarna slaagt is geen probleem, en twintig meldingen per week zorgen ervoor dat de eenentwintigste genegeerd wordt.
Meet niet of een aanroep faalde, maar of het werk af is. Dat is de vraag waar de organisatie wakker van ligt.
Concreet: bewaak de lengte van de wachtrij, de leeftijd van het oudste openstaande bericht en het aantal items op de foutlijst. Loopt de achterstand op, dan is er iets aan de hand — ongeacht of individuele aanroepen slaagden. Dat zijn drie getallen, en samen vertellen ze meer dan een logboek vol foutmeldingen.
Haal externe aanroepen uit het verzoek van de gebruiker, maak opdrachten herhaalbaar zonder dubbele verwerking, en bewaak de achterstand in plaats van losse fouten. Dat is het verschil tussen een koppeling die een storing overleeft en een koppeling waarbij iemand een middag gaat rechtzetten wat er misging.
Waar dit op aansluit
Dit artikel komt voort uit het werk dat we doen. Hieronder staat waar dat concreet over gaat.
Verder lezen
De prijs van functie nummer twintig wordt bepaald door keuzes die u bij functie nummer twee maakt. Meestal in het datamodel.
8 min lezen
'Het werkt goed' is geen antwoord op de vraag of een AI-functie klaar is voor productie. Een testset van honderd voorbeelden wel.
8 min lezen
Volgende stap
Eén gesprek van dertig minuten is meestal genoeg om te bepalen wat u nodig heeft, wat het ongeveer kost en hoe lang het duurt. Daar zit u nergens aan vast.