5. APIs
When is an API not an API
OPEN ?
People and APIs
Open Source and APIs
Some fun stuff
6. When is an API not an API
http://www.flickr.com/photos/seatbelt67/502255276/
7. When is an API not an API?
http://www.flickr.com/photos/seatbelt67/502255276/
8. When is an API not an API?
When it is a protocol
http://www.flickr.com/photos/seatbelt67/502255276/
9. When is an API not an API?
When it is a protocol
ON NC
0
.5 IX
9 IP
3
Z
H
M
-P
Op I
A
enU O
RL
http://www.flickr.com/photos/seatbelt67/502255276/
10. Protocol:
ON NC
0
.5 IX
9 IP
3
Z
H
M
-P
Op I
A
enU O
RL
http://www.flickr.com/photos/seatbelt67/502255276/
11. Protocol:
• A convention or a standard
http://www.flickr.com/photos/seatbelt67/502255276/
12. Protocol:
• A convention or a standard
• To control or enable:
http://www.flickr.com/photos/seatbelt67/502255276/
13. Protocol:
• A convention or a standard
• To control or enable:
connection
✦
http://www.flickr.com/photos/seatbelt67/502255276/
14. Protocol:
• A convention or a standard
• To control or enable:
connection
✦
communication
✦
http://www.flickr.com/photos/seatbelt67/502255276/
15. Protocol:
• A convention or a standard
• To control or enable:
connection
✦
communication
✦
data transfer
✦
http://www.flickr.com/photos/seatbelt67/502255276/
16. Protocol:
• A convention or a standard
• To control or enable:
connection
✦
✦ communication
✦ data transfer
• Between computing end points
http://www.flickr.com/photos/seatbelt67/502255276/
17. Protocol:
• A convention or a standard
• To control or enable:
connection
✦
✦ communication
✦ data transfer
• Between computing end points
• Often in the same domain
http://www.flickr.com/photos/seatbelt67/502255276/
19. API:
• A set of:
http://www.flickr.com/photos/seatbelt67/502255276/
20. API:
• A set of:
routines
✦
http://www.flickr.com/photos/seatbelt67/502255276/
21. API:
• A set of:
routines
✦
data structures
✦
http://www.flickr.com/photos/seatbelt67/502255276/
22. API:
• A set of:
routines
✦
data structures
✦
classes
✦
http://www.flickr.com/photos/seatbelt67/502255276/
23. API:
• A set of:
routines
✦
data structures
✦
classes
✦
protocols
✦
http://www.flickr.com/photos/seatbelt67/502255276/
24. API:
• A set of:
routines
✦
✦ data structures
✦ classes
✦ protocols
• To support building of applications
http://www.flickr.com/photos/seatbelt67/502255276/
25. API:
• A set of:
routines
✦
✦ data structures
✦ classes
✦ protocols
• To support building of applications
• Often cross domain
http://www.flickr.com/photos/seatbelt67/502255276/
54. Possible Library APIs
Re
new Inv
e oic
ag r s
er es
ne
aw rd
Mo O gs
r ILL
r in B
o
B ld
Re o loc
Ma que H k
pay ke st Ide
me ntit
nt y
ib es ve
B g
ar r
e se
g d Ch
ar e
no
ac R
Me http://www.flickr.com/photos/fdecomite/2555751322/
69. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
70. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
Jangle Core
71. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
Jangle Core
Connector
LMS
72. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
Jangle Core
Connector Connector
LMS
LMS
73. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
Jangle Core
Connector Connector Connector
LMS
LMS
LMS
74. jangle
The aim of the Jangle project is to provide a free,
easy to use framework for building web services for
LMSs/ILSs by exposing resources through the Atom
Publishing Protocol.
Jangle Core
Connector Connector Connector
LMS
LMS
LMS
http://www.jangle.org
76. The Juice Project
A simple componentised framework constructed in
Javascript to enable the sharing of Ajax Stye
extensions to a web interface.
77. The Juice Project
A simple componentised framework constructed in
Javascript to enable the sharing of Ajax Stye
extensions to a web interface.
78. The Juice Project
A simple componentised framework constructed in
Javascript to enable the sharing of Ajax Stye
extensions to a web interface.
http://juice-project.googlecode.com