In modern software development, it’s common to encounter scenarios where a task or operation takes a significant amount of time to complete. Managing the synchronization and timing of such long-running executions can be challenging. Thankfully, Awaitility, a powerful Java library, provides an elegant solution. In this blog post, we will explore how Awaitility can be used to wait for a long-running execution to finish.
Microservices architecture is a popular approach to building modern applications, where each service is designed to perform a specific set of tasks independently. Each microservice has its own database and communicates with other microservices through APIs. While this architecture provides many benefits, such as flexibility, scalability, and ease of maintenance, there are some potential drawbacks to consider. One such drawback is sharing a database between microservices.
If you are new to Serverless Workflow or serverless in general, creating a simple application for a serverless infrastructure is a good place to start. In this article I wrote for the KIE blog, you will run through the steps to create your first serverless… Read More »Creating your first cloud-agnostic serverless application with Java
Workflows are great for orchestrating services, functions or events. They provide out-of-the-box features to make your applications resilient, reliable, and simple. But currently, each cloud vendor has its workflow solution. AWS has Step Functions, Google has Google Workflows, Microsoft has Azure Durable functions, and so… Read More »Getting Started with Service Calls and Serverless Workflow
Creating intuitive APIs is a very important skill for you to reduce the chances of bugs and make your software more maintainable. When you don’t create intuitive APIs, your code becomes error prone and the developers (including you) may misuse an API. Let’s see an… Read More »Creating More Intuitive Java APIs With Optional
When you need to test an application that consumes a web API, you basically have two options: Use Testcontainers to start a container that will run the web API which your application will consume. Mock a Web Server to emulate the web API which your… Read More »How to Mock a Web Server Using WireMock in Your Java Applications
A few days ago I did a post on LinkedIn talking about the Optional class. One comment was an excellent question: Could the use of Optional lead to performance degradation?
The answer is: Yes, it can. But should you worry?
When you have more people using your Java APIs, your projects grow and naturally you become a better engineer. You become more likely to increase your incomes and join great new projects. It also enables people to get their jobs done faster. So it’s a win-win situation.
In software development, writing test code is just as important as writing the application code itself. An application without tests will quickly turn into a nightmare for the maintainers because every change needed, no matter how harmless it may seem, something may stop working as… Read More »Creating Testable Applications with MicroProfile and CDI
A Little Bit of History “Write once, run anywhere” was the slogan created by Sun Microsystems in 1995, when the first Java version came out. One thing that allowed this was the creation of specifications for the Java Language and the Java Virtual Machine. With… Read More »Why Should You Consider Using MicroProfile In Your Microservices?