# A Coding-Free Software Framework for Developing Lightweight Web Data Management Systems
## 4 DMSWP in the Cloud  
In this section, we will specify the DMSWP platform whose architecture is shown in Figure 3.  
Figure 3: The Three-Tier Architecture of the DMSWP.  
Figure 2: The Hierarchy of DMS.  
For the DMSWP, the end users can be divided into three categories, i.e., administrators, tenants and ordinary users. For different categories of users, the DMSWP provides different business logic to satisfy the service on demand. For example, for the administrators, the corresponding business logic layer service involves tenant management. That is, the administrator manages the system registered on the DMSWP uniformly. For the tenants, the corresponding business logic layer services include user management, group management, schema management and metadata management. For the ordinary users, namely, users under a tenant, the corresponding service of the business logic layer is data management. The platform administrator is unique and can manage multiple tenants. Each tenant manages a data management system, which can have multiple ordinary users.  
From the system architecture point of view, the DMSWP is roughly divided into three layers, i.e., the user interface layer, the business logic layer and the data storage layer. To facilitate maintenance and migration, the DMSWP adopts a loosely coupled design between layers. In what follows, we will specify the three-layer structure.  
**User interface layer (UIL)** provides customers with access to the DMS on the Internet and supports interactive operations between customers and the system. The UIL is implemented by Google Web Toolkit (GWT) and SmartGWT, and its separation from the business logic layer is realized through remote procedure call (RPC) communication. We use GWT and SmartGWT because they are very interactive and have their own UI library that allows developers to build web applications quickly [35].  
**Business logic layer (BLL)** contains modules, as shown in Figure 3. For the data management module, we also implement the GDWI module. In the GDWI module, we implement advanced functions such as multi-condition combined query, statistics and data migration. The data migration function includes import and export. The import function includes imports from spreadsheets and traditional relational databases such as MySQL. That is, it can quickly integrate the enterprise's resources in different databases into the system, such as SQLServer, MySQL, etc. An export function can export the data from a DMS into a spreadsheet.  
The BLL implements the respective Manager classes and defines the I*Manager interface to implement specific operational functions. The parameters passed into the parsing API are provided by the ParameterInParser class. The results returned by the parsing API are provided by the ParameterOutParser class. The permission verification is obtained by calling the PermissionManager class. The conceptual UML class diagram for the BLL is shown in Figure 4.  
**Data storage layer (DSL)** includes the database implementation and unified data access module. In terms of database implementation, the platform adopts the schemaless database MongoDB to establish the database model of a multi-tenant application framework. Because of MongoDB's schemaless nature, data of different structured data tables can coexist within the same table.