Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 2.78 KB

File metadata and controls

38 lines (25 loc) · 2.78 KB

Explore

The Easy Franchise application is structured in multiple microservices. In this section, you can explore and find out a detailed documentation of all the components of the application. These components are grouped in three different namespaces:

Namespaces in Kubernetes can be seen as kind of virtual clusters. Their main purpose is to spread projects or multiple teams across the environment. It also provides some security aspects as you can apply more fine-grained authorizations on namespaces level and your workloads are limited by default to the namespaces they are running in. For more details on namespaces, see Namespaces in the Kubernetes documentation for more details. The decision to split our application into several namespaces is only to showcase how it could be done. Normally, for an application of that size you would not split it into different namespaces.

Additional Information About the Java Microservices

The following services are implemented in Java:

  • Database service
  • Easy Franchise service (with Scheduler)
  • Business Partner service

They are all built via this parent pom.xml.

To keep the services as lean as possible, we decided against using a full-fledged application server like Tomcat or WildFly. Instead, we added just the Maven dependencies that were needed for implementing REST service that work on JSON objects:

  • Jetty Server Embeddable web server and servlet container
  • Jersey Reference Implementation for Jakarta RESTful Web Services
  • Yasson Reference Implementation for Jakarta JSON Binding

All Java microservices are started in a very similar manner. There is a main() method that is called either from a shell in a local dev environment or from inside the docker images when running on Kyma. For implementation details, see Easy Franchise ServerApp class.