Building, specifying, and testing APIs with microservices





Who is this presentation for?
- Developers and architects
Level
Description
James Gough, Nick Ebbitt, and Matthew Auburn walk you through the creation of a very simple Task List API.
Outline:
- 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

Jim Gough
Morgan Stanley
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’s a regular conference speaker and spent four years teaching Java and C++ around the world.

Nick Ebbitt
Morgan Stanley
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.

Matthew Auburn
Morgan Stanley
Matt Auburn is a passionate software developer at Morgan Stanley, where he works as an API developer. Matt owns the DevOps and Security API components. 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.
Comments on this page are now closed.
Gold Sponsor
Silver Sponsors
Exhibitor
Innovator
Supporter
Diversity & Inclusion Sponsor
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires
Comments
Ideas for building development environment and mock systems for developers. With docker and micro-services it takes a lot of time, resources and context to get system or a part of up and running. It’s even harder with something like access management or RBAC controls, various security compliances and cloud native services. Would like to hear some real world experiences and advices on getting smoother development environment in micro-services world.