Innehållsförteckning | ||
---|---|---|
|
Virtuell tjänst
En virtuell tjänst erbjuder en anslutningspunkt per tjänstekontrakt som standardiserats genom RIVmetoden. I praktiken finns det ofta många tjänsteproducenter (regionala, landstingsspecifika eller gemensamma för ett antal vårdgivare) för ett standardiserat tjänstekontrakt. Virtuella tjänster döljer detta förhållande för tjänstekonsumenter.
Driftsätta virtualiseringar i Virtualiseringsplattformen
- Lägg till jar-fil med virtualisering i <MULE_HOME>/apps/vp-services-[version]/lib katalogen
- Använd kommandot touch <MULE_HOME>/apps/vp-services-[version]/vp-config.xml för att ladda om applikationen och starta den virtuella tjänsten
- Säkerställ driftsättningen av den virtuella tjänsten genom att:
titta i loggen <MULE_HOME>/logs/mule-app-vp.log. Omladdningen har gått bra när man ser informationen nedan i loggen:
Kodblock **********************************************************************
...
* Application: vp-services-2.2.
...
4 * * OS encoding: UTF-8, Mule encoding: UTF-
...
* Agents Running: *
* JMX Agent *
* Clustering Agent *
8 * * Agents Running: * * JMX Agent * * Clustering Agent * **********************************************************************
b. Hämta upp den installerade virtuella tjänstens wsdl genom SOAPUI. Det räcker med att testa en eller två tjänster:
- Gå till File=> New soapUI Project och fyll i Project Name och Initial WSDL/WADL.
- Project Name är valfritt.
- Initial WSDL/WADL är adress till tjänstens wsdl. Den får man fram genom att packa upp tjänstens jar-fil och titta efter adress för inbound-endpoint i filen tp2-service-mule-descriptor.xml.
ex. address="https://${TP_HOST}:${TP_PORT}/${TP_BASE_URI}/AterkallaSamtyckeVardsystem/1/rivtabp20". - Ersätt samtliga parametrar i adressen och lägg till ?wsdl på slutet, till exempel: https://123.456.00.00:20000/vp/AterkallaSamtyckeVardsystem/1/rivtabp20?wsdl
- Lyckas upphämtningen av wsdl-en kommer ett SoapUI projekt skapas med ett request till tjänsten.
Verktyg för att generera virtuella tjänster
Verktyg för att hjälpa till i arbetet med att skapa körbara virtuella tjänster.
Generera körbara virtuella tjänster för VP 1.3.x och VP 2.0.
Beskrivning
Ett script för att generera körbara jar-filer för virtualiseringsplattformen.
Förutsättningar
Java är installerat och JAVA_HOME är satt i miljön.
Kräver groovy 1.8 eller nyare, se här för installationsinstruktioner.
Kräver Maven 3.0 eller nyare.
Rätt version av Maven behövs för att kunna köra scriptet.
You need to install Maven service archetype of correct version in order to run the script
- cd /skltpservices/tools/generators/archetypes/tags/1.1/ServiceArchetype
- mvn install
Scriptet baseras på RIV TA Konfigurationsstyrning 1.0
Skapa tjänstevirtualiseringar
- Ladda ner RIV TA zip med servicekontrakt och zippa upp det, RIV TA
- Checka ut filerna som behövs för att köra
- Uppdatera artifactId och version i
pomtemplate.xml
beroende på vilken domän/subdomän som används och vilken RIV TA version kontraktet använder, se exempel nedan
...
icon | false |
---|
<groupId>se.skl.skltpservices</groupId>
<artifactId>itintegration-engagementindex</artifactId>
<version>1-RC4</version>
4. Uppdatera version i /VirtualiseringGenerator.groovy så att det matchar versionen på RIV TA kontraktet
Info | ||
---|---|---|
| ||
def version = '1.0-RC4' |
5. Kör script med schemas som input
Info | ||
---|---|---|
| ||
$./VirtualiseringGenerator.groovy <path to unzipped RIV TA file>/schemas |
6. Mappar för varje interaktion har nu skapats. Varje mapp innehåller en definition av en virtuell tjänst
Info | ||
---|---|---|
| ||
FindContent pom.xml Virtualisering pom.xml src main resources schemas core_components interactions tp2-service-mule-descriptor.xml GetUpdates ProcessNotification Update pom.xml |
7. Kör maven install för att skapa körbara jar-filer
Info | ||
---|---|---|
| ||
$mvn clean package |
...
Script hänger på mvn archetype:generate
Kör mvn archetype:generate kommandot manuellt för att ladda ner olika beroenden som behövs av scriptet. Prova att köra scriptet igen när beroendena finns nedladdade.
Använda 1.1
Info | ||
---|---|---|
| ||
-DinteractiveMode=false -DarchetypeArtifactId=service-archetype -DarchetypeGroupId=se.skl.tp.archetype -DarchetypeVersion=1.0-SNAPSHOT -Duser.dir=. -DgroupId=se.skl.skltpservices.itintegration.engagementindex -DartifactId=FindContent -Dversion=1.1 -DdomainName=itintegration -DdomainSubName=engagementindex -DserviceMethod=FindContent -DserviceInteraction=FindContentInteraction -DserviceRelativePath=FindContent/1/rivtabp21 -DserviceWsdlFile=FindContentInteraction_1.0_RIVTABP21.wsdl -DserviceNamespace=urn:riv:itintegration:engagementindex:FindContent:1:rivtabp21 |
Använda 1.2
- Endast Mule3 flow för virtualisering, mule2 service borttagen
- Lägger till en http och https ändpunkt
- Lägger till möjligheten att styra via keep-alive via feature
- Ändpunkternas adress innehåller nu även domän och subdomän
...
icon | false |
---|
-DinteractiveMode=false
-DarchetypeArtifactId=service-archetype
-DarchetypeGroupId=se.skl.tp.archetype
-DarchetypeVersion=1.2
-Duser.dir=.
-DgroupId=se.skl.skltpservices.crm.scheduling
-DartifactId=GetSubjectOfCareSchedule
...
- .
...
-DVirtualiseringArtifactId=crm-scheduling-GetSubjectOfCareSchedule-virtualisering
-DhttpsEndpointAdress=https://${TP_HOST}:{TP_PORT}/${TP_BASE_URI}/crm/scheduling/GetSubjectOfCareSchedule/1/rivtabp21
-DhttpEndpointAdress=http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/crm/scheduling/GetSubjectOfCareSchedule/1/rivtabp21
-DflowName=crm-scheduling-GetSubjectOfCareScheduleInteraction-virtualisering-flow
-DfeatureKeepalive=${feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1:${feature.keepalive}}
-DserviceMethod=GetSubjectOfCareSchedule
-DserviceWsdlFileDir=classpath:/schemas/interactions/GetSubjectOfCareScheduleInteraction/GetSubjectOfCareScheduleInteraction_1.1_RIVTABP21.wsdl
...