Jag misstänker att en stor del av världens BNP, försörjningskedjor, tillväxt och allt vad det heter vilar på en grund som skapades under Berlinblockaden 1948. Det var då den så kallade luftbron var aktiv där Amerikanska och Brittiska flygvapnet flög in till Berlin 250k gånger. Enligt Wikipedia var det under denna händelse det krävdes framtagandet av någon metod för att kunna överföra digital information om allt gods som transporterades. Det var här EDI skapades.
EDI står för ”Electronic Data Interchange” vilket är en härligt ospecifik benämning på något i dagens värld där varenda tumrörelse på Tinder och hemleverans av pizza är ett ”elektroniskt data utbyte”.
Det vi moderna människor kan tänka oss att detta är, är alltså ett API. Men jag är inte så modern att jag strikt menar webb-API över HTTP och REST med JSON osv, utan jag ämnar här att använda API som beskrivning i sin mest principiella form. Alltså någon form av tillvägagångssätt för applikationer att prata med varandra, utan att gå in på huruvida om det är synkront eller vilken överföringsmetod på vilken port det är som används etcetera.
Detta är fröet till att inte behöva mata in information i respektive dator med tangentbordet (vilket också är ett API om man nu valt att gå vägen där Nisse skall trycka på knapparna här när den andra saken händer därborta). Det här systemstödet behövde alltså utvecklas för att lösa problemet i att kunna skala upp operationen till den storlek som behövdes för att hålla Berlins befolkning vid liv.
Okej, men vad är EDI i praktiken? Det är en spretig samling av olika former av strukturerad data (tänk typ filformat) där nästan det enda gemensamma är att de är mycket kompakta så storleken kan bli så liten som möjligt att skicka över ett 300 baud modem (0.0003 Mbit/s). Förenta nationerna har tagit fram en variant som heter EDIFACT och ser ut så här:
UNA:+.? ’ UNB+IATB:1+6XPPC:ZZ+LHPPC:ZZ+940101:0950+1′ UNH+1+PAORES:93:1:IA’ MSG+1:45′ IFT+3+XYZCOMPANY AVAILABILITY’ ERC+A7V:1:AMD’ IFT+3+NO MORE FLIGHTS’ ODI’ TVL+240493:1000::1220+FRA+JFK+DL+400+C’ PDI++C:3+Y::3+F::1′ APD+74C:0:::6++++++6X’ TVL+240493:1740::2030+JFK+MIA+DL+081+C’ PDI++C:4′ APD+EM2:0:1630::6+++++++DA’ UNT+13+1′ UNZ+1+1′
EDIFACT kan sägas begått genericide där man menar EDI när man säger EDIFACT och tvärtom. Var god ställ dig i samma hörna som bostongurka, tops och de andra varumärkesorden. Dock beror detta mycket på vilken bransch man jobbar i och vilket land. EDI styrs av gammal tradition och kultur.
Förutom filformaten finns också en bunt överföringsprotokoll som är mer eller mindre specifika för EDI. FTP känner vi alla till men det största är AS2 som ligger ovanpå HTTP och drevs på av Walmart.
EDI används främst till att digitalisera orderflöden. Alltså att en kund kan skicka en order, få ett svar på vad leverantören åtar sig, en avisering när varan skickats och slutligen en faktura som skall betalas.
Men det finns många många mer typer jag nästan är tveksam till att någon någonsin använt i skarpt läge. Jag tycker att alla skall skicka en JOBAPP nästa gång ni söker jobb:
Job application proposal message
A message specifying detailed information of proposals for one or more job applicants from an employment agency to an employer. The detailed information is related to profession, occupation, age, education, experiences, salaries, other benefits, requested location of the job, work and contract conditions.
Arbetsgivaren kommer då naturligt svara med en JAPRES till dig:
Job application result message
A message specifying decisions of an employer related to job applications and interviews and employment or rejections and, when necessary, reasons for the decisions or rejections. The message is transmitted from an employer or employment agency to an employment agency.
Det är härligt att en grupp människor försökt ruta in vad en jobbansökan är och består av på ett standardiserat och framtidssäkert sätt. Bara på huvudnivå kan man sätta någon av följande koder. Man ser att abstraktionen läcker när vissa koder verkar syfta till något specifikt (items? ledger?) och förmodligen inte relevant för en jobbansökan:
56: Advice of ledger booked items
An advice that items have been booked in the ledger.
Så de där skorna du beställde på webben har säkert någon gång i tillverkningen och leveranskedjan till dig använt EDI.