This is going to be the first post in a series of articles about modern tooling and techniques for building distributed systems. In this post, I will show how to use Docker for Windows to set up an ELK (Elasticsearch, Kibana, Logstash) server that we are going to use in future articles. The series is particularly geared toward traditional .NET developers. Let’s get started…
With the explosion of the internet of things (IoT), many companies are competing to create the best smart home ecosystem for consumers.
Amazon Echo, for instance, is a robust system that allows the user to interact with their smart devices via voice command. Alexa is the application that the Echo communicates with, essentially the brain of the Amazon Echo. It controls how your Amazon Echo communicates with your other smart devices and services. It can sync with a variety of smart devices including switches, thermostats, garage doors, sprinklers, door locks, music streamers, news outlets, and more. It also allows the third-party companies to create custom skills which are then accessible through the Amazon Echo.
In this blog I will discuss the Amazon Echo and its Alexa application. We will go through the process to create a custom Alexa skill about the Keyhole blog, paying particular attention to keywords you’ll need to understand when you create your own Skill. From there, we’ll show how to test a Skill via simulators and deploy it to your Amazon Echo.
When developing web applications, we sometimes need to push server events down to connected clients. However, HTTP was not designed to allow this. To get around this limitation, a polling pattern was established where web pages would intermittently poll the server for any new events. This pattern was not ideal as it added HTTP overhead, was only as fast as the polling rate, and caused unnecessary load on the server.
Luckily, with the emergence of HTML5 came the WebSocket. The WebSocket protocol enables interaction between a browser and a web server with lower overheads. In this blog we’ll introduce the Websockets API and show how to implement Websockets with Spring Boot.
While acknowledging that I still have much to learn about Spring Batch, I’d like to share my well-learned lessons in the world of restartability, including how to identify improper usage of Spring Batch’s Step & Job ExecutionContext and how to write good, wholesome components for Spring Batch…
If you are heading down the path of a Microservices style of architecture, one tenant you will need to embrace is automation. Many moving parts are introduced with this style of architecture. If successful, your environment will have a plethora of service APIs available that the enterprise can consume for application development and integration.
This means that there must be a way that available API documentation can be discovered. API information needs to be effectively communicated throughout the enterprise that shows where APIs are used, how often APIs are used, and when APIs change. Not having this type of monitoring in place will hinder and possibly cripple the agility benefits that a Microservice style of architecture can bring to the enterprise.
This blog will describe how Swagger/OpenAPI documentation can be applied to a Spring Boot implementation. We will show how API documentation and monitoring can be automatically published to an API documentation portal.
As an example, we introduce a reference Spring Boot API CRUD application (using Spring MVC/Data with Spring Fox) and set up the automatic publishing of API documentation and statistics to documentation portal GrokOla. In the example, we introduce two open source utilities to help and allow published APIs the ability to be searched and notify users when changed….