Det är i dag mycket vanligt att vi har information utspridd i flera system. För en produkt kan vi till exempel ha produktinformation i ett PIM (Product Information Management), information kring försäljning av produkten och pris i ett ERP (Enterprise Resource Planning/affärssystem) och dokument och bilder kopplade till produkten i ett DAM (Digital Asset Management).
All information om en produkt på ett ställe
För att enkelt kunna komma åt den totala bilden av produkten kan vi samla all information på ett ställe. Vi bör fundera över hur vi vill konsumera informationen och utifrån det lagra det på ett sätt så att vi enkelt och snabbt kan komma åt det vi behöver när vi behöver det. Vi på 3bits har i många lösningar valt att jobba med Elasticsearch för att tillgängliggöra denna typ av information. Det är en gratis och öppen sökmotor som är väldigt snabb och helt flexibel. Flexibiliteten gör att vi kan lagra och söka ut informationen på precis det sätt vi har behov av.
Lite beroende på användarfall kan vi mellanlagra den samlade datan i en databas eller spara den direkt i en sökmotor så som Elasticsearch eller annan NOSQL lagring. Finns det behov av att förädla eller berika informationen innan vi gör den tillgänglig kan vi bygga på ett eget lager för att administrera detta.
Automatiskt samla information via integrationer från olika system
Sista steget är att vi bygger ett API (Application Programming Interface) som hämtar ut information från sökmotorn. APIer används för att program och system ska kunna prata med varandra.
I APIet kan vi ha flera endpoints till exempel en för att hämta ut produktinformation. Endpointen kan ha olika inparametrar för att ge möjlighet att hämta ut och söka efter produkter på det sätt man behöver. Det skulle kunna vara uppslag på specifikt produkt id, sökning på namn eller kanske olika filter på egenskaper. Lösningen blir helt efter behov och kan byggas ut och förändras allt eftersom verksamheten utvecklas och behoven förändras.
En stor fördel med denna arkitektur är att man får all sin produktdata samlad på ett ställe och tillgänglig för alla system som kan tänkas behöva den. Det kan användas både internt och externt. Några exempel skulle kunna vara e-handel, appar och kundportal. Det räcker att uppdatera informationen i källsystemet så flödar den ut till alla andra system som använder den genom APIet. På så sätt kan vi vara säker på att alltid ha den senaste informationen tillgänglig överallt och slipper att uppdatera på flera ställen.
Föra tillbaka information
Genom APIet kan vi också bygga funktioner som går åt andra hållet. Vi kan tänka oss en funktion för att skicka en order från E-handeln till affärssystemet. I detta fall lägger vi till en endpoint i APIet för att lägga order. Underliggande pratar den med affärssystem via något av de interface som affärssystemet tillhandhåller.
Dokumentera APIet
För att dokumentera APIet så det är enkelt att förstå och arbeta med för flera parter använder vi oss av OpenAPI Specification och Swagger UI. OpenAPI specification är en standard för att beskriva ett API och Swagger UI visualiserar specifikationen och ger möjlighet att interagera och testa APIet. Reglerna gör det enkelt att kommunicera så att det är tydligt hur frågor och svar ska tolkas.
Vi har byggt många integrationer med Rest API / Web API genom åren. Vi berättar gärna mer om hur APIer kan användas för att förenkla och minska administrativt arbete för din verksamhet.