Enterprise Architecture Capability Profile for Software Reuse
Institution:
LyonDisciplines:
Directors:
Abstract EN:
Most of today's software development projects depend on the usage of existing solutions to save time and development cost. To achieve this goal, companies should take advantage of the features provided by services or application programming interfaces exposed by existing solutions. Collecting and qualifying IT components and services helps to reuse them directly or via orchestration. The goal of this work is twofold. First, we target the design of a software capability container that provides a broader view of an organization’s internal and external software. The second objective is to define an exploitation model of the software capability profiles in line with requirements engineering and enterprise architecture, to fill the gap between the goals of the stakeholders and what can be delivered as a practical solution. However, to achieve the above-stated objectives, there are many challenges to manage the complexity of the exploitation of internal or external’s software capability profiles, to select the best candidate components to act as a building blocks in a new system. Among those challenges, one can mention the identification of architectural artifacts for the evaluation and reuse of software components. Adding to this challenge, the alignment of requirements and architectural artifacts in engineering cycle for requirements consolidation and refinement to facilitate the discovery and reuse of existing solutions.For this purpose, we define a Framework offering a qualification process that helps to retrieve and gather initial requirements used to guide the development of existing software and related services. The qualification process is based on a proposed Enterprise Architecture Capability Profile and its associated ontology. This latter is useful to formally specify and encode the produced capability2profile that offers a qualification and covers business, operational and technical aspects for service-oriented software. Furthermore, an exploitation methodology of the designed container is proposed along with the Framework and based on the alignment of requirements engineering process with an architecture development method. These latter evolve together to investigate the highest functional and technical compatibility of the desired functionalities and related constraints, to respond to end-user’s requirements and efficiently reuse the qualified solutions.Our contribution aims to improve the evaluation, discovery, and reuse of existing software and related services. Besides, the originality of this research work consists in upgrading research on services consumption and orchestration to the level of end-users’ requirements, mapped with advanced service assets as an enabler for accelerating business application development. An implementation of the Framework along with an industrial case study are proposed to validate and demonstrate the effectiveness of this approach.
Abstract FR:
La plupart des projets de développement logiciel actuel dépendent de l'utilisation des solutions existantes pour gagner du temps et réduire les coûts de développement. Pour atteindre cet objectif, les entreprises doivent tirer parti des fonctionnalités offertes par les services techniques ou les interfaces de programmation applicatives exposées par les solutions existantes. La collecte et la qualification de ces composants ou services techniques permet de les réutiliser directement ou par orchestration. L'objectif de ce travail est double. Tout d'abord, nous visons la conception d'un conteneur de capacités logicielles qui offre une vision plus large des solutions applicatives internes ou externes d'une organisation. Le deuxième objectif est de définir un modèle d'exploitation de ces profils de capacités logicielles en adéquation avec l'ingénierie des besoins et l'architecture d'entreprise, afin de combler l'écart entre les objectifs des parties prenantes et ce qui peut être fourni comme solution pratique. Cependant, pour atteindre les objectifs susmentionnés, il y a de nombreux défis à relever pour gérer la complexité de l'exploitation des profils de capacités logicielles internes ou externes, afin de sélectionner les meilleurs composants candidats pour servir d'éléments constitutifs dans un nouveau système. Parmi ces défis, on peut citer l'identification des connaissances architecturales pour l'évaluation et la réutilisation des composants techniques, ou l'alignement des besoins et des artefacts d'architecture dans un cycle d'ingénierie pour la consolidation et le raffinement des exigences, afin de faciliter la découverte et la réutilisation des solutions applicatives existantes. A cet effet, nous définissons un Framework offrant un processus de qualification qui permet de recueillir les exigences initiales utilisées pour guider le développement des applications existantes et des services techniques exposés. Le processus de qualification est4basé sur un profil de capacité d'architecture d'entreprise proposé et de son ontologie associée. Cette dernière est utile pour spécifier formellement le profil de capacité produit qui offre une qualification couvrant les aspects organisationnels, opérationnels et techniques des applications orientées services. De plus, une méthodologie d'exploitation du conteneur conçu pour agréger ces profiles est proposée avec le Framework et basée sur l'alignement du processus d'ingénierie des besoins avec une méthode de développement d'architecture. Ces derniers évoluent ensemble pour étudier la plus grande compatibilité fonctionnelle et technique des fonctionnalités souhaitées et des contraintes associées, pour répondre aux besoins des utilisateurs finaux et réutiliser efficacement les solutions qualifiées.Notre contribution vise à améliorer l'évaluation, la découverte et la réutilisation des applications et des services techniques associés. Par ailleurs, l'originalité de ce travail de recherche consiste à mettre à niveau la recherche sur la consommation et l'orchestration des services au niveau des besoins des utilisateurs finaux, afin d'accélérer et de faciliter le développement d'applications métier futures. Une implémentation du Framework ainsi qu'une étude de cas industriels sont proposés pour valider et démontrer l'efficacité de cette approche.