apidays 2015 - the state of web api languages
TRANSCRIPT
![Page 1: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/1.jpg)
The State of Web APILanguagesJerome Louvel, Chief Geek
@jlouvel
![Page 2: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/2.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/3.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/4.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/5.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/6.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/7.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/8.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/9.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/10.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/11.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/12.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/13.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/14.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/15.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/16.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/17.jpg)
API consumer tooling
HUB IDE ADN
API ConsumerEnd users
TRY OUT DEPLOY
team effect
![Page 18: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/18.jpg)
Design IDE: Mulesoft API Designer
![Page 19: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/19.jpg)
Design IDE: Apiary
![Page 20: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/20.jpg)
Design IDE: Apigee Studio
![Page 21: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/21.jpg)
Design IDE: Stoplight
![Page 22: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/22.jpg)
Design IDE: Restlet Studio
![Page 23: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/23.jpg)
Sample IDE: Restlet Studio
![Page 24: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/24.jpg)
Sample IDE: Restlet Studio
![Page 25: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/25.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/26.jpg)
Testing IDE: Paw
![Page 27: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/27.jpg)
Testing IDE: Postman
![Page 28: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/28.jpg)
Testing IDE: DHC by Restlet
![Page 29: APIdays 2015 - The State of Web API Languages](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/29.jpg)
● 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](https://reader031.vdocument.in/reader031/viewer/2022030310/58f9b3c0760da3da068bd948/html5/thumbnails/30.jpg)
Thank you
Q&A