Quotas sur les appels et les entrepôts

Up ! 5GL permet de créer des applications utilisées en multi-utilisateurs. Sans contrôle particulier, chaque utilisateur, i.e chaque programme se connectant à un programme serveur, est en mesure de déclencher n'importe quel traitement et de créer autant d'objets qu'il le désire.

Ce principe libéral, convenant parfaitement à des applications légères, pose les problèmes suivants : Up ! 5GL et Up ! Security Manager possèdent des fonctions permettant de gérer aisément ces situations, afin de contingenter l'usage des ressources. Ces fonctions sont débrayables de la sorte à ne pas pénaliser les applications légères. En effet, ces fonctions sont utiles lorsque l'application comporte des serveurs persistants.

Quotas sur les ressources

Un quota limite sur la consommation d'une ressource particulière portant sur un module, un type, sur un objet, sur un appel de procédure ou de fonction d'un module, sur un appel de méthode d'un type. Les appels d'un module ou les méthodes d'un type supportent les quotas s'ils possèdent l'attribut Quota. Les quotas sont définis au niveau des rôles.

Les quotas sont modélisés par les types Quotas et QuotaUnitaire de Up ! Security Manager selon la hiérarchie suivante :

Des méthodes du type Role de Up ! Security Manager permettent respectivement de :

Quotas de temps d'exécution

Un quota sur le temps d'exécution est limite sur la consommation de Cpu est de deux ordres :

Quotas sur les entrepôts

Un quota sur un entrepôt limite l'occupation en volume de l'entrepôt. Il n'est pas possible de créer plus d'objets que le quota l'autorise. Ce quota s'exprime en octets.

Vérification des quotas

Dès lors que les quotas sont déclarés, Up ! Security Manager les vérifie. Si une vérification échoue alors : Pour le quota proportionnel de temps d'exécution, dès que la proportion est atteinte, Up ! System commute automatiquement de tâches pour rendre le Cpu à une autre tâche de l'application en technologie Up ! Virtual Technical Machine ou d'une autre application.