Service Discovery with Eureka and Zuul

Jarett Lear .NET, .NET Core, Articles, Microservices, Spring, Spring Boot 3 Comments

One issue that we face day to day as developers is speed of development. One of the coolest things to me in the ever-changing landscape of technology is how this issue us continually being addressed in an effort to makes our lives easier.

We have gone from having to write everything needed in a verbose way to being able to configure a simple REST API in a few lines of code with Spring Boot. The most amazing part of this is not only the ability to create the web services but also the ability to allow these services to communicate in a smart way. Spring has given us many tools to allow easy configuration and putting together things that just work (mostly).

This post is not to be considered a full guide to which the extent of these technologies can be leveraged. In this post, we give examples of how Spring Boot can be used (along with Zuul and Eureka) to create a simple discovery service.

There are other components that can be added for things like a configuration server to pull all application.properties files from a common location that is updatable in real time, or circuit breakers to allow the graceful failing of different pieces of your API.

What this post will focus on is the service discovery between Spring Boot applications. We will also touch on how, using SteeltoeOSS, .NET applications can also take advantage of being a part of the service discovery and be routed through our Spring Boot-based Zuul Gateway. We will also look at how we can integrate Spring Security into our gateway to secure the entire API no matter the language…

Encouraging Good Behavior with JUnit 5 Test Interfaces

Billy Korando Articles, Development Technologies & Tools, Effective Automated Testing With Spring Series, Java, Spring, Testing 2 Comments

JUnit 5, released in September of 2017, is the first major release for the popular JUnit testing framework in a little over a decade. I recently presented on JUnit 5 at Lava One Conf in Hawaii in January. If you have heard about JUnit 5, but are not yet familiar with it, you can check out my presentation here, as well as the JUnit 5 User Guides.

While researching for my presentation, one new feature in JUnit 5 really caught my eye was the ability to declare tests on default methods in interfaces. This feature caught my eye because two issues I frequently face are encouraging developers to write automated tests and promoting consistent patterns across the enterprise. In this article we are going to look at how test interfaces can help accomplish both of these goals.

How an SMS Application Took a Job (i.e. Task)

David Pitt Articles, Automation, Conversational Apps, JavaScript, Keyhole Creations Leave a Comment

This blog is about a human’s job being replaced by automation. But, before you start composing emails and social media responses, know that it’s a job that I think most folks would gladly allow an automated mechanism to take over.

The “job” discussed in this blog is the need to contact individual users (in this case, employees) when those users forgot to accomplish a required task.

In this blog, we discuss a conversational application solution used internally at Keyhole Software for automated SMS text messaging features surrounding time tracking. The solution, implemented with conversational application platform KHS {Convo}, allowed for time entries to be submitted via text and automated, schedule-based notifications….

OpenShift Quick Start: Build, Deployment and Pipeline

David Pitt Articles, Microservices, OpenShift, openshiftseries, Tutorial Leave a Comment

This post is a continuation of our hands-on OpenShift Quick Start blog series.

In the first post we introduced OpenShift & its features. In part two, you worked to get OpenShift running locally & adding a Container with an API service to a Pod. In part three, you worked on scaling pods and managing Cluster with the CLI.

This blog continues that series, introducing the automated Continuous Integration / Continuous Delivery (CICD) features of the OpenShift platform using both the Web Console and the Command Line. A hands-on exercise will then show how a Jenkins build Pipeline can be customized…

OpenShift Quick Start: CLI

David Pitt Articles, Microservices, OpenShift, openshiftseries Leave a Comment

This post is a continuation of our hands-on OpenShift Quick Start blog series. In the first post we introduced OpenShift, and in part two, you worked to get OpenShift running locally & adding a Container with an API service to a Pod. Make sure you’ve completed that step prior to starting the continued exercise below!

The previous blogs in this series managed OpenShift using the web admin user interface. However, everything that can be done with the user interface can also be done from using the CLI (Command Line Interface). Arguably, developers prefer to interact with text commands, but that’s a generalization.

In this post, we’ll demonstrate common OpenShift commands can be done in the web admin from the command line.