Implementations vy
Implementationen av engagemangsindex följer en traditionell lagerindelning:
- Integrationslager
Hanterar all extern och intern kommunikation inklusive hantering av transaktioner, loggning fel och omsändning.
Detta lager har beroenden till Mule CE som ESB och Apache ActiveMQ som JMS provider. - Verksamhetslager
Innehåller regelverk som följer regler i tjänstekontraktet för engagemangsindex.
Detta lager är implementerat som rena Java klasser (POJO's) och använder Spring Framework för att hantering av beroenden i runtime (DI). - Persistenslager
Hanterar lagring och sökning av engagemangsindex-information i databasen.
Detta lager är beroende av JPA 2.0 samt Spring Data. För lokala tester används en HSQL in-memory databas och för externa tester används MySQL.
Persistenslagret kan konfigureras för att använda andra databaser som MS SQL Server, IBM D2 eller Oracle.
Implementations källkodstruktur följer VGR's referensarkitektur inom ramen för Öppna Program (http://code.google.com/p/oppna-program/wiki/Anvisningar_Kallkodstruktur):
Följande bild återger källkostrukturen ner på Maven modul och därmed Eclipse projekt nivå:
Foldrarna innehåller följande projekt:
applications
mule-backend-app
Applikation avsedd att driftsättas på en Mule instans med alla komponenter förutom som som ligger i frontend app'enmule-frontend-app
Applikation avsedd att driftsättas på en Mule instans med komponenterna update-service och notification-service.
Not: Så länge frontend-appen är uppe så kan EI ta emot uppdateringar även om backend-appen och dess databas är nere för t ex underhåll.web-backend-app
Motsvarande app som mule-backend-app fast avsedd för att driftsättas på en servlet-kontainer typ Tomcat som en war-fil.web-frontend-app
Motsvarande app som mule-frontend-app fast avsedd för att driftsättas på en servlet-kontainer typ Tomcat som en war-fil.
composites
schema
Innehåller de tjänstekontrakt som implementationen exponerar och/eller konsumerar.svc
Innehåller källkoden för verksamhetslagret samt persistenslagret.
modules
intsvc
Innehåller källkoden för integrationslagret.
Följande modell beskriver de mest centrala källkodsartefakterna samt var de finns placerade i källkodsträdet:
Integrationslager
TBD
Verksamhetslager
TBD
Persistenslager
TBD