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
This is an old version of this page. You can view the most recent version or browse the 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: 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

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/api1 stellt den MicroService user zur Verfügung:

  • api1.komeo.net/user/all
  • api1.komeo.net/user/name/stephan.metzler
  • api1.komeo.net/user/id/4

mit Browser oder einem REST Tool, z.B: PostMan, curl, etc. testen, z.B: URI: api1.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.

  • api1.komeo.net/gitlab/users ruft den Micro-Service api1.komeo.net/user/all auf
  • api1.komeo.net/gitlab/merge merged user, groupund projectin der MySQL DB
  • api1.komeo.net/gitlab/hits implentiert einen Hit-Zähler als Singolton-Bean

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/api1
    • Implemtieren der Web-Tier in der gewählten Technologie (Fortsetzung)

Abgabe LB 1

Am Abend des 2. Modultages

Clone repository
  • 1 anforderungen
  • 2 erweiterungen
  • Home
  • klassen
  • lbv 1 1
  • lbv 1 2
  • lbv 1 3
  • lbv 1 4
  • lbv 2 1
  • lbv 2 2
  • lbv 2 3
  • lbv 2 4
  • projects