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.
Uri Sarid, CTO, MuleSoft
Gluecon 2017
Metadata is the Glue
@usarid
All contents © MuleSoft Inc. @usarid
Companies are becoming software companies…
2@usarid
All contents © MuleSoft Inc. @usarid
Companies are becoming software companies…
3
MANUFACTURING
HR
FINANCE
MARKETING SALES...
All contents © MuleSoft Inc. @usarid
But what kind of software?
4
Isn’t it already digitized?
Don’t we already have softwa...
All contents © MuleSoft Inc. @usarid
But what kind of software?
5
and they’re all connected
in all sorts of ways!
@usarid
All contents © MuleSoft Inc. @usarid
Where is this going?
6@usarid
All contents © MuleSoft Inc. @usarid
Where is this going?
7@usarid
All contents © MuleSoft Inc. @usarid
Software Creation  Coherent Software Assembly
8
Order Management
All contents © MuleSoft Inc. @usarid
Software Creation  Coherent Software Assembly
9
Order Management Inventory
Shipping
...
All contents © MuleSoft Inc. @usarid
Software Creation  Coherent Software Assembly
10
Order Management Inventory
Shipping...
All contents © MuleSoft Inc. @usarid
The key is good metadata
11
All contents © MuleSoft Inc. @usarid
The key is good metadata
12
API
API
API
API
API
API
All contents © MuleSoft Inc. @usarid
The key is good metadata
13
All contents © MuleSoft Inc. @usarid
The key is good metadata
14
All contents © MuleSoft Inc. @usarid
The API spec
15
designemit domain model
docs
live console
scripting –
API Notebook
mo...
All contents © MuleSoft Inc. @usarid
The functional spec
16
model
your API
product
All contents © MuleSoft Inc. @usarid
The functional spec
17
see the result as
consumers would
All contents © MuleSoft Inc. @usarid
The functional spec
18
flesh out the
request, the
response…
All contents © MuleSoft Inc. @usarid
Use common behaviors
19
reusable library
of behavior traits
common paging
behavior
co...
All contents © MuleSoft Inc. @usarid
Use common structures
20
a collection
resource type
a member
resource type
apply the
...
All contents © MuleSoft Inc. @usarid
Model underlying data types
21
traits
resource types
end up with a correct,
consisten...
All contents © MuleSoft Inc. @usarid
Policies are extensions
22
traits
resource types
data types
version your functional s...
All contents © MuleSoft Inc. @usarid
Overlay usecase: implementation
23
functional API
spec
general, reusable
annotations ...
All contents © MuleSoft Inc. @usarid
API metadata is layered and reusable
24
All contents © MuleSoft Inc. @usarid
What format?
25
API Modeling Framework
RAML
separation of concerns
reuse - consistenc...
All contents © MuleSoft Inc. @usarid
What format? Yes!
26
API Modeling Framework
RAML
separation of concerns
reuse - consi...
All contents © MuleSoft Inc. @usarid
AMF: Framework for API metadata
27
SPECIFICATION
OpenAPI Spec parser/emitterRAML pars...
so meta
@usarid@mulesoft
github.com/raml-org/api-modeling-framework
Upcoming SlideShare
Loading in …5
×

Gluecon 2017: Metadata is the Glue

1,421 views

Published on

When the Glue Conferences started in 2008, “Glue” was roughly about “web oriented architecture”, “interop for the web”, and coupling that’s as loose as possible but no looser. Nine years later, we’re weaving a truly huge network of APIs, and the API metadata -- the API spec -- is the lynchpin of intentional loose coupling. It’s the single source of truth for what a service does, it’s the versioned contract between consumers and producers, it automates docs and exploration and testing and CI/CD and integration, and it’s key to productizing services. You can now benefit from RAML’s modeling features and Open API’s ubiquity with a new open-source engine, the API Modeling Framework, that glues them into a unified document model and domain model; it’s an open and extensible metadata engine for APIs that provides round-trip interoperability between formats, a common programmatic interface to the metadata, and a powerful kernel for API tooling.

Published in: Software
  • Be the first to comment

