The research aims to explore the transition from monolithic Digital Experience Platforms (DXPs) to Microservices-based DXPs, addressing scalability challenges. The study systematically decomposes monolithic structures...The research aims to explore the transition from monolithic Digital Experience Platforms (DXPs) to Microservices-based DXPs, addressing scalability challenges. The study systematically decomposes monolithic structures into Microservices, emphasizing business capability and subdomain decomposition. Concrete insights, challenges, and solutions encountered during this transformation process are presented. The research contributes valuable insights into the challenges and benefits of adopting Microservices in DXPs. Results highlight the importance of architectural patterns and strategic scaling dimensions for improved performance and scalability. The case study on Backbase’s Engagement Banking Platform showcases successful implementation, providing flexibility, integration, and efficient development in the evolving DXP landscape.展开更多
Software systems are a typical kind of man-made complex systems. Understanding their evolutions can lead to better software engineering practices. In this paper, the authors use complex network theory as a tool to ana...Software systems are a typical kind of man-made complex systems. Understanding their evolutions can lead to better software engineering practices. In this paper, the authors use complex network theory as a tool to analyze the evolution of object-oriented (OO) software from a multi-granularity perspective. First, a multi-granularity software networks model is proposed to represent the topological structures of a multi-version software system from three levels of granularity. Then, some parameters widely used in complex network theory are applied to characterize the software networks. By tracing the parameters' values in consecutive software systems, we have a better understanding about software evolution. A case study is conducted on an open source OO project, Azureus, as an example to illustrate our approach, and some underlying evolution characteristics are uncovered. These results provide a different dimension to our understanding of software evolutions and also are very useful for the design and development of OO software systems.展开更多
There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to r...There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.展开更多
Mobile computing has fast emerged as a pervasive technology to replace the old computing paradigms with portable computation and context-aware communication.Existing software systems can be migrated(while preserving t...Mobile computing has fast emerged as a pervasive technology to replace the old computing paradigms with portable computation and context-aware communication.Existing software systems can be migrated(while preserving their data and logic)to mobile computing platforms that support portability,context-sensitivity,and enhanced usability.In recent years,some research and development efforts have focused on a systematic migration of existing software systems to mobile computing platforms.To investigate the research state-of-the-art on the migration of existing software systems to mobile computing platforms.We aim to analyze the progression and impacts of existing research,highlight challenges and solutions that reflect dimensions of emerging and futuristic research.We followed evidence-based software engineering(EBSE)method to conduct a systematic mapping study(SMS)of the existing research that has progressed over more than a decade(25 studies published from 1996–2017).We have derived a taxonomical classification and a holistic mapping of the existing research to investigate its progress,impacts,and potential areas of futuristic research and development.The SMS has identified three types of migration namely Static,Dynamic,and State-based Migration of existing software systems to mobile computing platforms.Migration to mobile computing platforms enables existing software systems to achieve portability,context-sensitivity,and high connectivity.However,mobile systems may face some challenges such as resource poverty,data security,and privacy.The emerging and futuristic research aims to support patterns and tool support to automate the migration process.The results of this SMS can benefit researchers and practitioners-by highlighting challenges,solutions,and tools,etc.,-to conceptualize the state-of-the-art and futuristic trends that support migration of existing software to mobile computing.展开更多
It is difficult to keep software architecture up to date with code changes during software evolution.Inconsistency is caused by the limitations of standard development specifications and human power resources,which ma...It is difficult to keep software architecture up to date with code changes during software evolution.Inconsistency is caused by the limitations of standard development specifications and human power resources,which may impact software maintenance.To solve this problem,we propose an incremental software architecture recovery(ISAR)technique.Our technique obtains dependency information from changed code blocks and identifies different strength-level dependencies.Then,we use double classifiers to recover the architecture based on the method of mapping code-level changes to architecture-level updates.ISAR is evaluated on 10 open-source projects,and the results show that it performs more effectively and efficiently than the compared techniques.We also find that the impact of low-quality architectural documentation on effectiveness remains stable during software evolution.展开更多
文摘The research aims to explore the transition from monolithic Digital Experience Platforms (DXPs) to Microservices-based DXPs, addressing scalability challenges. The study systematically decomposes monolithic structures into Microservices, emphasizing business capability and subdomain decomposition. Concrete insights, challenges, and solutions encountered during this transformation process are presented. The research contributes valuable insights into the challenges and benefits of adopting Microservices in DXPs. Results highlight the importance of architectural patterns and strategic scaling dimensions for improved performance and scalability. The case study on Backbase’s Engagement Banking Platform showcases successful implementation, providing flexibility, integration, and efficient development in the evolving DXP landscape.
基金This research is supported by the National Basic Research 973 Program of China under Grant No 2007CB310801, the National Natural Science Foundation of China under Grant Nos. 60873083 and 61003073 the Research Fund for the Doctoral Program of Higher Education of China under Grant No. 20090141120022 the Fundamental Research Funds for the Central Universities of China under Grant Nos. 114013 and 6082005 and the Scientific Research Fund of Zhejiang Provincial Education Department under Grant No. Y201018008.
文摘Software systems are a typical kind of man-made complex systems. Understanding their evolutions can lead to better software engineering practices. In this paper, the authors use complex network theory as a tool to analyze the evolution of object-oriented (OO) software from a multi-granularity perspective. First, a multi-granularity software networks model is proposed to represent the topological structures of a multi-version software system from three levels of granularity. Then, some parameters widely used in complex network theory are applied to characterize the software networks. By tracing the parameters' values in consecutive software systems, we have a better understanding about software evolution. A case study is conducted on an open source OO project, Azureus, as an example to illustrate our approach, and some underlying evolution characteristics are uncovered. These results provide a different dimension to our understanding of software evolutions and also are very useful for the design and development of OO software systems.
文摘There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.
基金This research has been funded by Research Deanship in University of Ha’il Saudi Arabia through project number RG-20155.
文摘Mobile computing has fast emerged as a pervasive technology to replace the old computing paradigms with portable computation and context-aware communication.Existing software systems can be migrated(while preserving their data and logic)to mobile computing platforms that support portability,context-sensitivity,and enhanced usability.In recent years,some research and development efforts have focused on a systematic migration of existing software systems to mobile computing platforms.To investigate the research state-of-the-art on the migration of existing software systems to mobile computing platforms.We aim to analyze the progression and impacts of existing research,highlight challenges and solutions that reflect dimensions of emerging and futuristic research.We followed evidence-based software engineering(EBSE)method to conduct a systematic mapping study(SMS)of the existing research that has progressed over more than a decade(25 studies published from 1996–2017).We have derived a taxonomical classification and a holistic mapping of the existing research to investigate its progress,impacts,and potential areas of futuristic research and development.The SMS has identified three types of migration namely Static,Dynamic,and State-based Migration of existing software systems to mobile computing platforms.Migration to mobile computing platforms enables existing software systems to achieve portability,context-sensitivity,and high connectivity.However,mobile systems may face some challenges such as resource poverty,data security,and privacy.The emerging and futuristic research aims to support patterns and tool support to automate the migration process.The results of this SMS can benefit researchers and practitioners-by highlighting challenges,solutions,and tools,etc.,-to conceptualize the state-of-the-art and futuristic trends that support migration of existing software to mobile computing.
基金Project supported by the National Natural Science Foundation of China(No.61872078)。
文摘It is difficult to keep software architecture up to date with code changes during software evolution.Inconsistency is caused by the limitations of standard development specifications and human power resources,which may impact software maintenance.To solve this problem,we propose an incremental software architecture recovery(ISAR)technique.Our technique obtains dependency information from changed code blocks and identifies different strength-level dependencies.Then,we use double classifiers to recover the architecture based on the method of mapping code-level changes to architecture-level updates.ISAR is evaluated on 10 open-source projects,and the results show that it performs more effectively and efficiently than the compared techniques.We also find that the impact of low-quality architectural documentation on effectiveness remains stable during software evolution.