...
- 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.
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.
Felkod | Feltext | |
---|---|---|
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