CONTENU ------- Cette distribution contient l'ensemble des executables, librairies et includes necessaires a l'utilisation de VROOM. Est fourni l'ensemble des outils permettant de gerer des bases, installer le serveur Vroom et creer des clients. Vous trouverez egalement le manuel utilisateur et le document d'interface de Vroom. Voici le detail de la distribution : lisezmoi a lire avant toute utilisation licence document de licence LIB contient la librairie Vroom client : libvroom.a INCLUDE contient les includes necessaires au client TEMPLATE contient des patrons pour les collections BIN contient vr_init, vr_server, vr_admin et vr_shell TEST racine des exemples TEST/VROOM repertoire de generation de vr_admin TEST/SCHEMA contient les schemas des exemples TEST/LIB contient les librairies des exemples MAKE_INC contient l'ensemble des Makefile SWAP zone de swap du client Vroom BASE racine de la base geree par le serveur Vroom BASE/VOLUME contient les volumes composant la base BASE/SYSTEM contient des fichiers systems DOC contient le manuel utilisateur de Vroom (PostScript) RSC racine de Sns RSC/bin contient sns_server et sns_check RSC/doc contient le manuel utilisateur de RSC (PostScript) RSC/log contient le fichier de configuration de Sns bug.report un cadre de rapport de bug. FAITES UN TEST ------ -- ---- Le fichier un_test est un script permettant de tester la persistance sur un petit essai. D'autres exemples sont proposes dans le repertoire TEST. IMPORTANT --------- Il est fort conseille de lire les paragraphes suivants. Ils contiennent les erratas de la documentation, une liste des restrictions d'utilisation liee a la version 1.2 de Vroom et une liste des bugs connus. DIFFERENCE v1.2 - v1.1 ----------------------- La version 1.2 contient un mecanisme minimal de detection de probleme lors du commit. Dans cette version, en cas de panne d'un client ou d'un serveur durant un commit, la base est declaree "potentiellement degradee". Le message : WARNING ! BASE MAY BE DAMAGED apparait alors a chaque demarrage du serveur sur cette base et a chaque commit d'un client. L'utilisation de la base reste possible, mais aucune garantie n'est apportee sur sa coherence. Il est donc preferable de retablir, a partir d'une archive, une version anterieure de la base. Cette operation supprime evidemment le message precedent. SOFTWARE-BUS --> RSC -------------------- L'outil de communication entre clients et serveur a ete remplace, dans cette distribution, par un outil equivalent : RSC. Tout ce qui concerne le Software bus dans la documentation est sans interet. Pour de plus amples renseignements sur RSC, un manuel utilisateur est fourni dans la distribution. La version de RSC fournie est, tout comme le package de Vroom, dans sa phase de beta-test. L'equivalent du process "locator" du Software bus est sns_server. L'equivalent du process "swbs" du Software bus est sns_check. ERRATA ------ Quelques coquilles se sont glissees dans la documentation. Page 6. 2. Classes move class in cluster Page 6. 7. La commande quit de vr_shell ne fonctionne pas. Il faut utiliser utiliser ^C. La commande commit permet de valider les modifications de la base. RESTRICTIONS D'UTILISATION ------------ - ----------- Le mode de verrouillage 1andN n'est pas utilisable dans cette version de Vroom. Les modes 1orN (mode par defaut) et NandN fonctionnent. La modification du mode de verrouillage d'un objet n'est prise en compte qu'apres le commit. L'attente d'un verrou est parametree par la variable d'environnement : VROOM_TIMEOUT qui indique le temps maximum (en secondes) ou l'on peut attendre un verrou. Lorsque ce delai est depasse, l'exception : VR_kERR_DEADLOCK est levee. Elle remplace l'exception VR_kERR_VIOL_LOCK. Si cette exception n'est pas capturee, elle provoque une sortie du client par 'exit()'. Dans le cas contraire, il est recommande d'appeler un 'vr_abort()' dans la gestion d'exception. Le client peut alors continuer de s'executer. Les deux solutions permettent de preserver la coherence de la base. Dans la version actuelle, le commit n'est pas fiabilise. Il ne faut pas arreter le client ou le serveur pendant le commit, sinon la coherence de la base risque de ne pas etre assuree. L'achevement du commit est signale : * sur le client, par la poursuite du programme * sur le serveur, par le message : Fin commit En cas de panne du client ou du serveur pendant le commit, la coherence des donnees n'est pas assuree, dans ce cas il est recommande de repartir d'une version anterieure. L'utilitaire vr_shell permet de gerer l'organisation de la base. Son utilisation doit etre restreinte aux clusters, classes et names (cf page. 6, 7). Les manipulations sur les volumes ne doivent pas etre utilisees. Toute modification de l'organisation de la base doit etre commise (commande commit) pour etre valide. VROOM version 1.2 ne possede pas de ramasse-miettes au niveau des objets. Pour etre sur qu'un objet ne devienne pas inaccessible et occupe inutilement de la place, il peut etre utile de definir une collection (SeqX ou ListX) de tous les objets de chaque classe, mise a jour dans le constructeur et le destructeur de la classe. BUGS CONNUS ---- ------ Les commentaires /* ... */ autour des classes dans les schemas (.sch) ne sont pris en compte que partiellement. Cela peut provoquer une erreur a la compilation. Il est preferable d'utiliser les commentaires '//'. Le nom de la base (par exemple 'test' dans l'essai) ne doit pas etre prefixe par 'oz_' ou 'g_'. Cela provoque un conflit de nom dans les fichiers generes par vr_admin. CONSEILS -------- Il y a un etroit lien entre le schema de la base, la metabase et les fichiers generes par vr_admin. De facon a preserver la coherence de ces trois elements, il est preferable de suivre les regles suivantes : - conserver dans les makefile la liste de dependance : schema ---------> .cc ------> librairie vr_admin CC+ar - ne pas hesiter a reinitialiser le systeme : vr_init -b rm VROOM/* lors de modifications du schema. C'est necessaire en particulier en cas de suppression d'une classe dans un schema. Le fait que VROOM offre un systeme de base de donnees ne dispense pas de sauvegarder regulierement les fichiers qui contiennent le schema et la base. Les repertoires correspondant sont indiques dans le fichier repert.sys (ex: test.system, test.volume et test.schema). BETA-TESTS ----- ----- Cette version 1.2 de Vroom est dans sa version beta-test. Tout probleme ou bug rencontre peuvent etre transmis a : homond@masi.ibp.fr Les utilitaires vr_init, vr_server, vr_admin, ... sont tres verbeux de facon a pouvoir s'assurer de leur bon fonctionnement. Un defilement continu est le signe d'une bonne marche ... _______________________ FIN _______________________________________