Skip to content

Overview

This workshop illustrates how to build intelligent applications using:

This workshop covers both the development and deployment of such applications on OpenShift as well as the integration with OpenShift AI/ML Services.

It proposes a platform engineering approach to the development of intelligent applications. Thus, the code is developed in CodeSpaces and the deployment is done using Trusted Application Pipelines. The different application components run in OpenShift.

The application

In this workshop you will develop an application that allows super-heroes to fight against villains.

The fight user interface, showing a sample fight

Being a workshop about microservices, you will be developing several microservices communicating synchronously via REST API endpoints:

  • frontend: a web application that allows users to pick up a random super-hero, a random villain and makes them fight. The Super Hero UI invokes the Hero, Villain and Fight REST endpoints.
  • hero-service: a Quarkus microservice that provides CRUD operations on Heroes which are stored in a PostgresSQL database.
  • villain-service: the counterpart of the hero service, for villains.
  • fight-service: a microservice that simulates a fight between a hero and a villain. The simulation is done using a Large Language Model (LLM) that is deployed on OpenShift AI/ML Services. The result also includes a short narration of the fight:

The fight user interface, showing a sample fight result

The architecture

the architecture

Hero and Villain services

The hero-service and villain-service are very similar, yet they use different development models. While both are Quarkus applications, the hero service uses the idiomatic Quarkus development model, while the villain service uses the Spring compatibility support from Quarkus.