James Gough

Distinguished Engineer, Java Champion, Speaker and Author
O'Reilly Software Architecture Conference Berlin - Talk Accepted

07 Jun 2019

I’m please to announce that our API tutorial session has been accepted for the O’Reilly Software Architecture Conference Berlin. The session will be on Building, Specifying and Testing APIs with Microservices.

The conference takes place on the 4th - 7th November. I’ll be presenting the workshop session with Nick Ebbitt and Matthew Auburn.

Building, Specifying and Testing APIs with Microservices

Description

Knowing where to start with an API program is difficult. Most development teams have been building APIs for years, so what’s different when the goal is to become an API centric team or company? This workshop will bootstrap the basics from building your first API using contract driven development, using OpenAPI Specification to describe and version your APIs and deploying behind a gateway.

Abstract

The workshop will be based on our Open Source Workshop that can be found on GitHub. The objective is to cover the creation of a very simple Task List API. During the 3 hours the attendee would explore hands on:

  • How simple it is to create a Microservices using Spring Boot that exposes an API, and prove that is not the hard part. We would also look to offer options for those none Java Developers.
  • Using Pact.io or Spring Cloud Contract (which can be chosen by the attendee) test and progress our API with new features.
  • Discover how to use OpenAPI to specify an API and the balance between developing APIs with specification first or contract driven.
  • Using a specification allows an API to be versioned, this part of the workshop discovers how to use semantic versioning to ensure that components in your architecture remain decoupled and free to move without breaking consumers.
  • The final part of the lab will leave the attendees with the reasons for an API Gateway and why they are architecturally important. It will also introduce the concepts of a service mesh, which now the attendees will understand in the context of developing an API program.