<img src="https://secure.leadforensics.com/133892.png" alt="" style="display:none;">

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ö).

ramso bloggbild 9.2.pngramso bloggbild 9.1.png

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.

ramso bloggbild 9.3.png

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:

  1. Initial deployment för parametersättning av bolag, nummerserier och valutor.
  2. 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ö.

ramso bloggbild 9.4.png

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 iStones bok 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!

Beställ ditt kostnadsfria exemplar av boken här

Prenumerera på bloggen

Diskutera detta inlägg

Rekommenderad läsning

I förra blogg-inlägget introducerades konceptet Data Entities. Här fortsätter beskrivningen av komposita entiteter och verktyget Data Management.
Under Tech Conference i Mars 2017 presenterade Microsoft att Dynamics 365 for Operations kommer finnas tillgänglig i tre olika driftsalternativ; Public Cloud (släppt), Cloud+Edge (släpps dec 2017) samt Local Business Data (släppt).
90 % av dagens problem med Office-integration med AX handlar om autentisering, dvs åtkomst av data i AX begränsas av strul med behörigheter och Office-plugin. Detta har Microsoft tagit fasta på i 365 for Operations och en del av att förbättra användarupplevelsen handlar om att man öppnat upp möjligheten till att använda protokollet Open authentication (Oauth). Detta gör att andelen problem med autentisering ska minska och att användarupplevelsen ska bli bättre. Man har också ersatt AX-plugin:et i Excel med en mer dynamisk Dynamics 365 Data Connector. Denna fungerar både i lokal Excel, Excel Online samt även i Excel på iPad.
Hjälpfunktionaliteten har utvecklats stort i Dynamics 365 for Operations jämfört med tidigare releaser och här finns en del riktigt spännande nyheter. Hjälpen nås via frågetecknet i navigation bar och den första nyheten man ser är att det finns två sektioner i hjälpavsnittet; en som kallas Uppgiftsguider (Task guides) och en som kallas Wiki.
Lösningar kring säkerhet och åtkomst i D365FO har i grunden inte förändrats jämfört med tidigare versioner av AX - det är fortfarande den rollbaserade säkerhetsmodellen som är i fokus. Däremot innebär steget över till en molnbaserad lösning att det både ställs högre krav på åtkomstsäkerhet och att det krävs nya verktyg för att exempelvis autentisera användare. 
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down