Improving Business Processes Using Blockchain, Microservices, or Cloud Computing : a Goal-Oriented Approach




Journal Title

Journal ISSN

Volume Title



Business processes, which are collections of business activities and interactions by software, hardware, and peopleware to produce services or products for customers, act as the context in which software systems are to function. Software systems are designed and built to support business processes for achieving business goals and alleviating business problems. Blockchain technologies are intended to help enhance the trustworthiness of business processes among independent stakeholders by improving transparency, traceability, and immutability of business logic and information. The adoption of microservices aims to align business processes with software changes in a timely manner by decomposing a monolith into a set of small-sized services that are independently deployable. Using cloud computing is intended to alleviate scalability issues, such as under-provisioning computing resources at peak times or over-provisioning computing resources at non-peak times. However, there is a lack of systematic approaches to adopt blockchain, microservices, and cloud computing. Concerning blockchain, although over 80,000 blockchain projects have launched globally, around 92% of blockchain projects have known as failed. This is because of a lack of understanding and guidance on why and where blockchain is fit for purpose and what kinds of blockchain technologies are appropriate for each organization while carefully examing the side effects of using blockchain. Concerning microservices, a lack of work aligning business processes with microservices can result in a wrong-cut issue, which makes software systems harder to understand and change. In addition, as multiple software teams deliver microservice changes independently that are not collectively assessed, notified, or verified, it is time-consuming to trace problematic changes (e.g., code or infrastructure changes) across the independent teams that cause runtime performance issues. Concerning cloud computing, it is difficult to estimate the future performance and cost of cloud-based systems in a fast, inexpensive, and reliable manner before moving to clouds. Using cloud simulation alone can yield wrong throughput estimates. On the other hand, using cloud benchmarks can be expensive and time-consuming. This dissertation presents Fides, Hermes, Harmonia, and Silverlining to improve business processes by using blockchain, microservices, and cloud computing in a systematic and rational manner. Fides is a goal-oriented framework for exploiting blockchain towards enhancing the trustworthiness for business process reengineering systematically and rationally. Hermes and Harmonia are goal-oriented frameworks utilizing microservices to help align changes in business processes and software systems changes in a timely manner. Silverlining helps estimate the performance and cost of cloud-based system design alternatives in a fast, inexpensive, and reliable manner before making decisions to adopt cloud computing by using cloud benchmarking and cloud simulations in a complementary manner. In order to validate Fides, prototype systems using Ethereum and Hyperldeger Fabric are developed in two consequent senior design project courses. Feedback from domain experts and students showed that the use of Fides leverages the level of confidence in the quality of the reengineered business processes with enhanced trust in utilizing blockchain. The initial applicability of Hermes is described through a simulation that helps explore microservice boundary design options, evaluate the trade-offs among them, and select one. A reference microservice application is used to illustrate how Harmonia captures and correlates changes in deployment time and runtime performance changes. Silverlining simulation results show 90.42% accuracy as it has 9.79% of Mean Absolute Percentage Error (MAPE) compared to benchmarks results collected from Amazon Web Service (AWS) and Google Compute Engine (GCE) by using the Yahoo! Cloud Serving Benchmark (YCSB).



Cloud computing, Non-functional requirements (Systems engineering), Blockchains (Databases), Reengineering (Management)