För att utveckla integrationer för tidigare versioner av AX krävdes god kunskap om tabellstrukturen och databasmodellen i AX. Bara att uppdatera t.ex. en kundpost var en stor utmaning och eftersom databasen i AX är väldigt normaliserad blev varje integration ofta onödigt jobbig att implementera. Förutom denna problematik hade man dessutom flera olika sätt att integrera på; Application Integration Framework (AIF), Data Import- and Export Framework (DIXF) samt ren tabellimport/export vilket ständigt skapade diskussioner om vilken metod som var bäst för varje scenario.
De huvudsakliga metoderna för integration; Application Integration Framework (AIF) och Data Import- Export Framework (DIXF) är numera helt ersatta med plattformen ”Data Management” i D365FO. Data Management utgår från en ny typ av dataobjekt kallat Data Entities vilka används både för synkrona och asynkrona integrationer, för import och export samt för exponering mot andra klienter via OData, tex Excel.
Det finns fyra oliks typer av Entiteter i D365FO som alla har specifika syften:
-
Simple Entities
Enkla Entiteter stödjer kommunikation via OData och REST-tjänster. Det rör sig om relativt enkel åtkomst av data mot en tabell i taget. Exempelvis stöds CRUD mot en försäljningsorder, men inte mot både huvud och rader samtidigt. -
Extended Entities
Utökade entiteter är Enkla Entiteter som utökats med ytterligare fält genom Extensions (se kapitel om utveckling) vilket innebär att den ursprungliga entiteten inte behöver modifieras. Extendend Entities går också att komma åt via OData. -
Composite Entities
Komposita entiteter kombinerar flera enkla entiteter till en sammansatt, tex en försäljningsorder som består av både huvud, rader och avgifter. Komposita entiteter kan inte konsumeras via OData utan stöds enbart via asynkron access. -
Aggregated Entities
Baseras på vyer som är read-only och avsedda framför allt för BI och rapportering och som också är åtkomliga via OData. Aggregerade entiteter innehåller också ”föraggregerade” fält.
Data Entities
Den som har arbetat med utveckling i tidigare versioner av AX är väl bekant med att databasen är normaliserad näst intill till absurdum. Eftersom nyckeln i tabellrelationer oftast utgörs av ett Rec_Id blir det också väldigt svårt att intuitivt läsa ut relationer mellan tabeller. Detta är en utmaning om man exempelvis vill skapa integrationer som består av huvud och rader, t.ex. ett Kund-objekt eftersom den kompletta bilden av en kund (med adresser, kontaktpersoner och organisationer) blir väldigt fragmenterad. För att skapa en normaliserad vy krävs stor kunskap om underliggande data-modell och ganska mycket tålamod.
Huvudsyftet med Data Entities är att ge en förenklad, konceptuell och ”av-normaliserad” vy för underliggande objekt. Man kan alltså via en Data Entity se Kund-objektet utifrån en helt ”platt” modell där normaliseringen av underliggande objekt är dold.
En Data Entity kan därmed ses som en konceptuell spegling av en logisk tabellstruktur där man också exponerar dataoperationer och funktionalitet. Om vi tar kundobjektet som exempel så är skillnaden mellan tabellstruktur och Entitet ut enligt följande: (tabeller för kund till vä och kund-entitet till hö).
Kund-entiteten ser alltså ut som att man gjort en helt platt tabell utan någon som helst normalisering, ungefär som om man jobbat i Excel.
En annan fördel med Data Entities är att man också kan kombinera olika relaterade entiteter med varandra i ”Composite Entities”. När man designar en composite entity får man ett mycket bra stöd i att automatiskt hitta relationerna mellan entiteterna utan att för den skull egentligen behöva bry sig om hur underliggande tabellstruktur ser ut. En composite entity utgörs i praktiken av en aggregerad query.
Data Entities kan sammanfattas i följande:
- Ersätter helt och hållet tidigare AXD-objekt (dvs AIF document services), Data Import-Export Framework (DIXF) och aggregerade queries.
- Erbjuder en gemensam plattform som inkluderar affärslogik för att hantera både import/export, Integration och programmerbara objekt.
- Är den primära import/export-lösningen för att hantera datapaket för att populera databaser med exempelvis demo-data eller för Application Lifecycle Management.
- Data entiteter kan också exponeras som OData-tjänster som kan användas både för synkrona integrationer, för Power BI och för Office-integration.
Data Migration och Data Movement
Genom nya Data Management-lösningen får man ett mycket bättre verktyg för att både göra den initiala parameteruppsättningen av en ny D365FO-miljö samt att migrera data från ett tidigare system. Nyckeln till denna hantering går genom LCS och bygger på två separat huvudsteg:
- Initial deployment för parametersättning av bolag, nummerserier och valutor.
- Migrering av först masterdata (kund, leverantör etc) och därefter transaktionsdata (orders etc).
Via LCS finns nu också möjligheten att kopiera en uppsättning från en D365FO-miljö till en annan. Detta görs via ”Configuration and data manager” och fungerar för miljöer som är del av ett LCS-projekt. I korthet skapar man en package-file för den miljö man vill exportera och sedan använder man Configuration and data manager för att packa upp paketet på den miljö som man vill tillämpa det på. Detta kan givetvis också användas för att migrera enskilda register (eller rättare sagt entiteter) från en miljö till en annan, exempelvis för att säkerställa att man har samma kunder och artiklar uppsatta i en Dev-miljö.
Att kopiera data från en D365FO-miljö till en annan är dessutom betydligt enklare än så eftersom det går att göra helt och hållet via Data Management workspace. Genom att skapa ett antal exporter baserat på Entiteter och sedan spara det som ett paket sparas också en så kallad manifest-fil i paketet som beskriver inte bara strukturen på de inblandande datafilerna utan även i vilken sekvens de ska hanteras vid en import. På så sätt säkerställer man också dataintegriteten vid import i nästa miljö. Det betyder t.ex. att masterdata importeras före transaktionell data, att ett huvud skapas före rader etc.
Läs mer om Dynamics 365 for Operations i boken som sammanfattar både nyheter för proffs och affärsanvändare. Boken kan du köpa online i valfri webb-bokhandel eller så kan du beställa den kostnadsfritt genom oss!