A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems
Abstract
:1. Introduction
- The DMSWP platform provides a scalable, multi-tenant software application model that provides both tenants (system administrators) and ordinary users access to the system, which supports tenants in developing software systems based on the RTDDM and supports tenants in interactively customizing and configuring software systems. Based on DMSWP, we provide a set of general data web interfaces (GDWIs) for users to exchange data or do more. It is notable that unlike the traditional DMSWP, our proposed framework focuses more on the logic at the data operation level, while they focus on the logic at the business level.
- The RTDDM method supports an offline table to drive the development of data management systems. This is a coding-free method that enables users to develop and deploy data management systems on the SaaS platform efficiently by directly customizing the system requirements into a given specific table. Based on this method, we design a scalable and RTDDM-enabled system requirements table (ReTa), which can completely describe a software system with data management as the core requirement. In addition, the RTDDM method that we proposed is easier to understand and employ by users without a programming background. To the best of our knowledge, no method similar to the RTDDM has previously been presented in the literature.
2. Related Work
2.1. System Software Development Based on SaaS
2.2. Spreadsheet-Driven Development
3. Framework Architecture and Formal Modelling
- The gpermission and opermission in the schema representation are used to distinguish the permissions of different groups on the schema. For any group that has the permissions of schema, it can have the permissions of any subset of schema.
- FI refers to the field information in the schema. Field information can be further interpreted as field names, field types, and other attributes of fields (OAs).
- Each piece of data belongs to a schema. For each data item belonging to schema, the attribute values of each field must match the attributes of the corresponding schema’s field.
4. DMSWP in the Cloud
5. RTDDM
5.1. The Hierarchical Structure of RTDDM
- Presentation Layer: The presentation layer is the layer where the user interacts directly with the RTDDM. In the RTDDM, the presentation layer takes a spreadsheet as input such that users have a convenient and simple entity through which to interact with the DMSWP. The presentation layer describes users’ requirements for a DMS by designing a set of system ReTa. Users configure the system ReTa to customize the DMS. In addition, this layer assembles services on demand from a user perspective.
- Drive Engine Layer: The drive engine layer is the bridge that converts the system ReTa from the presentation layer to the system instances on the application system layer. The main task of the drive engine layer is to parse the system ReTa customized by the tenant. The system ReTa passed from the presentation layer is read, and the information is verified. After passing the verification, the information is interpreted into language that can be parsed and executed on the DMSWP. ReTa describes the Tenant, User, Group, Schema, and Data in detail, and the drive engine layer is the language that parses the contents of these five components into database recognition. Here, we parse ReTa into JSON data and inject the data into different collections that compose the underlying MongoDB database of our system.
- Application System Layer: The application system layer is responsible for instantiation of the system. The DMS customized by the user in the system ReTa is transformed and parsed by the drive engine layer, executed on the DMSWP, and then generated and derived on the web. Users can access the customized system on the web.
5.2. Requirements Tables of RTDDM
- System Metadata Table: The system metadata table has a detailed description of users, groups and schemas in the DMS.Table 1 shows the format of the system metadata table. From Table 1, row 1 and 2 are used for the security verification of tenant T, whereas row 3 and 4 are used to describe the group G of the DMS and incrementing the cell to the right to add the group. Row 5 begins describing user U of the system, with one user record per line. Row 7 and row 8 describe the basic information of the schema S of the system. Row 9 begins to describe the field information FI within the schema. Users can continue to extend the table to add a new model or field. The symbol “+” in the table means supporting extension. In fact, for the entire platform, each content followed by “+” can be extended indefinitely as long as the physical space is sufficient.
- Data Exchange Table: Table 2 shows the format of the data exchange table, which provides a detailed description of structured data D in a DMS. In each data exchange table, we can inject only data items within the same data structure. The first row of each data exchange table is a description of the data structure, the other rows represent a piece of the data record that conforms to the data structure, and each column corresponds to a field.
6. Evaluation
- The system covers at least two types of users with privileges. There should be at least an administrator of the management system and users who can enter, modify and query data.
- The system should at least cover the form of equipment information, equipment outbound, equipment warehousing, equipment inventory, equipment purchase requirements, etc., which can clearly represent the information related to warehouse equipment.
- The system should cover at least four major modules, including teachers, students, classes and courses.
- The system should cover at least three users with different privileges, such as administrators, teachers and students. At the same time, users with different permissions in the system should have clearly divided operation permissions for different data.
- The system should at least be able to manage the information of students, teachers and classes, as well as course meta-information and information related to the course, such as the students enrolled in a certain course, their scores and attendance.
- The system should be able to perform statistical analysis and multi-condition combination analysis, for example, calculate the average score of students who are absent more than one time in a certain course.
7. Discussion and Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Chen, S.L.; Chen, Y.Y.; Hsu, C. A new approach to integrate internet-of-things and software-as-a-service model for logistic systems: A case study. Sensors 2014, 14, 6144–6164. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Onokoy, L.; Lavendels, J. Evolution and Development Prospects of Information System Design Methodologies. Appl. Comput. Syst. 2018, 23, 63–68. [Google Scholar] [CrossRef] [Green Version]
- Namoun, A.; Tobias, N.; De Angeli, A. Service composition for non-programmers: Prospects, problems, and design recommendations. In Proceedings of the 2010 Eighth IEEE European Conference on Web Services, Ayia Napa, Cyprus, 1–3 December 2010; pp. 123–130. [Google Scholar]
- Maćkowiak, M.; Nawrocki, J.; Ochodek, M. On some end-user programming constructs and their understandability. J. Syst. Softw. 2018, 142, 206–222. [Google Scholar] [CrossRef]
- Park, S.; Hwang, M.; Lee, S.; Park, Y. A generic software development process refined from best practices for cloud computing. Sustainability 2015, 7, 5321–5344. [Google Scholar] [CrossRef] [Green Version]
- Preuveneers, D.; Heyman, T.; Berbers, Y.; Joosen, W. Systematic scalability assessment for feature oriented multi-tenant services. J. Syst. Softw. 2016, 116, 162–176. [Google Scholar] [CrossRef] [Green Version]
- Aleem, S.; Rabia, B.; Faheem, A.; Asad, K.; Raja, M.U.U. Architecture guidelines for SaaS development process. In Proceedings of the 2017 International Conference on Cloud and Big Data Computing, London, UK, 17–19 September 2017; pp. 94–99. [Google Scholar]
- Makki, M.; Van Landuyt, D.; Lagaisse, B.; Joosen, W. A comparative study of workflow customization strategies: Quality implications for multi-tenant SaaS. J. Syst. Softw. 2018, 144, 423–438. [Google Scholar] [CrossRef]
- Luo, Y.; Zhou, S.; Guan, J. LAYER: A cost-efficient mechanism to support multi-tenant database as a service in cloud. J. Syst. Softw. 2015, 101, 86–96. [Google Scholar] [CrossRef]
- Tsai, W.T.; Huang, Y.; Shao, Q. EasySaaS: A SaaS development framework. In Proceedings of the 2011 IEEE International Conference on Service-Oriented Computing and Applications(SOCA), Irvine, CA, USA, 12–14 December 2011; pp. 1–4. [Google Scholar] [CrossRef]
- Tsai, W.T.; Li, W.; Esmaeili, B.; Wu, W. Model-driven tenant development for PaaS-based SaaS. In Proceedings of the 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings, Taipei, Taiwan, 3–6 December 2012; pp. 821–826. [Google Scholar] [CrossRef]
- Tsai, W.T.; Sun, X. SaaS Multi-Tenant Application Customization. In Proceedings of the 2013 IEEE Seventh International Symposium on Service-Oriented System Engineering, Redwood City, CA, USA, 25–28 March 2013; pp. 1–12. [Google Scholar] [CrossRef]
- Zhang, B.; Yu, L.; Feng, Y.; Liu, L.; Zhao, S. Application of Workflow Technology for Big Data Analysis Service. Appl. Sci. 2018, 8, 591. [Google Scholar] [CrossRef] [Green Version]
- Xu, B.; Xu, L.D.; Fei, X.; Jiang, L.; Cai, H.; Wang, S. A method of demand-driven and data-centric Web service configuration for flexible business process implementation. Enterp. Inf. Syst. 2016, 11, 988–1004. [Google Scholar] [CrossRef]
- Shao, T.; Xu, Y.; Li, J. SaaS BI for Chinese SMEs: Case study on Zhongli intellectual technology. In Proceedings of the 2018 International Conference on Information Management & Management Science, Chengdu, China, 25–27 August 2018; pp. 38–41. [Google Scholar]
- Benson, E.; Zhang, A.X.; Karger, D.R. Spreadsheet-driven web applications. In Proceedings of the 27th annual ACM symposium on User interface software and technology ACM, Honolulu, HI, USA, 5–8 October 2014; pp. 97–106. [Google Scholar] [CrossRef] [Green Version]
- Mohamed, F.; Mizouni, R.; Abu-Matar, M.; Al-Qutayri, M.; Whittle, J. An Integrated Platform for Dynamic Adaptation of Multi-Tenant Single Instance SaaS Applications. In Proceedings of the 2017 IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud) IEEE, Prague, Czech Republic, 21–23 August 2017; pp. 257–264. [Google Scholar] [CrossRef]
- Sharma, R.; Sood, M. Enhancing Cloud SAAS Development with Model Driven Architecture. Int. J. Cloud Comput. Serv. Arch. (IJCCSA) 2011, 1, 89–102. [Google Scholar] [CrossRef]
- Cai, H.; Gu, Y.; Vasilakos, A.V.; Xu, B.; Zhou, J. Model-driven development patterns for mobile services in cloud of things. IEEE Trans. Cloud Comput. 2018, 6, 771–784. [Google Scholar] [CrossRef]
- Ma, K.; Yang, B.; Abraham, A. A template-based model transformation approach for deriving multi-tenant saas applications. Acta Polytechinica Hungarica 2012, 9, 25–41. [Google Scholar]
- Mietzner, R.; Leymann, F.; Unger, T. Horizontal and vertical combination of multi-tenancy patterns in service-oriented applications. Enterp. Inf. Syst. 2010, 5, 59–77. [Google Scholar] [CrossRef]
- Scheibler, T.; Mietzner, R.; Leymann, F. EMod: Platform independent modelling, description and enactment of parameterisable EAI patterns. Enterp. Inf. Syst. 2009, 3, 299–317. [Google Scholar] [CrossRef]
- Ying, L.; Bin, Z.; Guoqi, L.; Deshuai, W.; Yan, G. Personalized Modeling for SaaS Based on Extended WSCL. In Proceedings of the 2010 IEEE Asia-Pacific Services Computing Conference IEEE, Hangzhou, China, 6–10 Deceber 2010; pp. 355–362. [Google Scholar] [CrossRef]
- Zhang, Y.C.; Zhang, B.; Liu, Y. Research and Implementation of Multi-tenancy Business Customization System based on SBTM Model. J. Chin. Comput. Syst. 2013, 34, 127–133. [Google Scholar] [CrossRef]
- Zhu, X.; Wang, S. Software customization based on model-driven architecture over SaaS platforms. In Proceedings of the 2009 International Conference on Management and Service Science IEEE, Wuhan, China, 20–22 September 2009; pp. 1–4. [Google Scholar] [CrossRef]
- Zhang, X.; He, K.; Wang, J.; Liu, J.; Wang, C.; Lu, H. On-Demand Service-Oriented MDA Approach for SaaS and Enterprise Mashup Application Development. In Proceedings of the 2012 International Conference on Cloud and Service Computing IEEE, Shanghai, China, 22–24 November 2012; pp. 96–103. [Google Scholar] [CrossRef]
- Etedali, A.; Lung, C.H.; Ajila, S.; Veselinovic, I. Automated Constraint-Based Multi-tenant SaaS Configuration Support Using XML Filtering Techniques. In Proceedings of the 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC) IEEE, Torino, Italy, 4–8 July 2017; pp. 413–418. [Google Scholar] [CrossRef]
- Jiang, X.Y.; Zhang, Y.; Liu, S.J.; Meng, X.X. Layer Multi-tenants Architecture Based on Component and Metadata. J. Chin. Comput. Syst. 2013, 34, 2724–2728. [Google Scholar] [CrossRef]
- Hoang, D.D.; Paik, H.Y.; Dong, W. Mashsheet: Mashups in your spreadsheet. In International Conference on Web Information Systems Engineering; Springer: Berlin/Heidelberg, Germany, 2011; pp. 332–333. [Google Scholar] [CrossRef]
- Chang, K.S.P.; Myers, B.A. Creating interactive web data applications with spreadsheets. In Proceedings of the 27th annual ACM symposium on User interface software and technology ACM, Honolulu, HI, USA, 5–8 October 2014; pp. 87–96. [Google Scholar] [CrossRef]
- Kongdenfha, W.; Benatallah, B.; Vayssière, J.; Saint-Paul, R.; Casati, F. Rapid development of spreadsheet-based web mashups. In Proceedings of the 18th international conference on World wide web ACM, Madrid, Spain, 20–24 April 2009; pp. 851–860. [Google Scholar] [CrossRef]
- Hoang, D.D.; Paik, H.Y.; Ngu, A.H. Spreadsheet as a generic purpose mashup development environment. In International Conference on Service-Oriented Computing; Springer: Berlin/Heidelberg, Germany, 2010; pp. 273–287. [Google Scholar] [CrossRef]
- Honkisz, K.; Kluza, K.; Wiśniewski, P. A Concept for Generating Business Process Models from Natural Language Description. In International Conference on Knowledge Science, Engineering and Management; Springer: Cham, Switzerland, 2018; pp. 91–103. [Google Scholar]
- Wiśniewski, P.; Kluza, K.; Kucharska, E.; Ligęza, A. Spreadsheets as Interoperability Solution for Business Process Representation. Appl. Sci. 2019, 9, 345. [Google Scholar] [CrossRef] [Green Version]
- Kurtz, B.L.; Fenwick, J.B., Jr.; Meznar, P. Developing microlabs using Google web toolkit. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, Raleigh, NC, USA, 29 February–3 March 2012; ACM: New York, NY, USA, 2012; pp. 607–612. [Google Scholar]
1 | T | id | password | systemname | ||
2 | + | |||||
3 | G | groupid | ||||
4 | + | |||||
5 | U | userid | username | userpwd | subG | |
6 | + | |||||
7 | S | schemaid | groupid | entry | gpermission | opermission |
8 | + | |||||
9 | FI | ftype | fname | F | ||
10 | + |
fi | fi | ... | fi | |
---|---|---|---|---|
1 | v | v | ... | v |
2 | v | v | ... | v |
... | ... | ... | ... | ... |
n | v | v | ... | v |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Yang, C.; Pan, S.; Li, R.; Liu, Y.; Peng, L. A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems. Appl. Sci. 2020, 10, 865. https://doi.org/10.3390/app10030865
Yang C, Pan S, Li R, Liu Y, Peng L. A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems. Applied Sciences. 2020; 10(3):865. https://doi.org/10.3390/app10030865
Chicago/Turabian StyleYang, Can, Shiying Pan, Runmin Li, Yu Liu, and Lizhang Peng. 2020. "A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems" Applied Sciences 10, no. 3: 865. https://doi.org/10.3390/app10030865
APA StyleYang, C., Pan, S., Li, R., Liu, Y., & Peng, L. (2020). A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems. Applied Sciences, 10(3), 865. https://doi.org/10.3390/app10030865