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.

APIdays 2015 - The State of Web API Languages

3,100 views

Published on

Importance of web API languages such as Swagger, RAML and API Blueprint, recent changes and emerging tooling around them.

Published in: Internet
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

APIdays 2015 - The State of Web API Languages

  1. 1. The State of Web API Languages Jerome Louvel, Chief Geek @jlouvel
  2. 2. 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
  3. 3. Major API use cases IoT Devices Conn- ectors Open Data Web Apps Desktop Apps Partner Apps Mobile Apps Open APIs APIs APIs APIs APIs APIs APIs APIs APIs Digital Applications
  4. 4. ● 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
  5. 5. 1 | Code-first & Back-end Driven Back-end team Front-end teams API Impl SDK Client A SDK Client B ... ... 3 1 2
  6. 6. 2 | API-first & Back-end Driven Back-end team Front-end teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API
  7. 7. 3 | Collaborative API-first Back-end team Front-end teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API
  8. 8. 4 | API-first & Front-end Driven Back-end team Front-end teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API Mock API Impl Mock API Impl ServicesData
  9. 9. 5 | API-first & Front-end Owned Back-end team Front-end teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API Mock API Impl Mock API Impl Data Services
  10. 10. ● 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 level languages API delivery network
  11. 11. ● 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?
  12. 12. Languages are Abstraction Layers Hardware Assembly languages System languages Application languages Web API languages software level, drivers NASM / TASM OS level, high performance C / C++ / C# / Go productivity, portability, business logic Java / PHP / Visual Basic web scale, interoperability, integration, DSLs Swagger / RAML / API Blueprint lowest level, machine code x86 / CISC / RISC / etc. 1st generation 2nd generation 3rd generation 4th generation 3rd generation
  13. 13. ● 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
  14. 14. API provider activities DEVELOP OPERATE PROMOTE API Provider API Consumers DEPLOY PUBLISH team effect try out / compose
  15. 15. API provider tooling IDE ADN HUB API Provider API Consumers DEPLOY PUBLISH team effect try out / compose IDE: API Integrated Deveqlopment Environment ADN: API Delivery Network HUB: Collaborative API Portal
  16. 16. API consumer activities DISCOVER DEVELOP USE API Consumer TRY OUT DEPLOY team effect End Users
  17. 17. API consumer tooling HUB IDE ADN API Consumer End users TRY OUT DEPLOY team effect
  18. 18. Design IDE: Mulesoft API Designer
  19. 19. Design IDE: Apiary
  20. 20. Design IDE: Apigee Studio
  21. 21. Design IDE: Stoplight
  22. 22. Design IDE: Restlet Studio
  23. 23. Sample IDE: Restlet Studio
  24. 24. Sample IDE: Restlet Studio
  25. 25. ● 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
  26. 26. Testing IDE: Paw
  27. 27. Testing IDE: Postman
  28. 28. Testing IDE: DHCby Restlet
  29. 29. ● 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
  30. 30. Thank you Q&A

×