SlideShare a Scribd company logo
1 of 75
Download to read offline
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

More Related Content

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

Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeGiuliano Prati
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeTommaso Sorchiotti
 
WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)guest71e24d
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating DatadipityClickslide
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered WebSteven Willmott
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.pptMatthew Perrins
 
Taking Control of Your Future: Own Your Service Platforms
Taking Control of Your Future: Own Your Service PlatformsTaking Control of Your Future: Own Your Service Platforms
Taking Control of Your Future: Own Your Service PlatformsAlan Quayle
 
Cloud Elements | State of API Integration Report 2018
Cloud Elements | State of API Integration Report 2018Cloud Elements | State of API Integration Report 2018
Cloud Elements | State of API Integration Report 2018Cloud Elements
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligencehrpiza
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligencehrpiza
 
Technology for Teachers
Technology for TeachersTechnology for Teachers
Technology for Teachersedfactor
 
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...DevOps for Enterprise Systems
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductieannehelmond
 
Information Technology for Facilities Management
Information Technology for Facilities ManagementInformation Technology for Facilities Management
Information Technology for Facilities ManagementOmer Dawelbeit
 
API and Platform Strategies to Win in Global and Local Markets
API and Platform Strategies to Win in Global and Local MarketsAPI and Platform Strategies to Win in Global and Local Markets
API and Platform Strategies to Win in Global and Local MarketsAxway
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing3scale
 

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

Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion Hinchliffe
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
 
WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered Web
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt
 
Taking Control of Your Future: Own Your Service Platforms
Taking Control of Your Future: Own Your Service PlatformsTaking Control of Your Future: Own Your Service Platforms
Taking Control of Your Future: Own Your Service Platforms
 
APIs and Microservices - What Are They?
APIs and Microservices - What Are They?APIs and Microservices - What Are They?
APIs and Microservices - What Are They?
 
Cloud Elements | State of API Integration Report 2018
Cloud Elements | State of API Integration Report 2018Cloud Elements | State of API Integration Report 2018
Cloud Elements | State of API Integration Report 2018
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligence
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligence
 
Technology for Teachers
Technology for TeachersTechnology for Teachers
Technology for Teachers
 
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductie
 
Information Technology for Facilities Management
Information Technology for Facilities ManagementInformation Technology for Facilities Management
Information Technology for Facilities Management
 
Web2.0v2.0
Web2.0v2.0Web2.0v2.0
Web2.0v2.0
 
Towards Future Internet: Web 3.0, Internet of Services & Internet of Things
Towards Future Internet: Web 3.0, Internet of Services & Internet of ThingsTowards Future Internet: Web 3.0, Internet of Services & Internet of Things
Towards Future Internet: Web 3.0, Internet of Services & Internet of Things
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
API and Platform Strategies to Win in Global and Local Markets
API and Platform Strategies to Win in Global and Local MarketsAPI and Platform Strategies to Win in Global and Local Markets
API and Platform Strategies to Win in Global and Local Markets
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

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

  • 1. Web APIs - Infrastructure for the (Intelligent) Programmable Web Steven Willmott, 3scale networks
  • 2. Web Services will fundamentally change the way the Internet works within the next 5-7 years
  • 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. 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. “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)
  • 7. Social Network Apps Image: Steve O’Hear / ZDNET
  • 8. Social Network Apps Facebook OpenSocial Platform API + Backend Rapid growth Image: Steve O’Hear / ZDNET
  • 10. Mobile (& Desktop) Widgets Image: NinjaTech4u / FLICKR
  • 11. Mobile (& Desktop) Widgets Small Application Not browsers Arbitrary Data Synchronous or Asynchronous Image: NinjaTech4u / FLICKR
  • 14. Web Data Streams Example: Xignite 50+ data streams of financial information All by Web Service / API
  • 17. How many services? programmableweb.com 1500+ APIS 4000+ Mashups 70-80% REST APIs Growing Fast Hugely Diverse
  • 18. What Changed? SOAP gave way to REST APIs became easy to build APIs became easy(ier) to use APIs became incredibly useful
  • 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. What more is changing? Javascript is accelerating HTML5 is coming Widgets are taking off Partnering is getting serious
  • 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!
  • 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. RESTfull Web Services Resources Resource Identifiers (URIs) Representations Operators Response Codes REST powers the (new) programmable web
  • 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. 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. REST
  • 29. REST 70-80% of current Web APIs Very Wide Range of Applications SOAP Seems unlikely to catch up any time soon
  • 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. 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.
  • 33. 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
  • 34. 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
  • 35. What happened to... ? Governance? Semantics? WSDL? Trust?
  • 38. Two trends User
  • 39. Two trends More time on Well User Known Properties
  • 40. Two trends More new ways to More time on Well access content User Known sources Properties
  • 41. Two trends More new ways to More time on Well access content User Known sources Properties APIs to feed widgets
  • 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
  • 43. 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
  • 44. 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
  • 45. 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.
  • 46. 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/
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 55. Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer
  • 56. Contracting Language Communication Model Context Layer Interaction Protocol Layer Message Layer Message Content Layer Contract Layer Domain Ontology Layer 33
  • 57. 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
  • 60. 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
  • 61. 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
  • 62. 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
  • 64. 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
  • 67. 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.
  • 68. 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...
  • 69. 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?
  • 70. Business Relevance Sounds business relationships are critical Quality of Service Management of Autonomy and Dependencies will be Mandatory
  • 72. Web Services will fundamentally change the way the Internet works within the next 5-7 years
  • 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)
  • 74. 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?
  • 75. 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