Förstå tekniksnacket: Enkla förklaringar av avancerade begrepp

2024-10-11 | Kamila Ivashchenko, Frontend Developer

Tekniska begrepp kan kännas som en djungel. Vi förstår det. I den här artikeln reder vi därför ut några av de vanligaste och mest använda termerna inom systemarkitektur, e-handel och programmering. Vi förklarar på ett enkelt och förståeligt sätt vad begrepp som monolitisk arkitektur, headless commerce och MACH faktiskt innebär, så att du kan navigera tekniksnacket med självförtroende och förstå hur dessa koncept kan påverka din verksamhet.

Monolitisk arkitektur

Monolit eller “allt-i-ett-lösning”

Monolitisk arkitektur är ett traditionellt sätt att bygga system där alla delar av applikationen, som användargränssnittet (vad användarna ser) och logiken (hur systemet fungerar), är starkt sammanflätade. All funktionalitet ligger i en enda enhet, vilket innebär att förändringar eller uppdateringar i en del av systemet ofta kräver att hela applikationen omarbetas. Det är som att när du ska byta däck på en bil måste du också ändra eller förändra andra delar av bilen, vilket gör det mer komplext än med den moderna arkitekturen.

Plugins och appar i en monolitisk arkitektur

I en monolitisk arkitektur fungerar plugins och appar som tillägg till den befintliga applikationen. De är ofta enkla att installera och tillför specifik funktionalitet, men eftersom de är beroende av den övergripande kodbasen måste de anpassas till den tätt sammanflätade strukturen. Detta kan göra underhåll och uppdateringar mer komplicerade. Exempelvis utökar WooCommerce-plugins funktionaliteten i en WordPress-miljö, medan Shopify-appar anpassar funktioner inom Shopifys ramverk.

 

API-driven arkitektur

API (Application Programming Interface)

API fungerar som en tolk som översätter mellan olika program och tjänster, så att de kan kommunicera med varandra. Det gör det möjligt för olika system att utbyta information och funktionalitet, ungefär som två personer som talar olika språk kan förstå varandra med hjälp av en översättare.

API-driven arkitektur

API-driven arkitektur innebär att system kommunicerar med varandra genom API , vilket gör det möjligt att enkelt integrera olika tjänster och komponenter. Det gör att system kan vara modulära och bytas ut eller uppdateras oberoende.

Headless-arkitektur

Frontend och backend är två fristående delar i en headless-arkitektur, där de har separata roller men samverkar via API.

Frontend

Frontend är den del av en applikation som användarna interagerar med direkt. Det är allt som användaren ser och interagerar med på skärmen, till exempel design, text, bilder, knappar och formulär.

Backend

Backend är det som händer bakom kulisserna. Det ansvarar för databasinteraktioner, affärslogik och serverhantering. Backend tar hand om datalagring, bearbetning och säkerhet, samt hanterar anrop och förfrågningar från frontend.

Headless

I en headless arkitektur är frontend (vad användarna ser) och backend (hur systemet fungerar) separerade. Detta innebär att frontend och backend kan utvecklas oberoende av varandra, vilket ger större flexibilitet och möjlighet att använda olika teknologier. API används för att koppla samman delarna.

Headless commerce

Headless commerce tar samma princip som headless och applicerar det på e-handel. Backend-systemet som hanterar order, produkter och betalningar är avskilt från hur kunderna upplever shoppen (frontend). Detta gör det möjligt att leverera en sömlös kundupplevelse över olika kanaler, såsom webbplatser, mobilappar och sociala medier.

Composable architecture

Composable commerce

Composable commerce handlar om att bygga e-handelslösningar genom att kombinera olika tjänster och verktyg som är bäst lämpade för uppgiften. Varje del – som betalningssystem, produktkatalog eller marknadsföringsverktyg – kan bytas ut individuellt, utan att störa resten av systemet.

Modulär arkitektur/Composable architecture

En modulär arkitektur eller Composable architecture är ett sätt att bygga system där varje komponent är fristående och kan bytas ut, uppdateras eller utvecklas oberoende av andra delar. Det möjliggör en flexibel och anpassningsbar arkitektur. Tänk dig att byta däck på en bil utan att behöva påverka andra delar av bilen – det är så modulär arkitektur fungerar.

Best of breed och Techstack

Best of breed

Best of breed innebär att man väljer de bästa lösningarna inom varje specifikt område, istället för att använda en helhetslösning som täcker alla delar. I en monolitisk arkitektur kan det liknas vid en tiokampare som är bra på många olika grenar, men i best of breed-arkitektur väljer man en specialist för varje gren – som den bästa löparen för 100 meter – vilket ger högre kvalitet på varje enskild del av systemet.

