Explore chapters and articles related to this topic
Research and design of multilingual agricultural e-commerce logistics information management system
Published in Xiaoling Jia, Feng Wu, Electromechanical Control Technology and Transportation, 2017
Sheng Dai, Ning Ma, Ya-ru Cao, Jia-jia Li
Exchange of intermediate data and business processing. The system uses Active MQ as JMS (Java Message Service, Java Message Service) message middleware, Tomcat as the application server and J2EE as the deployment of applications. The business logic is managed using Spring containers. Database access operations are based on MyBatis ORM (Object Relation Mapping, object relational mapping) framework. The bottom layer uses C3P0 connection pool.
Dependencies-based microservices decomposition method
Published in International Journal of Computers and Applications, 2022
Omar Al-Debagy, Péter Martinek
JPetStore (https://github.com/mybatis/jpetstore-6) application is a reference monolithic application created using JAVA programming language. This application has its microservices counterpart, which can be used for comparing the results of this research paper. This application was used in multiple research papers [12,13].
The design and application of landslide monitoring and early warning system based on microservice architecture
Published in Geomatics, Natural Hazards and Risk, 2020
Dongxin Bai, Jingtian Tang, Guangyin Lu, Ziqiang Zhu, Taoying Liu, Ji Fang
The main task of the service layer is to build a distributed microservice cluster. An example of service layer architecture is shown in Figure 2. In combination with the engineering practices of landslide monitoring, six microservices were designed in this study, which included data receiving and parsing, data management, user management, landslide project management, data analysis, early warning, and prediction. Due to the major pressure of the data receiving and parsing, data management, data analysis, early warning, and prediction process, four microservices were deployed with multiple instances. The relevant information is shown in Table 2. As mentioned in the previous section, the data receiving and parsing service is written in C#, which is mainly responsible for receiving and parsing the data collected by the sensors, and then pushing the collected data to the message queue for publishing. The data management service is mainly responsible for adding, deleting, modifying, and querying the monitoring data. The service adopted in this study used a spring boot framework, and the link with the database used mybatis. This service is the most frequently used, and was deployed in two instances to disperse the pressure. The data analysis service is mainly responsible for providing algorithm services for entire system, which mainly includes outliers identification (pauta criterion, chauvenet criterion, interquartile range, and so on); data denoising (wavelet, empirical mode decomposition, support vector machine, and so on); regression (polynomial regression, Bayesian regression, and so on); and prediction (autoregressive integrated moving average model, grey model, and so on). Due to the complexity of this part of the programming, it is written in python, using the flask framework to provide web service. The advantage of this is that it is possible to use open source algorithm toolkits as much as possible to reduce the programming difficulties. The early warning and prediction services were mainly divided into two parts in this study. The first part subscribed to the message queue, received data in real time, calculated it in real time, and published it if it met the early warning conditions. The second part analyzed the periodic data and produced periodic reports. Then, if algorithm support was needed in this part, the data analysis service would be called upon. In the present study, the user management service and monitoring point management service were both relatively low in frequency. Therefore, they could be deployed on the same server. The user management service mainly realized the storage and authorization of user information, and the monitoring point management service mainly realized the management of the landslide monitoring equipment, files, and their own attributes.
Development of tunnel intelligent monitoring and early warning system based on micro-service architecture: the case of AnPing tunnel
Published in Geomatics, Natural Hazards and Risk, 2020
Qi Liu, Guangyin Lu, Junrong Huang, Dongxin Bai
The service layer played a crucial role in the system architecture. As shown in Figure 5, Based on the previous demand analysis, seven microservices were designed to provide the necessary endorsement for the developed system: data parsing and forwarding microservice, data management microservice, data analysis microservice, alarm and report microservice, project information microservice, user management microservice, and other microservice. The deployment of these services was as shown in Table 1. Due to the high read and write activities and the concurrency pressure, data parsing and forwarding, data management, data analysis and prediction, and early warning service were deployed to multiple service instances. Data management microservice was mainly responsible for the creation, update, retrieval, and deletion of the data in the database. The frequent communication with the database brought the server much pressure thus two distributed servers were required to balance computing pressure. Such service was written in Java and ran on Spring boot and linked with the database through a support framework named Mybatis. Data parsing and forwarding microservice, written in C#, was mainly responsible for parsing the received data from the monitoring sensors and broadcasting in the message queue. User management microservice and project information microservice were deployed on a single server because both take up relatively less memory and resource. Data analysis microservice offered multiple analysis algorithms for the monitoring data including identification and elimination of outliers(3σ criterion, chauvenet criterion, dixon criterion, etc.), data denoising(wavelet, EMD, Kalman filtering, etc.), data interpolation(cubic spline), trend extraction, and regression analysis(polynomial regression, SVR, k-nearest neighbors, etc.), etc. Due to the complexity of programming, such service was implemented in Python and ran on flask because Python could greatly facilitate the development of these algorithms. Two servers could help reduce computing pressure and ensure the operation of such service via multiple instances. Similarly, the deployment of alarm and notification microservice followed the same principle. This service would send a warning message to users when the data exceeded the threshold. There are two ways to check the data. Firstly, the service would make a judgment about whether such data triggered the warning when new data got received. Data exceeding the threshold will be sent to the message queue instantly. Secondly, the service would recheck the stored data and computed the change rate at a certain time interval. Here, the data change trend was obtained by calling the data analysis microservice. Besides, other services were set on another server to complement the system. Data transfer service was responsible for dequeuing data from the message queue and calling the corresponding function to process it.