Pragmatism in the real world

GraphQL, REST or RPC? Making the choice!Presented at AppDevCon/EndpointCon, May 2023

When you've been tasked with creating an HTTP API, the fundamental decision you need to make is which architecture to choose. Should your API be RESTful? What about GraphQL? or RPC? In this session, I'll explain the choices and how each works. We'll then look at their strengths and weaknesses in order to help guide your decision. By the end of this talk, you'll be well-placed to choose the right API architecture for your project.

GraphQL, REST or RPC? Making the choice!Presented at PHP UK, February 2023

When you've been tasked with creating an HTTP API, the fundamental decision you need to make is which architcture to choose. Should your API be RESTful? What about GraphQL? or (g)RPC? In this session, I'll explain the choices and how each works. We'll then look at their strengths and weaknesses in order to help guide your decision. By the end of this talk, you'll be well-placed to choose the right API architecture for your project.

Improve Your API with OpenAPIPresented at Longhorn PHP, November 2022

OpenAPI is the standard way to describe your HTTP API, adopted by most modern APIs. With the spec at the centre of your workflow, you can improve the quality of your API and development practices, and make integrations painless. With standardisation comes tooling and in this session, I will show you to leverage this to your advantage. We'll cover what OpenAPI is, why it's interesting and then how to use it. We will also look at how the OpenAPI specification enables you to create documentation, use mock servers and improve the robustness of our API with validation. This session is ideal for anyone who wants to write an API specification once and use it everywhere.

The Right API for the JobPresented at phpday, May 2022

When you've been tasked with creating an HTTP API, there's many things that you need to consider and I'm here to help you navigate your journey. We start with the fundamental decision of architecture: should your API be RESTful? What about GraphQL? or RPC? We'll look at the choices and their strengths and weaknesses to guide your decision. We'll also take a hard look at the other, vital components of an API from how it works with HTTP, through validation, payload formats and error handling. An API makes its mark when it is used, so we'll also consider developer experience to ensure that your API is best it can be. By the end of this talk, you'll be well-placed to design and deliver a great API that's fit for purpose.

Improve Your API with OpenAPIPresented at PHPUK, February 2022

OpenAPI is the standard way to describe your HTTP API, adopted by most modern APIs. With the spec at the centre of your workflow, you can improve the quality of your API and development practices, and make integrations painless. With standardisation comes tooling and in this session, I will show you to leverage this to your advantage. We'll cover what OpenAPI is, why it's interesting and then how to use it. We will also look at how the OpenAPI specification enables you to create documentation, use mock servers and improve the robustness of our API with validation. This session is ideal for anyone who wants to write an API specification once and use it everywhere.

Improve Your API with OpenAPIPresented at PHPSW, November 2021

OpenAPI is the standard way to describe your HTTP API, adopted by most modern APIs. With the spec at the centre of your workflow, you can improve the quality of your API and development practices, and make integrations painless. With standardisation comes tooling and in this session, I will show you to leverage this to your advantage. We'll cover what OpenAPI is, why it's interesting and then how to use it. We will also look at how the OpenAPI specification enables you to create documentation, use mock servers and improve the robustness of our API with validation. This session is ideal for anyone who wants to write an API specification once and use it everywhere.

The Making of a Great APIPresented at Scotland PHP, October 2021

Everyone is writing APIs but what makes a great one? I will take you on a tour of the most important features that you should think about when creating an API. These ensure that your API plays well with HTTP and make your API a delight to maintain and work with. Give your API a competitive edge by making it great and developers will want to work with it.

The Serverless PHP ApplicationPresented at PHPUGFFM, September 2021

Serverless platforms are suited to a wide range of applications from IoT and chatbots through to microservices and web hooks. In this session, I’ll look at how serverless applications work and embrace cloud services to live in a world where there are many separate parts that make up the application. I'll cover the architectural patterns we use to design a serverless application including handling their stateless nature and leveraging event processing to trigger them. I will then turn my attention to showing how these are put into practice by looking at how they can be implemented in Apache OpenWhisk or AWS Lambda.

The Serverless PHP ApplicationPresented at The Online PHP Conference, January, 2021

Serverless platforms are suited to a wide range of applications from IoT and chatbots through to microservices and web hooks. In this session, I’ll look at how serverless applications work and embrace cloud services to live in a world where there are many separate parts that make up the application. I'll cover the architectural patterns we use to design a serverless application including handling their stateless nature and leveraging event processing to trigger them. I will then turn my attention to showing how these are put into practice by looking at how they can be implemented in Apache OpenWhisk or AWS Lambda.

The Serverless PHP ApplicationPresented at PHPFest, Russia, October 2020

Serverless platforms are suited to a wide range of applications from IoT & chatbots through to microservices and web hooks. In this session, I’ll introduce you to how serverless applications work and embrace cloud services to live in a world where there are many separate parts that make up the application. I’ll cover the architectural patterns we use to design a serverless application including handling their stateless nature, how to use multiple functions for a task and leveraging event processing to trigger further functions. I will then turning my attention to showing you how to put these into practice by looking at how they can be implemented in an Lambda or Apache OpenWhisk.