apigility: stop creating apis the hard way

22
Apigility: Stop Creating APIs The Hard Way Apigility: Stop Creating APIs The Hard Way Apigility Apigility Stop Creating APIs The Hard Way Stop Creating APIs The Hard Way Ben Dechrai Ben Dechrai @bendechrai @bendechrai #osdc14 https://joind.in/talk/view/12681 #osdc14 https://joind.in/talk/view/12681 Open Source Developers' Conference 2014

Upload: bendechrai

Post on 15-Jul-2015

422 views

Category:

Software


3 download

TRANSCRIPT

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

ApigilityApigilityStop Creating APIs The Hard WayStop Creating APIs The Hard Way

Ben DechraiBen Dechrai@bendechrai@bendechrai

#osdc14 https://joind.in/talk/view/12681#osdc14 https://joind.in/talk/view/12681

Open

Sourc

e Dev

eloper

s' C

onfe

rence

20

14

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Definition of API

● specifies operations, their inputs and outputs and underlying types

● defines functionalities that are independent of their respective implementation

● allows definition and implementation to vary without compromising each other

-- Wikipedia

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Definition of API

Your Code Remote CodeCommunications Channel

CommunicationsContract

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Definition of API

HTML +Javascript jQueryCommunications Channel

jQuery APIdocumentation

Programming Languages

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Definition of API

PHP Code .NET CodeSOAP over HTTP/S

WSDL

Web Services

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Definition of API

Python Code Ruby CodeREST over HTTP/S

WADL, RSDL orHypermedia

Web Services

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Building APIs

● From scratch– Routing

– Serialization

– Content Negotiation

– Validation

– Documentation

● Using an API Builder– Rapid API

development frameworks

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

API Builders

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Installing ApigilityInstalling Apigility

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Demo 1Demo 1

Database Connected ServiceDatabase Connected Service

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Database Connected Service

● Use a DB adapter● Specify a table● Have access to a

virtual resource

● Functionality is delegated to Apigility

● Development is rapid● Customisation is

harder

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Demo 2Demo 2

Code Connected ServiceCode Connected Service

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Adding StatusLibAdding StatusLib

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Demo 2Demo 2

Code Connected ServiceCode Connected Service

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Code Connected Service

● Trickier to set up● Manage own data

store connections● Slower development

● Functionality is in your module

● Easier to customise

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Where To From Here?

● Apigility is still young

– helper systems (admin interface) has a few issues logged, but they're being fixed quickly

– documentation is good● But it's stable

– based on Zend Framework 2

– v1.0 declared stable and ready for production (7th May 2014)

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Apigility: Stop Creating APIs The Hard WayApigility: Stop Creating APIs The Hard Way

Thank You!Thank You!Questions?Questions?

Ben DechraiBen Dechrai@bendechrai@bendechrai

Open

Sourc

e Dev

eloper

s' C

onfe

rence

20

14