Le besoin de mobilité, que ce soit pour les informations inter-entreprises ou pour les personnes, nécessitent d'embarquer et de débarquer des répertoires et des fichiers aisément. Idéalement, cela s'effectue de façon transpartente.
Certains systèmes d'exploitation ne comportent pas de systèmes de fichiers arborescents. Par exemple Os 400. Sans ce système de fichiers virtuels, Up ! Application System serait indisponible.
Le système de fichiers virtuel d'Up ! System répond à ces besoins et à ceux du futur.
Il existe un service trivial correspondant au système de fichiers réel du système d'exploitation sur lequel fonctionne Up ! Application System. Voici les autres services :
Service | Description |
Up ! Archive | Archivage de répertoires et de fichiers sur un support portable. Le périmètre est généralement Extranet. |
Up ! Content Service Service | Hébergement de de fichiers sur un serveur distant. La norme de communication est Hyper Text Transfer Protocol. Le périmètre est généralement Internet. |
Up ! File Transfer Service | Hébergement de répertoires et de fichiers sur un serveur distant. La norme de communication est File Transfer Protocol. Le périmètre est généralement Internet. |
Up ! Object Request Broker | Hébergement de répertoires et de fichiers sur un serveur distant. La norme de communication est Up ! Object Request Broker. Le périmètre est généralement Intranet. |
Principal
/*******/
Variable
/******/
F : Fichier;
Debut
F=Fichier(/tmp/essai.txt", EcritureTexte);
F.Ecrire(coucou");
F.Fermer();
Fin Principal
Principal
/*******/
Variable
/******/
F : Fichier;
Debut
F=Fichier(ftp://www.up-comp.com/pub/essai.txt", EcritureTexte);
F.Ecrire(coucou");
F.Fermer();
Fin Principal
Voici la valeur des schémas :
Standard | Nom du module | Valeur du schéma |
Archive | Up ! Archive | UpsArc |
HyperText Transfer Protocol | Up ! Content Service | http https UpsCns |
File Transfer Protocol | Up ! File Transfer Service | ftp ftps UpsFts |
Objets et appels distribués. | Up ! Object Request Broker | UpsOrb |
Système d'exploitation de la plate-forme. | Up ! System | file UpsSys |
Le principe d'usage est le suivant :
Voici les Application Program Interfaces (API) d'Up ! System pour le système de fichier virtuel :
Application Program Interfaces | Sémantique |
BornerRepertoire | Borne d'un chemin d'accès par le séparateur de répertoires. |
ChangerDroitsDAcces | Changement des droits d'accès d'un de répertoire ou d'un fichier. |
ChangerRepertoireCourant | Changement de répertoire courant. |
CopierFichier | Copie d'un fichier. |
CopierRepertoire | Copie d'un répertoire. |
CreerFichier | Création d'un fichier vide. |
CreerRepertoire | Création d'un répertoire vide. |
ExtraireNomFichier | Extraction du nom de fichier d'un chemin complet. |
ExtraireNomRepertoire | Extraction du nom de répertoire d'un chemin complet. |
IlExisteFichier | Test de l'existence d'un fichier. |
IlExisteRepertoire | Test de l'existence d'un répertoire. |
LireCaracteristiquesFichier | Lecture des caractéristiques d'un répertoire ou d'un fichier. |
LireDroitsDAcces | Lecture des droits d'accès d'un répertoire ou d'un fichier. |
LireRepertoireCourant | Lecture du répertoire courant. |
ListerFichiers | Listage des répertoires ou des fichiers. |
ListerUnites | Listage des unités de stockage des points de montage. |
SupprimerFichier | Suppression d'un fichier. |
RechercherFichierDansChemin | Recherche un fichier dans un chemin. |
RenommerFichier | Renommage d'un fichier. |
RenommerRepertoire | Renommage d'un réperoire. |
SupprimerRepertoire | Suppression d'un répertoire vide. |
Nota bene :
La norme HyperText Transport Protocol n'étant pas prévue pour être utilisée en système de fichiers, les Application Program Interface (API) suivantes sont inopérantes :
Pour CopierFichier, CopierRepertoire, RenommerFichier et RenommerRepertoire, les fichiers de départ et d'arrivée ne font pas forcément partie du même système de fichiers.
En particulier, CopierFichier, CopierRepertoire sont utilisées pour faire des transferts de fichiers depuis ou vers un serveur de fichiers ou des archives.
Voici les Application Program Interfaces (API) d'Up ! System pour un fichier :
Application Program Interfaces | Sémantique |
Fichier | Ouverture d'un fichier. |
Fichier.Ecrire | Ecriture dans un fichier. |
Fichier.Fermer | Fermeture d'un fichier. |
Fichier.ChangerPageDeCode | Changement de la page de code du fichier. |
Fichier.DeposerSurDisque | Dépôt des tampons du système d'exploiration sur disque. |
Fichier.FixerPosition | Fixation de la position dans le fichier. |
Fichier.Lire | Lecture dans un fichier. |
Fichier.LirePageDeCode | Lecture de la page de code du fichier. |
Fichier.LirePosition | Lecture de la position dans le fichier. |
Fichier.LireUneLigne | Lecture d'une ligne dans un fichier. |
Fichier.LireUnMot | Lecture d'un mot dans un fichier. |
Fichier.Vider | Vidage du contenu des tampons applicatifs. |
Un accès distant référencie un serveur de type Serveur introduit par l'opérateur @. En ce cas, la commande est déportée sur le serveur désigné via Up ! Object Request Broker.
Cela est similaire à l'usage de l'opérateur accès distant utilisé pour référencer une variable, un appel ou un objet sémantique hébergé sur un serveur.
Voici un exemple :
Principal
/*******/
Variable
/******/
F : Fichier;
Debut
F=Fichier("/tmp/essai.txt@MonServeur", EcritureTexte);
F.Ecrire("coucou");
F.Fermer();
Fin Principal
Utiliser l'accès distant pour les fichiers et les répertoires est équivalent à utiliser une Uniform Resource Identifier (URI) avec le schéma UpsOrb. Voici l'équivalent de l'exemple précédent :
Principal
/*******/
Variable
/******/
F : Fichier;
Debut
F=Fichier("UpsOrb://MonSeveur/tmp/essai.txt", EcritureTexte);
F.Ecrire("coucou");
F.Fermer();
Fin Principal
Toutes les Application Program Interface (API) précédentes utilisent la table des partitions pour localiser les fichiers, les répertoires ou les exécutables et pour vérifier l'accès demandé.
Les partitions sont définies à partir des entrées suivantes :
Entrée | Sémantique |
DroitsDAcces | Droits d'accès aux fichiers, aux répertoire et aux exécutables. Pour plus de précisions, merci de se référer à DroitsDAcces. |
MotDePasse | Mot de passe de connexion au serveur. |
PointMontage | Point de montage i.e. répertoire virtuel. |
URIServeur | URI du serveur. |
Utilisateur | Utilisateur de connexion au serveur. |
; -------------------------------------------------------------------
; Fichier : upssys.ini
; Objet : Initialisation d'Up ! System.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------
[UpsSys]
; /
;--
URIServeur1=UpsSys://local
PointDeMontage1=/
DroitsDAcces1=DroitLectureEcritureExecution
; /users1
;--------
URIServeur2=UpsArc://${UPS_HOME}/demo/tmp/${UPS_USER}/monarchive.uar
PointDeMontage2=/users1
DroitsDAcces2=DroitLectureEcriture
; /users2
;--------
URIServeur3=UpsCns://127.0.0.1/tmp
PointDeMontage3=/users3
Utilisateur3=king
MotDePasse3=elephant
DroitsDAcces3=DroitLectureEcriture
; /users3
;--------
URIServeur4=UpsFtp://tmp
PointDeMontage4=/users2
Utilisateur4=scott
MotDePasse4=tiger
DroitsDAcces4=DroitLectureEcriture
; /users4
;--------
URIServeur5=UpsOrb://Soleil/tmp
PointDeMontage5=/users3
Utilisateur5=king
MotDePasse5=elephant
DroitsDAcces5=DroitLectureEcriture
; /users5
;--------
URIServeur6=UpsSys://${UPS_HOME}/demo/tmp/
PointDeMontage6=/users4
DroitsDAcces6=DroitLectureEcriture
L'intérêt d'utiliser les partitions montées automatiquement et de pouvoir changer la configuration de déploiement des applications sans paramétrage spécifique et sans modifier les sources des programmes.
Dans l'exemple précédent, la première entrée correspond à la déclaration du système de fichiers du système d'exploitation monté sur /. Il aurait été possible de limiter la vue des programmes en technologie Up ! Virtual Technical Machine à une partie du système de fichier et de restreindre les droits d'accès.