Gå til hovedinnhold

Kjerne-APIet

Alle APIer som utvikles i FS-plattformen, skal bygges på toppen av kjerne-APIet. Kjerne-APIets ytre grensesnitt er et lag med Java-kode, som tilgjengeliggjør data og forretningslogikk fra FS-databasen. For å få oversikt over tabeller, kolonner og annet som er tilgjengelig i kjerne-APIet, se Kjerne-API javadocs.

Finner du ikke det du trenger?

Kjerne-APIet blir utvidet ved behov. Hvis du ikke finner dataene du trenger, kan en utvikler gjøre ett av følgende:

  • Legge til en tabell i kjerne-APIet. Dette kan være en tabell som tilsvarer en FS-tabell, et view som tilsvarer en filtrert versjon av en FS-tabell, eller view som kombinerer data fra flere FS-tabeller.
  • Legge til en kalkulert kolonne
  • Legge til en ny kobling mellom to tabeller

Det kan være litt vanskelig å finne fram i dokumentasjonen for Kjerne-APIet i starten, men her er noen tips for å komme i gang:

Tabeller

I /no/fellesstudentsystem/kjernapi/tables får du oversikt over alle tabeller som er tilgjengelige i kjerne-APIet. I Description-kolonnen finnes det i mange tilfeller en beskrivelse av tabellen (tilsvarer "F2- teksten" i FS-klienten). Tabeller i kjerne-APIet tilsvarer ofte en tabell i FS-databasen, men noen av tabellene er også skreddersydde views, som er satt sammen av flere FS-tabeller, eller som filtrerer på et utvalg av rader i en FS-tabell.

Tabeller kan ha et annet navn i kjerneapiet enn i FS

Tabeller i kjerneapiet har ofte samme navn som tilsvarende tabell i FS. Vi har, frem til nå, "pakket opp" forkortelser i FS-tabellnavnene. Enkelte tabeller har også fått helt nye navn som samsvarer bedre med domenespråket. Eksempelvis er FS-tabellen "STUDIEPROGRAMSTUDENT" omnavnet til "STUDIERETT" i kjerne-APIet.

Vi revurderer for tiden hvorvidt det er hensiktsmessig å "pakke opp" forkortelser eller ikke.

Kolonner

Hvis du klikker på et tabellnavn i lista over tabeller, får du opp en tilsvarende liste over kolonner i tabellen. Klikker du på et kolonnenavn, finner du informasjon om hvilken datatype kolonnen har i kjerneapiet, og ofte også en nærmere beskrivelse av kolonnen (tilsvarer "F2- teksten" i FS-klienten). Kjerne-APIet kan også inneholde kolonner som ikke finnes i tilsvarende tabell i FS, men som er utledet av andre data. Eksempelvis har kjerne-APIet personløpenummer som kolonne i alle tabeller som inneholder persondata, selv om FS bare har fødselsnummer.

IDer

Tabeller kan også inneholde IDer som referer til andre tabeller. Disse er litt vanskeligere å finne i kjerne-API-dokumentasjonen enn kolonner, men klikker du på en tabell i lista over tabeller, vil du finne en overskrift som heter "Method Summary". Dersom du finner en metode som heter noe slikt som getRolleTabellnavnId, er du på riktig spor. Tabellen Semesterregistrering inneholder for eksempel metoden getBetalStedInstitusjonId, som peker på IDen med navnet BetalStedInstitusjonId.

Nøkler

For å lage kanter i APIet, trenger vi å vite hvordan tabellene er koblet sammen. I Keys.html i kjerneapidocs finner vi oversikt over alle nøkler i APIet. Det er fremmednøklene som er mest interessante for oss. Disse har navn av typen TABELL1__ROLLE__TABELL2__FK. Disse navnene kan vi bruke for å få kodegeneratoren til å koble sammen tabellene på riktig måte.

Conditions

Conditions kan blant annet brukes for å gjøre joins som ikke følger fremmednøklene i databasen, eller for å returnere en filtrert versjon av en tabell. Oversikt over eksisterende conditions finner du i kjernapidocs.

Servicer

Servicer er javakode vi kan kalle på blant annet for å utføre skriveoperasjoner via kjerneapiet. Oversikt over servicer som kan brukes finner du i i kjerneapiservicedocs.