Title: Elastic 1 pr
1Elastic1présentation
- contexte et objectifs
- Elastic cest quoi ?
- contexte dun schéma mvc
- léclatement de linterface
- la transparence du protocole de coopération
- trois contraintes générales pour simplifier
2contexte et objectifs
- compréhension et mise en œuvre dun
- protocole simplifié
- de coopération entre applications
- contexte général
- dans un style composants
- inspiration RMI (remote method invocation)
- avec schéma MVC (modèle, vue contrôleur)
- réparti sur internet via TCP (transmission
control protocol)
penser en termes de protocoles
- simplification
- prétextes volontairement simples
- contraintes restrictives (éviter de tout
généraliser) - méthodologie
- régularité des protocoles
- régularité de larchitecture
- développement
- comprendre et exploiter la documentation
- librairies VCL (Delphi) et FCL (framework Net)
ne pas se tromper dobjectif !
3Elastic cest quoi ?
1
2
- (1) deux objets coopèrent directement
- machine application espace mémoire identiques
- coopération en termes dappels de méthodes
immédiats - grâce à un protocole de coopération infiniment
mince
- (2) on prend les mêmes objets et on les met à
distance - machine application espace mémoire différents
- coopération en termes dappels de méthodes
distants (RMI) - grâce à un protocole de coopération transparent
enfin, presque !
4Elastic dans le contexte dun schéma mvc
appels de méthodes du modèle
frame dihm groupant des aspects contrôleur et
des aspects vue
interface du modèle
Contrôleur C
Modèle M
notifications de changement
- côté modèle
- accès via une interface
- va permettre la substitution des implémentations
- côtés vues et contrôleurs
- regroupés dans des frames ou des fenêtres
- interagissent avec le modèle via une interface
5léclatement de linterface côté client et
côté serveur
interface du modèle
Modèle M
Proxy se fait passer pour le modèle
côté client
côté serveur
- schéma mvc
- côté vues et contrôleurs
- le proxy
- implémente linterface du modèle
- se fait passer pour le modèle
- gère la communication côté client
- schéma mvc
- côté modèle
- le stub
- utilise linterface du modèle
- se fait passer pour vue contrôleur
- gère la communication côté serveur
6la transparence du protocole de coopération
interface du modèle
Modèle M
protocole transparent rien
Proxy se fait passer pour le modèle
côté client
côté serveur
les vues et les contrôleurs croient être en
interaction directe avec le modèle
le modèle croit être en interaction directe
avec les vues et les contrôleurs
- du point de vue des fonctionnalités
- le protocole est transparent
- est équivalent à rien
- du point de vue des ressources
- le protocole consomme des ressources (mémoire,
temps de calcul)
7trois contraintes générales pour simplifier
méthode m appelée
principe dun modèlepour un schéma mvc à plat
notification dévénement e différée
- un seul schéma mvc élastique
- types darguments et de résultats
- transmission des arguments par valeur
- tous types valeur entiers, booléens,
caractères, énumérés, flottants - références seulement
- string
- Exception (et sous-classes)
- TObject (en rôle de Sender dans une notification
dévénement)
- schéma mvc à plat
- pas demboîtement des notifications de changement
- ni dans les fonctions de vues, ni dans les
fonctions de contrôle - le déclenchement des notifications est différé
(message posté)