19

Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

  • Upload
    restlet

  • View
    393

  • Download
    0

Embed Size (px)

DESCRIPTION

This session will explain how to craft an API using a dedicated Web IDE, implement the API in Java using an Open Source Framework, host and scale the API using generic PaaS, manage access to this API, including documentation, client SDKs, access management, firewall and analytics, using a dedicated PaaS. We will highlight how to combine the best of open source and cloud tools such as web IDEs, open source frameworks and PaaS to manage a web API project in a modern and effective way.

Citation preview

Page 1: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 2: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

New API Landscape

API project

Multiplicity ofHCI modes

Always-on and instantaneous services

Mobile and contextual access to services

Cross-channel user experiences

Cloud computing & hybrid architectures

Web of data(semantic)

Page 3: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

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

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

● → Industrialization needed○ new development workflows

Impacts on API development

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

Page 4: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

New API development workflows● API-driven approach benefits

○ a pivot API descriptor○ server skeletons & mock generation○ up-to-date client SDKs & docs○ rapid API crafting & implementation

● Code-first or API-first approaches○ can be combined using

■ code introspectors to extract■ code generators to resync

API source code

API descriptor

introspect generate

APIdocs

generate generate

ClientSDKs

Page 5: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

Crafting an API● Specialized API crafting tools

○ code editors○ visual designers○ generation of

■ contract■ client SDKs■ skeletons

● New generation of tools○ IDE-type○ Web-based

Page 6: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 7: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 8: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 9: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 10: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 11: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 12: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

Implementing an API ● Implementation using a RESTful API framework

○ Benefits ■ less mental gap compared to MVC & RPC

frameworks■ higher level than raw HTTP libraries (Servlet, Netty)■ easier to use HTTP protocol features■ open source (no lock-in)

○ Key features of an API framework■ API descriptor/contract definition

● in Java, typically uses annotations■ both client and server side support■ make it easy or transparent to use HTTP features■ performance and scalability

HTTP / WebSockettransport

HTTPsemantics

RESTframework

Customweb API

Page 13: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

● JAX-RS centric○ Oracle Jersey○ JBoss RESTeasy○ DropWizard○ Apache Wink○ Apache CXF

● Alternative Java APIs○ Restlet Framework

■ favor Restlet API■ support JAX-RS API

○ REST.li○ RESTx○ REST Express

● JavaScript○ Node.js / Express.js○ etc.

API Frameworks Landscape

Page 14: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

Deploying an API● PaaS make it easier to deploy

○ less operational burden○ cost and time effective to start then scale○ more availability and lower latency

■ necessary for a global reach

● Generic Infrastructure PaaS○ hosting and auto-scaling○ good density thanks to VMs○ better density thanks to containers (Docker)

● Specialized PaaS for APIs○ add API management on top of the hosted API○ integrate with Infrastructure PaaS

■ remote agent close to API or API wrapper

Page 15: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

● Typical Benefits○ documentation○ access control○ firewall○ adaptation○ monetization○ analytics

● APISpark Supports○ APIs with large # of resources (sections)○ skeleton and SDK generation○ integration with Restlet Framework○ includes creation and hosting as well

Managing an API

Page 16: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 17: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Page 18: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs

Conclusion● APIs enable new layers of abstraction

○ IaaS became a game changer thanks to APIs■ S3, EC2, Route53, etc.■ moving up the value chain

○ PaaS is the next game changer in cloud■ Docker containers provide one key block■ APIs will play a strategic role again

○ Web IDEs + PaaS + Open Sourcebecome the new API Stack!

Page 19: Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs