Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API Specs

1,114 views

Published on

The main goal of Mulesoft's API Modelling Framework (AMF) is to provide a way for developers to interact with API specifications written in either RAML or OpenAPI. This talk will give an overview of the API Modelling Framework, a set of tools to model, query and expose all aspects of an API specification.

During this talk, we will go through several use cases, some simple and some more complex ones, to showcase how this can be useful at all stages of the API design process. We will show how the API Modelling Framework stores model and data for the model in a single unified data graph, and how it persists and allows querying using a declarative language. We will also show how, thanks to the formal qualities of the tools, automatic reasoning can be used to add inferred data to the model in order to solve particular data integration scenarios.

- Github repo: https://github.com/raml-org/api-modeling-framework
- Playground: https://mulesoft-labs.github.io/amf-playground/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API Specs

  1. 1. A Toolbox for API Specs Antonio Garrote, Principal Engineer, Gluecon 2017 API Modeling Framework
  2. 2. Introduction to AMF
  3. 3. All contents © MuleSoft Inc. What is AMF? 3 • Project under current development in MuleSoft • Goal – Capture all the information about an organisation APIs and APIs’ data into a single unified model • Features – Modular and reusable descriptions – Describe multiple kinds of APIs – Decentralised model description – Support for multiple syntaxes – Extensible descriptions – Foundation for Domain Driven approach to APIs
  4. 4. All contents © MuleSoft Inc. AMF Model 4
  5. 5. All contents © MuleSoft Inc. AMF Model 5
  6. 6. All contents © MuleSoft Inc. AMF Model 6
  7. 7. All contents © MuleSoft Inc. AMF Model 7
  8. 8. All contents © MuleSoft Inc. AMF Model 8
  9. 9. All contents © MuleSoft Inc. AMF Model 9
  10. 10. AMF Model Demo
  11. 11. All contents © MuleSoft Inc. AMF Model Demo: Exploring document declarations 11
  12. 12. All contents © MuleSoft Inc. AMF Model Demo: Exploring the domain model 12
  13. 13. All contents © MuleSoft Inc. AMF Model Demo: Domain model graph 13
  14. 14. All contents © MuleSoft Inc. AMF Model Demo: Domain graph after resolution 14
  15. 15. AMF Features
  16. 16. All contents © MuleSoft Inc. RAML / OpenAPI Interoperability 16
  17. 17. All contents © MuleSoft Inc. RAML / OpenAPI Interoperability 17 •Mapping functions are not bijective: • Every valid RAML/Open API model is a valid AMF model • Every valid AMF model is not a valid RAML model • Every valid AMF model is not a valid Open API model
  18. 18. All contents © MuleSoft Inc. RAML / OpenAPI Interoperability 18
  19. 19. All contents © MuleSoft Inc. RAML / OpenAPI Parsing and Generation 19
  20. 20. All contents © MuleSoft Inc. RAML / OpenAPI Parsing and Generation 20
  21. 21. All contents © MuleSoft Inc. RAML / OpenAPI Parsing and Generation 21
  22. 22. All contents © MuleSoft Inc. RAML / OpenAPI Parsing and Generation 22
  23. 23. AMF Interop Demo
  24. 24. All contents © MuleSoft Inc. AMF Interop Demo: RAML -> OpenAPI translation 24
  25. 25. All contents © MuleSoft Inc. AMF Interop Demo: RAML -> OpenAPI translation 25
  26. 26. All contents © MuleSoft Inc. Document Level Dependency Tracking 26
  27. 27. All contents © MuleSoft Inc. Document Level Dependency Tracking 27
  28. 28. All contents © MuleSoft Inc. Document Level Dependency Tracking 28
  29. 29. AMF Server Demo
  30. 30. All contents © MuleSoft Inc. AMF Server Demo: Exploring APIs repositories 30
  31. 31. All contents © MuleSoft Inc. AMF Server Demo: Tracking dependencies 31
  32. 32. All contents © MuleSoft Inc. AMF Server Demo: Pushing changes with deps 32
  33. 33. All contents © MuleSoft Inc. Domain Level Dependency Tracking 33
  34. 34. All contents © MuleSoft Inc. Domain Level Dependency Tracking 34
  35. 35. All contents © MuleSoft Inc. Domain Level Dependency Tracking 35
  36. 36. AMF Diff Explorer Demo
  37. 37. All contents © MuleSoft Inc. AMF Diff Demo: Computing semantic hash 37
  38. 38. All contents © MuleSoft Inc. AMF Diff Demo: Diff entity report 38
  39. 39. All contents © MuleSoft Inc. AMF Diff Demo: Diff graph 39
  40. 40. All contents © MuleSoft Inc. AMF Diff Demo: Diff graph 40
  41. 41. All contents © MuleSoft Inc. Validation 41
  42. 42. All contents © MuleSoft Inc. Validation 42
  43. 43. All contents © MuleSoft Inc. Validation 43
  44. 44. AMF Validation Demo
  45. 45. All contents © MuleSoft Inc. AMF Validation Demo: RAML Types 45
  46. 46. All contents © MuleSoft Inc. AMF Validation Demo: JSON Schema 46
  47. 47. All contents © MuleSoft Inc. Model Management 47
  48. 48. AMF Query Demo
  49. 49. All contents © MuleSoft Inc. AMF Query Demo: Model query 49
  50. 50. All contents © MuleSoft Inc. AMF Query Demo: Introspection query 50
  51. 51. All contents © MuleSoft Inc. Built with Standards 51 Feature Standard Data Model RDF Validation SHACL Vocabulary Modeling OWL Query SPARQL Vocabularies Schema.org / Hydra
  52. 52. W3C Standards Demo
  53. 53. All contents © MuleSoft Inc. W3C Standards Demo: JSON-LD RDF Graph 53
  54. 54. All contents © MuleSoft Inc. W3C Standards Demo: SHACL Constraints 54
  55. 55. All contents © MuleSoft Inc. W3C Standards Demo: SPARQL Query 55
  56. 56. All contents © MuleSoft Inc. Open Source 56 https://github.com/raml-org/api-modeling-framework
  57. 57. Thank You

×