A microservice-based architecture for enhancing the user experience in cross-device distributed mashup UIs with multiple forms of interaction

Mobility and continuous connection entail the emergence of heterogeneous devices with multiple forms of interaction. However, it is challenging for developers and corporations to keep up with the devices and provide applications adapted to them. Besides, better user experiences attuned to users’ needs and desires are increasingly in demand. User interfaces play a major role because they must be distributed through different devices and offer a customized experience for each user–device combination. We take advantage of the component-based applications easiness to build customized interfaces that can give optimal solutions to fulfill the requirements for adapting themselves to cross-device applications with multiple forms of interaction. User interaction on mashup interfaces can generate a great deal of data, which can be analyzed for improving the interaction and usefulness of the applications. In our paper, we have created a microservice-based architecture that generates datasets which contain the user behavior for further analysis. Therefore, the user experience and usability in distributed user interfaces may be improved through prediction models generated from the data. Each microservice autonomously fetches its own data and performs consistently so that it can transform datasets optimally by using feature engineering techniques. Thus, data analysis and algorithms can create accurate yet simple prediction models that provide useful knowledge to enhance the user experience. A REST API web service is added to each microservice to facilitate their communication with other microservices and/or third-party clients. The entire microservice architecture, including feature engineering and RESTful API web services for each microservice, offers an infrastructure to handle and process data interaction of cross-devices applications with multiple forms of interaction. This approach has been deployed in a real mashup application where new datasets have been created, processed and validated.

[1]  Volker Hoyer,et al.  Market Overview of Enterprise Mashup Tools , 2008, ICSOC.

[2]  Jeffrey V. Nickerson,et al.  Developing web services choreography standards - the case of REST vs. SOAP , 2005, Decis. Support Syst..

[3]  Lianping Chen,et al.  Continuous Delivery: Huge Benefits, but Challenges Too , 2015, IEEE Software.

[4]  Mazin S. Yousif,et al.  Microservices , 2016, IEEE Cloud Comput..

[5]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[6]  Paul Johns,et al.  Exploring Cross-Device Web Use on PCs and Mobile Devices , 2009, INTERACT.

[7]  Shuguang Han,et al.  Supporting Cross-Device Web Search with Social Navigation-Based Mobile Touch Interactions , 2015, UMAP.

[8]  Moira C. Norrie,et al.  Information Concepts for Cross-device Applications , 2013, DUI@EICS.

[9]  Cristina Vicente-Chicote,et al.  A Model-Driven Approach to Graphical User Interface Runtime Adaptation , 2010, Models@run.time.

[10]  Carlos Angel Iglesias,et al.  Microservices - Lightweight Service Descriptions for REST Architectural Style , 2010, ICAART.

[11]  James Zijun Wang,et al.  Evolving Mashup Interfaces Using a Distributed Machine Learning and Model Transformation Methodology , 2015, OTM Workshops.

[12]  Javier Criado,et al.  A Web Services Infrastructure for the Management of Mashup Interfaces , 2015, ICSOC Workshops.

[13]  Florian Daniel,et al.  Mashups - Concepts, Models and Architectures , 2014, Data-Centric Systems and Applications.

[14]  José A. Gallud,et al.  Distributing Interaction in Responsive Cross-Device Applications , 2016, ICWE Workshops.

[15]  Javier Criado,et al.  Toward the adaptation of component‐based architectures by model transformation: behind smart user interfaces , 2015, Softw. Pract. Exp..

[16]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[17]  Martin Gaedke,et al.  Loop Discovery in Publish-Subscribe-Based User Interface Mashups , 2015, ICWE.

[18]  Fabio Paternò,et al.  An environment for End-User Development of Web mashups , 2016, Int. J. Hum. Comput. Stud..

[19]  Mehmed Kantardzic,et al.  Data Mining: Concepts, Models, Methods, and Algorithms , 2002 .

[20]  Alexander L. Wolf,et al.  Feature engineering [software development] , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[21]  Frank Leymann,et al.  Cloud Application Architecture Patterns , 2014 .

[22]  Stefan Poslad,et al.  Ubiquitous Computing: Basics and Vision , 2009 .

[23]  Niklas Elmqvist,et al.  Distributed User Interfaces: State of the Art , 2011, Distributed User Interfaces.

[24]  Daniel J. Wigdor,et al.  A field study of multi-device workflows in distributed workspaces , 2013, UbiComp.

[25]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[26]  M. Zurmuehlen,et al.  Developing web services choreography standards?the case of REST vs. SOAP , 2004 .

[27]  Beat Signer,et al.  Towards User-Defined Cross-Device Interaction , 2016, ICWE Workshops.

[28]  Cristina Vicente-Chicote,et al.  Metamodeling the Structure and Interaction Behavior of Cooperative Component-based User Interfaces , 2012, J. Univers. Comput. Sci..

[29]  Mario Andrés Paredes-Valverde,et al.  A systematic review of tools, languages, and methodologies for mashup development , 2015, Softw. Pract. Exp..