VMware

VMware Pivotal Labs: Master Class for Application Architects (Java)

Summary:  
Classroom Schedule
Live Online Schedule
Inquire about Onsite
Course Datasheet
- Formats: Classroom, Live Online, Onsite
- Length: 12 Days
Overview:
This 12-day course teaches developers and architects how to build and architect software in a hands-on setting.  The following topics will be covered: Tanzu Application Service, greenfield development, end state reference architectures, replatforming, and modernization.

Objectives:    By the end of the course, you should be able to meet the following objectives:
•  Understand what Tanzu Application Service is, and how it runs apps
•  Learn about key app-centric Tanzu Application Service constructs: app, manifest, buildpack, service
   instance, binding, domain, route, environment variables  
•  Experience common impediments to running an app on Tanzu Application Service, and overcome them
•  Learn how to identify, codify, and make use of reusable patterns for building applications (i.e. understand
   distributed system development/ architectures)}
•  Learn how to evolve monolithic apps (i.e. understand when and how to break out microservices from the
   monolith)
 
Intended Audience:    Developers and Lead Developers
 
Prerequisites:    •  Experience building and deploying modern software; i.e. TDD, CI/CD, and Refactoring.
•  Familiarity with design patterns, domain driven design, component-based architecture, and evolutionary
   architecture  
•  Experience developing apps using: Java 6 and above, Java Enterprise Edition, Java/ Spring.
 
Outline:    1  Course Introduction
•  Introductions and course logistics
•  Course objectives

2  Best Practices / Architecture
•  12-Factor applications
•  Evolutionary Architecture

3  Tanzu Application Service  
•  Applications
•  Buildpacks
•  Manifests
•  Organizations and Spaces
•  Domains and Routes
•  Services
•  Environment variables
•  Scaling

4  Continuous Delivery / Integration
•  Build Pipelines

5  Spring Development
•  Monitoring
•  Schema management
•  Database Access
•  REST APIs

6  Microservices
•  Resilience
•  Deployment
•  Service Discovery
•  Service Configuration
•  Service Security

7  Re-platforming
•  Custom Buildpacks
•  Bootification
•  Dual Data Storage / Single DB versus multiple DB
•  File System Access
•  Logging
•  Worker Processes and Background Jobs
•  Instance-Specific State
•  Mavenization / Gradling

8  Modernization
•  Struts to Spring
•  Breaking up a Monolith into Components
•  Converting Components to Microservices
•  Managing a Distributed System with Spring Cloud
•  Modern JVM Languages