Getting started to secure a simple Java Microservice with Keycloak, MicroProfile and OpenLiberty

Invoke reactive Endpoints with Quarkus and MicroProfile

In this blog post I want to point out that I just created a 15 min YouTube video related to the great Hands-on workshop: Reactive Endpoints with Quarkus on OpenShift. In this video you can watch and follow the steps of the exercise 3 “Invoke Endpoints reactively”. Niklas wrote a great blog post about the topic of that exercise. This is the name and link of his blog post Invoking REST APIs asynchronously with Quarkus.

Continue reading

Develop reactive Endpoints with Quarkus

In this blog post I want to point out that I just created a 12 min YouTube video related to the great Hands-on workshop: Reactive Endpoints with Quarkus on OpenShift. In this video you can watch and follow the steps of the exercise 2 “Develop reactive Endpoints”. Niklas wrote a great blog post about the topic of that exercise. This is the name and link of his blog post Developing reactive REST APIs with Quarkus.

Continue reading

How to setup the reactive Cloud Native Starter sample application on OpenShift in IBM Cloud

In this blog post I want to point out that I just created a 5 min YouTube video related to the great Hands-on workshop: Reactive Endpoints with Quarkus on OpenShift. In that short video I show the setup of the example application to show reactive programming.

The image below shows the major architecture of the reactive programming example. There are three Java Microservices, one Vue.js UI application and two infrastructure components running on OpenShift (Kubernetes).

reactive-architecture

 


I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS:  You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#IBMDeveloper, #IBMCloud, #OpenShift, #Kafka, #Postgres, #MicroProfile, #Java #reactive

 

 

Run a MicroProfile Microservice on OpenLiberty in a Remote development container in Visual Studio Code

In this blog post I want to show, how to setup a local remote Java development container for Eclipse MicroProfile with OpenLiberty in Visual Studio Code.

I did that for the Authors microservice from the Cloud Native Starter project with MicroProfile 3.2, OpenJDK Java 11, and the latest OpenLiberty version.

That blog post is structured in:

  • Setup and configuration of Visual Studio Code
  • Run the Authors microservice in the remote development container
  • Debug the Authors microservice in the remote development container

The documentation of remote development with Video Studio Code is here and Java Dev Environments with Containers is a great blog post, which does also cover the remote development with container.

Continue reading

Deploy the Reactive Cloud Native Starter example to IBM Cloud

The Cloud Native Starter project now contains the new great topic, the development of Reactive Microservices  with Java, quarkus, MicroProfile and Vue.js as front-end. The Reactive example implementation runs on minikube, local OpenShift and on IBM Cloud Kubernetes. Here are the instructions on GitHub.

But what does reactive mean? Here is an extract of the definition in  The Reactive Manifesto.

“Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster. Reactive Systems are highly responsive, giving users effective interactive feedback.” 

But be aware, our example is not a full Reactive System it shows reactive programming techniques.

Note: To understand the difference between these two topics, that badge on cognitiveclass is useful Reactive Architecture: Introduction to Reactive Systems.

In our reactive programming example, you see directly changes in the database on the Web UI, without refreshing the browser.

reactive-sample

In this blog post I want to share, how you deploy that awesome Reactive example to a free IBM Cloud Kubernetes Cluster and using the free quota of the IBM Cloud Container Registry. We avoid for the setup that you have to use any paid IBM Cloud services, because you want just to see how the Reactive example works on IBM Cloud.
To create a free Cluster you need a feature code to create a Trial Account or you create a pay as you go account and you only use the free services of IBM Cloud.

That is the major architecture of the Reactive example. Three Java Microservices, one Vue UI application and two infrastructure components running on Kubernetes.

reactive-architecture

But what is reactive programming in more detail? If you want to get more details of the Reactive topic, just visit the blog post Development of Reactive Applications with Quarkus from Niklas Heidloff and if you want to explore the setup for local OpenShift take a look into the blog post Cloud Native Starter on Red Hat OpenShift 4 from Harald Uebele.

Continue reading

Be aware of “opentracinqZipkin”, when you update to “MicroProfile 3.0” using “OpenTracing” with “OpenLiberty”

Today, just a very short note. You should be aware of opentracinqZipkin when you use  MicroProfile OpenTracing with OpenLiberty, because I noticed with the update to MicroProfile 3.0 I had a problem with usr:opentracinqZipkin-0.31. I created an issue on OpenLiberty

“MicroProfile 2.1 includes mpOpenTracing-1.2. MicroProfile 3.0 includes mpOpenTracing-1.3. Please make sure you are using the Zipkin sample built for mpOpenTracing-1.3. It can be downloaded at https://github.com/WASdev/sample.opentracing.zipkintracer/releases/tag/1.3

I got that solution from Felix Wong.

But inside the server.xml will not reflect the version change, it will remaining the same feature name usr:opentracingZipkin-0.31.

<server description=”OpenLiberty Server”>
  <featureManager>
      <feature>microProfile-3.0</feature>
     <feature>webProfile-8.0</feature>
     <feature>usr:opentracingZipkin-0.31</feature>
</featureManager>
<httpEndpointid=”defaultHttpEndpoint”host=”*”httpPort=”8080″httpsPort=”9443″/>
….
</server>

I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS: You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#ibmdeveloper, #MicroProfile, #Java, #OpenTracing

A small source code update, when you use MicroProfile Health

I just want to highlight a small change for the MicroProfile Health, because I noticed with the update to MicroProfile 3.0 that the annotation @Health is deprecated.

mp-health-dep-2.1

It took me a little bit, because it was still listed in the MicroProfile documentation .

mp-health-dep-2.1-01.jpg

But I figured out in the blog post from Philip Riecks , when you replace the annotation @Health with @Readiness and import org.eclipse.microprofile.health.Readiness that it will work:

mp-health-dep-21.-02

I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS: You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#ibmdeveloper, #MicroProfile, #Java, #Health, #Readiness