QCon SF 2014 Create and Deploy APIs using Web IDEs, Open Source Frameworks and Cloud Platforms
Presented by Jerome Louvel, Chief Geek
QCon SF 2014 Create and Deploy APIs using Web IDEs, Open Source - - PowerPoint PPT Presentation
QCon SF 2014 Create and Deploy APIs using Web IDEs, Open Source Frameworks and Cloud Platforms Presented by Jerome Louvel, Chief Geek New API Landscape Multiplicity of HCI modes Mobile and contextual Always-on and access to services
Presented by Jerome Louvel, Chief Geek
API project Multiplicity of HCI modes Always-on and instantaneous services Mobile and contextual access to services Cross-channel user experiences Cloud computing (IaaS) Semantic web (hyperdata)
○ internal & external APIs ○ composite & micro APIs
experience & open APIs
○ channels growth ○ history of versions ○ micro services pattern
quality of service
○ new development workflows
Infrastructure APIs (IaaS) Platform APIs (PaaS) 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
○ a pivot API descriptor ○ server skeletons & mock generation ○ up-to-date client SDKs & docs
rapid API crafting & implementation
○ can be combined using ■ code introspectors to extract ■ code generators to resync
API source code API descriptor
introspect generate
API docs
generate generate
Client SDKs
○ code editors ○ visual designers ○ generation of ■ contract ■ client SDKs ■ skeletons
○ IDE-type ○ Web-based
○ accelerate the design of APIs ○ Chrome extension ○ compatible with other modern browsers
○ visual design of APIs ○ source code views ○ APIs with large # of resources (sections) ○ skeleton and SDK generation ○ adherence to REST ○ multiple API languages (Swagger & RAML initially)
Preview Launch
November 18th
○ Benefits ■ less mental gap compared to MVC & RPC frameworks ■ higher level than raw HTTP libraries (Servlet, Netty) ■ easier to use HTTP protocol features ■
○ Key features of an API framework ■ API descriptor/contract definition
■ both client and server side support ■ make it easy or transparent to use HTTP features ■ performance and scalability
HTTP / WebSocket transport HTTP semantics REST framework Custom web API
○ Oracle Jersey ○ JBoss RESTeasy ○ DropWizard ○ Apache Wink ○ Apache CXF
○ Restlet Framework ■ favor Restlet API ■ support JAX-RS API ○ REST.li ○ RESTx ○ REST Express
○ Express.js
○ caching, content ranges & compression ○ content negotiation & conditional requests ○ confidentiality & authentication ○ all HTTP headers mapped to Java classes
○ API introspector (Swagger, RAML, WADL) ○ API management (API firewall, APISpark integration) ○ @Status annotation (map Java exception & HTTP error) ○ CORS support (cross-origin access) ○ easier access to raw HTTP headers ○ upgrade to Jetty 9.2 with client-side support ○ compatible with Java 7, GWT 2.7, Android, GAE, Java EE, OSGi
Version 2.3.0 launch
November 18th
○ less operational burden ○ cost and time effective to start then scale ○ more availability and lower latency ■ necessary for a global reach
○ hosting and auto-scaling ○ good density thanks to VMs ○ better density thanks to containers (Docker)
○ add API management on top of the hosted API ○ integrate with Infrastructure PaaS ■ remote agent close to API or API wrapper
○ documentation ○ access control ○ firewall ○ adaptation ○ monetization
○
analytics
○ APIs with large # of resources (sections) ○ skeleton and SDK generation ○ integration with Restlet Framework
General Availability
November 18th
○ IaaS became a game changer thanks to APIs ■ S3, EC2, Route53, etc. ○ PaaS is the next game changer ■ thanks to APIs as well!