Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Formålet med dette dokument er at beskrive de enkelte SDKers arkitektur og deres interne afhængigheder for NAP SDK'er.

Illustrationerne forsøger også at afbillede konsteksbroen "Nap Bridge" som er byggestenen for intergrationen til anvender systemet.

 Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for NAP SDK.

Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.

Information om hvordan SDKerne anvdens kan læse på NAP SDK - Guide til anvendere.

NAP-SDK placering i forhold til NAP platformen

NAP-sdk rolle i den samlede NAP platform er illustreret i Application Structure Viewpoint

Overordnet struktur af NAP-SDK

Den basale logik ligger i nap-typescript-sdk, og implementeres i som kan anvendes i et hvilket som helst javascript projekt.

Både nap-angular-sdk og nap-react-sdk implementerer Nap-typescript-sdk.

Nap-angular-sdk har derudover binding til Angular frameworket og er ment som udviklingsværktøj hertil.

Nap-react-sdk har deruodver binding til react biblioteket og er ment som udviklingsværktøj hertil.

Versionsnumrende for både nap-angular-sdk og nap-react-sdk følger nap-typescript-sdk og der garanteres ingen bagudkombatibliitet.

Gliffy Diagram
macroId4cb83a8b-8a02-4988-8e24-be934f68cc07
namesdkstructure
pagePin1


Nap-typescript-sdk

Konteksdelingsbro NAP Bridge

En kontekstdelings bro er kommunikationskanal mellem værts- og klientsystem. I NAP er dette et en JavaScript object, som fra værtssystem tilføjes global scope på klient systemet.

Objectet har formen:

Code Block
languagejs
interface NAPHostBridge {
  setCallback: (handler: { handle: (message: string) => void }) => void;
  send: (message: string) => void;
}

Ud fra denne simple opskrift bliver det muligt at sende beskeder frem og tilbage mellem værts- og klientsystem.


Initialisering af Konteksdelingsbro

 NapNår createNAP() kaldes Nap-typescript-sdk, sørger for at hente den bro (NAP bridge), som et anvendersystem (et vilkårligt lægepraksis system) har indlejret på global scope, som illustreret i komponent diagrammet nedenfor.

Code Block
languagejs

  /**
   * Check and fetch the Javascript object injected by the host
   */
  let temporaryHostBridge;
  let hostBridge = undefined;
  try {
    temporaryHostBridge =
      window !== undefined ? (window['NAP'] as NAPHostBridge) : undefined;
  } finally {
    hostBridge = temporaryHostBridge;
    if (!hostBridge) {
      postError(Errors.NO_HOSTBRIDGE_100);
    }
  }

Hvis denne bro findes på global scope opretter nap-typerscript-sdk håndtag og messagestreams til kommunikation med værtssytemet. Dette er illustreret neden for:

Gliffy Diagram
macroId26a7b1ea-8710-4c54-b494-4c9c88cb0a42
namebridgesetup
pagePin2

...