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

AsyncAPI will drive the IoT revolution

F3bad9b06a1b0512c5c837f28dddd985?s=47 Fran Méndez
September 27, 2017

AsyncAPI will drive the IoT revolution

In this presentation, I will present the AsyncAPI specification. Protocols like MQTT are going to make the IoT revolution possible because of its low battery and traffic consumption. It's time for us to create a machine-readable specification (like OpenAPI) to define how these APIs can be consumed. It will allow the event-driven APIs to become interoperable, predictable and will enable us to generate better tooling for them. Read more about asynchronous APIs: http://nordicapis.com/asynchronous-apis-in-choreographed-microservices/

F3bad9b06a1b0512c5c837f28dddd985?s=128

Fran Méndez

September 27, 2017
Tweet

Transcript

  1. Photo by Drew Graham

  2. Fran Méndez A little bit about me APIs & Integrations

    at Twitter @fmvilas Email fmvilas@gmail.com Photo by Eva Morcillo
  3. What am I going to talk about… What is AsyncAPI?

    …in our next 50 minutes journey? Photo by Davide Cantelli Why should you use it? How it works and how to get started.
  4. AsyncAPI What is it?

  5. None
  6. AsyncAPI defines a set of files and a common language

    required to describe asynchronous APIs. Photo by RawPixel.com
  7. It is a specification With it you can describe: IoT

    APIs Event-driven microservices …and actually pretty much any system that is based on messages. Photo by Louis Smith
  8. It does NOT enforce any particular protocol However, it cares

    about the protocol because we think it’s an important information. AMQP MQTT WebSockets STOMP Photo by Axel Antas Bergkvist We’re exploring… Google PubSub CoAP NATS
  9. It is NOT a library nor a software However, tooling

    is provided: Documentation generators Code generators What will you create next? Photo by Barn Images
  10. AsyncAPI Why should you use it?

  11. AsyncAPI could be a software but what really matters is

    the language, because it defines how we communicate. Language It’s a basic pilar of communication Photo by Gonard Fluit By defining a common language everybody can easily create interoperable tools, services or even products.
  12. You can describe your APIs using both, JSON and YAML.

    Human/Machine It’s human and machine friendly. Humans can use GUIs for a more intuitive and accessible way of creating the AsyncAPI files. Photo by Alex Knight
  13. API Lifecycle Take control of your API lifecycle. Photo by

    Boris Smokrovic Design Documentation Code Generation Testing API management Monitoring
  14. Check out our repositories on Github: https://www.github.com/asyncapi Community-driven It’s open-source,

    it has always been open- source and it will always be open source. Photo by William White
  15. AsyncAPI How does it work?

  16. 1. Create an asyncapi.yml file. 2. Describe your API using

    the AsyncAPI syntax. Document your API You can either start by designing it or documenting an existing API. Photo by Simson Petrol OR Go to editor.asyncapi.org and start from an example API.
  17. Syntax It’s based on JSON schema and has 4 main

    parts: API Information Servers Topics Components Photo by Álvaro Serrano
  18. Syntax It’s based on JSON schema and has 4 main

    parts: API Information Servers Topics Components Photo by Álvaro Serrano
  19. API Information

  20. Syntax It’s based on JSON schema and has 4 main

    parts: API Information Servers Topics Components Photo by Álvaro Serrano
  21. Servers

  22. Syntax It’s based on JSON schema and has 4 main

    parts: API Information Servers Topics Components Photo by Álvaro Serrano
  23. Topics

  24. Syntax It’s based on JSON schema and has 4 main

    parts: API Information Servers Topics Components Photo by Álvaro Serrano
  25. Components/Messages

  26. Components/Schemas

  27. Components/SecuritySchemes

  28. Components/SecuritySchemes Ubidots MQTT API https://ubidots.com/docs/api/mqtt.html

  29. AsyncAPI How to get started?

  30. Photo by João Silas Documentation www.github.com/asyncapi/asyncapi Specification documentation www.asyncapi.org Website

  31. Photo by João Silas Tooling & Products www.github.com/asyncapi Generators (code

    & docs)