SlideShare a Scribd company logo
The Live Web
Using Event Driven Architectures
Phillip J. Windley, Ph.D.
Chief Technology Officer
Kynetx
www.kynetx.com
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Williams Family
 Life Event: Moving to Utah
The Williams Family
 Life Event: Moving to Utah
  Change of address
  Register car
  Register to vote
  Enroll child in school
  Busing
  City services
  Child safety
  Check the commute
  Tax information
The Williams Family
 Life Event: Moving to Utah
  Change of address        Utilities
  Register car             Housing
  Register to vote         Banking
                           Healthcare
  Enroll child in school
  Busing
  City services
  Child safety
  Check the commute
  Tax information
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
A few more...
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
Your DVD’s available here!!!
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
Expensify
Expensify
Expensify
Expensify
Expensify
What do these scenarios
 all have in common?
The Live Web #SCITDA11 Keynote
Clients working on behalf of the user
Clients working on behalf of the user
Access to data through APIs
Clients working on behalf of the user
Access to data through APIs
Real-time events and alerts
Clients working on behalf of the user
Access to data through APIs
Real-time events and alerts
Context
The Live Web #SCITDA11 Keynote
Document
  Web
  1994
Document Web
  Web     1.0
  1994   1996
Document Web    Web
  Web     1.0    2.0
  1994   1996   2002
Document Web    Web    Live
  Web     1.0    2.0   Web
  1994   1996   2002   now
The Live Web #SCITDA11 Keynote
Static Data & Dynamic Queries
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
go and get
location
purpose
Successful
applications will
use many APIs
           - Sam Ramji
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
Is filtering enough?
The Live Web #SCITDA11 Keynote
Rules
The Live Web #SCITDA11 Keynote
Dynamic Data & Static Queries
do and know
The Live Web #SCITDA11 Keynote
Event-driven
Event-driven
Entity-centric & controlled
Event-driven
Entity-centric & controlled
Extensible
Event-driven
Entity-centric & controlled
Extensible
Scalable
Event-driven
Entity-centric & controlled
Extensible
Scalable
Universal
events vs requests
“this happened” vs “do this”
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
An Example:
Anonymous Offers
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
Events are autonomous
Event-driven systems
exhibit lower coupling
Flow control is
receiver driven
Complex Event Patterns
select when
  web pageview “/support/(d+)”
         setting(issue_num)
  before
   (phone phone inboundcall or
     email received
        subj.match(re/issue_num/)
   )
The Live Web #SCITDA11 Keynote
Static Web   Live Web
Static Web        Live Web
Interface   Request-response   Events
Static Web       Live Web
Interface   Request-response   Events

Binding     Early, static      Late, dynamic
Static Web           Live Web
Interface    Request-response      Events

Binding      Early, static         Late, dynamic
                                   Pattern-based,
References   Procedure call, named
                                   semantic
Static Web           Live Web
Interface          Request-response      Events

Binding            Early, static         Late, dynamic
                                         Pattern-based,
References         Procedure call, named
                                         semantic
Ontology           By prior agreement    Self describing
(interpretation)
Static Web           Live Web
Interface          Request-response      Events

Binding            Early, static         Late, dynamic
                                         Pattern-based,
References         Procedure call, named
                                         semantic
Ontology           By prior agreement    Self describing
(interpretation)
Interaction        Direct                Brokered
Static Web           Live Web
Interface          Request-response      Events

Binding            Early, static         Late, dynamic
                                         Pattern-based,
References         Procedure call, named
                                         semantic
Ontology           By prior agreement    Self describing
(interpretation)
Interaction        Direct                Brokered
Evaluation
                   Explicit              Emergent
(sequencing)
Static Web           Live Web
Interface          Request-response      Events

Binding            Early, static         Late, dynamic
                                         Pattern-based,
References         Procedure call, named
                                         semantic
Ontology           By prior agreement    Self describing
(interpretation)
Interaction        Direct                Brokered
Evaluation
                   Explicit              Emergent
(sequencing)
Behavior           Planned               Reactive
Static Web           Live Web
Interface          Request-response      Events

Binding            Early, static         Late, dynamic
                                         Pattern-based,
References         Procedure call, named
                                         semantic
Ontology           By prior agreement    Self describing
(interpretation)
Interaction        Direct                Brokered
Evaluation
                   Explicit              Emergent
(sequencing)
Behavior           Planned               Reactive

Coordination       Centrally Managed     Distributed
The Live Web #SCITDA11 Keynote
Sign up for a
 free developer account
at http://www.kynetx.com

    Come to lunch
     every Friday
      (it’s free)
The Live Web
         Contact info:
        pjw@kynetx.com
        www.windley.com
           @windley
 White paper: http://bit.ly/kntxwp
Startup: http://www.windley.com/tags/startup
The Live Web #SCITDA11 Keynote

More Related Content

PPT
Virtual Assistant Portugal
PDF
Avista Partners Interactive Entertainment Summit 23 Nov 09 Main Pres
PPTX
A University API
PPTX
Trust, Blockchains, and Self-Soveriegn Identity
PDF
Rule Language for IoT
PDF
Events, Picos, and Microservices
PDF
Picos, CloudOS, and Connecting Things
PDF
Events, Picos, and Microservices
Virtual Assistant Portugal
Avista Partners Interactive Entertainment Summit 23 Nov 09 Main Pres
A University API
Trust, Blockchains, and Self-Soveriegn Identity
Rule Language for IoT
Events, Picos, and Microservices
Picos, CloudOS, and Connecting Things
Events, Picos, and Microservices

More from Phil Windley (19)

