Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
B basis
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • m223
  • basis
  • Wiki
  • 1 anforderungen

Last edited by Stephan Metzler Nov 18, 2018
Page history

1 anforderungen

Zurück zum Modul: m223.komeo.net

LB1: Anforderungen

user, procet und group des komeo GitLab darstellen:

image

Architektur

5-Tier Architektur:

  • Client-, Web-, Logik- und 2 EIS-Tiers (GitLab und RDBMS)

Architektur

WEB-Tier
  • Presentaionon Layer, implementiert das MVC Pattern
  • Controller: Daten per REST von der LOGIK-Tier
  • Model: {json}
  • Technologie ist frei wählbar
    • Ruby, C#, Java, PHP, NodeJS, Angular, 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 DB

Ausgangslage

Microservices

Microservices are an architecture for breaking up a monolithic application into a collection of smaller pieces. Each of those pieces provides a particular function via a well-defined and carefully managed API. The collection delivers the same overall business value as the original monolithic application, but the independence of the individual pieces means they can be updated much more quickly without impacting the overall collection. (This requires, of course, that any changes to the API are done in a backwards-compatible way.) - Burr Sutter, redhat

1. Microservice user:

Das GitLab Projekt m223/m223-api stellt den MicroService user zur Verfügung:

  • m223-api.komeo.net/user/all
  • m223-api.komeo.net/user/name/stephan.metzler
  • m223-api.komeo.net/user/id/4
  • m223-api.komeo.net/user/echo/hello

mit Browser oder einem REST Tool testen

  • testen mit z.B: PostMan, curl, etc.
  • Brosercall z.B: URI: m223-api.komeo.net/user/all

MicroService_User

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.

  • m223-api.komeo.net/gitlab/user/gitlab ruft den Micro-Service m223-api.komeo.net/user/all auf
  • m223-api.komeo.net/gitlab/user/db holt die User aus der DB
  • m223-api.komeo.net/gitlab/merge merges all Komeo GitLab user in die MySQL DB
    • look up DB credentials in WildFly log > run log CI/CD pipeline
  • m223-api.komeo.net/gitlab/elapse zeigt die Zugriffszeiten: alle Komeo User von GitLab vs. DB
  • m223-api.komeo.net/gitlab/hits implementiert einen Hit-Zähler als Singleton-Bean
  • m223-api.komeo.net/gitlab/echo/hi implementiert ein WildFly Server Echo

MicroService_GitLab

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
    • (reverse-enginerred) UML Gruppenarbeit
    • Implemtieren der Web-Tier in der gewählten Technologie
  • LBV 1.3 - Anforderungen verstehen - Pattern
    • eduPad Gruppenarbeit
    • Code Snippets
  • LBV 1.4 - Anforderungen umsetzten - Konzepte
    • Erweitern des Basis-Projekt: m223/m223-api
    • Implemtieren der Web-Tier in der gewählten Technologie (Fortsetzung)

Abgabe LB 1

Am Abend des 2. Modultages

Clone repository

Home


1. und 2. Tag

1 Anforderungen

  • LBV 1.1
  • LBV 1.2
  • LBV 1.3
  • LBV 1.4

3. bis 5. Tag

2 Erweiterungen

  • LBV 2.1
  • LBV 2.2
  • LBV 2.3
  • LBV 2.4

laufende Projekte

Bewertunsraster