12
Design and Development of Enterprise grade OAI First JavaScript Microservice @sumantobiswas, @pramodvallanur

Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

  • Upload
    others

  • View
    1

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

Design and Development of Enterprise grade OAI First JavaScript Microservice

@sumantobiswas, @pramodvallanur

Page 2: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

What’s the Interface you implemented

against?

REST Interface generated from Code

Interface lags Implementation

REST design an afterthought

Page 3: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

OAI First

Page 4: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

What kind of instance permission does this API need in addition

to OAuth scopes?

Behavior deep inside Code

End user concerns like security buried deep

inside Implementation

Header, Query parameters, Schemas

validation

Page 5: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

OAI Driven Behavior

Page 6: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

This API’s query parameter is camel-cased, whereas the other API accepted

dash-cased?

Style inconsistency

Maintenance nightmare

Payload and schema inconsistency

Page 7: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

OAI Linting

Page 8: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

The OAI Document doesn’t even load in

my browser anymore?

OAI document becomes enormous and too

verbose

No one wants read OAI anymore

Linting is playing catchup with OAI Style

issues

Page 9: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

OAI Generation from Metadata

Page 10: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

How do I call the REST API from my NodeJS

program without having to become a

OAI expert?

What about REST Documentation

What about Client Programs?

How do I keep my CLI up to date with REST

API

Page 11: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

OAI Driven Assets

Page 12: Design and Development of Enterprise grade OAI First JavaScript … · 2020-02-27 · API from my NodeJS program without having to become a OAI expert? What about REST Documentation

Highly leveraged DRY resource model Devops Enabled 100% REST Coverage100% CLI Coverage 100+ REST Resources 1300+ REST Operations Perfectly consistent best practice based resource types and REST runtime behavior Basic CRUD REST resources require zero lines of code Provider and consumer SDK generation Auto-generated CLI & REST reference documentation Auto-generated schema definitions Tight change governance REST Style Linting (Kona) Significantly lowers development, testing, and service costs