Målmiljö
Målmiljöer för systemet är Windows och Linux.
Övergripande
VP bygger på Mule och driftsätts som ett flöde i Mule. Varje virtualisering kommer också att drift sättas som separata flöden i Mule.
Deploy komponenter
Virtualseringsplattformen består endast av en komponent (vp-services) som skall driftsättas.
Alla virtualiseringar driftssätts även i Mule men dessa ingår inte i själva VP releasen.
Portabla byggen
Alla komponenter i tjänsteplattfomen är uppsatta för att möjliggöra portabla byggen. Alla projekt är strukturerade för Maven och avses att byggas med Maven 3. Filosofin sammanfattas förenklat i 3 steg, checkout, build, run. Innebär att man börjar med att checka ut allt från sitt cm-verktyg tex GIT. Därefter ställer man sig i trunk-foldern och skriver mvn install. Därefter kan man starta olika delar av applikationen med olika maven-kommando, tex
mvn exec:java -Dexec.mainClass="org.mule.MuleServer" -Dexec.args="-config tp-nationelltjanst1-virtualisering.xml"
för att starta mule-applikationer.
Paketering virtuell tjänst
Varje virtuell tjänst är förpackad i en jar. Denna jar driftsätts på en instans av Virtualiseringsplattformen genom att den görs tillgänglig på classpathen för Mule. Det gör man genom att lägga jar-filen på MULE_HOME/lib/user. Jar-filen skall innehålla en mule-syntaktisk konfigurationsfil för den virtuella tjänsten. När Mule startas laddar den in konfigurationsfilen för alla virtuella tjänster. Det görs genom att Virtualiseringsplattformens konfiguration importerar "classpath*:tp2-service-mule-descriptor.xml". Det innebär att konfigurationsfilerna inte skall ha namn som avspeglar tjänstens namn utan måste heta exakt tp2-service-mule-descriptor.xml. Däremot innehållet i konfigurationsfilen måste definiera ett Mule flöde som har ett unikt namn i förhållande till alla andra virtualiserade tjänster.
Dessutom innehåller konfigurationsfilen ett antal tjänstespecifika attribut. Innehållet i konfigurationsfilen måste exakt följa den mall som gäller för given version av virtualiseringsplattformen. Jar-filen skall också innehålla WSDL och schema filer för den virtuella tjänsten. Anledningen till det är att tjänstekonsumenten skall kunna anropa virtualiseringsplattformen med ?wsdl och då få WSDL:en som svar. Om det finns en wrapper-WSDL skall den också finnas med. Dessutom skall de xml-schema som WSDL:en refererar till finnas med i jar-filen. Alla dokument bör ligga i roten på jar-filen dvs ingen intern struktur.
Processen för att paketera en virtuell tjänst finns beskriven i VP Anvisningar användare[7].
Plattformsdomäner
Virtualiseringsplattformen driftssätts lämpligen på minst två olika noder som nås via en lastbalanserare för inkommande trafik.
Virtualiseringsplattformens distribution
För att bygga en release följer vi standardproceduren beskriven på: Generella instruktioner för utvecklare.