Intelligent Mashups


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Intelligent Mashups

  1. 1. Intelligent Mashups How AI meets Mashups Adrian Giurca
  2. 2. Comments on actual mashup platforms <ul><ul><li>Using Gadgets users should be able to do JavaScript programming. The alternative is to use already existent gadgets i.e. add then on a web page. </li></ul></ul><ul><ul><li>Using existent gadgets limits the user interaction </li></ul></ul><ul><ul><li>To implement gadgets dependencies one should really write another gadget. </li></ul></ul><ul><ul><li>Catching user activity is at the programming level (hard for business people) </li></ul></ul><ul><ul><li>Using Yahoo Widgets one need to install proprietary software on your local machine </li></ul></ul><ul><ul><li>Using Amazon Widgets one cannot change the widget behavior but just presentation </li></ul></ul>
  3. 3. What is an Intelligent Mashup? <ul><ul><li>An Intelligent Mashup is a mashup using Artificial Intelligence reasoning techniques to combine different web services and applications. </li></ul></ul><ul><ul><li>One way to do intelligent mashups is to embed rule-based reasoning inside mashups . </li></ul></ul><ul><ul><li>Dealing with usual data (XML, Atom, RSS, HTML) and Semantic Web data (RDF, RDFS, OWL) allows reasoning on the Semantic Web too </li></ul></ul>
  4. 4. Why Intelligent Mashups <ul><ul><li>HTML 5 is on the way and adds new innovative elements, allowing authors to easily publish all kind of content, including multimedia content and users interact with this content </li></ul></ul><ul><ul><li>People spend some time on social networks (such as LinkedIn ) i.e. they interact with the netwok in the Web browser </li></ul></ul><ul><ul><li>Web creators look more and more on adaptive user interfaces to simplify user activity </li></ul></ul><ul><ul><li>Users like to be more and more involved in the Web content creation </li></ul></ul><ul><ul><li>Many developers do mashups but most of the cases there is a low or none user innovation inside . </li></ul></ul>
  5. 5. Why Rule-Based Mashups <ul><ul><li>Can you easily implement the below functionality just using plain JavaScript or some JS framework? </li></ul></ul><ul><ul><ul><li>[Usability] IF the user reads Reuters news about swine flu, THEN deliver him similar video news from CNN and possibly update his swine flu Google Map </li></ul></ul></ul><ul><ul><ul><li>[Advertising] IF the user loads financial news, offers him a three months subscription to Financial Times </li></ul></ul></ul><ul><ul><ul><li>[Accessibility] Whenever the user clicks more than 3 times a menu item add this item to the fast access menu items. </li></ul></ul></ul><ul><ul><li>Can you update this functionality in an easy way? </li></ul></ul><ul><ul><li>In some conditions, rules can implement widgets dependencies too </li></ul></ul>
  6. 6. Reasoning inside server-side mashups <ul><ul><li>Old knowledge better infrastructure and technologies </li></ul></ul><ul><ul><ul><li>Classical AI applications tailored by actual technologies (e.g. running Drools instead CLIPS or running Jena Rules instead of Prolog rules) providing better integration with the existent middleware </li></ul></ul></ul><ul><ul><ul><li>AI based combination of (Semantic) Web Services </li></ul></ul></ul><ul><ul><li>Pros </li></ul></ul><ul><ul><ul><li>Deriving new knowledge assets using well known classical AI applications </li></ul></ul></ul><ul><ul><ul><li>Deriving intelligent Web Services (based on AI integration with actual technologies) aka Semantic Web Services </li></ul></ul></ul><ul><ul><li>Cons </li></ul></ul><ul><ul><ul><li>Need skilled developers </li></ul></ul></ul><ul><ul><ul><li>Less social </li></ul></ul></ul>
  7. 7. Reasoning inside client-side mashups <ul><ul><li>Innovative AI applications using the browser infrastructure and technologies </li></ul></ul><ul><ul><ul><li>combining remote information from different services together with the information derived from the user activity </li></ul></ul></ul><ul><ul><ul><li>using Event-Condition-Action Rules to describe the reasoning </li></ul></ul></ul><ul><ul><li>Pros </li></ul></ul><ul><ul><ul><li>Designed and created by users (No high skilled developers) </li></ul></ul></ul><ul><ul><ul><li>Deriving new knowledge assets (e.g. new feeds) </li></ul></ul></ul><ul><ul><ul><li>Improving the user activity towards live fulfilling of the user goals </li></ul></ul></ul><ul><ul><li>Cons </li></ul></ul><ul><ul><ul><li>Consume the users hardware resources </li></ul></ul></ul><ul><ul><ul><li>Keep their data on third party servers </li></ul></ul></ul><ul><ul><ul><li>Security at the browser level </li></ul></ul></ul>
  8. 8. Benefits and Drawbacks (1) <ul><ul><li>Easy Modeling – rules are a natural way to express things and relationships (are they ?) </li></ul></ul><ul><ul><li>Complex business workflows ( BPMN? ); </li></ul></ul><ul><ul><li>Information can be fetched and displayed in anticipation of the user response ; </li></ul></ul><ul><ul><li>Support for intelligent user interfaces </li></ul></ul><ul><ul><li>Allow re-syndication </li></ul></ul><ul><ul><li>Search based on public Web services - via Ajax </li></ul></ul><ul><ul><li>Move the reasoning process to the client-side resulting in reduced network traffic and faster response ; </li></ul></ul><ul><ul><li>Support for public and private mashups </li></ul></ul>
  9. 9. Benefits and Drawbacks (2) <ul><ul><li>Declarative programming - (Some people like rules some others not). </li></ul></ul><ul><ul><li>Pages can be incrementally updated in response to the user input, including the usage of cached data ; </li></ul></ul><ul><ul><li>Service aggregation - Using ECA rules </li></ul></ul><ul><ul><li>Side effects - Rule actions allow any JavaScript function call </li></ul></ul><ul><ul><li>Any presentation layer - Induced by CSS availability </li></ul></ul><ul><ul><li>Speed - Scalability tests should be performed </li></ul></ul><ul><ul><li>Stability - As much as any other JavaScript-based application </li></ul></ul><ul><ul><li>Security - As much as any other JavaScript-based application </li></ul></ul>