Mapping Java Objects to DynamoDB (NoSQL)
Seating is limited -- Register Now!
at Live, virtual workshop
Language: English
Price: 150€ (+19% MwSt. [VAT])
Persisting Java Objects to DynamoDB and Apache Cassandra
This workshop is a continuous review of ready-to-use templates, examples, and patterns of serverless applications on Amazon Web Services, focusing on serverless. We will use Infrastructure as Java Code: AWS Cloud Development Kit (CDK v2) for Java and use Maven repositories to quickly build and share the code.
In this workshop, I won't implement each application from scratch, rather than walk through already prepared ready-to-use examples and templates reflecting common patterns and adjust them to more specific use cases.
All changes, attendees' requests, and suggestions will be committed to a git repository in real-time.
Prerequisites
Basic AWS, database and Java SE / Java EE / Jakarta EE / MicroProfile experience (I will use Java concepts to explain FaaS, HA, functions, triggers, events, containers, metrics, configuration, tables, buckets and relations).
Topics
After a a short introduction to AWS basics (VPC, IAM, accounts, storage and organizations), we will cover the following templates and use cases:
- Database and storage provisioning with AWS Cloud Development Kit (CDK) v2
- Object storage vs. NoSQL
- Cost Driven Architectures and AWS persistence / storage
- DynamoDB / Using Java 21+ / MicroProfile / Jakarta EE
- Authentication and Authorization
- DynamoDB object and "structure" mapping
- Modelling relations with Single Table Design and DynamoDB
- Designing the data model
- Identifying access patterns
- Choosing partition and sort keys
- Handling relationships between entities
- Implementing CRUD operations
- Querying and scanning the table
- Using secondary indexes
- LSIs vs. GSIs
- Apache Cassandra--a viable DynamoDB alternative
- Single table design with DynamoDB and Java
- DynamoDB with Data Oriented Programming and Java 21+
- JPA-like vs. Map-like vs. JDBC-like DynamoDB access
- Transactional data acccess with DynamoDB
- Change Data Capture (CDC) with DynamoDB and DynamoDB streams
- Architecting data access for serverless applications
- Mapping 1:n, n:1, 1:n, n:m, composite relations with NoSQL
- Implementing queries with NoSQL
- Handling complex queries
- Implementing transactions
- Optimizing for performance
- ...and most popular questions, topics and approaches from airhacks.tv
In this advanced workshop I will discuss and implement cloud native Java / MicroProfile with AWS Lambda and ECS Fargate (containers). All AWS resources will be provisioned with Maven and CDK v2 Java edition. As a reference, you will get a GIT repository with all snippets and solutions, as well as prepared sample applications.
A developer laptop with pre-installed Java 21 (AWS Lambda currently only runs on Corretto 21), GIT-client, AWS CLI, and Maven 3 is required to run the examples. You can run the examples if you like, or "hack" along with me, but taking notes is perfectly viable as well.
I will use my AWS account to live deploy the applications and explain various AWS services.
Environment requirements / prerequisites.
I/we will spend 80% of the time in code--it also highly depends on your questions.
Feel free to contact me / register via email: workshops[-AT-] adam-bien.com