From Architectural Requirements towards an Open Architecture for Web and Mobile Societal Applications Bahtijar Vogel, Arianit Kurti, Tommi Mikkonen* and Marcelo Milrad Linnaeus University, Växjö, Sweden; *Tampere University of Technology, Tampere, Finland
{bahtijar.vogel, arianit.kurti, marcelo.milrad}@lnu.se;
[email protected] ABSTRACT
becoming more open thus allowing system designers, developers and even non-programmers to combine different type of services and components with open data and open standards. Continuously evolving web and mobile technologies combined with the changes of the environment in which they operate result in dynamic, complex requirements that are challenging to satisfy.
This paper reflects on our experiences during the last four years regarding the development of a web & mobile application for sustainable environment. After five development cycles our software application has become robust, flexible, and expandable platform. Inspired from this and the needs identified during this process we report our research towards identifying novel architectural approaches that nourish open data and emerging web standards for developing open societal applications. The efforts resulted in an open architecture approach that relies on a set of key characteristics - flexibility, evolvability, customizability, and extensibility. Stressing these characteristics refers to the identified needs of using open standards and reducing development time. The results show that an open architecture approach provides the key ingredients in terms of system integration and data interoperability as well as the ability of the software to grow in terms of new services, devices, and subsystems attached to it, primarily due to the use of open source components and open data standards.
To cope with these issues, there is a need to identify novel architectural approaches that would nourish open data usage and emerging web standards for developing open societal applications. Thus, the main objective of this paper is to identify the needs for such architectural approaches for web and mobile software that would take into consideration openness aspects when dealing with dynamic and heterogonous environments. The field of citizen sensing for sustainable environment regarding water and soil quality measurements has been selected as the domain to explore and address this objective.
2. MOTIVATION: PROJECT LETS GO One of the aims of the Learning Ecology through Science with Global Outcomes (LETS GO) project [13] is to support “open inquiry learning” using mobile science collaborators that provide open software tools and resources, and participation frameworks for learner project collaboration, mobile data and media capture, publishing, analysis, and reflection. From a software engineering perspective, fulfilling these aims introduces a number of stakeholders, as well as functional and architectural requirements.
Categories and Subject Descriptors D.2.11 [Software Engineering]: Software Architecture
General Terms Theory, Design, Documentation, Human Factors.
Keywords
2.1 The Architecture Design and Application
Open architecture, open standards, web and mobile societal application, open components, flexibility, evolvability, customizability, extensibility.
Identification of the requirements has been done by researchers from our group in an initial phase with domain experts, such as environmental teacher and IT educators. During the second phase, functional requirements were initially identified by closely addressing the stakeholder requirements. Finally during the analysis and design efforts, stakeholder requirements and main functional requirements have been translated into architectural requirements, which represented the starting point for the implementation process for the application (see in details [13]). The main architectural requirements identified were: sensor components, mobile unit components, visualization and collaboration components, external services components, server and data aggregation components [13].
1. INTRODUCTION Recent trends in the field of web and mobile technologies indicate that open systems are more successful than those based in proprietary technologies [2], [8], when it comes to promote citizen engagement and improve quality of life. Even though a number of proprietary web technology companies such as Facebook, Google, Microsoft, etc, are doing very well, there are also signs of emerging openness. For instance, Facebook recently launched the Open Compute Project in relation to its data centers and web servers [7], and a number of Google and Microsoft APIs are already open [3], [5]. These trends indicate that web systems are
The development approach was guided by the web development life cycle [13]. The application we developed through iterative development cycles during the last four years resulted in a modular and layered architecture, based on a service-oriented approach that utilizes open source components, open data standards and usable formats [1], [10], [13]. The software application has gone through evolutionary prototyping approach [9], [13], to become a stable and robust platform for mobile data collection, aggregation and interactive data visualization.
Permission to make digital or hard copies of all or part of this work for personal or Permission to granted make digital copies all or of thisor work for classroom use is without or feehard provided thatof copies arepart not made distributed personal classroom use is granted feethis provided that are for profit or or commercial advantage and that without copies bear notice and thecopies full citation onnot the made first page. components this work owned by others and than ACM or Copyrights distributedforfor profit orofcommercial advantage that must be honored. Abstracting withthe credit is permitted. To copy otherwise, republish, copies bear this notice and full citation on the first page.orTo copy to post on servers or to redistribute to lists, requires prior specific permission and/or a otherwise, or republish, post on servers or to redistribute to lists, fee. Request permissions from to
[email protected].
requires prior specific permission and/or a fee. IWP’14, June 1, 2014, Hyderabad, India IWP’14, June 1, 2014, Hyderabad, India. Copyright 2014 ACM 978-1-4503-2855-5/14/06...$15.00 Copyright 2014 ACM 978-1-4503-2855-5/14/06…$15.00. http://dx.doi.org/10.1145/2593761.2593768
20
In the proposed architecture (Figure 1), resources are organized into subsystems that integrate sensors, mobile units, server side components, and visualization and external services. Mobile data collection subsystem shows some of the main components (Tasks, Activities, Views and Widgets) that serve for data collection. This subsystem utilizes an open standard data format (XForms), which flexibly renders it in order to dynamically reflect upon the user requirements. The process of designing these forms are performed usually with simple text editor or the authoring tool and are uploaded to Data Aggregation subsystem. The Data Aggregation subsystem takes care of validating, managing and processing these forms to mobile clients. Here, all the forms and their related data that are collected through mobile clients are uploaded and saved. Some of the main components in this subsystem are related to FormsProcessing, Web Services, Databases and open data standards that are used for increasing extensibility. The external services subsystem contains components that utilize diverse open web APIs. The Visual Representation subsystem is controlled by one of the central components, AppMediator, which handles data storage, different visualization techniques and filtering functionalities. All visualization techniques are integrated by using available open web APIs. As for Sensors, the system utilizes and makes use of some of the basic units for measurements purposes related to water or soil quality. Data Aggregation
Mobile Data Collection Tasks
Activities
Views
Widgets Picture
Annotation Storage
XForms (xml)
Forms Processing Content repository KML/ CSV
tool, which tailored different geo-tagged sensor data and digital content collected using mobile data collection tool.
2.3 Project Lifecycle During the development efforts, we heavily utilized serviceoriented architecture approaches. These software prototypes evolved from being proprietary applications towards combining several Internet-based services to collect, process and visualize the geo-temporal data collected using mobile data collection tools and web. In the first development stage, we mainly dealt with the integration challenges of different technological resources. In addition, the first software application prototype had been mainly implemented using static forms for mobile tool and desktop enabled visualization. During the second development stage, we continued with our integration challenges, however, due to the evolvement of new and additional requirements, the challenge of interoperability across diverse external sensors with mobile devices and web visualizations arose. Thus, the second and third prototype resulted in a combination between more dynamic forms for mobile and web technologies (XForms, JSON), and included initial open source components and open web APIs [1], [9], [13]. During these periods a more controlled experiments were conducted such as user testing study [12]. The study was important in order to identify usability aspects that resulted in a number of suggestions. These were later translated into requirements for further improvement and development.
External Services
Web Services
SubmitToEx Storage
Visualization Types
Database
Export
APIs
Location
During the fourth and fifth development stages the system has been modified, and adapted and extended with new technologies and tools such as using gesture based interactions (GBI) supported by the use of the Microsoft Kinect [14] and touch enabled interactions facilitated by the use of the Natural User Interface (NUI) Samsung SUR-40 tabletop computing surface [11]. Our software system has been integrated and extended with robust systems, such as with National Geographic Society’s (NGS) FieldScope GIS tool [11]. It was also extended with other robust systems such as with other web-based systems/tools from the perspective of other projects [4], [6]. These last two development stages made us think to make our system more sustainable towards providing an open platform comprised of a rich set of tools that offer flexible mobile and web based applications that can be deployed by users to support data collection, visualization and collaboration. Moreover, the system provided a support for various types of human activities for diverse settings and in dynamically changing environments. We also must emphasize that the development time between the first (Requirements: Sep. 2008 – Deployment: May 2009) and second (Requirements: Feb. 2010 – Deployment: Mar. 2010) development stages has been dramatically shortened [9], [13]. This primarily was evident due to utilization of open source components [1], [9], open standards data formats (such as XForms and JSON) for data exchange.
Maps
Fusion Tables
Spreadsheet XML/ JSON
Systems
«use» Sensors Measurements Water Quality Unit
Soil Quality Unit
Visual Representation
Subsystem
DataStorage
AppMediator
Visualization Manager
Component
Filtering
Visualization Maps
Visualization Types
Middleware
Artifact
Units Attributes
Pictures
Dates
Location
Tables
Graphs
Dependency / relation
Figure 1. Main architectural components and artifacts.
2.2 Participants and Settings The overall evolution of our software application was informed by tests we conducted with more than 500 users and during a period of 4-years. Usually, the participants in the different activities were either students from K-12 schools in Sweden, Stanford – US, Israel and Taiwan or undergraduate students and teachers as part of the environmental science investigations. They investigated topics related to soil quality (woodland ecology), biodiversity and water quality of lakes and sea by promoting the citizen sensing for sustaining of the surroundings. A typical LETS GO activity included workshops to get familiarized with specific subject matter and ideas associated with the inquiry process. These activities usually comprised six to eight lessons over a period of five weeks starting with the introduction of inquiry process. During this period, basic concepts of the activity were introduced; users discussed the initial questions given to them about a specific topic (e.g. water or soil quality). Users conducted field experiments at a local environment and collected samples for lab analysis. The data collected using the mobile data collection tool were geo-tagged content and sensor data (usually pH, dissolved oxygen, temperature, conductivity, moisture, etc. depending on the type of the activity). The activity usually ended with a discussion about their findings from the field and lab work and an overall discussion and reflection by using the web visualization
2.4 Project Outcomes and Challenges Based on the intensive development efforts throughout the project lifecycle and the continuous deployment and testing with users, we have been able to identify several needs that affected the openness of the application architecture. Below we summarize and highlight the project outcomes as needs from the LETS GO case. •
The need to use open data standard formats
In our research, we have identified that using open source components, open data standards and usable formats for data
21
exchange promotes systems interoperability and that substantially shortens the development time [9], [13]. •
These include a) flexibility b) evolvability c) customizability and d) extensibility. Based on our analysis we reformulated these characteristics and interpreted them into our own context as following. A web and mobile software application based on an open architecture approach should be considered:
The need to support diverse settings and dynamic change of environments
The diversity of the activities, for instance activities related to soil quality, water quality, geo-audio notes, biodiversity and so on [11], [13], made the application flexible to be used in a wide variety of settings and for different activities. The dynamic change of environments is related to geographical context, which include testing and deployments in multiple organizations throughout Sweden, USA, Israel, and Taiwan [11], [13]. •
The need to change and adapt to new technologies
The application evolved from being a standalone proprietary system towards more robust platform by combining several Internet-based services such as service oriented approaches, open Web APIs, etc., from single platform to multiple platform support, and from AJAX to more dynamic HTML5 multimedia representations [11]. •
The need to extend with existing and new tools
An extension of our solution to other existing and new tools and robust systems, for example by providing services via open web APIs. Cases of such approaches have been the extensibility with interactive technologies and services such as GBI and NUI elements and NGS Fieldscope [4], [6], [11]. •
Flexible: if it provides solutions that can be used by users in a wide variety of settings and situations by easily addressing different users and system requirements with minimum delays.
b)
Evolvable: if the system can easily be modified to meet new, individual and dynamic requirements by minimizing costs.
c)
Customizable: if it allows users to easily customize features in the system and to address their specific individual needs, usually without having access to source code by reducing the deployment time.
d)
Extensible: if it offers easy integration possibilities with other systems and/or tools that take into consideration the future growth by expanding/enhancing the architecture with less costly upgrades.
In our understanding, these are the main characteristics of what an open architecture approach should have. Inspired from these features and the development case, we have also redefined the notion of an open architecture for web and mobile software as follows. An open architecture is primarily characterized by having the following features: flexibility, evolvability, customizability and extensibility. Open architectures should offer possibilities in terms of system integration and data interoperability as well as the ability of the software to grow in terms of new services, devices, and subsystems attached to it. An open architecture combines service-oriented approaches and modularity with open source components and open standard data formats that allows the software system to easily address dynamic requirements by reducing the development and deployment time.
The need to Add/Upgrade/Modify features
Adding and upgrading features in the software application by easily addressing specific individual requirements, adjusting and modifying specific features dynamically into the application. These include: media information, location information, sensor data and various content with minimum design and development effort [9], [10], [13]. •
a)
The need to reduce the development and deployment time
The importance of stressing these characteristics as main features of an open architecture mainly refers to the identified needs of using open standards and reducing development time. Moreover, these characteristics provide us with valuable insights by deepening our understanding of how the notion of open architecture can be utilized for developing open societal application when dealing with dynamic and heterogonous environments.
One identified issue was that the rapid speed and evolution of web-based technologies affected the development process and the software application itself. However, the available open resources, and open data standards with usable formats simplify the development of web and mobile applications and speeds up the development time. For example addressing the requirements towards deployment was shortened from initially nine months (first iteration) to one month (second iteration) [9], [13].
4. DISCUSSION
3. TOWARDS AN OPEN ARCHITECTURE
The rapid technological evolution in mobile computing, emerging web technologies & open standards, as well as big data that is being generated by these 'new' technologies are the key ingredients for developing open societal applications. All these developments brought numerous architectural challenges that we believe can be addressed by the open architecture approach presented in this paper.
Motivated by the needs described in the previous section, our research efforts were oriented toward identifying the most suitable architectural approach that would enable already from the initial stages, utilization of open data standards and usable formats for developing societal applications. Outcomes from the LETS GO project demonstrated that a combination of service-oriented approaches and modularity with open source components and open standard data and usable formats pave the way towards an open architecture. Guided by the later, our research efforts were directed toward performing a literature survey aiming at identifying open architecture definitions, state of the art projects and defining and analyzing the key characteristics for developing open societal applications (for more details [10]). The analysis of the extracted definitions and reflection upon our own development experiences led to identification of four essential characteristics, which are important from the open architecture point of view.
Our development and research efforts practically evolved from initially architectural requirements towards an open architecture for web and mobile societal applications. Table 1 shows the dependencies and interconnections between the open architecture characteristics and the identified needs listed in subsection 2.4. This mapping emphasizes the importance of the open architecture features that can serve as requirements and can guide some of the design and development issues (listed as needs) for web and mobile software application. An interesting finding is that there is
22
a full cross matching, when it comes to the use of open standards and the reduced development and deployment time.
[4] Hung, P. H.. Lin, I. H. Hwang, G. J. Lee, Y. H. Wu, T. H. Chang, W. Y. 2012. The Differences of Collaborative Learning and Scientific Inquiry Competencies between Experienced and Novice Learners in Ubiquitous ProblemBased Learning. 2012 IEEE Seventh International Conference Wireless, Mobile and Ubiquitous Technology in Education (WMUTE), 277-281.
Table 1. Mapping the needs with characteristics
The need to provide support for diverse settings
X
The need to provide support for dynamic change of environments The need to change and adapt to new technologies
X
X
Extensibility
X
Customizability
Evolvability Flexibility
The need to use open data standard formats
X
X
[6] Milrad, M. Kohen-Vacs, D. Vogel, B. Ronen, M. and Kurti, A. 2011. An Integrated Approach for the Enactment of Collaborative Pedagogical Scripts Using Mobile Technologies. Proceedings of the International Conference on Computer Support for Collaborative Learning CSCL.
X
X
X
The need to extend with existing and new tools The need to add/upgrade features
X
The need to modify features The need to reduce the development and deployment time
[5] Michael, W. and Gangadharan, G. R. 2010. Modeling The Mashup Ecosystem: Structure And Growth. R&D Management, Business Source Premier, 40, 1, 40-49.
X
[7] Merritt, R. 2011. Facebook opens up data center, server designs to other operators. Electronic Engineering Times, 2628.
X
X X
X
X
X
[8] Taivalsaari, A. and Mikkonen, T. 2011. Objects in the cloud may be closer than they appear towards a taxonomy of webbased software. 2011 13th IEEE International Symposium on Web Systems Evolution (WSE). (Sep. 2011), 59–64.
The iterative development approach employed in the LETS GO project, combined with continuous tests with end-users, strengthened the importance of these needs and these characteristics for an open architecture. Once the open source components and open standards have been utilized, we have seen a significant reduction of the development and deployment time of the software application. The use of open source components and open standard shifted our efforts from typical coding to customization and adaptation, thus resulting in shortening development and deployment time [13]. This is mainly due to the open architecture approach that emphasizes the modular design and capabilities of such sustainable system to be adapted to different usage contexts. It demonstrated the intention to reduce total platform replacements, by enabling the independent replacement or extension of a certain component or service without affecting the rest of the architecture, as well as the extension of the system with new functionalities (primarily due to the use of open data standards), that become increasingly feasible into our solution.
[9] Vogel, B. 2011. An Interactive Web-Based Visualization Tool: Design and Development Cycles. 2011 IEEE 35th Annual Computer Software and Applications Conference Workshops (Jul. 2011), 279–285. [10] Vogel, B. 2013. Towards Open Architecture System. In Proceedings of the 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2013), August 18-26, 731-734. DOI= http://dx.doi.org/10.1145/2491411.2492407
[11] Vogel, B., Kurti, A., Milrad, M., Johansson, E. and Müller, M. (to appear under 2014). Mobile Inquiry Learning in Sweden: Development Insights on Interoperability, Extensibility and Sustainability of the LETS GO Software System. Submitted to Special Issue of “Powering Up: Insights from Distinguished Mobile and Ubiquitous Learning Projects across the World” Journal of Educational Technology & Society.
We consider that an open architecture approach can provide the key ingredients in order to ensure continual refining of a software application in a most convenient way. Furthermore, the possible benefits can be reflected in terms of achievement of the applications long terms goals, reduced development time, and increased satisfaction of the users due to the possibilities to easily adapt and address emerging and dynamic changes and requirements. We also emphasize that the needs and the characteristics of an open architecture are best dealt with by relying on web technologies, especially since the web evolved toward a fully-fledged software platform [8].
[12] Vogel, B. Kurti, A. Milrad, M. and Kerren, A. 2011. An Interactive Web-based Visualization Tool in Action: User Testing and Usability Aspects. In Proceedings of the 11th IEEE International Conference on Computer and Information Technology. IEEE Computer Society Press, (CIT '11), Paphos, Cyprus, 2011, 403-408. [13] Vogel, B. Kurti, A. Milrad, M. and Mikkonen, T. 2012. Architectural Concepts: Evolution of a Software System Across Design and Implementation Stages in Dynamically Changing Environments. 2012 IEEE 36th Annual Computer Software and Applications Conference Workshops, 144-151.
5. REFERENCES [1] Anokwa, Y., Hartung, C. and Brunette, W. 2009. Open source data collection in the developing world. Computer. October (2009), 97–99.
[14] Vogel, B. Pettersson, O. Kurti, A. and Simonsson Huck, A. 2012. Utilizing Gesture Based Interaction for Supporting Collaborative Explorations of Visualizations in TEL. Proceedings of the 7th IEEE WMUTE International Conference on Wireless, Mobile and Ubiquitous Technologies in Education WMUTE.
[2] Berners-Lee, T. 2010. Long live the Web: a call for continued open standards and neutrality. Scientific American. 303, 4. 56-61. [3] Fontana, J. 2008. Microsoft opens up API. Network World. vol. no 8:18.
23