Web APIs - Infrastructure for the
(Intelligent) Programmable Web
Steven Willmott, 3scale networks
Web Services will fundamentally
change the way the Internet
works within the next 5-7 years
Web Services will fundamentally
change the way the Internet
works within the next 5-7 years

          (and much of that c...
Change in what way?

Web applications will be totally different
The way content is generated, manipulated and
consumed wil...
“The adoption of Amazon's Web services is currently
    driving more network activity than everything
 Amazon does through...
Social Network Apps
Social Network Apps




                  Image: Steve O’Hear / ZDNET
Social Network Apps

Facebook
OpenSocial
Platform API + Backend
Rapid growth




                         Image: Steve O’H...
Mobile (& Desktop) Widgets
Mobile (& Desktop) Widgets




Image: NinjaTech4u / FLICKR
Mobile (& Desktop) Widgets

         Small Application
         Not browsers
         Arbitrary Data
         Synchronous ...
Web Data Streams
Web Data Streams
Web Data Streams

Example: Xignite
50+ data streams of financial information
All by Web Service / API
How many services?
How many services?
How many services?
programmableweb.com
1500+ APIS
4000+ Mashups
70-80% REST APIs
Growing Fast
Hugely Diverse
What Changed?

SOAP gave way to REST
APIs became easy to build
APIs became easy(ier) to
use
APIs became incredibly
useful
What Changed?

     SOAP gave way to REST
     APIs became easy to build
     APIs became easy(ier) to
     use
     APIs ...
What more is changing?

Javascript is accelerating
HTML5 is coming
Widgets are taking off
Partnering is getting serious
Why 5-7 years?

Several generations of technology
Today’s leading Web Services will have had
transformative effects
Almost...
Technology
Web Services (APIS...)

 Programmable Web:
   SOAP Web Services
   REST Web Services
   Plain HTML Forms
 They can all be ...
RESTfull Web Services

Resources
Resource Identifiers (URIs)
Representations
Operators
Response Codes


                   ...
Operators
Operators
GET
Get Information about a resource

POST
Create : create new elements in a resource

Update : modify a resourc...
Operators
GET
Get Information about a resource

POST

                                             Manipulating
Create : c...
REST
REST
70-80% of current Web
APIs
Very Wide Range of
Applications
SOAP Seems unlikely to
catch up any time soon
REST
  70-80% of current Web
  APIs
  Very Wide Range of
  Applications
  SOAP Seems unlikely to
  catch up any time soon
...
REST
  70-80% of current Web
                                                    An Example:
  APIs
  Very Wide Range of
 ...
Example APIs: Twitter
 Microblogging Service
 45-50 Million users
 worldwide
 10x traffic on their API v’s
 Web Page
 Large...
cURL

curl http://twitter.com/statuses/public_timeline.rss
curl http://twitter.com/statuses/public_timeline.xml
curl --hea...
What happened to...




                 ?
Governance?
Semantics?
WSDL?
Trust?
Intelligence in the
Programmable Web
Two trends
Two trends

             User
Two trends
                    More time on Well
             User        Known
                       Properties
Two trends
More new ways to          More time on Well
 access content    User        Known
    sources                  P...
Two trends
More new ways to          More time on Well
 access content    User        Known
    sources                  P...
Two trends
More new ways to          More time on Well
 access content    User        Known
    sources                  P...
Two trends
More new ways to                      More time on Well
 access content          User              Known
    so...
The rules change

The Web Page is no longer King
Service to Service relationships are Business to
Business relationships
P...
Key Concepts
Agency: the components you depend on are not
owned/operated by you, they are beyond your control.
Contracts: ...
IST FP6 Project: Contract
  (an experiment in how notions of contracts and autonomy
             can power new service eco...
IST-CONTRACT Project Parameters

  ISTFramework 6 STREP                 Area:Digital Business
  Project                 ...
IST-CONTRACT Project Partners

  Universitat Politècnica
   de Catalunya
  Fujitsu EST Gmbh

  Czech Technical Universi...
The problem: Engineering applications in Cross
Organisational Service Oriented Computing environments

  The    behaviour...
Project Core Idea

  Normal  Verification approaches for software will not work
  without full source code access. In Con...
Where are the Contracts?

  Contracts:
    Are   the explicit, tangible representation of service interdependencies
   ...
What does the Project Deliver?

  Contract  Framework – formal theoretical framework for
  distributed business applicati...
Overall Contract Framework




                             32
Contracting Language Communication Model
Contracting Language Communication Model


              Context Layer


         Interaction Protocol Layer


           ...
Contracting Language Communication Model


              Context Layer


         Interaction Protocol Layer


           ...
Contracting Language Communication Model

                                           Interaction
                         ...
Electronic Contracts: components




                                   34
Electronic Contracts: components




                                   34
Electronic Contract: example


<ISTContract>
      ContractName="AftercareContract"
      StartingDate="2007-01-01T00:00:0...
Electronic Contract: example


<ISTContract>
      ContractName="AftercareContract"
                         <ContractPart...
Electronic Contract: example

                         <Clause>
<ISTContract>            …
      ContractName="AftercareCo...
Example of deployment




                        36
Verification Tool

 Off-line
         tool implements verification mechanisms for
 contract-governed systems.
 Capableto...
Verification Tool components/process




                                       38
Example: Modular Certification Testing




                                         39
What does this give you?


System interactions are described in terms of
obligations, permissions, prohibitions etc.
Agent...
Beyond Contracts

Still need to figure out how to actually build an systems
which fulfill your contracts (!)
Contracts need ...
Key Concepts
Projects:
  Contract: http://www.ist-contract.org/
  Alive: http://www.ist-alive.eu/
More Challenges:
  Indiv...
Business Relevance

 Sounds business
 relationships are
 critical
 Quality of Service
 Management of
 Autonomy and
 Depend...
Some Final Thoughts
Web Services will fundamentally
change the way the Internet
works within the next 5-7 years
Web Services will fundamentally
change the way the Internet
works within the next 5-7 years

          (and much of that c...
Web Services will fundamentally
change the way the Internet
works within the next 5-7 years

          (and much of that c...
Conclusions
The programmable web is coming - faster than you
might think
Huge challenges lie ahead in:
  Making it work
  ...
Web APIs - Infrastructure for the (Intelligent) Programmable Web (R&D Talk)
Upcoming SlideShare
Loading in …5
×

Web APIs - Infrastructure for the (Intelligent) Programmable Web (R&D Talk)

2,313
-1

Published on

A couple of weeks I had the pleasure of visiting the CETINA Research Institute at URJC (http://www.cetinia.urjc.es/) in Madrid for an Invited Talk. I pulled together some thoughts from 3scale and some R&D worked I've been involved in to muse about how the web will evolve. Fun to be there - thanks to CETINA and Sascha in particular for the invite!

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,313
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
93
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Web APIs - Infrastructure for the (Intelligent) Programmable Web (R&D Talk)

  1. 1. Web APIs - Infrastructure for the (Intelligent) Programmable Web Steven Willmott, 3scale networks
  2. 2. Web Services will fundamentally change the way the Internet works within the next 5-7 years
  3. 3. Web Services will fundamentally change the way the Internet works within the next 5-7 years (and much of that change will happen in the next 2-3)
  4. 4. Change in what way? Web applications will be totally different The way content is generated, manipulated and consumed will be totally different Revenue streams and business models will be totally different
  5. 5. “The adoption of Amazon's Web services is currently driving more network activity than everything Amazon does through their traditional Web sites.” Jeff Bar (Amazon evangelist) / Dion Hinchcliffe (Journalist) “60% of all listings on eBay are added via their API’s – and eBay services over 6 billion API calls per month” John Musser (Programmable Web) “The API which has easily 10 times more traffic than the website, has been really very important to us.” Biz Stone (co-founder, Twitter)
  6. 6. Social Network Apps
  7. 7. Social Network Apps Image: Steve O’Hear / ZDNET
  8. 8. Social Network Apps Facebook OpenSocial Platform API + Backend Rapid growth Image: Steve O’Hear / ZDNET
  9. 9. Mobile (& Desktop) Widgets
  10. 10. Mobile (& Desktop) Widgets Image: NinjaTech4u / FLICKR
  11. 11. Mobile (& Desktop) Widgets Small Application Not browsers Arbitrary Data Synchronous or Asynchronous Image: NinjaTech4u / FLICKR
  12. 12. Web Data Streams
  13. 13. Web Data Streams
  14. 14. Web Data Streams Example: Xignite 50+ data streams of financial information All by Web Service / API
  15. 15. How many services?
  16. 16. How many services?
  17. 17. How many services? programmableweb.com 1500+ APIS 4000+ Mashups 70-80% REST APIs Growing Fast Hugely Diverse
  18. 18. What Changed? SOAP gave way to REST APIs became easy to build APIs became easy(ier) to use APIs became incredibly useful
  19. 19. What Changed? SOAP gave way to REST APIs became easy to build APIs became easy(ier) to use APIs became incredibly useful Image: Peta M / Flickr
  20. 20. What more is changing? Javascript is accelerating HTML5 is coming Widgets are taking off Partnering is getting serious
  21. 21. Why 5-7 years? Several generations of technology Today’s leading Web Services will have had transformative effects Almost all segment followers will have launched Web Services Internet experience will have caught up for users No time for 3 or 4 complex 5 year R&D Projects!
  22. 22. Technology
  23. 23. Web Services (APIS...) Programmable Web: SOAP Web Services REST Web Services Plain HTML Forms They can all be manipulated programatically to produce an effect
  24. 24. RESTfull Web Services Resources Resource Identifiers (URIs) Representations Operators Response Codes REST powers the (new) programmable web
  25. 25. Operators
  26. 26. Operators GET Get Information about a resource POST Create : create new elements in a resource Update : modify a resource PUT Create : Create a new resource Update : Modify a resource DELETE Remove a resource
  27. 27. Operators GET Get Information about a resource POST Manipulating Create : create new elements in a resource Update : modify a resource PUT Data Objects Create : Create a new resource Update : Modify a resource DELETE Remove a resource
  28. 28. REST
  29. 29. REST 70-80% of current Web APIs Very Wide Range of Applications SOAP Seems unlikely to catch up any time soon
  30. 30. REST 70-80% of current Web APIs Very Wide Range of Applications SOAP Seems unlikely to catch up any time soon Great Rest Presentation: Alex Puig / Softonic / Slideshare http://www.slideshare.net/apuig75/desarrollando-un-api-con-rest
  31. 31. REST 70-80% of current Web An Example: APIs Very Wide Range of Applications SOAP Seems unlikely to catch up any time soon Great Rest Presentation: Alex Puig / Softonic / Slideshare http://www.slideshare.net/apuig75/desarrollando-un-api-con-rest
  32. 32. Example APIs: Twitter Microblogging Service 45-50 Million users worldwide 10x traffic on their API v’s Web Page Large numbers of client and partner applications REST API
  33. 33. cURL curl http://twitter.com/statuses/public_timeline.rss curl http://twitter.com/statuses/public_timeline.xml curl --head -u username:password http://twitter.com/ statuses curl -u username:password -d status="Playing around with the twitter API (sent via the API)" http://twitter.com/ statuses/update.json
  34. 34. What happened to... ? Governance? Semantics? WSDL? Trust?
  35. 35. Intelligence in the Programmable Web
  36. 36. Two trends
  37. 37. Two trends User
  38. 38. Two trends More time on Well User Known Properties
  39. 39. Two trends More new ways to More time on Well access content User Known sources Properties
  40. 40. Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed widgets
  41. 41. Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed APIs to feed widgets platforms
  42. 42. Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed APIs to feed widgets platforms Web Applications will get inc. interconnected
  43. 43. The rules change The Web Page is no longer King Service to Service relationships are Business to Business relationships People care about wether Web Services work People care that applications built on Web Services work
  44. 44. Key Concepts Agency: the components you depend on are not owned/operated by you, they are beyond your control. Contracts: individual interactions need to be mediated by expectations, agreements and (potentially) consequences. Norms: relationships are long running and require defaults, frameworks and other constructs to make them efficient.
  45. 45. IST FP6 Project: Contract (an experiment in how notions of contracts and autonomy can power new service ecosystems) Full Credit - Javier Vazquez, UPC and others from http://www.ist-contract.org/
  46. 46. IST-CONTRACT Project Parameters  ISTFramework 6 STREP  Area:Digital Business Project Ecosystems  Funded from the 5th Call IST  Costs:  Focus:  Total Cost: 2,509,156 Euro  Contracts for Distributed  Req. Cont: 1,850,000 Euro Applications Engineering  Dates:  Contracts as a basis for formal verification  Start: 1st Sept 2006  e-business applications  End: 31st May 2009  Project ID: FP6-034418 26
  47. 47. IST-CONTRACT Project Partners  Universitat Politècnica de Catalunya  Fujitsu EST Gmbh  Czech Technical University of Prague  King's College London  Imperial College London  3scale Networks S. L.  CertiCon A. S.  Lostwax Media Ltd.  Y‘All B. V. 27
  48. 48. The problem: Engineering applications in Cross Organisational Service Oriented Computing environments  The behaviour of a software application depends upon:  Code, Execution Context (environment), Inputs  In a multi-organisational Distributed Business Application application:  No-one has access to all the code  No-one has access to all the execution context  (Possibly) no-one has access to all inputs  Question:How do you predict the potential run-time behaviour of such applications? 28
  49. 49. Project Core Idea  Normal Verification approaches for software will not work without full source code access. In Contract: Instead of predicting actions w.r.t code, predict actions w.r.t obligations, rights, permissions in Contracts  Impacts:  Short term: application design tool  Longer term: formal verification of distributed business applications 29
  50. 50. Where are the Contracts?  Contracts:  Are the explicit, tangible representation of service interdependencies  Make explicit the obligations of each of the parties in the transactions  Make explicit what each system can expect from another  Bind together:  The electronic interaction (web services) with  The business obligation with  Prediction as to whether the system will function to get the job done 30
  51. 51. What does the Project Deliver?  Contract Framework – formal theoretical framework for distributed business application modelling based on the interchange of (electronic) contracts  Contracting Language – specifications of how the actors should interact electronically and how they should communicate  Contract Execution Environment for Web services – to create and execute contract-mediated business interactions  Verification, Monitoring and Analysis tools – to analyze and inspect deployed systems 31
  52. 52. Overall Contract Framework 32
  53. 53. Contracting Language Communication Model
  54. 54. Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer
  55. 55. Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer 33
  56. 56. Contracting Language Communication Model Interaction uest Context Layer context: Req S2 Protocol handling: S1 A gree Interaction Protocol Layer Message envelope + intentionality: from service S1 to service S2 … Contractual Message Layer Request[cancel(contract C1)] Ontology Statements / actions related to contracts: Message Content Layer cancel(contract C1) A contract: “the workshop is obliged to Contract Layer repair the car in 2 days” Domain Domain terms: car, workshop, repair Ontology Domain Ontology Layer 33
  57. 57. Electronic Contracts: components 34
  58. 58. Electronic Contracts: components 34
  59. 59. Electronic Contract: example <ISTContract> ContractName="AftercareContract" StartingDate="2007-01-01T00:00:00+01:00" EndingDate="2008-01-01T00:00:00+01:00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ist-contract.org/schemas/ISTContract.xsd"> <Contextualization> ... </Contextualization> <Definitions> ... </Definitions> <Clauses> ... </Clauses> </ISTContract> 35
  60. 60. Electronic Contract: example <ISTContract> ContractName="AftercareContract" <ContractParties> StartingDate="2007-01-01T00:00:00+01:00" <Agent AgentName="KLM"> EndingDate="2008-01-01T00:00:00+01:00" < AgentReference>http://www.ist-contract.org:8080/services/KLM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </AgentReference> xsi:noNamespaceSchemaLocation="http://www.ist-contract.org/schemas/ISTContract.xsd"> <AgentDescription>Royal Dutch Airlines</AgentDescription> <Contextualization> </Agent> ... … </Contextualization> </ContractParties> <Definitions> … ... <RoleEnactmentList> </Definitions> <RoleEnactmentElement AgentName="KLM" <Clauses> RoleName=“Operator"/> ... … </Clauses> </RoleEnactmentList> </ISTContract> 35
  61. 61. Electronic Contract: example <Clause> <ISTContract> … ContractName="AftercareContract" <ExplorationCondition> <ContractParties> StartingDate="2007-01-01T00:00:00+01:00" <BooleanExpression> <Agent AgentName="KLM"> EndingDate="2008-01-01T00:00:00+01:00" Before(2007-07-1T15:30:30+01:00) < AgentReference>http://www.ist-contract.org:8080/services/KLM </BooleanExpression> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </AgentReference> </ExplorationCondition> Dutch Airlines</AgentDescription> xsi:noNamespaceSchemaLocation="http://www.ist-contract.org/schemas/ISTContract.xsd"> <AgentDescription>Royal <DeonticStatement> <Contextualization> </Agent> ... <Modality><OBLIGATION></Modality> …<Who> <RoleName>Operator</RoleName> </Who> </Contextualization> </ContractParties> <What> <Definitions> … <ActionExpression> ... <RoleEnactmentList> PayForEngine(amount, engine, Operator, EngineManufacturer) </Definitions> <RoleEnactmentElement AgentName="KLM" </ActionExpression> <Clauses> </What> RoleName=“Operator"/> ... …</DeonticStatement> </Clauses> </Clause> </RoleEnactmentList> </ISTContract> 35
  62. 62. Example of deployment 36
  63. 63. Verification Tool  Off-line tool implements verification mechanisms for contract-governed systems.  Capableto verify system behaviours through notions of compliance/violations of intended behaviours.  Based in the formal framework and the contract language semantics.  Ability to check systems with large state spaces  Capable to generate counterexamples when dangerous or conflicting situations are detected  User friendly GUI 37
  64. 64. Verification Tool components/process 38
  65. 65. Example: Modular Certification Testing 39
  66. 66. What does this give you? System interactions are described in terms of obligations, permissions, prohibitions etc. Agents can act according to expected behaviour You never have to verify actual code Seems like SciFi now - but these concepts will be fundamental in 5, 10, 20 years.
  67. 67. Beyond Contracts Still need to figure out how to actually build an systems which fulfill your contracts (!) Contracts need to be connected to something - a context or an organisation - in order to have force - we might want to model that too We can even go further...
  68. 68. Key Concepts Projects: Contract: http://www.ist-contract.org/ Alive: http://www.ist-alive.eu/ More Challenges: Individual rational actions? Autonomy v’s Control? Interaction with Business / Legal Frameworks?
  69. 69. Business Relevance Sounds business relationships are critical Quality of Service Management of Autonomy and Dependencies will be Mandatory
  70. 70. Some Final Thoughts
  71. 71. Web Services will fundamentally change the way the Internet works within the next 5-7 years
  72. 72. Web Services will fundamentally change the way the Internet works within the next 5-7 years (and much of that change will happen in the next 2-3)
  73. 73. Web Services will fundamentally change the way the Internet works within the next 5-7 years (and much of that change will happen in the next 2-3) Not Convinced Yet?
  74. 74. Conclusions The programmable web is coming - faster than you might think Huge challenges lie ahead in: Making it work Making it intelligent Techniques from AI, Autonomous Systems, Multi-agent and the Semantic Web will be key to understanding the resulting ecosystems
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×