A collection of Service Oriented Architecture assignments for the FastTrack'D class.
An assignment introducing creation of endpoints, their controllers, and supporting services using Spring Boot
Students will practice newly acquired knowledge of Spring to create a basic Controller and a supporting Service from the ground up. They will interact with the endpoints of the Controller through an HTML page that is generated based on the Swagger documentation of those endpoints.
Inversion of Control, Dependency Injection, Spring Dependencies, Components, Controllers, Services, Endpoints, URL Conventions, Path Variables, Path Parameters, HTTP Methods, HTTP Payload, JSON, HTTP Headers, HTTP Status Codes
2-3 hours
https://github.com/mborencooksys/soa-assignments/tree/master/Intro-To-Controllers-And-Services
A relational database design assignment meant to exercise skills required to translate specifications to workable schemas
Students will interact with the provided database administration tool to craft a schema that matches a given specification
Tables, Columns, Data Types, Primary & Foreign Keys, Relationships, Multiplicity, Join Tables, Administration Tools
1-2 hours
https://github.com/mborencooksys/soa-assignments/tree/master/Schema-Design
A JDBC assignment introducing the JDBC API & the more generalized ideas of Data Access Objects
Students will use JDBC to create a series of Data Access Objects that will allow for operations on the schema created in assignment 2 - Schema Design.
Queries, The JDBC API, interacting with database structures through core Java, Data Access Object design, properly managing connections to database resources
3 hours
https://github.com/mborencooksys/soa-assignments/tree/master/Data-Access-Objects
An assignment highlighting the importance of entity & repository design while providing the more realistic requirement of modifying an existing code base
Students will modify a small Spring project to add an additional simple Entity and supporting Repository to the project. They will then implement queries in a new Repository to support operations defined in an unimplemented Service that will utilize the new Repository.
Java Persistence API, Entity design, Repositories, using the Entity Manager, Java Persistence Query Language
5 hours
https://github.com/mborencooksys/soa-assignments/tree/master/Entity-Integration