際際滷

際際滷Share a Scribd company logo
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
                                                  APIs  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 OHear / ZDNET
Social Network Apps

Facebook
OpenSocial
Platform API + Backend
Rapid growth




                         Image: Steve OHear / 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 鍖nancial 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
Todays 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 Identi鍖ers (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 / 際際滷share
      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 / 際際滷share
      http://www.slideshare.net/apuig75/desarrollando-un-api-con-rest
Web APIs - Infrastructure for the (Intelligent) Programmable Web (R&D Talk)
Example APIs: Twitter
 Microblogging Service
 45-50 Million users
 worldwide
 10x traf鍖c on their API vs
 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 ef鍖cient.
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.
  YAll 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 鍖gure out how to actually build an systems
which ful鍖ll 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 vs 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

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 APIs 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 OHear / ZDNET
  • 8. Social Network Apps Facebook OpenSocial Platform API + Backend Rapid growth Image: Steve OHear / 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 鍖nancial 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 Todays 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 Identi鍖ers (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 / 際際滷share 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 / 際際滷share http://www.slideshare.net/apuig75/desarrollando-un-api-con-rest
  • 33. Example APIs: Twitter Microblogging Service 45-50 Million users worldwide 10x traf鍖c on their API vs 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 ef鍖cient.
  • 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. YAll 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 鍖gure out how to actually build an systems which ful鍖ll 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 vs 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