Reference Architecture for Agile Integration

Integration is still around but in a different form. So, what does modern integration look like? Looking at how agile scrum has taken over traditional waterfall development framework, by enabling shorter delivery cycles, faster feedback, and having the flexibility to rapidly adapt to changes. I believe it’s time for traditional integration to be agile again. By breaking up traditional ESB into distributed microservices.

Continue reading “Reference Architecture for Agile Integration”

Share

Testing REST APIs with REST Assured

Note: This is an updated version of a post I wrote for my private blog years ago.

While working on the REST API of RHQ a long time ago, I had started writing some integration tests against it. Doing this via pure HTTP calls is very tedious and brittle. So, I was looking for a testing framework to help me and found one that I used for some time. I tried to enhance it a bit to better suit my needs but didn’t really get it to work.

I started searching again and this time found REST Assured, which is almost perfect as it provides a high-level fluent Java API to write tests. REST Assured can be used with the classic test runners like JUnit or TestNG.

Continue reading “Testing REST APIs with REST Assured”

Share

Testing your Android App’s UI with Espresso

Android is one of the most used mobile operating systems in the market with an estimated market share of approximately 84.82%. Millions of apps loom in the Android OS, for various tasks and it’s a shame that only a small percentage of the apps have a well-developed user interface (UI), which is flexible and adaptable to various mobile sizes. For an average user, they want their apps to look good and do well. However, if you are an app developer there will be a monstrous problem for you, Android is open source and it comes in all sorts of mobile phones with all sorts of screen sizes. Android developers have taught of this problem and have introduced a new automated testing framework to test the UI of your app called Espresso.

Continue reading “Testing your Android App’s UI with Espresso”

Share

Upgrading to Vaadin Framework 8 (Part 2 of 2)

In the previous part of this blog, I talked about the most important steps to get your project to compile with the latest Framework version.

The migration has been done through the first three steps mentioned here, and in this post, I will go over the least complicated steps of migration. Steps 4 and 5 cover the modernization of your project with the latest Framework 8 features. If you are in a hurry, you can do this later on as well, and use the new APIs only for new Vaadin code.

  1. Upgrade dependencies in the POM file
  2. Run Maven goal vaadin:upgrade8
  3. Upgrade Add-ons
  4. Upgrade non-data components
  5. Upgrade data components
  6. Back to the future

Continue reading “Upgrading to Vaadin Framework 8 (Part 2 of 2)”

Share

MicroProfile: Optimizing Enterprise Java for a Microservices Architecture

The pace of Java EE releases has been slowing and has been unable to adapt to the rapid rise of microservices. MicroProfile was created as a means to collaborate with vendors, individuals, and organizations like Java user groups in an open forum, to rapidly bring microservices to traditional Java EE developers. We moved the project to the Eclipse Foundation and have officially renamed it Eclipse MicroProfile. Red Hat is implementing MicroProfile specifications via WildFly Swarm and optimizing it for use on OpenShift.

Continue reading “MicroProfile: Optimizing Enterprise Java for a Microservices Architecture”

Share

From Java to .NET Core, Part 2: Types

In my previous post in the series, I discussed some fairly surface-level differences between C#/.NET and Java. These can be important for Java developers transitioning to .NET Core, to create code that looks and feels “native” to the new ecosystem. In this post, we dig beneath the surface, to understand .NET’s type system. It is my belief that, with Java in the rear view mirror, the .NET type system is more effective and enjoyable to write on. But you be the judge.

Continue reading “From Java to .NET Core, Part 2: Types”

Share

Coding EJB clients for JBoss EAP 7.1

This article summarizes some new features that will be enabled in EAP 7.1 for applications using remote EJB clients. These new features will improve some aspects of the remote EJB communication such as:

  • A simplified method for looking up remote EJBs
  • A new annotation to control transaction propagation from remote EJB clients
  • A new annotation to enable Client side interceptors for EJB calls
  • An update in the remote EJB client configuration file
  • Simplified lookup of remote EJBs

Continue reading “Coding EJB clients for JBoss EAP 7.1”

Share