Course

Course Summary

In this course, you will learn how to design and build systems and distributed applications that scale based on micro-services architectures. You will use as starting point a set of reusable marketplace services — the EInnovator Micro-Service Suite — that provides core middleware support, and learn how to build applications and business-domain functionality jump-started by these services.

The course starts with an overview of the challenges and approaches use building complex distributed systems for cloud environments, and the advantages of using micro-service architectures and reusable middleware, compared to monolithic systems. Different course modules cover different services and topics including Security — SSO authentication and access-control, user notifications, file and data persistence, user social interaction, and payments. Labs are based on available service libraries, the Java Language and Spring Boot framework, and several web front-end frameworks.

Course Objectives

  • Learn how to design micro-service architectures
  • Learn how to refactor and decompose monolithic apps into a set of services
  • Learn the APIs of EInnovator
  • Learn how to secure applications with an SSO Gateway, and OAuth2
  • Learn how to use a user Notification service
  • Learn how to create services and integrate them with REST APIs and message-based communication
  • Learn about the different options for file and data persistence in cloud environments
  • Learn how to deploy micro-services application to Kubernetes cloud environment

Modules

1 Micro-Service Architectures

  • Micro-Service Architectures Overview
  • Reusable Middleware
  • Inter-Process Communication
  • Refactoring Monoliths

2 Security I -- Authentication

  • Security Concepts
  • OAuth2 Protocol
  • Authentication with an SSO Gateway

3 User Notifications

  • User Notification Services
  • User Preferences
  • Message-based Coordination

4 Data Storage in the Cloud

  • Storage on the Cloud
  • File Storage Services
  • File Upload in Web Apps
  • Storage Reliability

5 Security II -- Access Control

  • Access Control Models
  • Implementing Security Checks

6 Social Communication

  • Social Communication Services
  • Integrating Discussion Channels
  • Customizing Discussion Channels

8 Payments

  • Payment Services
  • Payment Service API
  • Payments Workflows

8 Cloud Deployments

  • Cloud Computing and Kubernetes
  • Cloud Manager UI
  • CI/CD Pipelines on the Cloud
  • Deploying Applications and Services
Comments and Discussion

Upcoming Events

Datasheet

Delivery

Modes

  • Public On-site
  • Corporate On-Site
  • Online access to course content
  • Trainer lead

Format

  • 50% theory + 50% lab work
  • Slides and Course Notes
  • Lab instructions and pre-prepared course projects workspace

Duration

2 Days

Intended Audience

  • Java and Spring developers and leads
  • Micro-service solutions and Cloud architects