thesis

La transactions avancées dans les architectures logicielles à base de composants

Defense date:

Jan. 1, 2002

Edit

Institution:

Evry-Val d'Essonne

Disciplines:

Directors:

Abstract EN:

The thesis focuses on transaction processing in component-based software architectures, where every conponent is deployed into a container and client requests may be performed in the scope of a container-interposed transaction. Since every client request is interposed by the container’s delegator objects, a delegator object is able to modify the transaction context in which the requested component method will be executed according to the transaction propagation policy specified along with the component business interface. To address issues determined by the character of component-based software architectures, a novel transaction model called Bourgogne Transactions is introduced. Beside the basic significant events (i. E. , begin, commit and abort) Bourgogne Transactions support advanced significant events corresponding to advanced transaction primitives, which allow to establish flow control dependencies among transactions, give permissions from a transaction to another transaction, and delegate components from a transaction to another transaction. Opposed to current component-based software architectures, which specify the transaction propagation policy as late as in the deployment descriptor, we propose to specify the transaction propagation policy as a part of the component interface by means of the NT&CT attribute approach. The transaction behavior of a component is specified for the case where a client transaction is not present in a client request (NT) and for the case where a request is issued in the scope of client transaction (CT). To employ advanced transaction models in the transaction propagation policy specification, the Bourgogne Transaction advanced transaction primitives are applied in delegator objects in order to let container-interposed transactions cooperate in compliance with a desired transaction model. A technique for the transaction propagation and locking is also proposed for generalized component-based software architectures, where a omponent may have multiple provides - and requires- interfaces and may be nested in another component. In Bourgogne Transactions, each component is divided into transactional units, which reflect independent parts of the component persistent state and every component’s provides-interface is associated with a particular transactional unit. The transaction propagation policy is specified on each components’s provides-interface, to declare what transactional behavior the component supports to components that would be tied via the provides-interface and also on each composent’s requires interface, to declare what transactional behavior of components that would be tied via the requires-interface the component requires. Criteria for compatibility of interfaces that would be tied via binding, subsumption or delegation are also defined.

Abstract FR:

Le sujet de la thèse est le traitement de transactions dans les architectures logicielles à base de composants, dans lesquelles chaque composant est déployé dans un conteneur et où les requêtes des clients peuvent être traitées dans le cadre d’une transaction interposée par le conteneur. Puisque pour chaque requête un objet délégataire du conteneur est interposé, un objet délégataire est capable de modifier, selon la politique de propagation de transaction spécifiée avec l’interface métier du composant, le contexte de la transaction dans laquelle la méthode invoquée sur le composant sera exécutée. Un nouveau modèle de transactions, appelé « Transactions Bourgogne » est introduit pour répondre aux questions posées par le caractère spécifique des architectures logicielles à base de composants. En plus des événements significatifs de base (begin, commit et abort), les Transactions Bourgogne supportent des événements significatifs avancés correspondant à des primitives transactionnelles avancées, qui permettent d’établir des dépendances de contrôle de flot entre transactions, de donner des permissions depuis une transaction à une autre et de déléguer des composants d’une transaction à une autre. Par contraste avec les architectures logicielles classiques à base de composants, qui spécifient la politique de propagation des transactions tardivement (via le descripteur de déploiement), nous proposons de spécifier la politique de propagation des transactions en tant que partie de l’interface du composant, au moyen de l’approche « attribut NT&CT ». Le comportement transactionnel d’un composant est spécifié pour les deux cas où aucune transaction n’est présente dans la requête cliente (NT), et où la requête est générée dans le contexte d’une transaction cliente (CT). Pour prendre en compte les modèles de transactions avancées dans la spécification de la politique de propagation, les primitives avancées des Transactions Bourgogne sont appliquées à des objets délégataires afin de permettre aux transactions interposées par le conteneur de coopérer conformément au modèle de transaction désiré. Nous proposons par ailleurs une technique de propagation de transactions et de verrouillage pour des architectures logicielles généralisées à base de composants, dans lesquelles un composant peut avoir plusieurs interfaces de type « fournit » et « requiert » et être inclus dans un autre composant. Dans les Transactions Bourgogne, chaque composant est divisé en unités transactionnelles qui correspondent aux parties indépendantes de l’état persistant du composant et chaque interface « fournit - requiert » des composants est associée à une unité transactionnelle. La politique de propagation des transactions est spécifiée dans chaque interface « fournit » de composant, afin de définir le comportement transactionnel que ce composant assure à d’autres composants liés à lui via l’interface « fournit » et aussi dans chaque interface « requiert » de composant, afin de définir le comportement transactionnel des composants liés à lui via l’interface « requiert ». Des critères de compatibilité d’interfaces associées par liaison, spécialisation ou délégation, sont également définis.