Spring Architecture and Design

Inquire now

Strengthen your enterprise Java development skills with Spring Architecture and Design Training, a practical program designed for developers and technical professionals who want to understand how to design well-structured applications using the Spring Framework. The training focuses on architectural principles and development practices that support maintainable, scalable, and reliable Java applications.

Course Overview:

Spring Cloud is a platform for building Java-based distributed systems and microservices. Building complex enterprise applications is challenging. Any change made to a part of the systems could trigger the need for changing the design of the entire system. By the end of this training, participants will have a solid understanding of Service-Oriented Architecture (SOA) and Microservice Architecture as well practical experience using Spring Cloud and related Spring technologies for rapidly developing their own cloud-scale, cloud-ready microservices.

Course Objectives:

  • Participants will learn how to evaluate different technologies and approaches for the design of a services-based system architecture.
  • The training begins with a discussion and comparison of monolithic systems and service architectures, then digs into the details of microservice architecture.
  • Participants are given a chance to put their knowledge into practice as they step through the creation and deployment of a set of proof-of-concept microservices built with Spring Cloud, Spring Boot and Docker.
  • Finally, the relevant infrastructure building blocks are examined to help participants determine the most suitable tools and approaches to use for different organizational requirements.
  • Part lecture, part discussion, exercises and heavy hands-on practice

Pre-requisites:

  • An understanding of software and system engineering
  • Java development experience
  • Experience with Spring Framework

Target Audience:

  • Java developers wishing to rapidly build and deploy microservices
  • System Architects wishing to implement a microservice architecture

Course Duration:

  • 35 hours – 5 days

Course Content:

Introduction

  • System and service architecture, PaaS, and cloud-native design

Overview of Monolithic System Architecture

  • Running an entire monolithic applications functionality in a single process
  • Scalability through replication across multiple servers
  • Protocols used in monolithic systems: EAI, CORBA, etc.

Overview of Webservices

  • Service Oriented Architecture (SOA) and Microservices Architecture

Service-Oriented Architecture (SOA)

  • Benefit and Costs of SOA
  • Successes and failures in implementing SOA
  • Messaging and ESB
  • Infrastructure and tools supporting SOA

How Microservices Implement Web Service Concepts

  • Do one thing and do it well
  • DevOps
  • Continuous Deployment and Delivery (Continuous Integration, Continuous Build Process, etc.)
  • Lightweight protocols

Microservice Protocols and Standards

  • HTTP, JMS, AMQP, Websockets, JSON, etc.

Development Frameworks for Building Microservices

  • Java-based frameworks (Spring Cloud)
  • Javascript-based frameworks (Seneca)

Decomposing a Monolith Application

  • Developing independently deployable applications
  • Organizing microservice applications around business capabilities
  • Case study: Migrating a monolith application to three core microservices

Setting up a Spring Cloud Development Environment

  • Setting up Docker and Docker Compose
  • Setting environment variables

Overview of Spring Cloud and Spring Boot

  • Spring Cloud sub-projects: Config Server & Bus, Eureka, Ribbon, Feign, and Hystrix
  • Spring Boot
    • Creating a Spring Boot application
    • Centralized, versioned configuration management with Spring Cloud Config
    • Dynamic configuration updates with Spring Cloud Bus
    • Service discovery with Eureka
    • Load balancing with Ribbon
    • Applying circuit breakers with Hystrix
    • Declarative REST clients with Feign
    • Working with API Gateway
    • Securing a microservice application
    • Tracing microservices to uncover latencies

Deploying Microservices

  • Containers (Docker, K8N, LXC, etc…)
  • Configuration Management (Ansible, etc…)
  • Service discovery
  • Monitoring and Managing Microservices
  • Infrastructure for Microservices

Cloud and Auto Scalability of Microservices

  • Microservice redundancy and fail-over
  • Performance scalability for Microservices
  • Auto scalability
  • Implementing Microservices on OpenStack, AWS, and other cloud platforms

Troubleshooting Common Problems for Distributed Applications

  • Complexity of ecosystem
  • Network Performance
  • Security
  • Deployment
  • Testing
  • Nano-services

Final Considerations for Building Production-ready Systems

  • Making system easy for beginners
  • Making system complete so that it can serve as the foundation for enterprise applications

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Inquire now

Best selling courses

CLOUD COMPUTING

Terraform

Terraform is a configuration orchestration tool for building and managing infrastructure on cloud & data centers. The course is instructor-led, live training (onsite or remote), and is designed for Engineers with little or no previous experience managing infrastructure. The course talks about in-depth Terraform syntax and techniques used to automate the setup and deployment of infrastructure.

Duration  3 days – 21 hrs    Overview    The ITIL Leadership – Digital and IT Strategy training course is designed for senior IT professionals, managers, and leaders who seek to navigate the complex landscape of digital transformation and IT strategy. This course focuses on providing strategic insights, leadership skills, and practical approaches for aligning...

PROGRAMMING / CODING

Spring Architecture and Design

Spring Cloud is a platform for building Java-based distributed systems and microservices. Building complex enterprise applications is challenging. Any change made to a part of the systems could trigger the need for changing the design of the entire system. By the end of this training, participants will have a solid understanding of Service-Oriented Architecture (SOA) and Microservice Architecture as well practical experience using Spring Cloud and related Spring technologies for rapidly developing their own cloud-scale, cloud-ready microservices.

BUSINESS INTELLIGENCE

Dax

Duration 5 days – 35 hrs   Overview The DAX (Data Analysis Expressions) Training Course is designed to provide participants with a comprehensive understanding of DAX, the powerful formula language used in Power BI, Excel, and SQL Server Analysis Services. This course covers the essential concepts, functions, and techniques required to create advanced calculations and...

OPERATING SYSTEMS

Linux Fundamentals

Linux Fundamental provides students a thorough introduction to Linux™ for those who are new to the Linux environment. Delegates will learn how to manage files and directories, utilize the vi editor, work with Linux security mechanisms to protect files and programs, work with the Linux shell to control the flow and processing of data through pipelines, design and write shell programs of moderate complexity, and manage multiple concurrent processes in order to achieve higher utilization of Linux. They will learn how to perform basic operations on the system and how quickly to solve problem.

PROGRAMMING / CODING

Google Apps Script

The Google Apps Script training course give you a detailed knowledge on coding like Automating data calculation, Fetching and sending data from third party software like Trello & Salesforce, connecting different sheets, Documents and other tools, Setting a trigger based on an event. This course is ideal for someone who use google sheets and have no coding background.

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Duration: 3 days – 21 hrs   Overview This training course is designed to provide participants with a comprehensive understanding of Portfolio Management and Contract Management, focusing on best practices, tools, and techniques. The course covers the strategic alignment of projects within a portfolio, effective management of contracts, risk management, and optimization of resources to...

// BG EARTH WHEN NOT PLAYING

We use cookies on our website to personalize your experience by storing your preferences and recognizing repeat visits. By clicking “Accept”, you agree to the use of all cookies. You can also select “Cookie Settings” to adjust your preferences and provide more specific consent. Cookie Policy