Document 7648260

Download Report

Transcript Document 7648260

Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI
– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, V3, RMON)
• Comparaison des approches
L’encapsulation
I
N
T
E
R
F
A
C
E
METHODES
CHAMPS
Les classes
• Deux composantes :
• composante statique : les données, composées de champs.
Ils caractérisent l'état des objets pendant l'exécution du
programme.
• composante dynamique : les procédures appelées
méthodes, qui représentent le comportement commun des
objets appartenant à la classe. Les méthodes manipulent les
champs des objets et caractérisent les actions pouvant être
effectuées par les objets.
Exemple de classe
• Classe
• Champs
• Méthodes
Article
référence
désignation
prixHT
quantité
Prix TTC (): retourner (1.186 * prixHT)
prixtransport (): retourner (0.05 * prixHT)
retirer (q)
quantité <---- quantité - q
ajouter (q)
quantité <---- quantité + q
L’instanciation
•
•
•
•
•
•
La classe décrit l'objet
Elle sert de modèle pour construire les instances
Les instances sont reproduites par moulage
La liste des champs est détenue par la classe
Les instances possèdent les valeurs
Les méthodes ne sont pas dupliquées
Exemple d'instanciation
30341
kimono
495.00
1000
Article
référence
désignation
prixHT
60021
TV portable
2480.00
100
quantité
Instance de
prixTTC
prix transport
retirer
ajouter
Instance de
L' héritage
• Mise en commun des caractéristiques communes à
plusieurs classes
• Les classes sont spécialisées par définition de sous-classes
• Une sous-classe partage les variables et les méthodes de sa
super-classe
• On dit qu'elle hérite des propriétés de sa super-classe
• Deux techniques permettent de spécialiser une classe :
– l'enrichissement : de nouvelles variables et/ou de nouvelles
méthodes sont définies
– la substitution : une nouvelle définition est donnée à une méthode.
Définition des classes
par héritage
• Classe
vêtement
• Superclasse
Article
• Variables d'instance
taille
coloris
• Méthodes
• Classe
ArticleDeLuxe
• Superclasse
Article
• Variable d'instance
• Méthodes
prixTTC () :
retourner (1.25*prixHT)
Le graphe d' héritage
• La relation d'héritage lie une classe à sa super-classe
• La représentation graphique de la relation forme le graphe
d'héritage
• La relation d'héritage est transitive
• Le terme superclasse désigne toute classe dont hérite une
classe donnée
• La structuration en classe apporte une modularité
importante
• La plupart des langages possèdent des bibliothèques de
classes prédéfinies
• Par exemple en Smalltalk-80 : LinkedList, Form (objets
graphiques), Process, Sémaphore, ...
Graphe d’héritage
OBJET
Article
référence
désignation
prixHT
quantité
prixTTC
prixtransport
retirer
ajouter
ElectroMénager
duréegarantie
poids
validergarantie
Aspirateur
niveausonore
rayonaction
débit
dépression
ArticleDeLuxe
prixTTC
Téléviseur
typetube
largeurécran
télécommande
CaviarFrais
provenance
poids
Vêtement
coloris
taille
Chemise
typecol
typemanches
nbpoches
Le graphe d' héritage
• Graphe d'héritage simple
– Le graphe d'héritage est un arbre
– la fermeture transitive de la relation d'héritage est un ordre total
• L'héritage multiple
– Une classe peut posséder plusieurs superclasses directes
– Pas d'arborescence, mais un graphe orienté sans circuit
– Certaines classes sont crées pour former des "réservoirs
d'héritages". Elles ne seront pas instanciées. Dans certains
langages, elles sont dites abstraites.
– Avantages : augmenter la modularité et éviter des duplications
Héritage multiple
OBJET
Article
Alimélectrique
référence
désignation
prixHT
quantité
retirer
ajouter
voltage
impédence
puissance
consommation
Transport
typeemballage
datelivraison
prixtransport
Périssable
Fragile
température
prixtransport
Electroménager
duréegarantie
poids
validitégarantie
Aspirateur
niveausonore
rayonaction
débit
dépression
Articledeluxe
prixTTC
Téléviseur
typetube
largeurécran
télécommande
Caviarfrais
provenance
poids
prixtransport
Crèmerie
datelimite
Œufs
provenance
Vêtement
coloris
taille
Chemise
typecol
typemanches
nbpoches
Relation «est un»
OBJET
Article
référence
désignation
prixHT
quantité
prixTTC
retirer
ajouter
Transport
typeemballage
datelivraison
prixtransport
Fragile
prixtransport
Périssable
température
prixtransport
Electroménager
duréegarantie
poids
validitégarantie
Articledeluxe
Aspirateur
niveausonore
rayonaction
débit
dépression
Téléviseur
typetube
largeurécran
télécommande
prixTTC
Chemise
typecol
typemanches
nbpoches
Vêtement
coloris
taille
Caviarfrais
provenance
poids
Crèmerie
datelimite
Œufs
provenance
Recherche de la méthode à appliquer
• Cas de l'héritage simple
– Le graphe d'héritage d'une classe est une liste ordonnée de classes.
– La méthode sera recherchée par un parcours de bas en haut de cette
liste.
•
•
•
•
•
Exemple :
Méthode prixTTC de la classe Téléviseur :
Arbre d'héritage de la classe Téléviseur :
Téléviseur, Article DeLuxe, Article, Objet
La méthode sélectionnée sera celle de la classe
ArticleDeLuxe
Recherche de la méthode à appliquer
• Cas de l'héritage multiple
• Le graphe d'héritage d'une classe est un graphe.
D M
D
E
DM
C
BM
CM
BM
BM
CM
A
1: pas de conflit
A
2: conflit entre B et C
A
3: conflit entre B et C
• Il y a donc risque de conflit dans la recherche de la
méthode à appliquer.
Envoi de messages
• Un objet ne peut agir directement sur un autre.
• Il ne peut le faire qu'en activant une méthode de l'objet
visé.
• Pour cela, il lui envoi un message
• L'envoi de messages est donc le seul moyen de
communication entre objets.
• La réception d'un message entraîne la recherche de la
méthode dans l'environnement de l'objet.
• Lorsque la méthode délivre un résultat, celui-ci est
retourné à l'expéditeur. On parle de transmission avec
retour.
Les principaux langages objets
• Smalltalk-80
• Objective-C LISP et ses variantes objets
(Le-Lisp, Flavors, Ceyx, ObjVLISP,...)
• SIMULA
• C++
• Eiffel
• ADA
• et JAVA
Notion de vue
A
B
Objets
C
D
E
Eclairages
Objet en AdR
Interface
Elément
Objet
Objet en AdR
Interface
Appli
ancienne
nouvelle
appli
Objet
Nouvel
élément
Nouvelles
caractéristiques
Objet en AdR
• Protocole OSI (CMIP)
– objet classique + caractéristiques particulières
• Protocole Internet (SNMP)
– pas d’héritage
– de simples variables
• Autres approches
– IDL CORBA
– Java
Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI
– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, RMON)
• Comparaison des approches
Le modèle OSI
• Cadre général
– s'inscrit dans la partie 4 du modèle de référence OSI
– spécifie les procédures de gestion d'un réseau hétérogène
– définit le cadre architectural des normes de gestion OSI
• Objectifs
• "planifier, coordonner, organiser, contrôler et superviser les
ressources utilisées dans les communications conformes au
modèle OSI et rendre compte de leur utilisation"
Normes OSI pour AdR
Basic reference model
ISO 7298
General framework
ISO 7498-4
General overview
ISO 10040
- Configuration management
- Fault management
- Performance management
- Accounting
- Security managment
Definition of the specific
management functions
ISO 10164 : 1 à n
CMIP
Common Management
information Protocol
Structure of the
Management Information
Base
ISO 10165 - 1
Generic definitions
of objets and their
attributes
ISO 10165 - 2
CMIS
ISO 9595
Framework for
objects definitions
ISO 10165 - 4
Definition of specific
managed objects
Trois modèles
• Modèle organisationnel
• Modèle d’information
• Modèle fonctionnel
Le modèle organisationnel
• définit le cadre pour répartir la gestion
• s'appuie sur les concepts de "systèmes gérés" et de
"systèmes gérants" (agents and management systems)
• le processus d'application de gestion distribuée (DMAP :
Distributed management application process) est
l'application qui contrôle et surveille les objets gérés.
• le processus agent (AP : Agent Process) permet la gestion
locale.
Schéma d’organisation
Système
administré
Système
d'administration
Processus
de
gestion
Fonctions
Processus
agent
D
CMISE
CMIP
CMISE
Objets
gérés
Objets gérés
Attributs
Opération
Notification
Objet administré
Opération : actionnées par des commandes envoyées
à la classe (création d'instance) ou à l'objet
(activation de méthode)
Notification : actionnées par la classe ou l'objet qui
émet des messages (changement d'état, dépassement
de seuil)
Trois niveaux de gestion
• le niveau gestion-système
– repose sur des échanges d'information de gestion provenant de
toutes les couches du modèle OSI
• le niveau gestion de couche
– la gestion est confinée à une couche donnée (en s'appuyant sur les
services offerts par les couches inférieures)
– exemple : le Network Connexion Management Subsystem
(NCMS) qui spécifie un sous-protocole de gestion de connexion
(ISO 8073/AD1)
• le niveau opérations de couches
– la gestion est réalisée par des échanges d'informations véhiculées
par les protocoles de la couche
Le modèle d’information
• Une approche objet
– un langage de description
– un langage d’échanges
• Des principes
– nommage
– enregistrement
• Des bibliothèques
Approche objets
• Objectif : Permettre de définir les objets administrés de
manière standard
– cohérence des définitions
– cohérence avec l'environnement d'administration
(CMIP et fonctions)
– répartition du travail
Modèle objet
• Le modèle définit :
–
–
–
–
–
–
ce qu'est un objet
de quoi il est composé
ce qu'il peut faire
ce qui peut lui être fait
comment il est nommé dans le protocole
comment il est relié aux autres objets
Description des objets
•
•
•
•
•
•
Les attributs
Les méthodes
Les relations
Les paquetages conditionnels
L'arbre de contenance
L'allomorphisme
Outil de description
• Les gabarits GDMO
– MANAGED OBJECT CLASS : définition d'une classe
– PACKAGE
– PARAMETER
– NAME BINDING
– ATTRIBUTE
– GROUP-ATTRIBUTE
– BEHAVIOUR
– ACTION
– NOTIFICATION
ASN.1
• ASN.1 (Abstract Syntax Notation 1)
– C'est un langage défini par sa grammaire (cf ISO 8824)
– Une grammaire est un ensemble de règles de productions.
• Le rôle d'ASN.1
– 1- Description des structures de données
– 2- Permettre la transmission de ces structures à travers le stack OSI
• Mode d'utilisation
– 1- décrire les objets en ASN.1 (en suivant le formalisme des gabarits)
– 2- utiliser un "compilateur" vers le langage de développement choisi (C,
ADA, Pascal, ...) ce qui génère :
* les structures de données adaptées
* les règles d'encodage vers la syntaxe de transfert
Le rôle d’ASN.1
Description
ASN1
structure de données
structure de données
Entité A
Entité B
Règles
d'encodage/décodage
syntaxe de transfert
Gabarit "MANAGED OBJECT CLASS"
<class-label> MANAGED OBJECT CLASS
[DERIVED FROM <class-label>[,<class-label>]*;
]
[CHARACTERIZED BY <package-label>[,<package-label>]*;
]
[CONDITIONAL PACKAGES <package-label>PRESENT IF
<condition-definition>
[,<package-label>PRESENTIF<condition-definition>]*;
]
[PARAMETERS <parameter-label>[,<parameter-label>]*;
]
REGISTERED AS object-identifier;
Exemple de classe
exampleObjectClass MANAGED OBJECT CLASS
DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 :
1992" : top;
CHARACTERIZED BY
examplePackage1
PACKAGE
ACTIONS
qOSResetAction;
NOTIFICATION communicationError ;
REGISTRED AS {joint-iso-ccitt ms(9) smi(3)
part4(4)package(4)examplepack1(0)};
PRESENT IF
!conformance class 2 of underlying
ressource implemented as descriptor in ISO/IEC
xxxx! ;
examplePackage2
CONDITIONAL PACKAGE;
REGISTERED
AS
{joint-iso-ccitt
ms(9)
smi(3)
part4(4)managedObjectClass(3)exampleclass(0)}
;
Principe de nommage
• L’arbre de contenance
– définit les notions de classes contenantes et de classes contenues
– impose des contraintes au nommage
• L’arbre de nommage
– respecte les contraintes de l’arbre d’contenance
– définit un nom global pour chaque objet
le Global Distinguished Name (GDN)
– permet d’utiliser un nom «local»
Distinguished Name
L’arbre d’enregistrement
root (world)
0
1
ccitt
2
joint-iso-ccitt
iso
0
std
1
2
member
org
body
reg
authority
3
6
dod
1
internet
1
directory mgmt
1
MIB-1
4
3
private
2
experimental
1
2
entreprises
MIB-2
0
2
1
reserved proteon ibm
11
hp
Quatre arbres
• Arbre d’héritage : propriétés des classes
• Arbre de contenance : contraintes de contenances pour guider le
processus de nommage (défini au niveau des classes)
• Arbre de nommage : pour identifier les objets (ou instances)
• Arbre d’enregistrement : pour référencer les classes (ou les
constituants des classes, ie les gabarits)
Le modèle d'information
• Remarques importantes
– La normalisation ne fournit pas les moyens de la conception par
objets. Le problème de la modélisation reste donc entier.
– La normalisation fournit des bibliothèques d'objets "génériques"
qu'il faut étendre par "raffinement" (création de sous-classes)
– Les objets devront être enregistrés par une autorité compétente
– La conformité sera vérifiée à partir des descriptions de réalisation :
les MOCS (Management Objects Conformance Statements).
L'objet TOP
top
MANAGED OBJECT CLASS
CHARACTERIZED BY topPackage
PACKAGE
BEHAVIOUR
topBehaviour;
ObjectClass
GET,
nameBinding
GET;;;
CONDITIONAL PACKAGES packagesPAckage
PACKAGE
ATTRIBUTES
packages
GET;
REGISTERED AS {smi2Package 16};
PRESENT IF "any REGISTERED package, other than
this package has been instancied",
allamorphicPackage PACKAGE
ATTRIBUTES
allomorphs
GET;
REGISTERED AS {Smi2Package 17};
PRESENT IF "if an object supports allomorphism";
REGISTERED AS {smi2MObjectClass 14};
topBehaviour
BEHAVIOUR DEFINED AS "This is the top level of managed
object class hierarchy and every other managed objet class is a
specialization of either this generic class (top) or a
specialization of a subclass of top..."
Exemple : objet system
system MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
systemPackage PACKAGE
ATTRIBUTES systemId
GET,
systemTitle
GET,
operationalState
GET,
usageState
GET,
administrativeState
GET-REPLACE;;;
CONDITIONAL PACKAGES
administrativeStatePackage PACKAGE
ATTRIBUTES administratoveState
GET-REPLACE;
REGISTERED AS
{smi2Package14};
PRESENT IF "an instance supports it",
....
Le modèle fonctionnel
• Définition des 5 domaines de gestion
• Définition des SMF
System Management Functions
Les Fonctions de Gestion de Systèmes
• Objectif : Spécification d'interfaces de gestion, fondées
sur le modèle agent-gestionnaire
• Moyens : Deux aspects sont nécessaires :
– le modèle objets (ressources à gérer, leurs propriétés, relations,
opérations)
– l'accès aux objets (contrôle d'accès, sélections, coordination
d'opérations élémentaires, horodatage...)
• Définition :
Une SMF est un standard qui décrit des classes d'objets ou des
propriétés d'objets utilisables pour réaliser des fonctions de gestion.
Elle normalise les aspects protocolaires correspondant à ces services.
Les SMF (suite)
• Contenu : trois aspects
– sémantique des propriétés et/ou objets support
exemple : types d'alarmes, objets Log, LogRecord
– description des services d'accès à ces propriétés support
(procédures)
exemple : mapping sur les services de CMISE
– syntaxe supportant ces définitions (formulaires GDMO et
productions ASN 1)
• Relations entre SMF
Une SMF peut utiliser les services définis dans une autre SMF
Les SMF (suite)
• Unités fonctionnelles
Une SMFU définit un ensemble de propriétés (services de gestion) que les
objets d'un système peuvent offrir à un gestionnaire sur une association. Elles
sont négociables à l'initialisation de l'association.
Exemples: La gestion d'objets définit deux SMFU :
- services d'opérations
- services de notification
La gestion des journaux définit une SMFU
La gestion des états ne définit pas de SMFU (car non négociable
individuellement)
• Remarque :
Une SMF n'est pas une fonction en tant que telle. Les services décrits par une
SMF sont destinés à être intégrés dans une interface de gestion. Ils peuvent
être utilisés par des objets de classes différentes.
Principe des SMF
Interface de
gestion
(CMISE)
Objet
Principe des SMF
Objet
Interface de
gestion
(CMISE)
Interface SMF
(enrichie)
objet
Liste des SMF
Object Managt Function IS
State Managt Function
IS
Attributes for Relationships IS
Alarm reporting
IS
Event Report Function
IS
Log Control Function
IS
Security Alarm Reporting Funct.
Security Audit trail Function
Objects and Attributes for Access
Accounting Meter Function
Scheduling Function
WD
Response Time Monitoring
Workload Monitoring Function
Test Management Function
Summurization Function
Confidence and Diagnostic Test
Time Management
OSI software Management
IS
DIS
CD
CD
DIS
DIS
CD
CD
WD
WD
Fault
management
Accounting
management
Object
Management
Event-report
management
Configuration
management
State
Management
Log
control
Accounting
meter
Performance
management
Relationship
Management
Security-alarm
reporting
Workload
monitoring
Security
management
Alarm
reporting
Security
audit trail
Test
management
Access
control
Summurisation
Specific Management Functions
Event Report
Get
Create
Set
Delete
Action
Cancel-Get
State Management Function
– Attributs de gestion
Etat opérationnel
En service
Hors service
Etat d'utilisation
Libre (non utilisé)
Actif (utilisable)
Occupé (plus utilisable)
Inconnu (de l'objet)
Etat administratif
Bloqué (par l'administrateur)
débloqué ( " )
En libération
– Attributs de maintenance (STATUS)
repair status
(réparation, alarme...)
installation status
(en phase d'installation)
availability status
(en test, hors service, hors tension...)
control status
(réservé, suspendu...)
State Management Function (suite)
• Notifications
State Change notification
avec en paramètres :
state change info (attribut d'état)
additional state change info
• Objet
state change record
Par spécialisation de la classe "Event Log Record" des paramètres des
notifications ci-desssus
• Services offerts
State Change Reporting Service
Lire attributs d'état
Modifier attributs d'états
M-EVENT-REPORT
PT-GET
PT-GET
CMISE/CMIP
• Les services de CMISE
– Interactions avec les interfaces des objets
(lecture, écriture, creation, destruction d’instances, ...)
– Utilisation des principes de nommage
– Sélection d’objets multiples
– Actions multiples (atomicité)
Sélection d’objets multiples
-1
-2
-3
Filtering
(valeurs d’attributs)
Scoping
CMIP
• Protocole couche 7 OSI
• Supporte les opérations CMISE à distance
• S’intègre dans une Association (cf ACSE)
– négociation de l’association (partenaires, unités fonctionnelles, ...)
– fermeture de l’association
• S’appuie sur les services de ROSE
(invocation d’opérations à distance)
Services CMIP
Service
M-EVENT-REPORT
M-GET
M-SET
M-ACTION
M-CREATE
M-DELETE
M-CANCEL-GET
Modes possibles
cnf/ncf
cnf
cnf/ncf
cnf/ncf
cnf
cnf
cnf
Services CMIP
• les services d'opérations : demandes d'invocation
d'opérations formulées à un agent, concernant des objets
gérés par celui-ci,
• un service de notification : transmission par un agent de
comptes rendus contenant les notifications émises par un
objet.
Services CMIP
Opération/notification
Get attribute value
Replace attribute value
Replace with default value
Add member
Remove member
Create
Delete
Action
Notification
Service
M-GET
M-CANCEL-GET
Mode
confirmé
confirmé
M-SET
conf/non-conf
M-CREATE
M-DELETE
M-ACTION
M-EVENT-REPORT
confirmé
confirmé
conf/non-conf
conf/non-conf
Exemple : M_CREATE
• Paramètres spécifiques
– superior object instance
– reference object instance
• Service
– nommage : c'est-à-dire définir le GDN (Global Distinguished
Name) -->choisir le supérieur dans l'arbre de nommage
choisir le RDN (Relative Distinguished Name)
M-CREATE utilise 3 paramètres spécifiques :
- MOC (Managed object Class) - sa classe
- MOI (Managed Object Instance) - son GDN
- SOI (Superior Object Instance) - le GDN du supérieur
Le gestionnaire a trois possibilités : il peut envoyer
MOC et MOI, MOC et SOI ou MOC
Dans tous les cas, l'agent renverra MOC et MOI
Exemple : M_CREATE
• services (suite)
– Valorisation des attributs
Par ordre de priorité :
• liste d'attributs envoyés
• valeurs de l'objet de référence
• valeurs par défaut de la classe
Implémentations
• Normalement : sur stack OSI (couches 1à6)
• Possible sur stack TCP (CMOT)
• Egalement sur LLC (avec adaptations), voir CMOL ou
LMMP
Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI
– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, RMON)
• Comparaison des approches