Several organizations need to address the challenge to migrate current traditional monolithic applications in production to microservices, preferably, without having to schedule maintenances to take the application of...
详细信息
Several organizations need to address the challenge to migrate current traditional monolithic applications in production to microservices, preferably, without having to schedule maintenances to take the application offline. This article presents an approach for migrating to microservices with almost zero downtime and minimal changes in the monolithic code. The approach is based on the concepts of aspect-oriented programming (AOP) and reflection to enable to intercept calls inside the monolith and transform them into service requests invoking the newly built microservices using the concept of around advices. The aspects do the "dirty work" of decoupling what will be refactored and which service to call and practically "zero" code changes need to be done in the original monolithic code. This enables one key novel contribution of our migration approach which is the ability to revert code and data changes without having to take the system offline. Two applications are used as proofs of concept to demonstrate that the proposed approach enables to go "forward" or "backward" among different versions of the application with minimal code or data changes. An evaluation performed in the cloud demonstrates that this work does not introduce significant performance or cost overhead when compared to the current state of the art and to the original monolith.
In Grossu et al. (Comput. Phys. Commun. 184 (2013) 1812–1813) we presented Hyper-Fractal Analysis, a visual tool for estimating the fuzzy fractal dimension of images and 4D objects. As Visual Basic 6 could be conside...
详细信息
In Grossu et al. (Comput. Phys. Commun. 184 (2013) 1812–1813) we presented Hyper-Fractal Analysis, a visual tool for estimating the fuzzy fractal dimension of images and 4D objects. As Visual Basic 6 could be considered an outdated language, with limited Object-oriented programming capabilities, migrating the application to C# .Net was treated in high priority. Following the goal of creating a highly reusable fractal analysis library, the code was also refactored to SOLID. Together with various improvements, *** version is also providing new tools for iso-fractal areas identification. The project success was confirmed by a comparative old/new version study. On the other hand, the most relevant functionalities were covered by unit tests.
[Auto Generated] Descriptions for a programming Environment . 1 Extending Object oriented programming in Smalltalk . 7 Representing Design Alternatives . 19 Browsing in a programming Environment . 31 These papers orig...
详细信息
[Auto Generated] Descriptions for a programming Environment . 1 Extending Object oriented programming in Smalltalk . 7 Representing Design Alternatives . 19 Browsing in a programming Environment . 31 These papers originally appeared as: Goldstein, I. P. and Bobrow, D. G., "Descriptions for a programming Environment," Proceedings of the First Annual Conference of the National Association for Artificial Intelligence, Stanford, Ca, August 1980. Goldstein, I. P. and Bobrow, D. G., "Extending Object
Model Driven Architecture (MDA) is a development methodology taking model as center, which is initiated by the Object Manage Group. Based on UML and other standard etc, MDA can create highly abstract model that will b...
详细信息
Model Driven Architecture (MDA) is a development methodology taking model as center, which is initiated by the Object Manage Group. Based on UML and other standard etc, MDA can create highly abstract model that will be understood by computer. These models are independent of concrete platform technology and stored in a standard way. Based on Object-oriented, Aspect-oriented programming (AOP) went further on the principle of Concern Separation. It separates the crosscutting concerns in the independent aspect modular. AOP has now matured to become a complete methodology, hoping to present its benefits in the whole development cycle. Aspect-oriented Modeling in the Framework of MDA needs extend the UML meta-model, establish aspect oriented metamodel and AspectJ meta-model, in order to define aspect Platform-Independent Models (PIM) and Platform-Specific Models (PSM). In this paper, we give a method of aspectoriented modeling, some rules to transform aspect PIM to aspect PSM to support aspect-oriented software development in the framework of MDA.
暂无评论