Skip to content

aws-samples/aws-serverless-developer-experience-workshop-java

 
 

Repository files navigation

Build & Test Workflow

AWS Serverless Developer Experience workshop reference architecture (Java)

AWS Serverless Developer Experience Workshop Reference Architecture

This repository contains the Java reference architecture for the AWS Serverless Developer Experience workshop.

The AWS Serverless Developer Experience Workshop is a comprehensive, hands-on training program designed to equip developers with practical serverless development skills using the AWS Serverless Application Model (AWS SAM) and AWS SAM CLI.

The workshop employs a practical, code-centric approach, emphasizing direct implementation and real-world scenario exploration to ensure you develop serverless development skills across several critical areas including distributed event-driven architectures, messaging patterns, orchestration, and observability. You will explore open-source tools, Powertools for AWS, and simplified CI/CD deployments with AWS SAM Pipelines. By the end, you will be familiar with serverless developer workflows, microservice composition using AWS SAM, serverless development best practices, and applied event-driven architectures.

The 6-8 hour workshop assumes your practical development skills in Python, TypeScript, Java, or .NET, and familiarity with Amazon API Gateway, AWS Lambda, Amazon EventBridge, AWS Step Functions, and Amazon DynamoDB.

Introducing the Unicorn Properties architecture

AWS Serverless Developer Experience Workshop Reference Architecture

Real estate company Unicorn Properties needs to manage publishing of new property listings and sale contracts linked to individual properties, and provide a way for customers to view approved listings. They adopted a serverless, event-driven architecture with two primary domains: Contracts (managed by Contracts Service) and Properties (managed by Web and Approvals Services).

Unicorn Contracts (using the Unicorn.Contracts namespace) service manages contractual relationships between property sellers and Unicorn Approvals, defining properties for sale, terms, and engagement costs.

Unicorn Approvals (using the Unicorn.Approvals namespace) service approves property listings by implementing a workflow that checks for contract existence, content and image safety, and contract approval before publishing.

Unicorn Web (using the Unicorn.Web namespace) manages property listing details (address, sale price, description, photos) to be published on the website, with only approved listings visible to the public.

Credits

This workshop introduces you to some open-source tools that can help you build serverless applications. This is not an exhaustive list, but a small selection of what you will be using in the workshop.

Many thanks to all the AWS teams and community builders who have contributed to this list:

Tools Description Download / Installation Instructions
cfn-lint Validate AWS CloudFormation yaml/json templates against the AWS CloudFormation Resource Specification and additional checks. https://github.com/aws-cloudformation/cfn-lint
cfn-lint-serverless Compilation of rules to validate infrastructure-as-code templates against recommended practices for serverless applications. https://github.com/awslabs/serverless-rules
@mhlabs/iam-policies-cli CLI for generating AWS IAM policy documents or SAM policy templates based on the JSON definition used in the AWS Policy Generator. https://github.com/mhlabs/iam-policies-cli
@mhlabs/evb-cli Pattern generator and debugging tool for Amazon EventBridge https://github.com/mhlabs/evb-cli

About

This repository contains the reference architecture implementation for the AWS Serverless Developer Experience workshop in Java

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 8