Dato: Av: Bjørn Tollevsen

For å forstå den reisen Microsoft og vi er på med Dynamics NAV og Dynamics 365 Business Central, så må vi være litt tekniske og vi må forstå noen tekniske grunnprinsipper.
Historisk sett har Dynamics NAV vært en løsning som tilbyr stor grad av tilpasning og skreddersøm, både ved oppsett, og endringer i kode. Endringer i kode var ofte slik at man gikk rett inn i koden til Microsoft, gjorde de tilpasninger man ønsket, og kunden fikk de endringene han trengte. Dette kom imidlertid med en ganske høy kost; prisen på å oppgradere til neste versjon kunne bli ganske høy.
Dynamics NAV sin struktur på programkoden, er slik at de enkelte objektklasser som tabeller, rapporter etc., består av et antall objektnumre. Hvis objektnummer er mellom 1 og 49.999, så er det Microsofts kode, 50.000 – 99.999 er objekter hvor man gjør tilpasninger for en spesifikk kunde, og over 1.000.000 er sertifiserte tilleggsløsninger som vil bli solgt til mange kunder. Utfordringen ligger i at vi som partner også kan gjøre tilpasninger. For eksempel på rapporter i Microsofts serie, eller ved at vi legger til noen felt i standardtabeller. Dermed har man et potensielt problem ved oppgradering. Samme prinsippet brukes også i Dynamics 365 Business Central.
Ved overgang til ekte Sky ønsker man å være på den til enhver tid siste versjon av programvaren, og oppgradering skal være inkludert i prisen man betaler per bruker per måned. Når systemene nå begynner å komme med en ny oppdatering hver måned, og en ny versjon to ganger per år, så sier det seg selv at man må redusere tid og kost i forbindelse med dette. Det enkleste ville selvfølgelig vært å ikke lenger gi mulighet for kundetilpasninger, men da vil man miste mye av fleksibiliteten man har hatt tidligere, og det ønsker man selvfølgelig ikke.
For å løse dette har Microsoft introdusert ny teknologi som heter Extensions og Events, og begynt å stille krav til partnere om hvordan man gjør tilpasninger. Hva er så dette?

 

Extensions

Extensions kan beskrives som programvare som ligger på utsiden av standard Dynamics 365 Business Central. De utvider basisprogrammet og dens funksjonalitet på den måten kunden ønsker, uten at man endrer standardkoden. En Extension kan være en liten endring, for eksempel at brukeren i bilagsregistreringsprogrammet ønsker en annen rekkefølge på feltene, eller det kan være en helt egen modul. Det finnes kundespesifikke Extensions, og Extensions som inneholder hele tilleggsløsninger.
Ved hjelp av denne teknologien kan vi altså gjøre tilpasninger. Enten kundespesifikke, eller i form av en tilleggsløsning, uten at man endrer standardkoden. Standardkoden fra Microsoft vil ikke inneholde noen programendringer, de ligger i Extensions, og utføres på bakgrunn av en hendelse fra standardkoden. En Extension kan gjerne ses på som en app som ligger utenfor standard, men som kan reagere på hva som skjer i standardkoden, basert på hendelser i standard.
Ved å bruke denne teknologien så vil man oppnå en ren standardkode uten tilpasninger, som gjør at for eksempel Microsoft kan oppgradere koden uten å måtte ta hensyn til tilpasningene. Spesialtilpasningene i Extensions vil bli kontrollert av eier av disse, for å se om noen endringer er nødvendige, basert på de nye endringene i standardkoden. Dette betyr at det å oppgradere løsningen vil være vesentlig enklere og derved billigere enn dagens løsning, og bør være en vurdering man gjør hvis man skal oppgradere eller ønsker nye tilpasninger til dagens løsning.

 

Events

Events eller hendelser, er varsler eller meldinger fra Dynamics NAV eller Dynamics 365 Business Central, som lar de som abonnerer på disse forstå at noe har skjedd i systemet. Abonnenter er andre program, apper eller tilleggsløsninger, som ønsker å få beskjed når noe skjer. Så snart abonnenten oppfatter hvilken hendelse som har oppstått, kan den utføre det man ønsker, for eksempel å starte en bit kode. I denne sammenhengen er Events en del av en programkode som andre programmer kan forstå. Så snart koden er sendt ut, kan programmer som abonnerer på denne utføre en hvilken som helst instruksjon som den har i sin egen kode.
For Dynamics 365 Business Central Online hvor Microsoft har driftsansvaret, er det et krav at alle tilpasninger, både rene kundetilpasninger og sertifiserte løsninger via Microsoft Appsource, leveres som Extensions.
I tillegg innføres et nytt programmeringsspråk, Visual Studio Code, som gradvis skal erstatte det gamle programmeringsspråket C/SIDE. Dette gir løsningen et nytt, moderne programmeringsspråk, og det vil være et krav at all utvikling i Dynamics 365 Business Central Online gjøres med dette programmeringsspråket. For Dynamics 365 Business Central on premises vil man fremdeles kunne bruke C/SIDE. Slik det ser ut i dag, vil man måte skifte språk i 2020.

 

Hvis dette ble i overkant teknisk og du har noen spørsmål, ta gjerne kontakt med meg på telefon 952 67 119 eller mail.

0 replies

Legg igjen et svar

Want to join the discussion?
Feel free to contribute!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.