All Projects → khauser → microservices4vaadin

khauser / microservices4vaadin

Licence: other
Sample application to show the secured integration of microservices and vaadin

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to microservices4vaadin

keycloak-sso-configs
common keycloak single sign on configurations
Stars: ✭ 19 (-36.67%)
Mutual labels:  rancher, sso
rancher-cloud-controller-manager
A kubernetes cloud-controller-manager for the rancher cloud
Stars: ✭ 44 (+46.67%)
Mutual labels:  rancher
ds-gradle-vaadin
Gradle plugin for building Vaadin Flow 10/11/12/13/14/15 apps
Stars: ✭ 37 (+23.33%)
Mutual labels:  vaadin
EventStore-Client-NodeJS
A NodeJS client for Event Store
Stars: ✭ 139 (+363.33%)
Mutual labels:  eventstore
Multitenancy-Microservice-FederatedIdentity-Example
Multitenancy Federated Identity Example ASP.NET MVC C#
Stars: ✭ 33 (+10%)
Mutual labels:  sso
terraform-openstack-rke2
Deploy Kubernetes on OpenStack with RKE2
Stars: ✭ 38 (+26.67%)
Mutual labels:  rancher
go-bmi
Body Mass Index(BMI) application developed by go-chassis microservice framwork
Stars: ✭ 14 (-53.33%)
Mutual labels:  service-discovery
kconnect
Kubernetes Connection Manager CLI
Stars: ✭ 168 (+460%)
Mutual labels:  rancher
FabricSSO
A SSO(Single Sign On) platform with Microservices architecture built on IdentityServer 4
Stars: ✭ 14 (-53.33%)
Mutual labels:  sso
security-demo
Springboot、SpringSecutity常见demo集合
Stars: ✭ 43 (+43.33%)
Mutual labels:  sso
dashboard
The Rancher UI
Stars: ✭ 264 (+780%)
Mutual labels:  rancher
sample-kotlin-ktor-microservices
sample microservices written in Kotlin that demonstrates usage of Ktor framework woth Consul server
Stars: ✭ 37 (+23.33%)
Mutual labels:  service-discovery
waldur-homeport
Waldur HomePort is web-based client for the Waldur MasterMind.
Stars: ✭ 22 (-26.67%)
Mutual labels:  rancher
k3d-action
A GitHub Action to run lightweight ephemeral Kubernetes clusters during workflow. Fundamental advantage of this action is a full customization of embedded k3s clusters. In addition, it provides a private image registry and multi-cluster support.
Stars: ✭ 137 (+356.67%)
Mutual labels:  rancher
trauth
🔑 A simple Traefik ForwardAuth server for HTTP Basic SSO
Stars: ✭ 30 (+0%)
Mutual labels:  sso
LYM.NetCore
IdentityServer4+EFCore
Stars: ✭ 17 (-43.33%)
Mutual labels:  sso
juno-agent
juno-agent
Stars: ✭ 46 (+53.33%)
Mutual labels:  service-discovery
vaadstrap
Bootstrap for Vaadin
Stars: ✭ 13 (-56.67%)
Mutual labels:  vaadin
sample-envoy-proxy
custom implementation of service discovery with envoy and inter-service communication for spring-boot applications
Stars: ✭ 29 (-3.33%)
Mutual labels:  service-discovery
ais-service-discovery-go
Cloud application library for Golang
Stars: ✭ 77 (+156.67%)
Mutual labels:  service-discovery

microservices4vaadin CircleCI Coverage Status

Exemplary application to show the SSO and OAuth2 secured integration of microservices with Spring Cloud and Vaadin. Main concepts in this projects are:

  • Microservices ("Software that Fits in Your Head")
  • Secured Gateway (SSO and OAuth2)
  • Service Discovery
  • Circuit Breaking
  • Shared Session overall Services
  • Event store to fulfill CQRS principles

Architecture:

Architecture

  • Authserver:
    • Authentification and authorization service
    • Allows user login and also user registration via REST
    • Generates spring session (persisted in Redis) which also holds the security context
  • Configserver
    • Centralized configuration of each service
  • Edge:
    • SSO Gateway to Frontend and also directly to the Backend
    • UI for the landing page, the login and the registration panels
    • Gets the security context and the user data from spring session
  • Eventstore:
    • Distribute events across microservices via RabbitMQ and persist them in MongoDB
  • Frontend:
    • Vaadin frontend with some simple but responsive UI
    • Load balanced (Ribbon) access to backend
    • Gets user data from spring session
  • UserService:
    • Represents the user domain
  • Backend:
    • Simple but secured REST resource as backend for the frontend
  • Discovery: service discovery with eureka
  • Turbine+Hystrixdashboard: use hystrix as circuit breaker

ToDo:

  • add a backend service

Main frameworks:

Installation:

  • install JDK 8
  • install Redis+RabbitMQ+MongoDB+MySQL (you can also use the docker-compose.yml file
  • Run gradlew clean build to compile and build the application
  • Run start-all.bat to start the list of services
  • http://localhost should bring you to the landing page (with a redirect to https)

Development:

Set up project:

  • checkout git repository
  • run docker-compose up -d do start dependent Redis, RabbitMQ, MongoDB and MySQL services (also DBs will be added automatically)
  • gradlew clean build to compile project
  • run start-all.bat in windows or start-all.sh in unix

##Deployment:

  • The project could be deployed to a rancher stack using the given rancher-docker-compose.yml. The databases from above also here need to be added manually, here within the execute shell of the MySQL-container. Rancher stack

  • If all works fine (services might need to be restarted) you should see the this landing page: Landing page Initial test credentials then are [email protected]/quert6.

  • Fingers crossed.. Finally the Vaadin UI should show up: Vaadin UI

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].