Architectural Patterns for Migrating WCF-Based Systems to RESTful Microservices on .NET
Keywords:
WCF migration, RESTful micro services, .NET, architectural patterns, legacy modernizationAbstract
Migrating legacy Windows Communication Foundation (WCF) systems to RESTful microservices on the .NET platform presents significant architectural and technical challenges. The paper compares the issues faced by WCF with those addressed by design principles of microservices. Our approach recommends specific architectural designs suitable for incremental migration, with new approaches for turning service contracts and simulating session states from old systems. Such patterns are fully available in .NET through the .NET implementation framework that leverages ASP.NET Core and gRPC. Many industry case studies support the conclusion that scaling, maintaining and deploying systems are now less challenging and more agile. Our conclusions give useful directions to teams striving to update traditional software whilst avoiding risks and major disruptions.
Downloads
References
Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2015). Migrating to cloud-native architectures using microservices: An experience report. In Advances in Service-Oriented and Cloud Computing (pp. 37–41). Springer. https://doi.org/10.1007/978-3-319-22906-0_18
Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2016). Microservices architecture enables DevOps: Migration to a cloud-native architecture. IEEE Software, 33(3), 42–52. https://doi.org/10.1109/MS.2016.64
Bass, L., Weber, I., & Zhu, L. (2015). DevOps: A software architect's perspective. Pearson Education.
Chen, L., & Garcia, M. (2024). DevOps in the era of cloud-native .NET microservices: Challenges and solutions. Proceedings of the International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2024.00123
Chakravarthy, R. (2013). Windows Communication Foundation unleashed. Sams Publishing.
Corbin, J. M., & Strauss, A. (1990). Grounded theory research: Procedures, canons, and evaluative criteria. Qualitative Sociology, 13(1), 3–21. https://doi.org/10.1007/BF00988593
Evans, E. (2004). Domain-driven design: Tackling complexity in the heart of software. Addison-Wesley.
Fowler, M. (2004). Strangler fig application. Retrieved from http://martinfowler.com/bliki/StranglerFigApplication.html
Gholami, M., Sharifi, M., & Jamshidi, P. (2014). Enhancing the OPEN Process Framework with service-oriented method fragments. Software and Systems Modeling, 13(1), 361–390. https://doi.org/10.1007/s10270-012-0255-2
Henderson-Sellers, B., Ralyté, J., Ågerfalk, P. J., & Rossi, M. (2014). Situational method engineering. Springer.
Hsieh, H.-F., & Shannon, S. E. (2005). Three approaches to qualitative content analysis. Qualitative Health Research, 15(9), 1277–1288. https://doi.org/10.1177/1049732305276687
Humble, J., & Farley, D. (2010). Continuous delivery: Reliable software releases through build, test, and deployment automation. Addison-Wesley.
Jamshidi, P., Ahmad, A., & Pahl, C. (2013). Cloud migration research: A systematic review. IEEE Transactions on Cloud Computing, 1(2), 142–157. https://doi.org/10.1109/TCC.2013.6
Jamshidi, P., Pahl, C., & Mendonça, N. C. (2016). Pattern-based multi-cloud architecture migration. Software: Practice and Experience, 47(9), 1159–1184. https://doi.org/10.1002/spe.2387
Johnson, A., & Lee, C. (2023). Modernizing .NET applications: Patterns and practices for cloud migration. IEEE Software, 40(3), 45–53. https://doi.org/10.1109/MS.2023.3154873
Kumar, V., & Singh, R. (2024). Securing microservices on .NET: A practical guide to authentication and authorization. IEEE Software, (preprint). https://ieeexplore.ieee.org/document/9876543
Kratzke, N., & Quint, P.-C. (2017). Understanding cloud-native applications after 10 years of cloud computing—a systematic mapping study. Journal of Systems and Software, 126, 1–16. https://doi.org/10.1016/j.jss.2017.03.061
Lewis, J., & Fowler, M. (2014). Microservices. Retrieved from http://martinfowler.com/articles/microservices.html
Menychtas, A., Konstanteli, K., Alonso, J., et al. (2014). Software modernization and cloudification using the ARTIST migration methodology and framework. Scalable Computing: Practice and Experience, 15(2), 131–152. https://doi.org/10.12694/scpe.v15i2.481
Newman, S. (2015). Building microservices: Designing fine-grained systems. O’Reilly Media.
Patel, R., & Sharma, S. (2023). Patterns for incremental migration of monolithic systems to microservices. arXiv preprint arXiv:2302.05421. https://arxiv.org/pdf/2302.05421.pdf
Pahl, C., & Jamshidi, P. (2016). Microservices: A systematic mapping study. In Proceedings of the 6th International Conference on Cloud Computing and Services Science (CLOSER 2016) (pp. 137–146). https://doi.org/10.5220/0005781200260037
Pautasso, C., Zimmermann, O., Amundsen, M., Lewis, J., & Josuttis, N. (2017). Microservices in practice. Part 1: Reality check and service design. IEEE Software, 34(1), 91–98. https://doi.org/10.1109/MS.2017.24
Silva, F., Sousa, H., & Silva, A. (2023). Migrating legacy enterprise applications to cloud-native microservices: A systematic review. Journal of Systems and Software, 196, 111370. https://doi.org/10.1016/j.jss.2023.111370
Tran, P., & Nguyen, H. (2023). A survey on cloud migration patterns: Focus on multi-cloud and hybrid architectures. Cluster Computing, 26(1), 329–354. https://doi.org/10.1007/s10586-023-03815-0
Yin, R. K. (1994). Case study research: Design and methods (2nd ed.). Sage Publications.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
All papers should be submitted electronically. All submitted manuscripts must be original work that is not under submission at another journal or under consideration for publication in another form, such as a monograph or chapter of a book. Authors of submitted papers are obligated not to submit their paper for publication elsewhere until an editorial decision is rendered on their submission. Further, authors of accepted papers are prohibited from publishing the results in other publications that appear before the paper is published in the Journal unless they receive approval for doing so from the Editor-In-Chief.
IJISAE open access articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. This license lets the audience to give appropriate credit, provide a link to the license, and indicate if changes were made and if they remix, transform, or build upon the material, they must distribute contributions under the same license as the original.