Gluecon 2017: Metadata is the Glue

  1. 1. Uri Sarid, CTO, MuleSoft Gluecon 2017 Metadata is the Glue @usarid
  2. 2. All contents © MuleSoft Inc. @usarid Companies are becoming software companies… 2@usarid
  3. 3. All contents © MuleSoft Inc. @usarid Companies are becoming software companies… 3 MANUFACTURING HR FINANCE MARKETING SALES SERVICES R&D @usarid
  4. 4. All contents © MuleSoft Inc. @usarid But what kind of software? 4 Isn’t it already digitized? Don’t we already have software for that? The odds are good but the goods are odd @usarid
  5. 5. All contents © MuleSoft Inc. @usarid But what kind of software? 5 and they’re all connected in all sorts of ways! @usarid
  6. 6. All contents © MuleSoft Inc. @usarid Where is this going? 6@usarid
  7. 7. All contents © MuleSoft Inc. @usarid Where is this going? 7@usarid
  8. 8. All contents © MuleSoft Inc. @usarid Software Creation  Coherent Software Assembly 8 Order Management
  9. 9. All contents © MuleSoft Inc. @usarid Software Creation  Coherent Software Assembly 9 Order Management Inventory Shipping & Fulfillment
  10. 10. All contents © MuleSoft Inc. @usarid Software Creation  Coherent Software Assembly 10 Order Management Inventory Shipping & Fulfillment Customer Experience application network
  11. 11. All contents © MuleSoft Inc. @usarid The key is good metadata 11
  12. 12. All contents © MuleSoft Inc. @usarid The key is good metadata 12 API API API API API API
  13. 13. All contents © MuleSoft Inc. @usarid The key is good metadata 13
  14. 14. All contents © MuleSoft Inc. @usarid The key is good metadata 14
  15. 15. All contents © MuleSoft Inc. @usarid The API spec 15 designemit domain model docs live console scripting – API Notebook mocking SDK manage
  16. 16. All contents © MuleSoft Inc. @usarid The functional spec 16 model your API product
  17. 17. All contents © MuleSoft Inc. @usarid The functional spec 17 see the result as consumers would
  18. 18. All contents © MuleSoft Inc. @usarid The functional spec 18 flesh out the request, the response…
  19. 19. All contents © MuleSoft Inc. @usarid Use common behaviors 19 reusable library of behavior traits common paging behavior common caching behavior apply the traits as needed end up with a correct, consistent API
  20. 20. All contents © MuleSoft Inc. @usarid Use common structures 20 a collection resource type a member resource type apply the resource types as needed end up with a correct, consistent API
  21. 21. All contents © MuleSoft Inc. @usarid Model underlying data types 21 traits resource types end up with a correct, consistent API apply data types as needed
  22. 22. All contents © MuleSoft Inc. @usarid Policies are extensions 22 traits resource types data types version your functional spec like you version your code this is your source code policies are operational extensions they shouldn’t affect the functional spec reusable security scheme clients see an effective API spec with security built in
  23. 23. All contents © MuleSoft Inc. @usarid Overlay usecase: implementation 23 functional API spec general, reusable annotations for AWS API Gateway configuration specific config for this API’s implementation
  24. 24. All contents © MuleSoft Inc. @usarid API metadata is layered and reusable 24
  25. 25. All contents © MuleSoft Inc. @usarid What format? 25 API Modeling Framework RAML separation of concerns reuse - consistency modeling tools platforms layered modeling OpenAPI Spec common description common description
  26. 26. All contents © MuleSoft Inc. @usarid What format? Yes! 26 API Modeling Framework RAML separation of concerns reuse - consistency modeling tools platforms layered modeling OpenAPI Spec common description common description
  27. 27. All contents © MuleSoft Inc. @usarid AMF: Framework for API metadata 27 SPECIFICATION OpenAPI Spec parser/emitterRAML parser/emitter great tooling… higher-level concepts… AMF Common document modelAPI Common API-domain modelAPI
  28. 28. so meta @usarid@mulesoft github.com/raml-org/api-modeling-framework

×