Turns domain knowledge into code

Last ned g9 last ned

Profitér på domenekunnskap
Reduser kompleksitet


Enkelt sagt, g9 gir raskere utvikling. Som en Low Code utviklingsplattform understøtter g9 utvikling basert på domenedrevet metodikk med automatisk kodegenerering. Domeneekspertene kan konsentrere seg om domenemodellen som blir omformet til kode av g9's generatorer. Hvert element i domenemodellen kan representere flere linjer med generert kode som sammen med g9's runtimebibliotek utgjør en stor del av funksjonaliteten en applikasjon trenger. Dess mer kompleks domenemodellen er, dess mer glede vil man ha av å generere standard (boilerplate) kode. Når modellen endrer seg, regenererer man standardkoden uten å røre spesialskrevet kode. Dette understøtter en smidig og rask utviklingssyklus og sikker utvikling av kodebasen.

Generert kode er konsistent og den inneholder færre feil. Generatorene er skrevet i Xtend. For en som behersker Java, er Xtend like lett å lese og programmere som vanlig Java kode. Alle eksisterende generatorer kan danne utgangspunkt for nye generatorer og kan tilpasses egne behov og standarder. Generert kode kan utvides med spesialtilpasset funksjonalitet eller man kan overstyre default generert oppførsel. Verden endrer seg, produkter utvikler seg og personale skiftes ut - generering av kode for standard funksjonalitet gjør at koden likevel holder seg konsistent.
Ved å fokusere på domenekunnskap og ikke på teknologi, kan domeneekspertene modellere forretningskrav og automatisk overføre dette til kode. Modelleringsomgivelse som støttes inkluderer Enterprise Architect og Eclipse Modeling Framework Ecore/Xcore. Man kan også bruke Java kildekode med annotasjoner som grunnlag for domenemodellen. Domeneekspertene kan kontrollere domenemodellen som typisk består av klasser, assosiasjoner, attributter, enumeratorer, osv. I tillegg finnes UI modeller som kan brukes i brukergrensesnittutviklingen og databasemodeller som støtter generering av kode for forskjellige databasesystemer (Oracle, SQLServer, MySQL, Derby, osv.). Når forretningskravene endrer seg, endres domenemodellen og koden regenereres ved hjelp av eksisterende, endrede eller helt nye generatorer.
Domenemodellen er ikke bundet til en spesiell målarkitektur. Når teknologien endrer seg, kan generatorene tilpasses teknologiskiftet uten at domenemodellen må endres. Generatorene kan også endres slik at den genererte koden er spesialtilpasset ulike målplattformer. For eksempel er g9 nylig utvidet med generatorer for RESTful web services og React (et JavaScript rammeverk for UI) sammen med Redux. En av fordelene med g9 er bruken av 'Objekt Seleksjoner' (OS). Et OS er et utsnitt av klassene i en domenemodell som brukes til å genererer bindingene mellom UI og de bakenforliggende tjenestene. Dette gir en løs kobling mellom definisjon av bindingene og den underliggende teknologien.
g9 er en suite av plugins til Eclipse og fungerer sømløst sammen med Eclipse Java Development Tools prosjekter. Produktet er integrert med Eclipse Team verktøy som inkluderer kildekontroll og sammenligningsfunksjonalitet. Sammen med Xtend plugin-en er det enkelt å lage Xtend baserte generatorer. Sammen med EMF-støtten i Eclipse kan domenemodeller lages og vedlikeholdes med Ecore/Xcore. Selv om de nåværende kodegeneratorene i g9 genererer Java kode, kan g9 utvides med generatorer som støtter andre språk og kjøreomgivelser.
Domenemodellen fungerer som dokumentasjon av systemet. Den styrer kodegenereringen og dermed vil dokumentasjonen holde seg "up to date". g9 leveres med flere generatorer som lager rapporter basert på modellene. Dette gjør at nye prosjektdeltakere raskt er oppe og kjøre i et g9-prosjekt.

Referanser

Tollvesenet skal:
  • Motvirke ulovlig inn- og utførsel av varer.
  • Sørge for riktig deklarering, fastsettelse og innbetaling av toll og avgifter.

Tolldirektoratet (TOD) har en rekke IT-systemer som understøtter denne målsettingen.

Esito og Inmeta har gjennom flere år levert utviklingsverktøy og konsulenttjenester til TOD og bidratt i utvikling av deres IT-systemer. Utvikling og vedlikehold av TODs fagsystemer knyttet til fortolling av varer og håndtering av særavgifter krever domenekunnskap som er spesifikk for dette området. TOD benytter modelldrevet utvikling som et verktøy til å ivareta og formidle domenekunnskap og sørge for en effektiv utvikling og vedlikehold av sine IT-systemer.

TOD benytter g9 i sitt utviklingsmiljø og det genereres kode for flere målplattformer. Esito bidrar i vedlikehold av eksisterende systemer og migrering av systemer til mer moderne teknologi.

Volvo IT i Olofström har gjennom en årrekke utviklet og forvaltet flere av sine skreddersydde applikasjoner ved hjelp av Esitos verktøy. De er nå i ferd med å migrere sine applikasjoner til en mer moderne plattform. Gjenbruk av domenemodeller og domenekunnskap er viktig i denne sammenheng.

Administrasjon av forskningstilskudd er et spesialisert fagfelt som har krevd oppbygging av domenespesifikk kompetanse over flere år.

Esito har deltatt med verktøy og konsulenter i utvikling av eSak (elektronisk saksbehandling). eSak er en helhetlig søknads- og saksbehandlingsprosess med integrasjon mellom flere ulike fag- og standardsystemer, både på Java- og .NET-plattform, og med en kombinasjon av database- og web service-integrasjoner. En av kjernemodulene i eSak utvikles ved modelldrevet utvikling, noe som gir enkel oppgradering av løsningen og lave levetidskostnader (TCO). Modelleringen krever generell domenekunnskap om saksbehandlings- og arkivløsninger, samt domenespesifikk kompetanse om administrasjon av forskningstilskudd og oppfølging av forskningsprosjekter som tildeles midler.

Søknads- og saksbehandlingsprosessen skal sikre sporbarhet, høy automatiseringsgrad, raske tilbakemelding og høy grad av innsyn for søker og andre interessenter, samtidig som det er høy grad av tilgangsstyring for aksess til forretningssensitiv informasjon.