Arkkitehtuurikuvaus
Peppi on toteutettu palvelukeskeisen arkkitehtuurin (SOA) mukaisesti. Arkkitehtuuria suunniteltaessa on huomioitu mm valtiovarainministeriön vaatimukset järjestelmäarkkitehtuurille, Raketti-hankkeessa määritellyt opetussuunnitteluun liittyvät skeemat ja käsitteet, sekä Kuali-yhteisön toteuttamat opetussuunnitteluun liittyvät järjestelmämoduulit. Arkkitehtuuria on sittemmin päivitetty esimerkiksi Perusrekisteri-projektin yhteydessä, jossa oli tärkeää huomioida keskeiset viitearkkitehtuurit ja lainsäädäntö.
Pepin teknistä arkkitehtuuria on myös jatkuvasti evaluoitu toimialalla tapahtuvien rinnakkaisprojektien arkkitehtuureja vasten. Käytettyjä teknologioita ja kehittämiskäytäntöjä on päivitetty konsortion linjausten mukaisesti, eli hallitusti ja yhteensopivuus säilyttäen.
Järjestelmäarkkitehtuurin yleiskuvaus
Peppi-arkkitehtuurin perusteknologiana on Java, ja sen päälle toteutetut avoimen lähdekoodin palvelinohjelmat ja sovelluskehykset.
Palvelut on erotettu järjestelmäarkkitehtuurissa erillisiksi moduuleiksi. Palvelurajapinnat julkaistaan REST ja/tai SOAP-tyyppisinä, riippuen palvelusta ja sen käyttötarpeista. Palvelumoduulit asennetaan OSGi-säiliön tarjoavaan ServiceMix-alustaan (yleensä useita instansseja), jonka avulla toteutetaan myös integraatiot muihin järjestelmiin hyödyntäen Apache Camel-teknologiaa. ServiceMix-instansseista muodostuu palvelukerros. Käyttöliittymäkerros, eli rooleihin perustuvat työpöydät, koostetaan Liferay Portal-instanssien avulla.