Zurück zum Modul: m223.komeo.net
LB1: Anforderungen
user
, procet
und group
des komeo GitLab darstellen:
Architektur
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
1. Microservise user:
Das GitLab Projekt m223/api1 stellt den MicroService user
zur Verfügung:
mit Browser oder einem REST Tool, z.B: PostMan, curl, etc. testen, z.B: URI: api1.komeo.net/user/all
tree /f /a
+---user
| nb-configuration.xml
| pom.xml
|
+---src
| +---main
| | +---java
| | | \---net
| | | \---komeo
| | | \---m223
| | | \---api
| | | \---user
| | | +---boundary
| | | | Engine.java
| | | |
| | | +---control
| | | | GitLab.java
| | | |
| | | \---service
| | | JAXRSConfiguration.java
| | | Resource.java
\---target
| user.war
2. Microservise gitlab:
Der MicroService gitlab
(JPA) erweitert die Funktionalität, indem der Microservise user eingebunden wird.
- api1.komeo.net/gitlab/users ruft den Micro-Service api1.komeo.net/user/all auf
-
api1.komeo.net/gitlab/merge merged
user
,group
undproject
in der MySQL DB - api1.komeo.net/gitlab/hits implentiert einen Hit-Zähler als Singolton-Bean
tree /f /a
+---gitlab
| | pom.xml
| |
| +---src
| | +---main
| | | +---java
| | | | \---net
| | | | \---komeo
| | | | \---m223
| | | | \---api
| | | | \---gitlab
| | | | +---aop
| | | | | Mailer.java
| | | | | SysLog.java
| | | | |
| | | | +---boundary
| | | | | Engine.java
| | | | | HitCounter.java
| | | | | Merge.java
| | | | |
| | | | +---control
| | | | | GitLab.java
| | | | |
| | | | +---entity
| | | | | GitLabGroup.java
| | | | | GitLabProject.java
| | | | | GitLabUser.java
| | | | |
| | | | \---service
| | | | JAXRSConfiguration.java
| | | | Resource.java
| | | |
| | | +---resources
| | | | \---META-INF
| | | | persistence.xml
| \---target
| | gitlab.war
Aufgaben
-
LBV 1.1 - Anforderungen kennen - Tools
- eduPad Gruppenarbeit
- Cheat-Sheet (Zusammfassung) eines Tools als Einzelarbeit
-
LBV 1.2 - Anforderungen abbilden - UML Diagramme konsolidieren
- (reverse-enginerred) UML Gruppenarbeit
- Implemtieren der Web-Tier in der gewählten Technologie
-
LBV 1.3 - Anforderungen verstehen - Technolgien / Spezifikationen verstehen
- eduPad Gruppenarbeit
- Code Snippets
-
LBV 1.4 - Anforderungen umsetzten - Middleware-Konzepte anwenden
- Erweitern des Basis-Projekt: m223/api1
- Implemtieren der Web-Tier in der gewählten Technologie (Fortsetzung)
Abgabe LB 1
Am Abend des 2. Modultages