from service to ui oriented computing
play

From Service- to UI-Oriented Computing The Vision of an Intuitive - PowerPoint PPT Presentation

From Service- to UI-Oriented Computing The Vision of an Intuitive Composition Paradigm Florian Daniel @ ZEUS, 13-14 February 2017, USI Lugano, Switzerland After more than a decade since their emergence, why are Web services and SOC still a


  1. From Service- to UI-Oriented Computing The Vision of an Intuitive Composition Paradigm Florian Daniel @ ZEUS, 13-14 February 2017, USI Lugano, Switzerland

  2. After more than a decade since their emergence, why are Web services and SOC still a prerogative of programmers only?

  3. INFORMATICA Unplugged Cominciare a impadronirsi delle tecniche della programmazione attraverso esercizi di informatica svolti senza il computer

  4. Teach people how to code software compose services “Teach” software how to enable people Make services self-explaining and supportive

  5. Services Description SOC Discovery Composition

  6. Services Description SOC Discovery Composition

  7. SOAP Web services = XML over SOAP over HTTP WS-* family of specifications stateless and stateful Software engineering abstractions RESTful Web services = XML/JSON over HTTP stateless

  8. Services Description SOC Discovery Composition

  9. WADL = description of RESTful resources WSDL = description of Web service interfaces WSCI = description of client-server protocols WS-CDL = description of multi-party business protocols Oriented toward machines Documentation still needed

  10. Services Description SOC Discovery Composition

  11. UDDI = Universal Description, Discovery and Integration Failure (as public registry)

  12. SOA World Magazine, December 18, 2005

  13. OASIS Mailing List Archive, July 2, 2008

  14. For human consumption!

  15. Services Description SOC Discovery Composition

  16. BPEL = Business Process Execution Language Comes with exception handling, transactions, compensations,…

  17. For skilled developers only! Eclipse BPEL Designer

  18. BPMN 2.0 mapped to BPEL

  19. For skilled developers only! Yaoqiang BPMN Editor

  20. Only few BPEL/BPMN engines running in practice! Most service compositions are still coded manually http://en.wikipedia.org/wiki/List_of_BPEL_engines

  21. An attempt to lower the barriers to development…

  22. Mashups = composite applications developed starting from reusable data, application logic and/ or user interfaces typically, but not mandatorily, sourced from the Web F. Daniel and M. Matera. Mashups: Concepts, Models and Architectures. Springer, 2014. ISBN 978-3-642-55048-5.

  23. Housingmaps.com Google Map Craigslist.org http://housingmaps.com

  24. Mashup tools…

  25. Yahoo! Pipes = data mashups http://pipes.yahoo.com/pipes/ (discontinued recently)

  26. = universal integration Integration logic F. Daniel, F. Casati, B. Benatallah and M.-C. Shan. Hosted Universal Composition: Models, Languages and Infrastructure in mashArt. ER 2009, Pages 428-443.

  27. ResEval Mash = domain-specific mashups (research evaluation) F. Daniel, M. Imran, S. Soi, A. De Angeli, C. R. Wilkinson, F. Casati and M. Marchese. Developing Mashup Tools for End-Users: On the Importance of the Application Domain. International Journal of Next-Generation Computing 3(2), July 2012.

  28. = assisted mashup development Newly added component Recommended patterns Baya recommendation panel Component toolbar Details about selected pattern Yahoo! Pipes modeling canvas S. Roy Chowdhury, F. Daniel and F. Casati. Recommendation and Weaving of Reusable Mashup Model Patterns for Assisted Development. ACM Transactions on Internet Technology 14(2-3), Article 21, 2014.

  29. User study : comparison of development with/without Baya using

  30. NaturalMash = natural language mashups Widgets are resizable and can be moved around. Ingredients Toolbar Visual Field displays a searchable list of available Web APIs. renders the mashup output while it is being edited. Web APIs are draggable and represented by an icon. API Dock shows the list of APIs used in the Text Field mashup. allows to edit the mashup description. Saeed Aghaee, Cesare Pautasso, Antonella De Angeli: Natural End-User Development of Web Mashups. VL/HCC 2013: 111-118

  31. = puzzle-like paradigm Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., ... & Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67.

  32. Lessons learned about non-programmers

  33. They don’t know what services are They don’t know what widgets are They don’t know what data mappings are They don’t care about knowing that They already struggle with their own business

  34. What they do everyday is… browsing the Web and operating UIs

  35. 90 % of functionality 50 % of functionality ?? http://inventionmachine.com/the-Invention-Machine-Blog/bid/79363/The-Deep-Web-Semantic-Search-Takes-Innovation-to-New-Depths

  36. Let’s try to interpret the UI as API

  37. Use cases UI UI UI UI Logic Logic Logic Logic Data Data Data Data (a) Operating UI (b) Extracting data (c) Extracting logic (d) Cloning UI User Tables, lists Forms UI elements interactions Processes/ Data Web UI algorithms sources services widgets

  38. Tables, lists Data sources

  39. iAPI (interactive API) annotation format

  40. Example

  41. External annotation of data sources

  42. Forms Web services

  43. UI elements UI widgets

  44. UI-oriented computing middleware

  45. iAPI annotation iAPI engine The Web (background script) <ul manages data loads resources class= Storage manager Loader RSS "iapi"> … </ul> XML Annotation parsers Lifecyle iAPI parser JSON parser manager cCard parser RSS parser Local Chrome storage messages manages icon Browser extension logo Browser window iAPI engine (content script) i interprets annotation iAPI parser Target page P2 injects content HTML augmenter injects controls and templates reads/writes annotations <table class="iapi source:P1"> HTML 5 react to events … messages </table> uses Event Annotation HTML handlers augmenter augmenter iAPI editor HTML HTML HTML iAPI annotation (injected script) templ. templ. templ. Graphical iAPI controls

  46. It’s all just an idea , but if it worked… …there would be some interesting benefits

  47. The deployment of iAPIs is contextual to the deployment of their host application UI API render generate

  48. The documentation of iAPIs comes for free: the UI tells everything; no need for descriptors or IDLs. vs. SOAP, REST, WSDL, WADL, WSCI, WS-CDL

  49. Searching iAPIs does not require any new infrastructure or query paradigm: simple Web search does the job Provider (4) Usage (1) Publication vs. (2) Search Consumer Broker (3) Description

  50. Composing iAPIs is as intuitive as browsing the Web; no need for programming skills. By example Point and click Record Copy and paste Re-play Drag and drop

  51. The challenges Which abstractions? Surface Web Which paradigms? Tables Widgets Charts UIC Buttons Forms Is there one? Is there a mapping? Which is best? How to simplify? Deep Web APIs RPC SOC SOAP Web REST services And lots more…

  52. As said, it’s all still an experiment . But…

  53. …let’s try to make composition more accessible . You too!

Recommend


More recommend