Zurück zum Modul: m223.komeo.net
LB1: Anforderungen
Die user
, procet
und group
des komeo GitLab darstellen:
Architektur
Wir starten mit einer 5-Tier Architektur:
- Client-, Web-, Logik- und 2 EIS-Tiers (GitLab und RDBMS)
WEB-Tier
- Presentaionon Layer, implementiert das MVC Pattern
- Controller: Daten per REST von der LOGIK-Tier
- Model: aus
{json}
- Technologie ist frei wählbar (Ruby, C#, Java, etc.)
LOGIK-Tier
- Logik (Business) Tier, JEE Stack al WildFly Docker
- stellt REST Micro-Services zur Verfügung
- Daten per GitLab API
- persistiert auf MySQL
Ausgangslage
Das GitLab Projekt m223/api1 stellt die MicroService Bespiele user
, procet
und group
zur Verfügung:
mit Browser oder einem REST Tool, z.B: PostMan, curl, etc. testen
| pom.xml
|
+---src
| +---main
| | +---java
| | | \---net
| | | \---komeo
| | | \---m223
| | | \---api
| | | \---user
| | | +---boundary
| | | | Engine.java
| | | |
| | | +---control
| | | | GitLab.java
| | | |
| | | \---service
| | | JAXRSConfiguration.java
| | | Resource.java
| | |
| | +---resources
| | \---webapp
| | \---WEB-INF
| | beans.xml
| |
| \---test
| \---java
\---target
| user.war
Die weitere MicroService gitlab
(JPA) und client
(REST-Client) erweitern die Funktionalität:
gitlab (Micro-Service benützt ander Micro-Services)
-
api1.komeo.net/gitlab/users ruft den Micro-Service api1.komeo.net/user/all auf
-
api1.komeo.net/gitlab/groups ruft den Micro-Service api1.komeo.net/group/all auf
-
api1.komeo.net/gitlab/projects ruft den Micro-Service api1.komeo.net/project/all auf
-
api1.komeo.net/gitlab/merge merged
user
,group
undproject
in der MySQL DB
client ()
| pom.xml
|
+---src
| +---main
| | +---java
| | | \---net
| | | \---komeo
| | | \---m223
| | | \---api
| | | \---gitlab
| | | +---boundary
| | | | Engine.java
| | | | Start.java
| | | |
| | | +---control
| | | | GitLab.java
| | | |
| | | +---entity
| | | | GitLabGroup.java
| | | | GitLabProject.java
| | | | GitLabUser.java
| | | |
| | | \---service
| | | JAXRSConfiguration.java
| | | Resource.java
| | |
| | +---resources
| | | \---META-INF
| | | persistence.xml
| | |
| | \---webapp
| | \---WEB-INF
| | beans.xml
| |
| \---test
| \---java
\---target
| gitlab.war
Aufgaben
-
LBV 1.1
- eduPad Gruppenarbeit
- MarkDown Zusammfassung eines Theams als Einzelabeit
-
LBV 1.2
- (reverse-enginerred) UML Gruppenarbeit
-
LBV 1.3
- eduPad Gruppenarbeit
- Code Snippets
-
LBV 1.4
- Middleware-Konzepte
- Erweitern des Projekt m223/api1
Abgabe LB 1
Am Abend des 2. Modultages