The Live WebUsing Event Driven ArchitecturesPhillip J. Windley, Ph.D.Chief Technology OfficerKynetxwww.kynetx.com
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 ...
The Williams Family Life Event: Moving to Utah  Change of address        Utilities  Register car             Housing  Regi...
The Live Web
A few more...
Your DVD’s available here!!!
Expensify
Expensify
Expensify
Expensify
Expensify
What do these scenarios all have in common?
Clients working on behalf of the user
Clients working on behalf of the userAccess to data through APIs
Clients working on behalf of the userAccess to data through APIsReal-time events and alerts
Clients working on behalf of the userAccess to data through APIsReal-time events and alertsContext
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
Static Data & Dynamic Queries
go and get
location
purpose
Successfulapplications willuse many APIs           - Sam Ramji
Is filtering enough?
Rules
Dynamic Data & Static Queries
do and know
Event-driven
Event-drivenEntity-centric & controlled
Event-drivenEntity-centric & controlledExtensible
Event-drivenEntity-centric & controlledExtensibleScalable
Event-drivenEntity-centric & controlledExtensibleScalableUniversal
events vs requests
“this happened” vs “do this”
An Example:Anonymous Offers
Events are autonomous
Event-driven systemsexhibit lower coupling
Flow control isreceiver driven
Complex Event Patterns
select when  web pageview “/support/(d+)”         setting(issue_num)  before   (phone phone inboundcall or     email recei...
Static Web   Live Web
Static Web        Live WebInterface   Request-response   Events
Static Web       Live WebInterface   Request-response   EventsBinding     Early, static      Late, dynamic
Static Web           Live WebInterface    Request-response      EventsBinding      Early, static         Late, dynamic    ...
Static Web           Live WebInterface          Request-response      EventsBinding            Early, static         Late,...
Static Web           Live WebInterface          Request-response      EventsBinding            Early, static         Late,...
Static Web           Live WebInterface          Request-response      EventsBinding            Early, static         Late,...
Static Web           Live WebInterface          Request-response      EventsBinding            Early, static         Late,...
Static Web           Live WebInterface          Request-response      EventsBinding            Early, static         Late,...
Sign up for a free developer accountat 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...
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
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
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
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
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
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
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
The Live Web #SCITDA11 Keynote
The Live Web #SCITDA11 Keynote
Upcoming SlideShare
Loading in...5
×

The Live Web #SCITDA11 Keynote

2,777

Published on

The web is moving from the Dynamic Query/Static Data model that has characterized Web 2.0 sites to a Dynamic Data/Static Query model that characterizes many of today's most interesting Internet interactions. What does this mean for your organization and how can you take advantage of this shift?

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

  • Be the first to like this

No Downloads
Views
Total Views
2,777
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • Web is an amazing place\n\n
  • \n
  • Life events. \nbusiness.utah.gov\n
  • 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
  • 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
  • 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
  • \n
  • Tightly coupled vs. loosely coupled \nNumber of connections and interactions is staggering\nWhy many home automation plays have failed to take hold\n
  • Adding a network changes anything\n
  • Do demo here!!!\n
  • \n
  • \n
  • book on wishlist or maybe you just looked at it. \n
  • book on wishlist or maybe you just looked at it. \n
  • Have your phone guide you to the empty parking slot nearest your desitnation\n
  • Food that notifies you when it’s about to go out of date\n
  • \n
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • \n
  • Very different than tightly coupled interactions\n
  • Very different than tightly coupled interactions\n
  • Very different than tightly coupled interactions\n
  • Very different than tightly coupled interactions\n
  • Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • Live Web is more personal, more flexible, more dynamic, more purposeful (less about place), more service-oriented (less about functions)\n
  • \n
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • \n
  • \n
  • \n
  • Fortunately there’s a way to make it easier. \nThe best apps will not be mere clients for a single API. \n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • In the evented web, after an initial subscription, information flows to the user without compulsory means. \nloosely coupled\n
  • \n
  • \n
  • \n
  • 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
  • \n
  • A platform for building Live Web applications would have certain properties. \n
  • A platform for building Live Web applications would have certain properties. \n
  • A platform for building Live Web applications would have certain properties. \n
  • A platform for building Live Web applications would have certain properties. \n
  • A platform for building Live Web applications would have certain properties. \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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
  • \n
  • Open source platform for processing events raised by endpoints and taking action based on results\n
  • \n
  • call out the abstract in this expression\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Send me email for access to the book. \n\n
  • \n
  • \n
  • Influencers\nDevelopers\nPartners\n\n
  • The Live Web #SCITDA11 Keynote

    1. 1. The Live WebUsing Event Driven ArchitecturesPhillip J. Windley, Ph.D.Chief Technology OfficerKynetxwww.kynetx.com
    2. 2. The Williams Family Life Event: Moving to Utah
    3. 3. 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
    4. 4. 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
    5. 5. The Live Web
    6. 6. A few more...
    7. 7. Your DVD’s available here!!!
    8. 8. Expensify
    9. 9. Expensify
    10. 10. Expensify
    11. 11. Expensify
    12. 12. Expensify
    13. 13. What do these scenarios all have in common?
    14. 14. Clients working on behalf of the user
    15. 15. Clients working on behalf of the userAccess to data through APIs
    16. 16. Clients working on behalf of the userAccess to data through APIsReal-time events and alerts
    17. 17. Clients working on behalf of the userAccess to data through APIsReal-time events and alertsContext
    18. 18. Document Web 1994
    19. 19. Document Web Web 1.0 1994 1996
    20. 20. Document Web Web Web 1.0 2.0 1994 1996 2002
    21. 21. Document Web Web Live Web 1.0 2.0 Web 1994 1996 2002 now
    22. 22. Static Data & Dynamic Queries
    23. 23. go and get
    24. 24. location
    25. 25. purpose
    26. 26. Successfulapplications willuse many APIs - Sam Ramji
    27. 27. Is filtering enough?
    28. 28. Rules
    29. 29. Dynamic Data & Static Queries
    30. 30. do and know
    31. 31. Event-driven
    32. 32. Event-drivenEntity-centric & controlled
    33. 33. Event-drivenEntity-centric & controlledExtensible
    34. 34. Event-drivenEntity-centric & controlledExtensibleScalable
    35. 35. Event-drivenEntity-centric & controlledExtensibleScalableUniversal
    36. 36. events vs requests
    37. 37. “this happened” vs “do this”
    38. 38. An Example:Anonymous Offers
    39. 39. Events are autonomous
    40. 40. Event-driven systemsexhibit lower coupling
    41. 41. Flow control isreceiver driven
    42. 42. Complex Event Patterns
    43. 43. select when web pageview “/support/(d+)” setting(issue_num) before (phone phone inboundcall or email received subj.match(re/issue_num/) )
    44. 44. Static Web Live Web
    45. 45. Static Web Live WebInterface Request-response Events
    46. 46. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic
    47. 47. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semantic
    48. 48. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semanticOntology By prior agreement Self describing(interpretation)
    49. 49. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semanticOntology By prior agreement Self describing(interpretation)Interaction Direct Brokered
    50. 50. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semanticOntology By prior agreement Self describing(interpretation)Interaction Direct BrokeredEvaluation Explicit Emergent(sequencing)
    51. 51. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semanticOntology By prior agreement Self describing(interpretation)Interaction Direct BrokeredEvaluation Explicit Emergent(sequencing)Behavior Planned Reactive
    52. 52. Static Web Live WebInterface Request-response EventsBinding Early, static Late, dynamic Pattern-based,References Procedure call, named semanticOntology By prior agreement Self describing(interpretation)Interaction Direct BrokeredEvaluation Explicit Emergent(sequencing)Behavior Planned ReactiveCoordination Centrally Managed Distributed
    53. 53. Sign up for a free developer accountat http://www.kynetx.com Come to lunch every Friday (it’s free)
    54. 54. The Live Web Contact info: pjw@kynetx.com www.windley.com @windley White paper: http://bit.ly/kntxwpStartup: http://www.windley.com/tags/startup
    1. A particular slide catching your eye?

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

    ×