• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Web APIs - Infrastructure for the (Intelligent) Programmable Web (R&D Talk)
 

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

on

  • 3,312 views

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 ...

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!

Statistics

Views

Total Views
3,312
Views on SlideShare
3,270
Embed Views
42

Actions

Likes
3
Downloads
82
Comments
0

4 Embeds 42

http://www.linkedin.com 32
http://www.slideshare.net 6
https://www.linkedin.com 3
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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 change will happen in the next 2-3)
    • 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
    • “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)
    • Social Network Apps
    • Social Network Apps Image: Steve O’Hear / ZDNET
    • Social Network Apps Facebook OpenSocial Platform API + Backend Rapid growth Image: Steve O’Hear / ZDNET
    • Mobile (& Desktop) Widgets
    • Mobile (& Desktop) Widgets Image: NinjaTech4u / FLICKR
    • Mobile (& Desktop) Widgets Small Application Not browsers Arbitrary Data Synchronous or Asynchronous Image: NinjaTech4u / FLICKR
    • 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 became incredibly useful Image: Peta M / Flickr
    • 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 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!
    • Technology
    • Web Services (APIS...) Programmable Web: SOAP Web Services REST Web Services Plain HTML Forms They can all be manipulated programatically to produce an effect
    • RESTfull Web Services Resources Resource Identifiers (URIs) Representations Operators Response Codes REST powers the (new) programmable web
    • Operators
    • 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
    • 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
    • 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 Great Rest Presentation: Alex Puig / Softonic / Slideshare http://www.slideshare.net/apuig75/desarrollando-un-api-con-rest
    • 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
    • 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
    • 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
    • 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 Properties
    • Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed widgets
    • Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed APIs to feed widgets platforms
    • 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
    • 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
    • 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.
    • 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/
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Overall Contract Framework 32
    • Contracting Language Communication Model
    • Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer
    • Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer 33
    • 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
    • Electronic Contracts: components 34
    • Electronic Contracts: components 34
    • 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
    • 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
    • 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
    • Example of deployment 36
    • 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
    • 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. 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.
    • 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...
    • 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?
    • Business Relevance Sounds business relationships are critical Quality of Service Management of Autonomy and Dependencies will be Mandatory
    • 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 change will happen in the next 2-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) Not Convinced Yet?
    • 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