Upgrade to Pro — share decks privately, control downloads, hide ads and more …

API Thinking

API Thinking

Daniel Kocot

April 04, 2024
Tweet

More Decks by Daniel Kocot

Other Decks in Business

Transcript

  1. Creating the digital future together. 3 codecentric AG Hoher Wall

    15 44137 Dortmund Daniel Kocot Head of API Expierence & Operations Senior Solution Architect AsyncAPI Ambassador +49 151 10 86 70 74
  2. 6

  3. 7

  4. 10

  5. New way of thinking 11 Broader strategic vision Emphasises reusability

    and user experience Scalability and flexibility
  6. API first 13 PRIORITISING APIS WITHIN THE ORGANISATION APIS BECOME

    A MAIN PART OF THE BUSINESS MODEL OF THE ORGANISATION API FIRST IS NOT A PARADIGM FOR YOUR DEVELOPMENT TEAM!
  7. Definition 15 VALUE PROPOSITION ANALYTICS AND MAYBE SOME KIND OF

    MONETISATION OWNERSHIP AND LIFECYCLE MANAGEMENT DOCUMENTATION AND DEVELOPER EXPERIENCE
  8. APIs are not the panacea 18 In some situations they

    are not the best fit Security Dependencies Complexity
  9. API Development API Thinking 23 Empathise with stakeholders Data definition

    API definition API endpoint and backend implementation Test by stakeholders
  10. What does that mean? 25 With the idea of Business

    or Developer Success, we take the concept of Developer Experience in your organisation to the next level by also including the User Experience of the application that uses an API. Another factor, the Value Experience, refers to the exchange of values that make APIs sustainable and worthwhile for your organisation to invest in their development and maintenance.
  11. Techniques / Methods 31 Persona Empathic conversation Empathy map Extreme

    user Job shadowing What – How - Why Domain-Driven Design Event Storming Domain Storytelling
  12. Definition 33 Different API interaction patterns exist to accommodate various

    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
  13. Resource / Hypermedia 35 EXECUTE A SPECIFIED SET OF METHODS

    ON REMOTE RESOURCES. HTTP, ODATA, GRPC
  14. Tunnel 36 CALL A PROCEDURE/COMMAND ON A REMOTE SERVER AS

    YOU WOULD LOCALLY CALL A FUNCTION IN YOUR PROGRAMMING LANGUAGE SOAP, XML/JSON-RPC,GRPC, ODATA
  15. Query 37 FORMULATE A QUERY AGAINST A REMOTE DATASET AS

    IF THE API WERE A DATABASE (CF. SQL) ODATA, GRAPHQL
  16. Event-Based 38 FETCH EVENTS COMING TO AND FROM MESSAGE BROKER

    AMQP, MQTT, KAFKA, CLOUDEVENTS AS THE UNDERLYING SPECIFICATION
  17. Data Representation 49 XML JSON Schema JSON for Linking Data

    (JSON-LD) RDF (Resource Description Framework) CBOR (Concise Binary Object Representation)
  18. API definition 51 openapi: 3.0.3 servers: - url: 'http://localhost:8080' info:

    version: 1.0.0 title: News API contact: name: Daniel Kocot url: 'http://www.codecentric.de' email: [email protected] license: name: MIT url: 'https://www.tldrelgal.com/mit' description: An API to provide news
  19. API Design First 56 This is where we sketch out

    the API endpoints, data structures, and use cases before we even think about code. The benefit? We get clarity on what our API needs to do and the best way to structure it, saving us time and headaches down the line.
  20. API mediation 57 • Architectural layer to manage, protect and

    enrich an API • Intercepting API traffic • Concept of "outer" APIs • No business logic should be handled within this layers
  21. Platform APIs 59 • Use a framework the development team

    is proficient with • To create a first representation of the data • Transformation is maybe needed
  22. Transformations 61 • Use Enterprise Integration Patterns • Apache Camel,

    Spring Integration, Apache Nifi, SaaS Service (e.g. Make), ...
  23. Aggregations 62 • Use again a framework the development team

    is proficient with • To create aggregated or composed representation of data from Platform APIs • These APIs help to create a better experience for the user
  24. API Development API Thinking 70 Empathise with stakeholders Data definition

    API definition API endpoint and backend implementation Test by stakeholders
  25. Reading material and recommendations 74 • https:/ /blog.codecentric.de • codecentric

    magazine „Der Softwerker“ • IT Spektrum / https:/ /www.sigs.de/autor/daniel.kocot • https:/ /architectural-bytes.ghost.io In case of interest in more posts around API topics, follow me on LinkedIn or contact me.
  26. codecentric AG | Hochstraße 11 | 42697 Solingen Creating the

    digital future together. 76 codecentric AG | Hochstraße 11 | 42697 Solingen Creating the digital future together. Thank you!