Techstack

En techstack är en samling teknologier och verktyg som används för att bygga en applikation eller ett system. I en composable arkitektur kan techstacken inkludera best of breed-lösningar för varje del av systemet, vilket innebär att du väljer de bästa verktygen för varje specifik funktion i systemet.

MACH

MACH står för Microservices, API-first, Cloud-native, Headless, och beskriver en modern arkitektur som bygger på dessa fyra principer.

MACH gör det möjligt att bygga flexibla, skalbara och modulära system som enkelt kan integreras och uppdateras. Detta möjliggör också unified commerce, vilket ger en enhetlig data- och kundupplevelse över flera kanaler.

Microtjänster

Microtjänster (Microservices) är små, fristående komponenter som var och en ansvarar för en specifik funktion i en applikation. De kan utvecklas och distribueras oberoende av varandra, vilket ger ökad flexibilitet och skalbarhet. Ett exempel är ett headless CMS som levererar innehåll till flera kanaler samtidigt, oberoende av backend, vilket gör systemet mer anpassningsbart och effektivt.

API-first

API-first innebär att man utformar och bygger API innan själva applikationen utvecklas. Detta säkerställer att system och tjänster kan integreras smidigt, vilket prioriterar samspel och kommunikation mellan olika system från start. Det ger utvecklingsteam möjligheten att snabbt skapa nya funktioner och integrera externa tjänster, vilket påskyndar innovation och förbättrar användarupplevelsen.

Molntjänster/Cloud-native

Molntjänster innebär att system körs på servrar som finns i molnet, snarare än på fysiska servrar på plats. Cloud-native applikationer är specifikt byggda för att utnyttja molnets flexibilitet och skalbarhet. Detta gör att företag kan skala sina lösningar upp och ner beroende på behov, och undvika att hantera fysiska servrar och infrastruktur. Det enda som behövs är en internetuppkoppling.

Headless

Finns beskrivet ovan.

Kanaler och handel

Multi-channel

Multi-channel innebär att ett företag säljer via flera olika kanaler (fysiska butiker, webbshop, sociala medier), men dessa kanaler är ofta isolerade från varandra.

Omnichannel

Omnichannel är ett steg längre, där alla kanaler är sammanflätade och ger en sömlös upplevelse oavsett var kunden interagerar med företaget. Fokus ligger på kanalen och samverkan mellan dessa.

Unified commerce

Unified commerce tar ett steg längre genom att integrera alla system och centralisera data enligt MACH-principer (Microservices, API-first, Cloud-native, Headless). Detta gör att information kan bearbetas i realtid innan den distribueras till samtliga kanaler, vilket skapar en sömlös och enhetlig kundupplevelse. På så vis kan företag snabbt anpassa sig till förändrade marknadsförhållanden och möta kundens förväntningar på en personaliserad och konsekvent upplevelse oavsett kanal.

Programmeringsspråk

Open source

Open source innebär att källkoden för ett program är fritt tillgänglig för alla. Det betyder att utvecklare runt om i världen kan bidra till och förbättra programvaran, vilket ofta leder till snabbare innovation och bättre säkerhet. Open source-projekt drivs ofta av stora gemenskaper där flera utvecklare samarbetar för att lösa problem och lägga till ny funktionalitet.

PHP

PHP är ett populärt skriptspråk som ofta används för att bygga dynamiska webbplatser och applikationer. Det är vanligt förekommande i monolitiska system, som WordPress och WooCommerce, där allt hanteras i en enda kodbas.

MySQL

MySQL är ett open source-databashanteringssystem som lagrar och hanterar data. Det används ofta tillsammans med PHP i monolitiska system.

.NET

.NET är ett ramverk utvecklat av Microsoft som kan användas för att bygga både monolitiska applikationer och headless-arkitektur. Med hjälp av .NET kan utvecklare skapa skalbara lösningar som antingen centraliserar all funktionalitet eller separerar front- och backend.

JavaScript/Node.js

JavaScript/Node.js används ofta i headless-arkitektur för att bygga API-first applikationer, där frontend och backend är fristående enheter som kommunicerar via API. Det ger större flexibilitet jämfört med en monolitisk arkitektur.

GraphQL

GraphQL är ett språk för att fråga och manipulera API och används ofta i headless-arkitektur. Det tillåter frontend att endast hämta den data som behövs, vilket kan effektivisera kommunikationen mellan system.

Python

Python är ett mångsidigt språk som kan användas både i monolitiska och headless-system. Det används ofta för databehandling, automation och AI-utveckling.

 

System