PDF
Relationships: Modeling the Vehicle Ecosystem with Fuse
PDF
Fuse 2
PDF
Connecting Things
PDF
Persistent Compute Objects and the Fabric of Cyberspace
PDF
Persistent Compute Objects - Picos
PDF
Fuse Technical Presentation
PDF
Personal Cloud Application Architectures
KEY
Why Personal Clouds
KEY
Personal Cloud Operating Systems
KEY
Introducing Personal Event Networks
KEY
Shaping strategies and Startups
KEY
Shaping Strategies and the Live Web - Kynetx Impact 2011
PDF
The Evented Web Makes Users Happy
KEY
A Programming Layer for the Internet from Kynetx Impact 2010
PDF
Using Puppet and Cobbler to Automate Your Infrastructure
KEY
Using Apache as an Application Server
ZIP
The Power of Open Data
ZIP
Context Automation
ZIP
Context Automation (with video demos)
Relationships: Modeling the Vehicle Ecosystem with Fuse
Fuse 2
Connecting Things
Persistent Compute Objects and the Fabric of Cyberspace
Persistent Compute Objects - Picos
Fuse Technical Presentation
Personal Cloud Application Architectures
Why Personal Clouds
Personal Cloud Operating Systems
Introducing Personal Event Networks
Shaping strategies and Startups
Shaping Strategies and the Live Web - Kynetx Impact 2011
The Evented Web Makes Users Happy
A Programming Layer for the Internet from Kynetx Impact 2010
Using Puppet and Cobbler to Automate Your Infrastructure
Using Apache as an Application Server
The Power of Open Data
Context Automation
Context Automation (with video demos)
Ad

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
“AI and Expert System Decision Support & Business Intelligence Systems”
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A Presentation on Artificial Intelligence
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Ad

The Live Web #SCITDA11 Keynote

Editor's Notes

  • #2: \n
  • #3: Web is an amazing place\n\n
  • #4: \n
  • #5: Life events. \nbusiness.utah.gov\n
  • #6: Life events, not agencies\nOne place, not multiple places\nAdd payment and personal information only once\nSecure and trustworthy environment\n“online” not “in line”\n
  • #7: Life events, not agencies\nOne place, not multiple places\nAdd payment and personal information only once\nSecure and trustworthy environment\n“online” not “in line”\n
  • #8: Life events, not agencies\nOne place, not multiple places\nAdd payment and personal information only once\nSecure and trustworthy environment\n“online” not “in line”\n
  • #9: \n
  • #10: Tightly coupled vs. loosely coupled \nNumber of connections and interactions is staggering\nWhy many home automation plays have failed to take hold\n
  • #11: Adding a network changes anything\n
  • #12: Do demo here!!!\n
  • #13: \n
  • #14: \n
  • #15: book on wishlist or maybe you just looked at it. \n
  • #16: book on wishlist or maybe you just looked at it. \n
  • #17: Have your phone guide you to the empty parking slot nearest your desitnation\n
  • #18: Food that notifies you when it’s about to go out of date\n
  • #19: \n
  • #20: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #21: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #22: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #23: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #24: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #25: I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.\n
  • #26: \n
  • #27: Very different than tightly coupled interactions\n
  • #28: Very different than tightly coupled interactions\n
  • #29: Very different than tightly coupled interactions\n
  • #30: Very different than tightly coupled interactions\n
  • #31: Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • #32: Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • #33: Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • #34: Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • #35: \n
  • #36: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #37: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #38: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #39: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #40: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #41: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #42: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #43: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #44: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #45: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #46: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #47: On the Web the client-server model predominates.\nusers, like honeybees, go from site to site, gathering information and maintaining the context of those visits in their heads.\n
  • #48: The most important feature for this discussion is that each Web site is a silo. The location metaphor works fine when what you want to do is confined to that silo. But what happens when you need information from multiple places to accomplish your task?\n
  • #49: \n
  • #50: \n
  • #51: \n
  • #52: Fortunately there’s a way to make it easier. \nThe best apps will not be mere clients for a single API. \n
  • #53: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #54: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #55: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #56: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #57: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #58: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #59: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #60: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #61: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #62: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #63: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #64: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #65: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #66: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #67: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #68: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #69: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #70: In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • #71: \n
  • #72: \n
  • #73: \n
  • #74: when you follow someone on twitter, you are creating a static query against the river of tweets\nwe’ve create a rule language, KRL, to work in this new model. \nTell me when someone mentions my company on Twitter. \nTell me when someone checks into the same place I am.\nTell me when one of my Facebook friends posts an update on their blog.\nTell me when someone calls my customer service line after visiting the customer service page on my company’s Web site.\n \n
  • #75: \n
  • #76: A platform for building Live Web applications would have certain properties. \n
  • #77: A platform for building Live Web applications would have certain properties. \n
  • #78: A platform for building Live Web applications would have certain properties. \n
  • #79: A platform for building Live Web applications would have certain properties. \n
  • #80: A platform for building Live Web applications would have certain properties. \n
  • #81: \n
  • #82: \n
  • #83: \n
  • #84: \n
  • #85: \n
  • #86: \n
  • #87: \n
  • #88: \n
  • #89: \n
  • #90: 1.) Simpler schema for an event than a request (more standard)\n2.) Generators don’t know who’ll process an event\n3.) No need for specific processing instructions in the event\n4.) Adding and removing components requires less overall coordination\n
  • #91: \n
  • #92: Open source platform for processing events raised by endpoints and taking action based on results\n
  • #93: \n
  • #94: call out the abstract in this expression\n
  • #95: \n
  • #96: \n
  • #97: \n
  • #98: \n
  • #99: \n
  • #100: \n
  • #101: \n
  • #102: \n
  • #103: \n
  • #104: Send me email for access to the book. \n\n
  • #105: \n
  • #106: \n
  • #107: Influencers\nDevelopers\nPartners\n\n