30
The State of Web API Languages Jerome Louvel, Chief Geek @jlouvel

APIdays 2015 - The State of Web API Languages

  • Upload
    restlet

  • View
    2.918

  • Download
    0

Embed Size (px)

Citation preview

Page 1: APIdays 2015 - The State of Web API Languages

The State of Web APILanguagesJerome Louvel, Chief Geek

@jlouvel

Page 2: APIdays 2015 - The State of Web API Languages

About me

● Launched Restlet Framework, first REST framework in 2005

● Contributor to “RESTful Web Services” (O’Reilly, 2007)

● Member of the JAX-RS 1.0 expert group (2007 - 2009)

● Co-author of “Restlet in Action” (Manning, 2012)

● InfoQ editor covering Web APIs since 2014

● CTO & Founder of Restlet, Web API platform vendor

Page 3: APIdays 2015 - The State of Web API Languages

Major API use cases

IoTDevices

Conn-ectors

Open Data

Web Apps

Desktop Apps

Partner Apps

Mobile Apps

Open APIs

APIs

APIs

APIs

APIs

APIs

APIs

APIs

APIs

DigitalApplications

Page 4: APIdays 2015 - The State of Web API Languages

● New types of APIs○ internal & external APIs○ composite & micro APIs○ experience & open APIs

● Number of APIs increases○ channels growth○ history of versions○ microservices pattern○ quality of service

● → Industrialization needed○ new development workflows○ importance of API languages○ new tooling

Impacts on API development

API Platform

Micro APIs(domain data & logic)

Composite APIs(domain services)

Experience APIs(backends)

User Interfaces(frontends)

Open APIs(public)

End-users

Micro APIs(external SaaS)

Partner devs

Page 5: APIdays 2015 - The State of Web API Languages

1 | Code-first & Back-end Driven

Back-end team

Front-end teams

API

Impl

SDK

ClientA

SDK

ClientB

...

...3

1

2

Page 6: APIdays 2015 - The State of Web API Languages

2 | API-first & Back-end Driven

Back-end team

Front-end teams

Impl

SDK

ClientA

SDK

ClientB

...

...2

1Mock

2

API

Page 7: APIdays 2015 - The State of Web API Languages

3 | Collaborative API-first

Back-end team

Front-end teams

Impl

SDK

ClientA

SDK

ClientB

...

...2

1Mock

2

API

Page 8: APIdays 2015 - The State of Web API Languages

4 | API-first & Front-end Driven

Back-end team

Front-end teams

Impl

SDK

ClientA

SDK

ClientB

...

...2

1Mock

2

APIMockAPI

Impl

MockAPI

Impl

ServicesData

Page 9: APIdays 2015 - The State of Web API Languages

5 | API-first & Front-end Owned

Back-end team

Front-end teams

Impl

SDK

ClientA

SDK

ClientB

...

...2

1Mock

2

APIMockAPI

Impl

MockAPI

Impl

Data Services

Page 10: APIdays 2015 - The State of Web API Languages

● 1) Describe API contract○ endpoints, resources, HTTP methods, representations○ enable the generation of:

■ client SDKs■ server skeletons■ test suites■ mock servers

● 2) Implement API○ wrap regular applications written with classic languages○ compose lower-level APIs into higher-level APIs○ integration purpose at web scale

● 3) Operate API○ provide the infrastructure to deliver the API○ access to data and services

Maturity levels of API Languages

Lower levellanguages

API delivery network

Page 11: APIdays 2015 - The State of Web API Languages

● Swagger (2.0)○ acquisition by SmartBear from Reverb○ tooling has been upgraded○ leader in term of community adoption○ specification contributed to Linux Foundation

● RAML (1.0 RC)○ added libraries, overlays, improved examples,

security schemas, annotations, and data-typing

● API Blueprint (1A9)○ support for MSON and URI template added

● Will all three languages be able to converge?

What changed in 2015?

Page 12: APIdays 2015 - The State of Web API Languages

Languages are Abstraction Layers

Hardware

Assembly languages

System languages

Application languages

Web API languages

software level, driversNASM / TASM

OS level, high performanceC / C++ / C# / Go

productivity, portability, business logicJava / PHP / Visual Basic

web scale, interoperability, integration, DSLsSwagger / RAML / API Blueprint

lowest level, machine codex86 / CISC / RISC / etc.1st generation

2nd generation

3rd generation

4th generation

3rd generation

Page 13: APIdays 2015 - The State of Web API Languages

● 50% of classic languages at the top

● Java rising to 1st place on its 20 years anniversary.

● Cobol and Assembly in the top 20 and rising

● New languages emerging (Swift, Dart, Go)

● An API language in this list?

Source: TIOBE index

Top programming languages 2015

Page 14: APIdays 2015 - The State of Web API Languages

API provider activities

DEVELOP OPERATE PROMOTE

API ProviderAPI Consumers

DEPLOY PUBLISH

team effect

try out / compose

Page 15: APIdays 2015 - The State of Web API Languages

API provider tooling

IDE ADN HUB

API ProviderAPI Consumers

DEPLOY PUBLISH

team effect

try out / compose

IDE: API Integrated Deveqlopment EnvironmentADN: API Delivery NetworkHUB: Collaborative API Portal

Page 16: APIdays 2015 - The State of Web API Languages

API consumer activities

DISCOVER DEVELOP USE

API Consumer

TRY OUT DEPLOY

team effect

End Users

Page 17: APIdays 2015 - The State of Web API Languages

API consumer tooling

HUB IDE ADN

API ConsumerEnd users

TRY OUT DEPLOY

team effect

Page 18: APIdays 2015 - The State of Web API Languages

Design IDE: Mulesoft API Designer

Page 19: APIdays 2015 - The State of Web API Languages

Design IDE: Apiary

Page 20: APIdays 2015 - The State of Web API Languages

Design IDE: Apigee Studio

Page 21: APIdays 2015 - The State of Web API Languages

Design IDE: Stoplight

Page 22: APIdays 2015 - The State of Web API Languages

Design IDE: Restlet Studio

Page 23: APIdays 2015 - The State of Web API Languages

Sample IDE: Restlet Studio

Page 24: APIdays 2015 - The State of Web API Languages

Sample IDE: Restlet Studio

Page 25: APIdays 2015 - The State of Web API Languages

● Browser-based IDE○ accelerate the design of APIs○ Chrome application○ compatible with other modern browsers

● Supports○ visual design of APIs○ source code views○ APIs with large # of resources (sections)○ skeleton and SDK generation○ adherence to REST○ multiple API languages

■ Swagger 1.2, 2.0 & RAML 0.8■ RAML 1.0 & API Blueprint planned■ first tool of this kind

http://studio.restlet.com

Design APIs with Restlet

Page 26: APIdays 2015 - The State of Web API Languages

Testing IDE: Paw

Page 27: APIdays 2015 - The State of Web API Languages

Testing IDE: Postman

Page 28: APIdays 2015 - The State of Web API Languages

Testing IDE: DHC by Restlet

Page 29: APIdays 2015 - The State of Web API Languages

● 1 | API language convergence○ move innovation to another level○ accelerate tooling ecosystem

● 2 | API implementation○ API coding & assembly○ need full IDEs for APIs

● 3 | API delivery○ low latency○ high availability○ elastic scalability○ pervasive security○ specialized API PaaS

→ A whole new API Stack is emerging!

Our API challenges

Page 30: APIdays 2015 - The State of Web API Languages

Thank you

Q&A