Skip to content

Latest commit

 

History

History
83 lines (55 loc) · 3.71 KB

README.md

File metadata and controls

83 lines (55 loc) · 3.71 KB

Microservices - Store App

This application consists of several microservices that build up a small store web application to retrieve information on devices and displaying the information on Java Server Pages.

Isaiah Jenkins

Technologies

  • Java (Server-side language)
  • Spring Boot (Microservices)
  • Boot -> Spring Web (Web/REST app)
  • Boot -> Spring Data JPA (Java Persistence API w/ Hibernate)
  • Boot -> Eureka Server (Spring Cloud Discovery)
  • Boot -> Eureka Discovery Client (Spring Cloud Discovery)
  • Boot -> JDBC API (Database Connectivity)
  • Boot -> MySQL Driver (JDBC for MySQL)
  • MySQL (Server)
  • MySQL Workbench (visual database design tool for MySQL database)
  • Jersey (JAX-RS)
  • Tomcat Embed Jasper (JSP file parser)
  • Tomcat Servlet API
  • Javax Servlet API
  • JSP (Java Server Page)
  • JSTL (JavaServer Pages Standard Tag Library)
  • Maven (Dependency Injection)
  • Eclispe (IDE, Java EE version 2020-12)
  • IntelliJ (IDE, IDEA CE)

Download IDEs and MySQL tools

  1. Eclispe (IDE, Java EE version 2020-12)
  2. IntelliJ (IDE, IDEA CE)
  3. MySQL Community Server
  4. MySQL Workbench

Set up schema and tables on MySQL Workbench

Note: Make sure to start your MySQL server on your computer.

Schema - Devices

Screen Shot 2021-03-10 at 11 52 51 PM

Tables - apple, samsung

Screen Shot 2021-03-10 at 11 53 42 PM

Screen Shot 2021-03-10 at 11 54 09 PM

Overview on the Microservice architecture

  1. Store - Web app that retrieves information on the device types from Samsung and Apple microservices to displays them on Java server pages.
  2. Eureka server - A discovery server responsible for holding instances of microservice clients and providing easier navigation.
  3. Samsung - Extracts the list of JSON Device objects gathered from Samsung persistence.
  4. Samsung2 - Extra copy of Samsung to test client-side load balancing.
  5. Apple - Extracts the list of JSON Device objects gathered from Apple persistence.
  6. Apple persistence - Gathers information from MySQL server on apple devices providing a list of JSON Device objects.
  7. Samsung persistence - Gathers information from MySQL server on Samsung devices providing a list of JSON Device objects.

Extract microservices and import into IDEs

  1. Import each microservice folder except into a separate Intellij Maven project.
  2. Import Store microservice into Eclipse.

How to run Store

  1. Start the Eureka server in IntelliJ.
  2. Start Store in Eclipse.
  3. Start remaining microservices in IntelliJ.
  4. Go to the Eureka server page. You should have the following 5 applications running below:

Screen Shot 2021-03-11 at 8 08 03 AM

  1. Go to the Store page and click on either Samsung or Apple.

Screen Shot 2021-03-11 at 8 13 19 AM

Screen Shot 2021-03-11 at 8 13 48 AM