Evaluating Service-Oriented and Microservice Architecture Patterns to Deploy eHealth Applications in Cloud Computing Environment
Abstract
:1. Introduction
2. Background and Related Work
2.1. Service-Oriented Architecture (SOA)
2.2. Microservice Architecture (MSA)
2.3. SOA vs. MSA
3. A Case Study from eHealth
4. Model and Design of SPIDEP Platforms
4.1. Analysis of Software Attributes
4.2. Variants of Software Architectures
4.2.1. SPIDEP SOA Variant: Platform Design
- Consumers: This layer allows interaction and exchange between the health professionals of the different homes (nurses and assistants), the hospitals in charge of each region (general physicians) and the eHealth applications (SPIDEP or others).
- Edge layer: Establishes HTTP connections with the APP for the asynchronous sending of medical data in the Cloud (i.e., the Cloud layer) [33], whose data come from the different users and their sets of biometric sensors (i.e., blood pressure, pulse rate, body temperature, oxygen saturation and electrodermal activity) [23]. It should be noted that this communication is encrypted by the security layer.
- Cloud layer: This layer performs heavyweight computations; that is, it helps consumers discover, route and deploy health services and infrastructure. In addition, this layer consists of the three sections of infrastructures and resource, support functions and control system. Additionally, different algorithms are used to achieve various objectives (e.g., error tolerance and load balancing) [74].
- Service layer: Contains services for the end users like medical personnel and nursing home administrative staff with their respective profiles.
- Security layer: Ensures access control and consumer authentication through established security policies, whose objective is to determine the user privileges for certain resources and/or specified levels of services.
- Management system: This layer mainly controls the flow of messages between the different layers. In addition, it is responsible for executing the real-time adaptation of the services (versatility) according to demand, e.g., automatically adding a new instance, monitoring the status of the different components that integrate the platform or other monitoring tasks.
- Offers extensive knowledge that has been established over more than a decade, which has proven to be effective and reusable in building platforms. It is thus easier for developers to ensure the quality of service required by the organization [76].
- Suitable for large and heterogeneous systems consisting of many applications, nonindependent services and shared components [33,77]. It provides a roadmap for the adoption of its principles, which allows developing or transforming the capabilities of an organization’s software system into reusable services for greater flexibility and agility [78].
- Message exchange is traditionally synchronous (wait-to-connect); i.e., it depends on the state of the ESB [33]. However, when applying a design oriented to service implementation patterns, the support of asynchronous messages is integrated, increasing complexity and maintainability and reducing flexibility [33,76,79,80].
4.2.2. SPIDEP SOA Variant: Implementation of the Platform
4.2.3. SPIDEP SOA Variant: Deployment of the Platform
- Teamwork: Responsible for the coordination and monitoring of all platform services (business-centric IT) [86].
- Services: Unlike our MSA framework, each team does not have the autonomy to decide which is the best technology for the development of services. These teams should adhere to the Teamwork decisions that follow the business functionalities. For example, all SPIDEP-SOA services were developed under the Laravel PHP framework and a single DBMS, PostgreSQL 10 (the core systems, except for the mobile app, were developed in Java); however, all services are supported by an asynchronous HTTPS server that is based on transport layer security (TLS) for client authentication and can replicate instances based on demand, unlike the traditional SOA approach.
- Software analysis and testing: The source code and the environment are reviewed to ensure correct functionality and that they meet the desired standard; then, unit tests of the services are performed (e.g., PHPUnit).
- Docker containers (test environment (TE)): To ensure the stability and scalability of our platform, we opted for the customization of a test container (Ubuntu Server 18.04 LTS, 2 Core, 4 GB RAM and 80 GB SSD); however, these containers must pass preliminary test criteria defined by Teamwork before being published in the Docker Hub in a private repository.
- Docker containers (production environment (PE)): If the integration of all services in the platform is successful, the stable version of the container is deployed to Docker instances (under the same TE attributes); otherwise, the code should be debugged and the QA tests rerun.
- Managed Kubernetes: Kubernetes is used for automating management of computerized services, since it reduces the manual and repetitive processes involved in container management [90]. In addition, Kubernetes scales according to demand, i.e., it increases the use of resources in high demand, and if demand decreases, idle resources are reused [91]. Unlike the traditional SOA approach (which does not have scalability support), it was necessary to make several adjustments to the RC version of the platform.
4.2.4. SPIDEP MSA Variant: Platform Design
- Edge architecture: Manages the collection, preprocessing and sending of data from the different biometric sensors (e.g., ECG, blood pressure, SPO2 or others), whose data are backed up locally. If necessary, temporary actions can be performed (e.g., delete, filter or update) before the data are sent to the Cloud architecture, which enables analysis with local data to streamline decision making in case of emergency [16,93]. It should be noted that the connections with each APP are made asynchronously and independently for each stakeholder.
- User communication: Provides the necessary mechanisms for correct communication between the different layers and sublayers (e.g., data, validation of credentials or other). This communication is achieved through the representational state transfer (REST) protocol and its methods (i.e., GET, POST, PATCH and DELETE); however, this protocol requires the use of an API gateway. Therefore, taking advantage of some of the strengths of MSA (e.g., decoupling and isolation of microservices) [30], the Backends for Frontends design was implemented in the API gateway [56,89]. Requests are handled by each stakeholder (i.e., desktop, mobile and third-party source) and not traditionally (i.e., single entry point); consequently, additional security mechanisms must be implemented for their validation [7,94,95].
- Cloud architecture: Provides services for end users (e.g., core or auxiliary microservices) according to their needs and the levels of user roles and permissions [21]. In addition, it manages the stored data of the different DBMS (database per service) [54,96] to provide benefits to target users (e.g., patients, medical personnel or health authorities) [16].
- Each microservice is incapsulated; therefore, it has more flexibility to use new frameworks, libraries, data sources and other resources [64].
- It allows horizontal scaling of the services instead of vertical scaling as in the case of a traditional or monolithic SOA, which facilitates the ability to use more computing resources (e.g., CPU, GPU and RAM) that will act as a single unit; however, it can be distributed through multiple virtual networks [50,55].
- However, when applying MSA, the following weaknesses or difficulties must also be considered:
4.2.5. SPIDEP MSA Variant: Implementation of the Platform
4.2.6. SPIDEP MSA Variant: Deployment of the Platform
5. Validation of Results
5.1. Experiments Settings
5.2. Evaluations and Results
6. Discussion
- Architectural style: The attributes of MSA focus more on supporting the streamlining and reduction of microservice deliveries in the shortest possible time (all microservice must be lightweight, decoupled, isolated and independent of any programming language, libraries or databases). Conversely, SOA makes use of the ESB or central entry point, which are not considered agile enough [33] because the interactions between the services are interdependent; consequently, the overall performance of the system is affected for each service invoked simultaneously during a high demand under the SOA pattern [75]. This pattern cannot be changed since all the services developed remain loosely coupled and any change requires the rebuilding or reimplementation of the entire application (coarse-grained services) [62,79,80,81]; therefore, the MSA variant is approximately 54.21% more efficient than the SOA variant in terms of total query numbers and average response times.
- API gateway: It is important to consider that SOA has a centralized governance of services, which also affects the deliveries and responses of queries to users [33]. We have seen how services develop without considering the weak points of this technology, e.g., not considering the centralization of data (without instances) or not considering a Cloud infrastructure for the operation of the services. The resulting increased traffic of the API of HTTP resources degrades the overall performance of the application until its collapse [111,112]. However, for MSA, applying decentralized and independent governance requires applying additional security measures unlike SOA (e.g., authenticating the user identity for each message sent and/or received through the signal mechanisms, the use of custom encryption PBKDF2 or the use of the ticket-based protocol CAS 3.0). These additional mechanisms are intended to establish a secure communication channel between the different microservices (internal and external) of computer attacks (e.g., man-in-the-middle, DoS or other) [104]. Consequently, it brings with it an increase in the general network traffic between the microservices and their infrastructure, demonstrating a significant increase in the average transfer of data to the users; therefore, the SOA variant is approximately 73.80% more efficient than the MSA variant in terms of network consumption.
7. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Van Eyk, E.; Toader, L.; Talluri, S.; Versluis, L.; Uta, A.; Iosup, A. Serverless is More: From PaaS to Present Cloud Computing. IEEE Internet Comput. 2018, 22, 8–17. [Google Scholar] [CrossRef] [Green Version]
- Pfandzelter, T.; Bermbach, D. tinyFaaS: A Lightweight FaaS Platform for Edge Environments. In Proceedings of the 2020 IEEE International Conference on Fog Computing (ICFC), Sydney, Australia, 21–24 April 2020; pp. 17–24. [Google Scholar]
- Gadepalli, P.K.; Peach, G.; Cherkasova, L.; Aitken, R.; Parmer, G. Challenges and Opportunities for Efficient Serverless Computing at the Edge. In Proceedings of the 2019 38th Symposium on Reliable Distributed Systems (SRDS), Lyon, France, 1–4 October 2019; pp. 261–2615. [Google Scholar]
- Sewak, M.; Singh, S. Winning in the Era of Serverless Computing and Function as a Service. In Proceedings of the 2018 3rd International Conference for Convergence in Technology (I2CT), Pune, India, 6–8 April 2018; pp. 1–5. [Google Scholar]
- Kim, Y.; Cha, G. Design of the Cost Effective Execution Worker Scheduling Algorithm for FaaS Platform Using Two-Step Allocation and Dynamic Scaling. In Proceedings of the 2018 IEEE 8th International Symposium on Cloud and Service Computing (SC2), Paris, France, 18–21 November 2018; pp. 131–134. [Google Scholar] [CrossRef]
- Khalique, F.; Khan, S.A.; Nosheen, I. A Framework for Public Health Monitoring, Analytics and Research. IEEE Access 2019, 7, 101309–101326. [Google Scholar] [CrossRef]
- Suryotrisongko, H.; Jayanto, D.P.; Tjahyanto, A. Design and Development of Backend Application for Public Complaint Systems Using Microservice Spring Boot. Procedia Comput. Sci. 2017, 124, 736–743. [Google Scholar] [CrossRef]
- Artemenko, O.; Pasichnyk, V.; Kunanec, N.; Tabachyshyn, D. Using context analysys for providing real time recommendations in e-tourism mobile location-based recommender systems. In Proceedings of the 2019 IEEE 14th International Conference on Computer Sciences and Information Technologies (CSIT), Lviv, Ukraine, 17–20 September 2019; Volume 3, pp. 166–169. [Google Scholar]
- Tsai, Y.-T.; Fan, C.-L.; Lo, C.-L.; Huang, S.-H. SmartLohas: A Smart Assistive System for Elder People. In Proceedings of the 2017 14th International Symposium on Pervasive Systems, Algorithms and Networks & 2017 11th International Conference on Frontier of Computer Science and Technology & 2017 Third International Symposium of Creative Computing (ISPAN-FCST-ISCC, Exeter, UK, 21–23 June 2017; pp. 369–374. [Google Scholar]
- Mendes, D.; Jorge, D.; Pires, G.; Panda, R.; Antonio, R.; Dias, P.; Oliveira, L. VITASENIOR-MT: A distributed and scalable cloud-based telehealth solution. In Proceedings of the 2019 IEEE 5th World Forum on Internet of Things (WF-IoT), Limerick, Ireland, 15–18 April 2019; pp. 767–772. [Google Scholar] [CrossRef]
- Kontis, V.; Bennett, J.E.; Mathers, C.D.; Li, G.; Foreman, K.; Ezzati, M. Future life expectancy in 35 industrialised countries: Projections with a Bayesian model ensemble. Lancet 2017, 389, 1323–1335. [Google Scholar] [CrossRef] [Green Version]
- Wang, Z.; Saho, K.; Tomiyama, H.; Meng, L. Gender Classification of Elderly People using Doppler Radar Images based on Machine Learning. In Proceedings of the 2019 International Conference on Advanced Mechatronic Systems (ICAMechS), Kusatsu, Japan, 26–28 August 2019; pp. 305–310. [Google Scholar]
- Rizvi, S.; Sohail, I.; Saleem, M.M.; Irtaza, A.; Zafar, M.; Syed, M. A Smart Home Appliances Power Management System for Handicapped, Elder and Blind People. In Proceedings of the 2018 4th International Conference on Computer and Information Sciences (ICCOINS), Kuala Lumpur, Malaysia, 13–14 August 2018; pp. 1–4. [Google Scholar]
- Kulik, C.T.; Ryan, S.; Harper, S.; George, G. Aging Populations and Management. Acad. Manag. J. 2014, 57, 929–935. [Google Scholar] [CrossRef]
- Solé-Casals, M.; Chirveches-Pérez, E.; Puigoriol-Juvanteny, E.; Nubó-Puntí, N.; Chabrera-Sanz, C.; Subirana-Casacuberta, M. Perfil y resultados del paciente frágil valorado por la Enfermera de Práctica Avanzada en un servicio de urgencias. Enfermería Clínica 2018, 28, 365–374. [Google Scholar] [CrossRef] [PubMed]
- Ianculescu, M.; Alexandru, A.; Neagu, G.; Pop, F. Microservice-Based Approach to Enforce an IoHT Oriented Architecture. In Proceedings of the 2019 E-Health and Bioengineering Conference (EHB), Iasi, Romania, 21–23 November 2019; pp. 1–4. [Google Scholar]
- Jarwar, M.A.; Ali, S.; Chong, I. Exploring Web Objects enabled Data-Driven Microservices for E-Health Service Provision in IoT Environment. In Proceedings of the 2018 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea, 17–19 October 2018; pp. 112–117. [Google Scholar]
- Kocak, S.; Artug, T.; Tulum, G. A Preliminary Study for Remote Healthcare System: Activity Classification for Elder People with on Body Sensors. In Proceedings of the 2018 6th International Conference on Control Engineering & Information Technology (CEIT), Istanbul, Turkey, 25–27 October 2018; pp. 1–3. [Google Scholar]
- Gaddam, A.; Mukhopadhyay, S.C.; Gupta, G.S. Necessity of a bed-sensor in a smart digital home to care for elder-people. In Proceedings of the 2008 IEEE Sensors, Lecce, Italy, 26–29 October 2008; pp. 1340–1343. [Google Scholar]
- Wishner, L.; Sollevad, J.; Rudowitz, P.; Paradise, R.; Antonisse, J. A Look at Rural Hospital Closures and Implications for Access to Care: Three Case Studies. 2016. Available online: https://www.kff.org/report-section/a-look-at-rural-hospital-closures-and-implications-for-access-to-care-three-case-studies-issue-brief/ (accessed on 12 January 2021).
- Calderon-Gomez, H.; Mendoza-Pitti, L.; Vargas-Lombardo, M.; Gomez-Pulido, J.M.; Castillo-Sequera, J.L.; Sanz-Moreno, J.; Sencion, G. Telemonitoring System for Infectious Disease Prediction in Elderly People Based on a Novel Microservice Architecture. IEEE Access 2020, 8, 118340–118354. [Google Scholar] [CrossRef]
- Sanz-Moreno, J.; Gómez-Pulido, J.; Garcés, A.; Calderón-Gómez, H.; Vargas-Lombardo, M.; Castillo-Sequera, J.L.; Luque, M.L.P.; Toro, R.; Sención-Martínez, G. mHealth System for the Early Detection of Infectious Diseases Using Biomedical Signals. In The Importance of New Technologies and Entrepreneurship in Business Development: In The Context of Economic Diversity in Developing Countries; Metzler, J.B., Ed.; Springer: Berlin/Heidelberg, Germany, 2020; pp. 203–213. [Google Scholar]
- Calderon-Gomez, H.; Garces-Jimenez, A.; Vargas-Lombardo, M.; Gomez-Pulido, J.M.; Polo-Luque, M.-L.; Castillo, J.; Sencion, G.; Moreno, J.S. Proposal Using the Cloud Architecture in System for the Early Detection of Infectious Diseases in Elderly People Fed by Biosensors Records. In Proceedings of the 2019 7th International Engineering, Sciences and Technology Conference (IESTEC), Panama, Panama, 9–11 October 2019; pp. 631–634. [Google Scholar]
- Calderón-Gómez, H.; Navarro-Marín, F.; Gómez-Pulido, J.M.; Castillo-Sequera, J.L.; Garcés-Jiménez, A.; Polo-Luque, M.-L.; Sanz-Moreno, J.; Sención, G.; Vargas-Lombardo, M. Development of ehealth applications-based on microservices in a cloud architecture. Rev. Iber. Sist. Tecnol. Inf. 2019, 2019, 81–93. [Google Scholar]
- Baldominos, A.; Ogul, H.; Colomo-Palacios, R.; Sanz-Moreno, J.; Gómez-Pulido, J.M. Infection prediction using physiological and social data in social environments. Inf. Process. Manag. 2020, 57, 102213. [Google Scholar] [CrossRef]
- Aazam, M.; Zeadally, S.; Harras, K.A. Deploying Fog Computing in Industrial Internet of Things and Industry 4.0. IEEE Trans. Ind. Inform. 2018, 14, 4674–4682. [Google Scholar] [CrossRef]
- Patel, A.R.; Azadi, S.; Babaee, M.H.; Mollaei, N.; Patel, K.L.; Mehta, D.R. Significance of Robotics in Manufacturing, Energy, Goods and Transport Sector in Internet of Things (IoT) Paradigm. In Proceedings of the 2018 Fourth International Conference on Computing Communication Control and Automation (ICCUBEA), Pune, India, 16–18 August 2018; pp. 1–4. [Google Scholar]
- Kousiouris, G.; Tsarsitalidis, S.; Psomakelis, E.; Koloniaris, S.; Bardaki, C.; Tserpes, K.; Nikolaidou, M.; Anagnostopoulos, D. A microservice-based framework for integrating IoT management platforms, semantic and AI services for supply chain management. ICT Express 2019, 5, 141–145. [Google Scholar] [CrossRef]
- Baresi, L.; Mendonca, D.F. Towards a Serverless Platform for Edge Computing. In Proceedings of the 2019 IEEE International Conference on Fog Computing (ICFC), Prague, Czech Republic, 24–26 June 2019; pp. 1–10. [Google Scholar]
- Da Silva, M.A.P.; Times, V.C.; De Araujo, A.M.C.; Da Silva, P.C. A Microservice-Based Approach for Increasing Software Reusability in Health Applications. In Proceedings of the 2019 IEEE/ACS 16th International Conference on Computer Systems and Applications (AICCSA), Abu Dhabi, United Arab Emirates, 3–7 November 2019; pp. 1–8. [Google Scholar]
- Castrillón-Betancur, J.C.; Flórez-Arango, J.F. Archetypes, terminologies and semantic interoperability in health. Arquetipos, terminologías e interoperabilidad semántica en salud. Rev. Cuba. Investig. Biomed. 2015, 34, 365–377. Available online: http://ref.scielo.org/kp9gdp (accessed on 14 January 2021).
- Chaim, R.M.; Oliveira, E.C.; Araujo, A.P.F. Technical specifications of a service-oriented architecture for semantic interoperability of HER—Electronic health records. In Proceedings of the 2017 12th Iberian Conference on Information Systems and Technologies (CISTI), Lisbon, Portugal, 21–24 June 2017; pp. 1–6. [Google Scholar]
- Andriyanto, A.; Doss, R.; Yustianto, P. Adopting SOA and Microservices for Inter-enterprise Architecture in SME Communities. In Proceedings of the 2019 International Conference on Electrical, Electronics and Information Engineering (ICEEIE), Denpasar, Indonesia, 3–4 October 2019; Volume 6, pp. 282–287. [Google Scholar]
- Hutapea, R.C.A.; Wahyudi, A.P. Design Quality Measurement for Service Oriented Software on Service Computing System: A Systematic Literature Review. In Proceedings of the 2018 International Conference on Information Technology Systems and Innovation (ICITSI), Bandung, Indonesia, 22–26 October 2018; pp. 375–380. [Google Scholar]
- Bouguettaya, A.; Singh, M.; Huhns, M.; Sheng, Q.Z.; Dong, H.; Yu, Q.; Neiat, A.G.; Mistry, S.; Benatallah, B.; Medjahed, B.; et al. A service computing manifesto. Commun. ACM 2017, 60, 64–72. [Google Scholar] [CrossRef]
- Mandal, A.K.; Sarkar, A. Service Oriented System design: Domain Specific Model based approach. In Proceedings of the 2016 3rd International Conference on Computer and Information Sciences (ICCOINS), Kuala Lumpur, Malaysia, 15–17 August 2016; pp. 489–494. [Google Scholar]
- Gunawan, L.K.; Tama, N.S.; Nurjannah, R.; Fauziyah, U.; Fajar, A.N.; Qomariyah, N.N. WELTY System Design Based on Service Oriented Architecture for Smart HealthCare. In Proceedings of the 2019 International Conference on ICT for Smart Society (ICISS), Bandung, Indonesia, 19–20 November 2019; Volume 7, pp. 1–4. [Google Scholar]
- Gavrilov, G.; Vlahu-Gjorgievska, E.; Trajkovik, V. Healthcare data warehouse system supporting cross-border interoperability. Health Inform. J. 2020, 26, 1321–1332. [Google Scholar] [CrossRef] [Green Version]
- Amin, M.M.; Sutrisman, A.; Stiawan, D.; Ermatita, E.; Alzahrani, M.Y.; Budiarto, R. Interoperability framework for integrated e-health services. Bull. Electr. Eng. Inform. 2020, 9, 354–361. [Google Scholar] [CrossRef]
- Chronaki, C.; Estelrich, A.; Cangioli, G.; Melgara, M.; Kalra, D.; Gonzaga, Z.; Garber, L.; Blechman, E.; Ferguson, J.; Kay, S. Interoperability standards enabling cross-border patient summary exchange. Stud. Heal. Technol. Inform. 2014, 205, 256–260. [Google Scholar]
- European Commission. eHealth Action Plan 2012–2020—Innovative Healthcare for the 21st Century. 2012. Available online: https://ec.europa.eu/health//sites/health/files/ehealth/docs/com_2012_736_en.pdf (accessed on 16 January 2021).
- Chang, S.H. A Systematic Analysis and Design Approach to Develop Adaptable Services in Service Oriented Computing. In Proceedings of the 2007 IEEE Congress on Services (Services 2007), Salt Lake City, UT, USA, 9–13 July 2007; pp. 375–378. [Google Scholar]
- Park, J.; Moon, M.; Yeom, K. The BCD View Model: Business Analysis View, Service Composition View and Service Design View for Service Oriented Software Design and Development. In Proceedings of the 2008 12th IEEE International Workshop on Future Trends of Distributed Computing Systems, Kunming, China, 21–23 October 2008; pp. 37–43. [Google Scholar] [CrossRef]
- Kufner, J.; Marik, R. Restful State Machines and SQL Database. IEEE Access 2019, 7, 144603–144617. [Google Scholar] [CrossRef]
- Hameed, R.T.; Mohamad, O.A.; Hamid, O.T.; Tapus, N. Patient monitoring system based on e-health sensors and web services. In Proceedings of the 2016 8th International Conference on Electronics, Computers and Artificial Intelligence (ECAI), Ploiesti, Romania, 30 June–2 July 2016; pp. 1–6. [Google Scholar]
- Srinivasan, C.; Charan, G.; Babu, P.C.S. An IoT based SMART patient health monitoring system. Indones. J. Electr. Eng. Comput. Sci. 2020, 18, 1657–1664. [Google Scholar] [CrossRef]
- Peng, C.; Goswami, P.; Bai, G. Linking Health Web Services as Resource Graph by Semantic REST Resource Tagging. Procedia Comput. Sci. 2018, 141, 319–326. [Google Scholar] [CrossRef]
- Silva, B.M.C.; Rodrigues, J.J.P.C.; Ramos, A.; Saleem, K.; De La Torre, I.; Rabelo, R.L. A Mobile Health System to Empower Healthcare Services in Remote Regions. In Proceedings of the 2019 IEEE International Conference on E-health Networking, Application & Services (HealthCom), Bogota, Colombia, 14–16 October 2019; pp. 1–6. [Google Scholar]
- Vayghan, L.A.; Saied, M.A.; Toeroe, M.; Khendek, F. Microservice Based Architecture: Towards High-Availability for Stateful Applications with Kubernetes. In Proceedings of the 2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS), Sofia, Bulgaria, 22–26 July 2019; pp. 176–185. [Google Scholar]
- Cojocaru, M.-D.; Uta, A.; Oprescu, A.-M. Attributes Assessing the Quality of Microservices Automatically Decomposed from Monolithic Applications. In Proceedings of the 2019 18th International Symposium on Parallel and Distributed Computing (ISPDC), Amsterdam, The Netherlands, 3–7 June 2019; pp. 84–93. [Google Scholar]
- Hassan, S.; Bahsoon, R.; Kazman, R. Microservice transition and its granularity problem: A systematic mapping study. Softw. Pr. Exp. 2020, 50, 1651–1681. [Google Scholar] [CrossRef]
- De Lauretis, L. From Monolithic Architecture to Microservices Architecture. In Proceedings of the 2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Berlin, Germany, 27–30 October 2019; pp. 93–96. [Google Scholar] [CrossRef]
- Guaman, D.; Yaguachi, L.; Samanta, C.C.; Danilo, J.H.; Soto, F. Performance evaluation in the migration process from a monolithic application to microservices. In Proceedings of the 2018 13th Iberian Conference on Information Systems and Technologies (CISTI), Caceres, Spain, 13–16 June 2018; pp. 1–8. [Google Scholar]
- Akbulut, A.; Perros, H.G. Performance Analysis of Microservice Design Patterns. IEEE Internet Comput. 2019, 23, 19–27. [Google Scholar] [CrossRef]
- Di Francesco, P.; Lago, P.; Malavolta, I. Architecting with microservices: A systematic mapping study. J. Syst. Softw. 2019, 150, 77–97. [Google Scholar] [CrossRef] [Green Version]
- Li, S.; Zhang, H.; Jia, Z.; Li, Z.; Zhang, C.; Li, J.; Gao, Q.; Ge, J.; Shan, Z. A dataflow-driven approach to identifying microservices from monolithic applications. J. Syst. Softw. 2019, 157, 110380. [Google Scholar] [CrossRef]
- Carranza-García, F.; García-Moreno, F.M.; Rodriguez-Dominguez, C.; Garrido, J.L.; Edo, M.B.; Rodriguez-Fortiz, M.J.; Pérez-Mármol, J.M. Supporting Active Ageing Interventions with Web and Mobile/Wearable Technologies and Using Microservice Oriented Architectures; Metzler, J.B., Ed.; Springer: Berlin/Heidelberg, Germany, 2019; Volume 1016, pp. 114–123. [Google Scholar]
- Garcia-Moreno, F.M.; Bermudez-Edo, M.; Garrido, J.L.; Rodríguez-García, E.; Pérez-Mármol, J.M.; Rodríguez-Fórtiz, M.J. A Microservices e-Health System for Ecological Frailty Assessment using Wearables. Sensors 2020, 20, 3427. [Google Scholar] [CrossRef]
- Sianaki, O.A.; Yousefi, A.; Tabesh, A.R.; Mahdavi, M. Internet of Everything and Machine Learning Applications: Issues and Challenges. In Proceedings of the 2018 32nd International Conference on Advanced Information Networking and Applications Workshops (WAINA), Krakow, Poland, 16–18 May 2018; pp. 704–708. [Google Scholar]
- Houmani, Z.; Balouek-Thomert, D.; Caron, E.; Parashar, M. Enhancing microservices architectures using data-driven service discovery and QoS guarantees. In Proceedings of the 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), Melbourne, Australia, 11–14 May 2020; pp. 290–299. [Google Scholar]
- Frade, S.; Freire, S.M.; Sundvall, E.; Patriarca-Almeida, J.H.; Cruz-Correia, R. Survey of openEHR storage implementations. In Proceedings of the 26th IEEE International Symposium on Computer-Based Medical Systems, Porto, Portugal, 20–22 June 2013; pp. 303–307. [Google Scholar]
- Rademacher, F.; Sachweh, S.; Zundorf, A. Differences between Model-Driven Development of Service-Oriented and Microservice Architecture. In Proceedings of the 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg, Sweden, 5–7 April 2017; pp. 38–45. [Google Scholar]
- Firmansyah, T.; Ganeswangga, A.; Fajar, A.N. Transforming the Monolith E-Procurement Application. Int. J. Innov. Technol. Explor. Eng. 2019, 9, 4780–4784. [Google Scholar] [CrossRef]
- Kazanavicius, J.; Mazeika, D. Migrating Legacy Software to Microservices Architecture. In Proceedings of the 2019 Open Conference of Electrical, Electronic and Information Sciences (eStream), Vilnius, Lithuania, 25 April 2019; pp. 1–5. [Google Scholar]
- Zhang, Y.; Liu, B.; Dai, L.; Chen, K.; Cao, X. Automated Microservice Identification in Legacy Systems with Functional and Non-Functional Metrics. In Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, 16–20 March 2020; pp. 135–145. [Google Scholar]
- Selmadji, A.; Seriai, A.-D.; Bouziane, H.L.; Mahamane, R.O.; Zaragoza, P.; Dony, C. From Monolithic Architecture Style to Microservice one Based on a Semi-Automatic Approach. In Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, 16–20 March 2020; pp. 157–168. [Google Scholar]
- Fundación para la Investigación Biomédica del Hospital Universitario Príncipe de Asturias. Design and Implementation of a Low Cost Smart System for Pre-Diagnosis and Telecare of Infectious Diseases in Elderly People|EU-CELAC. 2017. Available online: https://www.eucelac-platform.eu/project/design-and-implementation-low-cost-smart-system-pre-diagnosis-and-telecare-infectious (accessed on 11 February 2021).
- Catarinucci, L.; De Donno, D.; Mainetti, L.; Palano, L.; Patrono, L.; Stefanizzi, M.L.; Tarricone, L. An IoT-Aware Architecture for Smart Healthcare Systems. IEEE Internet Things J. 2015, 2, 515–526. [Google Scholar] [CrossRef]
- Javed, A.; Robert, J.; Heljanko, K.; Främling, K. IoTEF: A Federated Edge-Cloud Architecture for Fault-Tolerant IoT Applications. J. Grid Comput. 2020, 18, 57–80. [Google Scholar] [CrossRef] [Green Version]
- Di Francesco, P. Architecting Microservices. In Proceedings of the 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg, Sweden, 5–7 April 2017; pp. 224–229. [Google Scholar]
- Zhou, S. Improving Collaboration Efficiency in Fork-Based Development. In Proceedings of the 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), San Diego, CA, USA, 11–15 November 2019; pp. 1218–1221. [Google Scholar]
- Duszynski, S.; Tenev, V.L.; Becker, M. N-way Diff: Set-based Comparison of Software Variants. In Proceedings of the 2020 Working Conference on Software Visualization (VISSOFT), Adelaide, Australia, 28 September–2 October 2020; pp. 72–83. [Google Scholar]
- Chua, B. Detecting sustainable programming languages through forking on open source projects for survivability. In Proceedings of the 2015 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Gaithersburg, MD, USA, 2–5 November 2015; pp. 120–124. [Google Scholar] [CrossRef]
- De Sanctis, M.; Muccini, H.; Vaidhyanathan, K. Data-driven Adaptation in Microservice-based IoT Architectures. In Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, 16–20 March 2020; pp. 59–62. [Google Scholar]
- Papazoglou, M.P.; Heuvel, W.-J.V.D. Service oriented architectures: Approaches, technologies and research issues. VLDB J. 2007, 16, 389–415. [Google Scholar] [CrossRef] [Green Version]
- Zhao, H.; Chen, X.; Zhang, W.; Liang, P.; Wang, J.; Huang, W. SOA Patterns Selection and Application Based on Software Quality Requirements. In Proceedings of the 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS), Beijing, China, 23–25 November 2018; pp. 361–364. [Google Scholar]
- Rahim, R.; Suhardi; Kurniawan, N.B. Designing statistical metadata service computing system based on service oriented Architecture (SOA). In Proceedings of the 2017 International Conference on Information Technology Systems and Innovation (ICITSI), Bandung, Indonesia, 23–24 October 2017; pp. 120–127. [Google Scholar]
- Pulparambil, S.; Baghdadi, Y. A Comparison Framework for SOA Maturity Models. In Proceedings of the 2015 IEEE International Conference on Smart City/SocialCom/SustainCom (SmartCity), Chengdu, China, 19–21 December 2015; pp. 1102–1107. [Google Scholar]
- Cheng, B.; Zhu, D.; Zhao, S.; Chen, J. Situation-Aware IoT Service Coordination Using the Event-Driven SOA Paradigm. IEEE Trans. Netw. Serv. Manag. 2016, 13, 349–361. [Google Scholar] [CrossRef]
- Galster, M.; Avgeriou, P. Qualitative Analysis of the Impact of SOA Patterns on Quality Attributes. In Proceedings of the 2012 12th International Conference on Quality Software, Xi’an, China, 27–29 August 2012; pp. 167–170. [Google Scholar]
- Pulparambil, S.; Baghdadi, Y. Towards a model for soa adoption based on methodical aspects. In Proceedings of the 2017 International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 18–19 July 2017; pp. 105–110. [Google Scholar]
- Rodríguez, G.; Teyseyre, A.; Soria, Á.; Berdun, L. A visualization tool to detect refactoring opportunities in SOA applications. In Proceedings of the 2017 XLIII Latin American Computer Conference (CLEI), Cordoba, Argentina, 4–8 September 2017; pp. 1–10. [Google Scholar]
- Rida, B.; Ahmed, E. Multiview SOA: Extending SOA using a private cloud computing as SaaS. In Proceedings of the 2015 International Conference on Cloud Technologies and Applications (CloudTech), Marrakech, Morocco, 2–4 June 2015; pp. 1–5. [Google Scholar]
- Zhang, H.; Yang, X. Cloud Computing Architecture Based-On SOA. In Proceedings of the 2012 Fifth International Symposium on Computational Intelligence and Design, Hangzhou, China, 28–29 October 2012; pp. 369–373. [Google Scholar] [CrossRef]
- Omar, W.; Taleb-Bendiab, A. E-health support services based on service-oriented architecture. IT Prof. 2006, 8, 35–41. [Google Scholar] [CrossRef]
- Appandairaj, A.; Murugappan, S. Service Oriented Architecture Design for Web Based Home Banking Systems with Cloud Based Service. Int. J. Emerg. Technol. Adv. Eng. 2013, 3, 138–143. [Google Scholar]
- Khoonsari, P.E.; Moreno, P.; Bergmann, S.; Burman, J.; Capuccini, M.; Carone, M.; Cascante, M.; De Atauri, P.; Foguet, C.; Gonzalez-Beltran, A.N.; et al. Interoperable and scalable data analysis with microservices: Applications in metabolomics. Bioinformatics 2019, 35, 3752–3760. [Google Scholar] [CrossRef] [Green Version]
- Wan, X.; Guan, X.; Wang, T.; Bai, G.; Choi, B.-Y. Application deployment using Microservice and Docker containers: Framework and optimization. J. Netw. Comput. Appl. 2018, 119, 97–109. [Google Scholar] [CrossRef]
- Gan, Y.; Delimitrou, C. The Architectural Implications of Cloud Microservices. IEEE Comput. Arch. Lett. 2018, 17, 155–158. [Google Scholar] [CrossRef]
- Shamim, S.I.; Bhuiyan, F.A.; Rahman, A. XI Commandments of Kubernetes Security: A Systematization of Knowledge Related to Kubernetes Security Practices. In Proceedings of the 2020 IEEE Secure Development (SecDev), Atlanta, GA, USA, 28–30 September 2020; pp. 58–64. [Google Scholar]
- He, Z. Novel Container Cloud Elastic Scaling Strategy based on Kubernetes. In Proceedings of the 2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC), Chongqing, China, 12–14 June 2020; pp. 1400–1404. [Google Scholar]
- Baldominos, A.; Ogul, H.; Colomo-Palacios, R. Infection Diagnosis using Biomedical Signals in Small Data Scenarios. In Proceedings of the 2019 IEEE 32nd International Symposium on Computer-Based Medical Systems (CBMS), Cordoba, Spain, 5–7 June 2019; pp. 38–43. [Google Scholar]
- O’Brien, O.; O’Reilly, R.D. Beats-Per-Minute (BPM): A Microservice-based Platform for the Monitoring of Health Related Data via Activity Trackers. In Proceedings of the 2018 IEEE 20th International Conference on e-Health Networking, Applications and Services (Healthcom), Ostrava, Czech Republic, 17–20 September 2018; pp. 1–7. [Google Scholar]
- Gong, Y.; Gu, F.; Chen, K.; Wang, F. The Architecture of Micro-services and the Separation of Frond-end and Back-end Applied in a Campus Information System. In Proceedings of the 2020 IEEE International Conference on Advances in Electrical Engineering and Computer Applications (AEECA), Dalian, China, 25–27 August 2020; pp. 321–324. [Google Scholar]
- Munonye, K.; Martinek, P. Evaluation of Data Storage Patterns in Microservices Archicture. In Proceedings of the 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE), Budapest, Hungary, 2–4 June 2020; pp. 373–380. [Google Scholar]
- Bao, L.; Wu, C.; Bu, X.; Ren, N.; Shen, M. Performance Modeling and Workflow Scheduling of Microservice-Based Applications in Clouds. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 2114–2129. [Google Scholar] [CrossRef]
- Akbulut, A.; Perros, H.G. Software Versioning with Microservices through the API Gateway Design Pattern. In Proceedings of the 2019 9th International Conference on Advanced Computer Information Technologies (ACIT), Ceske Budejovice, Czech Republic, 5–7 June 2019; pp. 289–292. [Google Scholar]
- Tapia, F.; Ángel Mora, M.; Fuertes, W.; Aules, H.; Flores, E.; Toulkeridis, T. From Monolithic Systems to Microservices: A Comparative Study of Performance. Appl. Sci. 2020, 10, 5797. [Google Scholar] [CrossRef]
- Götz, B.; Schel, D.; Bauer, D.; Henkel, C.; Einberger, P.; Bauernhansl, T. Challenges of Production Microservices. Procedia CIRP 2018, 67, 167–172. [Google Scholar] [CrossRef]
- Rademacher, F.; Sachweh, S.; Zundorf, A. Aspect-Oriented Modeling of Technology Heterogeneity in Microservice Architecture. In Proceedings of the 2019 IEEE International Conference on Software Architecture (ICSA), Hamburg, Germany, 25–29 March 2019; pp. 21–30. [Google Scholar]
- Álvaro, B.; Solé, M.; Huélamo, A.; Solans, D.; Pérez, M.S.; Muntés-Mulero, V. Graph-based root cause analysis for service-oriented and microservice architectures. J. Syst. Softw. 2020, 159, 110432. [Google Scholar] [CrossRef]
- Chen, L. Microservices: Architecting for Continuous Delivery and DevOps. In Proceedings of the 2018 IEEE International Conference on Software Architecture (ICSA), Seattle, WA, USA, 30 April–4 May 2018; pp. 39–397. [Google Scholar]
- Balalaie, A.; Heydarnoori, A.; Jamshidi, P. Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture. IEEE Softw. 2016, 33, 42–52. [Google Scholar] [CrossRef] [Green Version]
- Roca, S.; Sancho, J.; García, J.; Álvaro, A. Microservice chatbot architecture for chronic patient support. J. Biomed. Inform. 2020, 102, 103305. [Google Scholar] [CrossRef]
- Gribaudo, M.; Iacono, M.; Manini, D. Performance Evaluation of Replication Policies in Microservice Based Architectures. Electron. Notes. Comput. Sci. 2018, 337, 45–65. [Google Scholar] [CrossRef]
- Lonetti, F.; Marchetti, E. Chapter Three—Emerging Software Testing Technologies; Memon, C., Ed.; Elsevier: Amsterdam, The Netherlands, 2018; pp. 91–143. [Google Scholar]
- Shoumik, F.S.; Talukder, I.M.M.; Jami, A.I.; Protik, N.W.; Hoque, M. Scalable micro-service based approach to FHIR server with golang and No-SQL. In Proceedings of the 2017 20th International Conference of Computer and Information Technology (ICCIT), Dhaka, Bangladesh, 22–24 December 2017; pp. 1–6. [Google Scholar]
- Khan, R.; Amjad, M. Performance testing (load) of web applications based on test case management. Perspect. Sci. 2016, 8, 355–357. [Google Scholar] [CrossRef] [Green Version]
- Ramakrishnan, R.; Kaur, A. Little’s law based validation framework for load testing. Inf. Softw. Technol. 2019, 108, 88–98. [Google Scholar] [CrossRef]
- Abdullah, M.; Iqbal, W.; Erradi, A. Unsupervised learning approach for web application auto-decomposition into microservices. J. Syst. Softw. 2019, 151, 243–257. [Google Scholar] [CrossRef]
- Kumar, N.M.; Mallick, P.K. The Internet of Things: Insights into the building blocks, component interactions, and architecture layers. Procedia Comput. Sci. 2018, 132, 109–117. [Google Scholar] [CrossRef]
- Alharbi, F.; Atkins, A.; Stanier, C. Cloud Computing Adoption in Healthcare Organisations: A Qualitative Study in Saudi Arabia BT—Transactions on Large-Scale Data- and Knowledge-Centered Systems XXXV; Hameurlain, A., Küng, J., Wagner, R., Sakr, S., Razzak, I., Riyad, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2017; pp. 96–131. [Google Scholar]
- Cortavitarte, J. Engine Health Report. 2021. Available online: https://guide.blazemeter.com/hc/en-us/articles/360000290058-Engine-Health-Report-Engine-Health-Report (accessed on 17 February 2021).
- Khaleq, A.A.; Ra, I. Agnostic Approach for Microservices Autoscaling in Cloud Applications. In Proceedings of the 2019 International Conference on Computational Science and Computational Intelligence (CSCI), Las Vegas, NV, USA, 5–7 December 2019; pp. 1411–1415. [Google Scholar]
- Hassan, S.; Ali, N.; Bahsoon, R. Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity. In Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden, 3–7 April 2017; pp. 1–10. [Google Scholar]
- Kiss, T.; DesLauriers, J.; Gesmier, G.; Terstyanszky, G.; Pierantoni, G.; Abu Oun, O.; Taylor, S.J.; Anagnostou, A.; Kovacs, J. A cloud-agnostic queuing system to support the implementation of deadline-based application execution policies. Futur. Gener. Comput. Syst. 2019, 101, 99–111. [Google Scholar] [CrossRef]
- Enler, E.; Pentek, I.; Adamko, A. Healthcare Framework for Smarter Cities with bio-sensory data. In Proceedings of the 2020 11th IEEE International Conference on Cognitive Infocommunications (CogInfoCom), Mariehamn, Finland, 23–25 September 2020; pp. 337–342. [Google Scholar]
- Xiao, Z.; Wijegunaratne, I.; Qiang, X. Reflections on SOA and Microservices. In Proceedings of the 2016 4th International Conference on Enterprise Systems (ES), Melbourne, Australia, 2–3 November 2016; pp. 60–67. [Google Scholar]
- Sriraman, A.; Wenisch, T.F. μ Suite: A Benchmark Suite for Microservices. In Proceedings of the 2018 IEEE International Symposium on Workload Characterization (IISWC), Raleigh, NC, USA, 30 September–2 October 2018; pp. 1–12. [Google Scholar] [CrossRef]
- Zainol, M.F.; Farook, R.S.M.; Hassan, R.; Halim, A.H.A.; Rejab, M.R.A.; Husin, Z. A New IoT Patient Monitoring System for Hemodialysis Treatment. In Proceedings of the 2019 IEEE Conference on Open Systems (ICOS), Pulau Pinang, Malaysia, 19–21 November 2019; pp. 46–50. [Google Scholar]
- Takeda, Y.; Yokoyama, D.; Nakamichi, N.; Inaba, R.; Watanabe, K.; Yamada, T. Visualization of Remote Touch Panel for Dialysis Patient on Prototype Bed. In Proceedings of the 2020 IEEE 2nd Global Conference on Life Sciences and Technologies (LifeTech), Kyoto, Japan, 10–12 March 2020; pp. 54–58. [Google Scholar]
- Zhong, L.; Mu, L.; Li, J.; Wang, J.; Yin, Z.; Liu, D. Early Prediction of the 2019 Novel Coronavirus Outbreak in the Mainland China Based on Simple Mathematical Model. IEEE Access 2020, 8, 51761–51769. [Google Scholar] [CrossRef]
- Rimsan, M.; Mahmood, A.K.; Umair, M.; Hassan, F. COVID-19: A Novel Framework to Globally Track Coronavirus Infected Patients using Blockchain. In Proceedings of the 2020 International Conference on Computational Intelligence (ICCI), Bandar Seri Iskandar, Malaysia, 8–9 October 2020; pp. 70–74. [Google Scholar]
- Han, R.; Liu, Z.; Chen, C.L.P.; Xu, L.; Peng, G. Mortality prediction for COVID-19 patients via Broad Learning System. In Proceedings of the 2020 7th International Conference on Information, Cybernetics and Computational Social Systems (ICCSS), Guangzhou, China, 13–15 November 2020; pp. 837–842. [Google Scholar]
- Casiraghi, E.; Malchiodi, D.; Trucco, G.; Frasca, M.; Cappelletti, L.; Fontana, T.; Esposito, A.A.; Avola, E.; Jachetti, A.; Reese, J.; et al. Explainable Machine Learning for Early Assessment of COVID-19 Risk Prediction in Emergency Departments. IEEE Access 2020, 8, 196299–196325. [Google Scholar] [CrossRef]
- Ananthi, S.; Bhuvaneswari, V. Prediction of heart and kidney risks in diabetic prone population using fuzzy classification. In Proceedings of the 2017 International Conference on Computer Communication and Informatics (ICCCI), Coimbatore, India, 5–7 January 2017; pp. 1–6. [Google Scholar]
- Patil, S.S.; Malpe, K. Implementation of Diabetic Retinopathy Prediction System using Data Mining. In Proceedings of the 2019 3rd International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 27–29 March 2019; pp. 1206–1210. [Google Scholar]
- Qiao, L.; Zhu, Y.; Zhou, H. Diabetic Retinopathy Detection Using Prognosis of Microaneurysm and Early Diagnosis System for Non-Proliferative Diabetic Retinopathy Based on Deep Learning Algorithms. IEEE Access 2020, 8, 104292–104302. [Google Scholar] [CrossRef]
- Saputra, R.Y.; Nugroho, L.E.; Kusumawardani, S.S. Collecting the Tourism Contextual Information data to support the tourism recommendation system. In Proceedings of the 2019 International Conference on Information and Communications Technology (ICOIACT), Yogyakarta, Indonesia, 24–25 July 2019; pp. 79–84. [Google Scholar]
- Bigheti, J.A.; Fernandes, M.M.; Godoy, E.D.P. Control as a Service: A Microservice Approach to Industry 4.0. In Proceedings of the 2019 II Workshop on Metrology for Industry 4.0 and IoT (MetroInd4.0&IoT), Naples, Italy, 4–6 June 2019; pp. 438–443. [Google Scholar] [CrossRef]
- Prasetyo, Y.A.; Suhardi. Microservice Platform for Smart City: Concepts, Services and Technology. In Proceedings of the 2018 International Conference on Information Technology Systems and Innovation (ICITSI), Bandung, Indonesia, 22–26 October 2018; pp. 358–363. [Google Scholar]
- Mendoza-Pitti, L.; Calderon-Gomez, H.; Vargas-Lombardo, M.; Gomez-Pulido, J.M.; Castillo-Sequera, J.L. Towards a service-oriented architecture for the energy efficiency of buildings: A systematic review. IEEE Access 2021, 9, 1. [Google Scholar] [CrossRef]
Description | Version | ||
---|---|---|---|
Category | Subcategory | Beta | RC |
System architecture | Architecture styles | SOA | SOA-based on Quality Requirements |
SOA patterns | Enterprise Service Bus (ESB) | Service Implementation Patterns | |
Communication protocol | HTTP | HTTP | |
HTTP methods | Disable | GET, POST, PATCH & DELETE | |
Messaging type | Synchronous | Synchronous/Asynchronous | |
Used technologies | Programming language | PHP 5.6 | PHP 7.4 |
Framework | Laravel 5.1 LTS | Laravel 6 LTS | |
Core libraries | acoustep/entrust-gui; zizaco/entrust; Laravel Passport; mockery/mockery; phpunit/phpunit; tinker; composer, and others | Guzzle; fideloper/proxy; kylekatarnls/laravel-carbon-2; zizaco/entrust; Queues; Laravel Sanctum; mockery/mockery; phpunit/phpunit; tinker; composer, Custom libraries, and others | |
UI | Bootstrap 3 | Bootstrap 4 | |
Web server | Apache | Apache as an endpoint and NGINX as a load balancer for the implementation | |
DBMS | MariaDB 10.1 | Postgresql 10 | |
Data access methods | Stored procedures | Stored procedures | |
Object–relational mapping | Eloquent | Eloquent | |
API Scheme | Disable | RESTful (JSON Request/Response HTTP) | |
API Gateway | Disable | Central Entry Point | |
Deployment | Bare Metal | Custom Docker Container | |
OS | Ubuntu 16 LTS | Ubuntu 18 LTS | |
Authentication Scheme | HTTP Basic Authentication | Custom Authentication (OAuth1, OAuth2 or JWT Web Token) | |
Encryption Protocol | OpenSSL (AES-256 and AES-128) | OpenSSL (AES-256 and AES-128) and public/private rsa key pair |
Description | Version | ||
---|---|---|---|
Category | Subcategory | Beta v2 | RC |
System architecture | Architecture styles | MSA | MSA |
MSA patterns | Service instance per-container; Database per service & API Gateway | Service instance per-container; Database per service & API Gateway- | |
Communication protocol | HTTP | HTTP | |
HTTP methods | GET, POST, PATCH & DELETE | GET, POST, PATCH & DELETE | |
Messaging type | Synchronous/Asynchronous | Synchronous/Asynchronous | |
Used technologies | Programming language | PHP 7.2 (µs-A) & Python 3.6 (µs-B~I) | Python 3.7 (µs-A~G) & Python 3.8 (µs-H~I) |
Framework | Laravel 5.4 LTS (µs-A) & Django 2.1 (µs-B~I) | Django 2.2 LTS (µs-A~G) & Flask 1.1 (µs-H~I) | |
Core libraries | PHP/Laravel dependencies (Guzzle;Laravel Sanctum and others), Python/Django dependencies (setuptools;requests;psycopg2;requests_futures;lxml;six;django-cas-server;django-cas-ng;djangorestframework; celery, TensorFlow and others) & Custom libraries | Python/Django~Flask dependencies (setuptools; requests; psycopg2; requests_futures; lxml;six;werkzeug django-cas-server;django-cas-ng; python-cas; djangorestframework; Flask-RESTful; celery, TensorFlow and others) & Custom libraries | |
UI | Bootstrap 3 | Bootstrap 4 | |
Web server | Apache as an endpoint and NGINX as a load balancer for the implementation | Apache as an endpoint and NGINX as a load balancer for the implementation | |
DBMS | MariaDB Galera Cluster (Galera 3), Cassandra & Redis | Postgresql 10, Cassandra & Redis | |
Data access methods | Stored procedures & Column Family | Stored procedures & Column Family | |
Object–relational mapping | Eloquent, QuerySet & Django-Cassandra-Engine | QuerySet, SQLALchemy & CQLAlchemy | |
API Scheme | RESTful (JSON Request/Response HTTP) | RESTful (JSON Request/Response HTTP) | |
API Gateway | Backends for Frontends (2 EndPoints) | Backends for Frontends (3 EndPoints) | |
Deployment | Custom Docker Container | Custom Docker Container | |
OS | Ubuntu 18 LTS | Ubuntu 18 LTS | |
Authentication Scheme | Custom Authentication [OAuth1, OAuth2 or JWT Web Token] & CAS Protocol 3.0 Specification | Custom Authentication [OAuth1, OAuth2 or JWT Web Token] & CAS Protocol 3.0 Specification | |
Encryption Protocol | HTTP Authentication (Tokens and SSL); PBKDF2 with a SHA256 hash; public/private rsa key pair and custom authentication settings | HTTP Authentication (Tokens and SSL); PBKDF2 with a SHA256 hash; public/private rsa key pair and custom authentication settings |
Labels | HTTP Methods | Samples | Avg. Response Time * | Avg. Hits/s | 90% Line * | 95% Line * | 99% Line * | Error Count and Percentage | Avg. LATENCY * | Avg. Bytes (Kbytes/s) | |
---|---|---|---|---|---|---|---|---|---|---|---|
SPIDEP-SOA-K8s-T1 | GET | 25,245 | 395.2 | 21.04 | 607 | 631 | 711 | 0 (0%) | 395.19 | 12.25 | |
POST | 25,237 | 401.26 | 21.03 | 615 | 639 | 719 | 0 (0%) | 401.25 | 4.87 | ||
PATCH | 25,226 | 388.84 | 21.02 | 603 | 627 | 707 | 0 (0%) | 388.83 | 4.87 | ||
DELETE | 25,217 | 390.3 | 21.01 | 603 | 627 | 723 | 0 (0%) | 390.29 | 4.86 | ||
SPIDEP-MSA-K8s-T1 | GET | 27,838 | 344.38 | 23.2 | 543 | 579 | 663 | 0 (0%) | 344.34 | 22.99 | |
POST | 27,830 | 363.9 | 23.21 | 567 | 599 | 691 | 0 (0%) | 363.87 | 9.74 | ||
PATCH | 27,813 | 362.23 | 23.20 | 571 | 603 | 683 | 0 (0%) | 362.19 | 9.98 | ||
DELETE | 27,805 | 358.68 | 23.19 | 563 | 595 | 683 | 0 (0%) | 358.65 | 9.98 | ||
SPIDEP-SOA-K8s-T2 | Intervention Management | GET | 50,511 | 390.89 | 42.09 | 603 | 631 | 715 | 0 (0%) | 390.88 | 16.2 |
PATCH | 50,346 | 387.13 | 41.95 | 599 | 627 | 711 | 0 (0%) | 387.12 | 9.65 | ||
Medical Data Management | POST | 50,487 | 390.39 | 42.01 | 615 | 639 | 719 | 0 (0%) | 396.39 | 9.74 | |
DELETE | 50,947 | 390.12 | 42.45 | 603 | 627 | 695 | 0 (0%) | 390.11 | 9.79 | ||
SPIDEP-MSA-K8s-T2 | Intervention Management | GET | 102,009 | 389.72 | 85.01 | 599 | 639 | 715 | 0 (0%) | 335.65 | 57.68 |
PATCH | 108,978 | 364.84 | 90.82 | 579 | 623 | 699 | 0 (0%) | 364.84 | 36.35 | ||
Medical Data Management | POST | 118,534 | 335.37 | 98.78 | 535 | 571 | 639 | 0 (0%) | 384.02 | 42.51 | |
DELETE | 112,221 | 354.22 | 93.52 | 555 | 595 | 683 | 0 (0%) | 354.21 | 36.63 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Calderón-Gómez, H.; Mendoza-Pittí, L.; Vargas-Lombardo, M.; Gómez-Pulido, J.M.; Rodríguez-Puyol, D.; Sención, G.; Polo-Luque, M.-L. Evaluating Service-Oriented and Microservice Architecture Patterns to Deploy eHealth Applications in Cloud Computing Environment. Appl. Sci. 2021, 11, 4350. https://doi.org/10.3390/app11104350
Calderón-Gómez H, Mendoza-Pittí L, Vargas-Lombardo M, Gómez-Pulido JM, Rodríguez-Puyol D, Sención G, Polo-Luque M-L. Evaluating Service-Oriented and Microservice Architecture Patterns to Deploy eHealth Applications in Cloud Computing Environment. Applied Sciences. 2021; 11(10):4350. https://doi.org/10.3390/app11104350
Chicago/Turabian StyleCalderón-Gómez, Huriviades, Luis Mendoza-Pittí, Miguel Vargas-Lombardo, José Manuel Gómez-Pulido, Diego Rodríguez-Puyol, Gloria Sención, and María-Luz Polo-Luque. 2021. "Evaluating Service-Oriented and Microservice Architecture Patterns to Deploy eHealth Applications in Cloud Computing Environment" Applied Sciences 11, no. 10: 4350. https://doi.org/10.3390/app11104350
APA StyleCalderón-Gómez, H., Mendoza-Pittí, L., Vargas-Lombardo, M., Gómez-Pulido, J. M., Rodríguez-Puyol, D., Sención, G., & Polo-Luque, M. -L. (2021). Evaluating Service-Oriented and Microservice Architecture Patterns to Deploy eHealth Applications in Cloud Computing Environment. Applied Sciences, 11(10), 4350. https://doi.org/10.3390/app11104350