use cases, requirements, and preferences of API consumers. These pattern provide different ways for clients to interact with APIs and can be chosen based on factors such as the nature of the application the desidered level of control and flexibility, and the specific goals of the API design
VIA PROGRAMMATIC, TYPE-SAFE, AND PLATFORM-AGNOSTI C INTERFACES OPPORTUNITY TO CONSOLIDATE ALL OUTPUT PORTS OF A DATA PRODUCT WITHIN A SINGLE INTERFACE DESCRIPTION. ADAPT THIS INTERFACE DESCRIPTION BASED ON THE PROVIDED API INTERACTION PATTERNS. IMPLEMENT THE SERVICES USING THE SUPPORTED PATTERNS, ALIGNING WITH THE PROGRAMMING EXPERTISE OF EACH TEAM.
language for describing cloud service APIs Ability to facilitate the generation of other API description languages Provides extensible core language primitives to describe API shapes Evolving language so breaking changes can still happen
model supported by Data Products and Data Contracts Describe the interfaces for a data model in a programmatic and type-safe manner. Available solutions so far: Microsoft TypeSpec, TaxiLang, Fern
•Use of Linters •Redocly for generic structure •Spectral or Vacuum for specific rules, like org-related and OWASP Top 10 •Check for Break Changes with oasdiff Validate •Contract Testing •Using Prism for Mocking •Testsuite covered by Portman and Newman Test •Deploying the definition to an API Gateway including needed transformations Deploy •Publishing the definition and additional information to an IDP and/or Marketplace Publish
Tooling always complements the underlying methodology. Initially, an API Management solution is not required for the development of APIs. To create high-quality APIs, adhere to standards and incorporate concepts from Data Mesh.
Slide 48: Photo by Emily Morter on Unsplash Slide 12: Photo by Franki Chamaki on Unsplash Slide 19: Photo by NASA on Unsplash Slide 21: Photo by Markus Winkler on Unsplash Slide 24: Photo by Sandro Gonzalez on Unsplash Slide 33: Photo by N. on Unsplash Slide 34: Photo by Dimitri Karastelev on Unsplash Slide 55: Photo by Aditya Chinchure on Unsplash Slide 91: Photo by Clay Banks on Unsplash