Gluecon 2017: Metadata is the Glue

28
Uri Sarid, CTO, MuleSoft Gluecon 2017 Metadata is the Glue @usarid

Transcript of Gluecon 2017: Metadata is the Glue

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

SERVICES

R&D

@usarid

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 goodbut the goods are odd

@usarid

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& Fulfillment

All contents © MuleSoft Inc. @usarid

Software Creation Coherent Software Assembly

10

Order Management Inventory

Shipping& Fulfillment

CustomerExperience

application network

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

mocking

SDK

manage

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

common caching behavior

apply the traits as needed

end up with a correct, consistent API

All contents © MuleSoft Inc. @usarid

Use common structures

20

a collectionresource type

a memberresource type

apply the resource types

as needed

end up with a correct, consistent API

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

All contents © MuleSoft Inc. @usarid

Policies are extensions

22

traits

resource types

data typesversion 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

All contents © MuleSoft Inc. @usarid

Overlay usecase: implementation

23

functional API spec

general, reusable annotations for

AWS API Gateway configuration

specific configfor this API’s

implementation

All contents © MuleSoft Inc. @usarid

API metadata is layered and reusable

24

All contents © MuleSoft Inc. @usarid

What format?

25

API Modeling Framework

RAMLseparation of concerns

reuse - consistency

modeling

tools platforms

layered modeling

OpenAPI Speccommon description

common description

All contents © MuleSoft Inc. @usarid

What format? Yes!

26

API Modeling Framework

RAMLseparation of concerns

reuse - consistency

modeling

tools platforms

layered modeling

OpenAPI Speccommon description

common description

All contents © MuleSoft Inc. @usarid

AMF: Framework for API metadata

27

SPECIFICATION

OpenAPI Spec parser/emitterRAML parser/emitter

great tooling…

higher-level concepts…

AMFCommon document modelAPI

Common API-domain modelAPI

so meta@usarid@mulesoft

github.com/raml-org/api-modeling-framework