logo ABC_logo SHOP_logo

Français

English

Identité

Produits

Librairies

Formations

Downloads

Contact

Partenaires

Demo ABC

SHOP

I

Shared Object Persistent SHOP, est une bibliothèque Eiffel pour les amateurs d'Eiffel qui désirent créer des applications distribuables dont les différents processus partagent un système de données permanentes. Contrairement aux autres systèmes de base de données qualifiées orientées objets, SHOP est transparent pour le programmeur qui utilise les instances d'objets persistants.

De très nombreuses applications, notamment dans le domaine de la gestion doivent travailler en multi-postes. Actuellement, les postes sont connectés entre eux par un réseau local. Dans tous les cas, on dispose du protocole de transport TCP. SHOP s'appuie sur les soquets de communication TCP.

L'application réalisée avec le support de SHOP place la racine des ses données dans un magasin (warehouse) . Si l'application tourne en mode solitaire, celle-ci se comporte comme n'importe quelle application Eiffel. Notamment, elle parcoure les structures de données comme elle le fait usuellement avec des structures classiques d'EiffelBase, ou de Gobo. Une légère différence apparaît lorsqu'il s'agit de modifier un élément dans une structure, voir la structure elle même. Pour modifier un élément stocké dans le magasin, il faut obtenir une réservation. Ceci est un élément du contrat. Ainsi par exemple, une table partagée n'est pas extensible sauf si elle est réservée. En mode solitaire, cette réservation est relativement formelle, car elle ne risque pas d'échouer. Par contre, dès qu'une instance de l'application tourne en mode serveur et d'autres tournent en mode client, il se peut que certaines réservations soient refusées car l'objet souhaité est déjà réservé. Nous nous retrouvons confronté aux questions traditionnelles de la programmation en contexte de concurrence. Sauf qu'ici on ne doit pas faire attention à des sémaphores, à des questions de  mémoire ou à des « threads ». Il faut seulement avoir une politique de réservation de telle sorte à minimiser les risques d'échecs et d'inter-blocage. Ces questions sont évidemment les vrais questions de toute application concurrente.

Certes, SHOP est très loin du niveau conceptuel de SCOOP mais il est immédiatement disponible. De plus il est en exploitation réelle depuis quelque temps et sa fiabilité est assez bonne pour des performances que les bases de données traditionnelles (relationnelles) pourraient bien envier.

Pour en savoir plus, consultez le manuel d'utilisation ici

Abstraction.ch all rights reserved