Retour : page principale > sommaire eFlore v2 > sommaire services XML

Serveur XML


Par rapport à la version 1 d'Flore nous allons avoir besoin d'un bien plus grand nombre de services qu'avant, essentiellement du fait du périmètre élargie du projet. Avant chaque service avait son propre programme complètement indépendant des autres services. Il ne semble pas raisonnable de continuer sur cette voie car pas très efficace avec un grand nombre de services. Nous allons plutôt réaliser un programme unique qui prendra à sa charge toute demande de service XML.

La nouvelle version se basera sur une architecture MVC (très commune en informatique). MVC signifie Modèle Vue Contrôleur. Un programme reposant sur une architecture MVC repose donc sur trois gros types de briques logicielles.

Le contrĂ´leur

C'est le chef d'orchestre du programme. Il aura dans eFlore les fonctions suivantes:
  • Analyser la demande de service XML reçu par le programme.
  • Assurer la connexion Ă  la base de donnĂ©es.
  • VĂ©rifier que l'utilisateur Ă  bien le droit de demander ce service.
  • Appeler le bon modèle en fonction du service demandĂ©.
  • Assurer les statistiques d'utilisation.
  • VĂ©rifier que le document gĂ©nĂ©rĂ© est bien conforme au format prĂ©dĂ©fini de celui-ci.

Les modèles

A chaque service correspondra un modèle. Ils auront dans eFlore les fonctions suivantes:
  • Dans le cas d'un service de consultation : gĂ©nĂ©rer le document sous la forme d'un tableau de hachage (=tableau associatif)
  • Dans le cas d'un service d 'Ă©dition : sauvegarder les donnĂ©es dans la base.

Les vues

Elles sont chargées de publier l'information. Elles auront dans eFlore les fonctions suivantes:
  • SĂ©rialiser le tableau de hachage gĂ©nĂ©rĂ© par le modèle.
  • Effectuer une transformation XSL si nĂ©cessaire.
  • Compresser le document en fonction du programme appelant.


Remarque:

Notre programme n'aura pas besoin de conserver les états de la transaction pour une session utilisateur. Il semble donc plus simple d'établir notre propre programme reposant sur MVC plutôt que d'envisager un framework déjà basé sur MVC.