Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

...

  • HtmlDashboard – huvudansvar för dashboarden, hämtar info i mule registry
  • HtmlDashboardRenderer – rendrerar html-sidan
  • CssProvider – läser in css-fil som används vid rendreringen

Gemensamt hjälpbibliotek

Projektet heter tp-util.

Gemensamt schemabibliotek

Projektet heter tp-schemas.

Referensapplikation

Den syftar till att

  • illustrera hur en virtuell tjänst paketeras
  • ge möjlighet att provköra virtualiseringsplattformen med en virtuell tjänst
  • titta på exempel på hur en tjänstekonsument och tjänsteproducent kan se ut
  • verifera en installation av virtualiseringsplattformen

Referensapplikationen består av nedanstående projekt, som var och ett byggs till komponenter.

tp-journalinfo-apoteket-test-virtualisering

Innehåller den konfigurations-fil som alla virtualiserade tjänster måste ha: tp-virtuell-tjanstconfig. xml. Projektet innehåller även tjänsteinteraktionens wsdl, tjänstescheman och meddelandescheman, samt WS-addressing-core-schema. När man bygger detta projekt paketeras en jar. Denna jar representerar en virtuell tjänst och syftar till att installeras på virtualiseringsplattformen.

tp-journalinfo-apoteket-test-consumer

Innehåller en java-klass som gör ett anrop till den virtualiserade tjänst som tp-journalinfo-apotekettest-virtualisering representerar

tp-journalinfo-apoteket-test-producer

Innehåller en java-klass som svara på ett anrop från den virtualiserade tjänsten som tp-journalinfoapoteket-test-virtualisering representerar.

Certs

Innehåller certifikat som kan användas vid test

Meddelande struktur

Alla meddelande strukturer som används av tillförda virtualiserade tjänster följer RIV-TA-profilen. Meddelande formatet åtföljer WSDL bekrivningen för en virtuell tjänst.

SökVägvalsInfo

Denna tjänst använder ett internt meddelande format enligt bilden nedan.

Image Added

Utveckling

All källkod för projektet finns upplagt som Open Source på http://code.google.com/p/skltp/

Maven

För att bygga en version av TP används Maven (version 2.0.9). TP innehåller 2 olika parent POM:ar. Dels för att bygga själva TP och dels för att bygga referensapplikationen (tp-journalinfoapoteket-exempel). Kommandot mvn clean install genererar alla artefakter samt kör alla enhetstester.

Eclipse

Projektet har använt Eclipse som utvecklingsmiljö. För att generera eclipse projekt från medföljande kodbas används Maven (mvn eclipse:eclipse).

Exceptions

Följande felsituationer hanteras av virtualiseringsplattformen. Om ett fel uppstår loggas det och ett VpSemanticException kastas. Det görs senare om till SoapFaultException vilket är den exception som når klienten.

FelkodFeltext 
VP001

Riv-version inte konfigurerad för den anslutningspunkt som den virtualiserade tjänsten publicerar.

 
VP002

SERIALNUMBER ej tillgängligt i konsumentens certifikat i namn-attributet.

 
VP003

ReceiverId ej ifylld i RivHeadern i inkommande meddelande.

 
VP004

Det finns ingen tjänsteproducent definierad i Tjänstekatalogen som matchar ReceiverId, Tjänstekontrakt och dagens datum.

 
VP005

Det finns ingen tjänsteproducent definierad i Tjänstekatalogen som matchar Riv-version, konvertering mellan rivversioner inte implementerat.

 
VP006

Det finns mer än 1 tjänsteproducent definierad i Tjänstekatalogen som matchar ReceiverId, Tjänstekontrakt och dagens datum. Tyder på att Tjänstekatalogen är felkonfigurerad.

 
VP007

Den finns ingen behörighet för den tjänstekomponent som anropar att samverka med tjänsteproducenten. Avser behörigheter definierade i tjänstekatalogen.

 

 
VP008

Ingen kontakt med tjänstekatalogen. Innebär att vägvalsagenten inte kunnat hämta vägvalsinformation varken vid uppstart eller vid något efterföljande anrop.

 
VP009

Fel vid kontakt med tjänsteproducenten.

 
VP010

Ingen adress angiven i tjänsteproducenten

 

Loggning

Eftersom virtualiseringsplattformen är baserad på Mule används mekanismerna i Mule för att styra loggning. Mule använder log4j vilket beskrivs i http://ricston.com/blog/?p=81. Ett förslag på log4j.properties är som följer