Mattias Andersson

L3 simulator
• Motiv
– Slippa beroende till L3 projektet
– Framtida förvaltning
• Lösning
– Web Server för att generera atom feeds och
svara på Rest-anrop
– Fitnesse fixturer för att verifiera information
från NyA
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
2
L3 simulator
/feed
feed.server
/eduinfo
/ladok
/admin
/feed
/sim
integration.sim.core (jar)
/credential
integration.sim.ladok (jar)
integration.sim.server (war)
dropin
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
3
Admin (REST protocol)
•
•
•
•
•
•
•
Fördröj svar från REST-anrop
Sätta särskilda returkoder på REST-anrop
Fördröj svar på feed-anrop
Sätta särskilda returkoder på feed-anrop
Publicera test-event på feed (godtycklig XML-string)
Tömma databasen
Ladda upp filer via REST
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
4
MBeans
• Grundläggande stöd
– Drop database
– Övervaka antalet feed anrop
• Specifik feed
• Recent
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
5
Dropin-katalogen
• Laddar simulatorn via fil
• Extensions registrerar intresse av filnamn
• Filer kan också laddas upp via Admin protokollet
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
6
Project structure
integration.sim.extension.api
integration.sim.admin.api
integration.sim.core
integration.ladok.api
(JAXB)
integration.sim.ladok
integration.sim.server
atom.feed.server
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
7
integration.sim.extension.api
public interface FeedPublisher {
void publish(AtomEntry entry);
}
public interface DatabaseAdmin {
void dropTables();
}
public interface FileLoader {
Result execute(ExtensionContext context);
}
public interface Config {
Initialization getInitialization();
}
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
8
integration.sim.ladok
• Swagger
• Ladda Merit och Katalogdata via REST/Fitnesse
– PUT-anrop laddar en post och skapar ett entry på feed’en.
– Motsvarande GET-anrop returnerar posten.
• Ladda Merit och Katalogdata via AF26 filer
– Fördel att kunna använda samma testdata för Ladok 2 & 3
• AF26-filer kan laddas via REST och Fitnesse-fixtur
• XML baserat filformat borde stödjas i framtiden
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
9
Fitnesse
• Admin
|script
|Simulator Database Admin Fixture
|
|nollställ
|
|$id= |ladda af26 fil|/tmp/AF26_BATCH_RUNNER_1|från organisation|UMU|
|publicera event|!- <corq><link httpMethod="GET" mediaType="application/json" rel="course”
uri="http://localhost:61080/sim/courseregistrationqualification/UMU/19900115T167/2FK029"/>
<type>corq</type><personId>19900115T167</personId></corq> -!| med typ|credential|och kategorier
|!{Lärosäte:UMU, Event-typ:credential}|
• Ladok
|script|simulator course fixture
|$eventId=|lägg till kurs|00001|för organisation|UMU|med parametrarna|
!{institutionskod:2480, poäng:10, ämne:551, namn:Kursen, utbildningsnivå:0}|
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
10
Runtime requirements
• Java EE 6
– CDI
– EJB
– JAX-RS
• Java 1.7
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
11
Mer info
• [email protected]
• Användarmanual:
https://nya.ladok.umu.se/nyawiki/index.php/Simulator
• VOB: NYA_JAVA\integration.sim
Enheten för IT-stöd och
systemutveckling, ITS
2015-10-15
12