Refactor monolith to microservices

This workspace will show how to refactor a Java EE monolith to a microservices-based application. This will be accomplished in multiple phases:

  1. Phase 1: Functional decomposition of a WAR into multiple `WAR`s. Use hardcoded service URIs.

  2. Phase 2: Use service registration and discovery

  3. Phase 3: Continuous integration

  4. Phase 4: Continuous deployment

  5. Phase 5: Proactive monitoring and scale in/out

  6. Phase 6: Change the implementation stack of a service

Run the application

  1. Start ZooKeeper

    docker run -d -p 2181:2181 fabric8/zookeeper
  2. Download and unzip WildFly 9.0.0.Final

  3. Run WildFly

    ./bin/standalone.sh
  4. Deploy the application

    mvn -f microservice/pom.xml install -DskipTests

NoOps

Operational concerns are addressed in the following documents:

  1. Service Discovery

  2. Continuous Integration

  3. Continuous Deployment

  4. Service Monitoring