This comprehensive course explores core application aspects for developing, configuring, securing, deploying, and testing a Java-based service using a layered set of modern frameworks and libraries that can be used to develop full services and microservices to be deployed within a container. The emphasis of this course is on the center of the application (e.g., Spring, Spring Boot, Spring Data, and Spring Security) and will lay the foundation for other aspects (e.g., API, SQL and NoSQL data tiers, distributed services) covered in related courses.Students will learn thru lecture, examples, and hands-on experience in building multi-tier enterprise services using a configurable set of server-side technologies.Students will learn to:* Implement flexibly configured components and integrate them into different applications using inversion of control, injection, and numerous configuration and auto-configuration techniques* Implement unit and integration tests to demonstrate and verify the capabilities of their applications using JUnit and Mockito* Implement basic API access to service logic using modern REST-based approaches that include JSON and XML* Implement basic data access tiers to relational and NoSQL databases using the Spring Data framework* Implement security mechanisms to control access to deployed applications using the Spring Security framework
Course prerequisite(s): 
605.202 Data Structures; 605.681 Principles of Enterprise Web Development or equivalent. Course Note(s): Students will be assumed to already have strong Java skills and to be comfortable with IDEs.

View Course Homepage(s) for this course.

Course instructor(s) :