Building, specifying, and testing APIs with microservices
Who is this presentation for?
- Developers and architects
James Gough, Nick Ebbitt, and Matthew Auburn walk you through the creation of a very simple Task List API.
- Create microservices using Spring Boot that exposes an API and prove that’s not the hard part, with options offered for non-Java developers
- Use Pact or Spring Cloud Contract (you can choose) test and progress the 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
- Use a specification to allow your API to be versioned and 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 leaves you with the reasons for an API Gateway and why they’re architecturally important and introduces the concepts of a service mesh, which you now understand in the context of developing an API program
Materials or downloads needed in advance
- A laptop with access to GitHub and a very baseline setup (with prerequisites to come)
What you'll learn
- Understand that building an API is very simple and that testing and ensuring API compatibility is key to loosely coupled services
- Learn the importance of Open API Specifications and whether they're incidental or crafted
- Discover how to use semantic versioning to ensure compatibility of services
- Gain an introduction to gateways and microservices
James (Jim) Gough is an executive director and developer at Morgan Stanley, where he’s focused on building customer-facing technology. A Java developer and author, Jim first became interested in Java during his degree program at the University of Warwick; after graduating, he became a member of the London Java Community. Community has remained central to Jim’s contributions, which include working on the design and testing of JSR-310 and serving on the Java Community Process Executive Committee for several years. Jim is a regular conference speaker and spent four years teaching Java and C++ around the world.
Nick Ebbitt is a software engineer at Morgan Stanley. Software development is Nick’s passion, particularly the processes involved in delivering change. The ability to regularly deliver value in a controlled, automated fashion is central to the way he works. He’s a developer at heart with a strong interest in ops. Quality of software is very important to him, and he looks to use suitable tools and techniques to implement various flavours of tests. Nick believes that testing is a core part of the developers role and should be valued highly. He enjoys the latest technologies and techniques for delivering software.
Matt Auburn is a passionate software developer at Morgan Stanley, where he works as an API developer. Matt currently owns the DevOps and Security API components in his day to day. He’s a Java developer at heart, but he also writes automated tests in Python and has an interest in Go. He enjoys learning new technologies, mentoring, and teaching developers.
Leave a Comment or Question
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
For conference registration information and customer service
For more information on community discounts and trade opportunities with O’Reilly conferences
For information on exhibiting or sponsoring a conference
For media/analyst press inquires