Posts

Showing posts from 2015

Spring Boot REST Tutorial

Image
Spring Boot makes it easier to build Spring based applications by focusing on convention over configuration.  Following standard Spring Boot conventions we can minimize the configuration required to get an application up and running. The use of an embedded servlet container allows us to package the application as an executable JAR and simply invoke it on the command line to launch the application.
One of my favorite things about Boot is its emphasis on production readiness. Out of the box it provides a number of key non functional features, such as metrics, health checks and externalized configuration. In the past these types of features would have been written from scratch (or more worrying, not at all), before an application could be considered production ready.

This tutorial is an introduction to Spring Boot and describes the steps required to build and test a simple JPA backed REST service. The code is intended to be simple, easy to follow and provide readers with a template for b…

Micro Services - An Introduction

Image
Micro services isn't a brand new concept, but rather the evolution of something that's been around for years - the distributed architecture. I've worked on a number of SOAs over the past 8 years and am currently working on a cloud based product, so was keen to see what micro services have to offer. This post is a high level introduction to micro services, but some of the content is just as relevant to modern cloud based distributed architectures in general. 
Replacing the MonolithBefore we look at micro services lets first take a look at the more traditional monolithic architecture where an entire solution is built and deployed as a single artifact. The server side monolith should look familiar to most developers and typically consists of  HTML, JavaScript, CSS web clientA server side component that exposes a set of services to the client, interacts with the database and perhaps integrates with other external systemsA relation database or some other external data store While…