CXM eller CEM (Customer Experience Management)

Omfattar system och strategier som företag använder för att hantera och förbättra interaktioner med kunder under hela kundresan. Detta inkluderar dynamiskt innehåll, A/B-testning, segmentering och realtidsanpassning. CXM-system samlar in och analyserar kunddata—som köphistorik och webbplatsinteraktioner—för att skapa mer personaliserade och engagerande upplevelser, vilket ökar kundnöjdhet och lojalitet.

CDP (Customer Data Platform)

En CDP är ett verktyg som sammanställer och strukturerar data från olika källor för att skapa en enhetlig kundprofil. Det hjälper företag att bättre förstå och segmentera sina kunder, vilket möjliggör mer träffsäkra och personliga marknadsföringsinsatser.

ERP (Enterprise Resource Planning)

ERP-system integrerar olika affärsprocesser och dataflöden inom ett företag, såsom finans, HR, produktion och försäljning, i ett enda system. Detta hjälper till att förbättra effektiviteten och beslutsfattandet genom att centralisera data och resurser.

CRM (Customer Relationship Management)

CRM-system används för att hantera företagets interaktioner med nuvarande och potentiella kunder. Det hjälper till att förbättra försäljning, kundservice och relationer genom att hålla koll på kunddata, automatisera uppgifter och analysera interaktioner.

PIM (Product Information Management)

PIM-system används för att centralisera och hantera produktdata över flera kanaler. Det är särskilt viktigt för företag som säljer via olika e-handelsplattformar och marknadsplatser och hjälper till att säkerställa att korrekt och konsekvent produktinformation sprids överallt.

DMP (Data Management Platform)

Ett DMP används för att samla in, lagra och analysera stora mängder anonym data om användare från olika digitala källor. Det används ofta i marknadsföring för att bygga målgrupper och förbättra riktade annonser.

DAM (Digital Asset Management)

DAM-system hanterar och lagrar digitala resurser, såsom bilder, videor och dokument. De hjälper företag att organisera, hitta och distribuera dessa resurser på ett effektivt sätt över olika marknadsföringskanaler.

SCM (Supply Chain Management)

SCM-system hjälper till att hantera och optimera hela försörjningskedjan, från inköp av råmaterial till distribution av färdiga produkter. Det används för att förbättra logistik, minska kostnader och öka effektiviteten i hela leveranskedjan.

WMS (Warehouse Management System)

WMS används för att optimera lagerverksamhet, som plockning, packning och lagerhållning. Det förbättrar effektiviteten genom att automatisera och effektivisera lagerprocesserna.

OMS (Order Management System)

Ett OMS spårar och hanterar försäljningsorder genom hela processen, från orderläggning till leverans. Det används för att säkerställa att rätt produkt levereras till kunden i tid och underlättar hantering av flera försäljningskanaler.

Applikationer

Applikationer, eller appar, är programvara som används på datorer, smartphones och andra enheter för att utföra specifika uppgifter. De kan vara allt från spel och sociala medier till verktyg för att hantera arbete eller personlig ekonomi. Applikationer gör det möjligt för användare att interagera med teknologin på ett praktiskt och användarvänligt sätt, vilket hjälper dem att lösa problem eller underhålla sin vardag.

Övriga teknologier och metoder

FTP

FTP (File Transfer Protocol): Används för att överföra filer mellan datorer över internet.

UX

UX (User Experience): Fokuserar på användarens upplevelse och interaktion med en produkt eller tjänst.

UI

UI (User Interface) är de visuella och interaktiva elementen som användare ser och interagerar med i en applikation eller webbplats. Det omfattar knappar, menyer och layout, och syftar till att vara intuitivt och användarvänligt för att förbättra användarupplevelsen.

Digitalt Ekosystem

Ett nätverk av digitala verktyg, plattformar och tjänster som samverkar för att stödja företagets verksamhet.

DevOps

Ett arbetssätt där utveckling (Dev) och drift (Ops) arbetar nära tillsammans för att automatisera och effektivisera mjukvaruleveranser.

AI och Machine Learning

Tekniker som använder data för att träna modeller som kan fatta beslut och förbättras över tid.

Agil

En metodik för mjukvaruutveckling som fokuserar på flexibilitet, kundfeedback och kontinuerlig förbättring genom korta utvecklingscykler.

Scrum

En specifik agil metod som organiserar arbete i korta sprintar (en sprint är en kort, tidsbestämd period, vanligtvis 1-4 veckor) med regelbundna möten och roller för att förbättra samarbetet och produktiviteten.

Vill du ha hjälp med din digitala försäljning? Kontakta oss så pratar vi mer.

.