Handling Communication via APIs for Microservices
Enterprises in their journey to the cloud, want to decompose their monolith applications into microservices to maximize cloud benefits. Current research focuses a lot on how to partition the monolith into smaller clusters that perform well across standard metrics like coupling, cohesion etc. However, there is little research done on taking the partitions, identifying their dependencies between the microservices, exploring ways to further reduce the dependencies, and making appropriate code changes to enable robust communication without modifying the application behaviour.
In this work, we discuss the challenges with the conventional techniques of communication using JSON and propose an alternate way of ID-passing via APIs. We also devise an algorithm to reduce the number of APIs. For this, we construct subgraphs of methods and their associated variables in each class, and relocate them to their more functionally aligned microservices. Our experiments and qualitative study on five public Java applications clearly demonstrate that our refactored microservices using ID approach have decidedly better time and memory complexities than JSON and reduces 40-60% of the manual refactoring efforts.
Wed 17 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Software architectures and designShowcase / Technical Track / SEET - Software Engineering Education and Training / NIER - New Ideas and Emerging Results at Meeting Room 102 Chair(s): Davide Taibi Tampere University | ||
13:45 15mTalk | Robustification of Behavioral Designs against Environmental Deviations Technical Track Changjian Zhang Carnegie Mellon University, Tarang Saluja Swarthmore College, Rômulo Meira-Góes Carnegie Mellon University, Matthew Bolton University of Virginia, David Garlan Carnegie Mellon University, Eunsuk Kang Carnegie Mellon University Pre-print | ||
14:00 15mTalk | A Qualitative Study on the Implementation Design Decisions of Developers Technical Track Jenny T. Liang Carnegie Mellon University, Maryam Arab George Mason University, Minhyuk Ko Virginia Tech, Amy Ko University of Washington, Thomas LaToza George Mason University Pre-print | ||
14:15 15mTalk | Designing for Real People: Teaching Agility through User-Centric Service Design SEET - Software Engineering Education and Training Robert Chatley Imperial College London, Tony Field Imperial College London, Mark Wheelhouse Imperial College London, Carolyn Runcie Royal College of Art, Nick de Leon Royal College of Art, Clive Grinyer Royal College of Art Pre-print | ||
14:30 15mTalk | A Decision Model for Choosing Patterns in Blockchain-Based Applications Showcase Xiwei (Sherry) Xu CSIRO’s Data61, H M N Dilum Bandara Data61, CSIRO, Qinghua Lu CSIRO’s Data61, Ingo Weber TU Munich & Fraunhofer, Munich, Len Bass Carnegie Mellon University, Liming Zhu CSIRO’s Data61 | ||
14:45 15mTalk | Architectural Design Decisions for Machine Learning Deployment Showcase | ||
15:00 7mTalk | Handling Communication via APIs for Microservices NIER - New Ideas and Emerging Results | ||
15:07 7mTalk | Open Design Case Study - A Crowdsourcing Effort to Curate Software Design Case Studies SEET - Software Engineering Education and Training Chun Yong Chong Monash University Malaysia, Eunsuk Kang Carnegie Mellon University, Mary Shaw Carnegie Mellon University Pre-print |