 
                 
                
                
                
                
                
                
                
                
              
             | 
            
              SHOP
                
              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
              
             |