Conception et Génération de
systèmes d’Information
multimédias basés sur le Web
Hervé Martin
Laboratoire LSR - IMAG
Équipe SIGMA
Plan de la présentation
l Systèmes d’information
– Définition et objectifs
l Technologies Web
l Technologie multimédia
l Conclusions et perspectives
2
Principes fondamentaux
des Systèmes d’Information
3
Définition d’un système [Rosnay75]
l Un système est un ensemble d’éléments en
interaction dynamique, organisés en fonction
d’un but.
l Aspect pluridisciplinaire de la notion de
système
4
Définition d’Habrial - 1992
l Un système d’information est le modèle de
comportement d’un objet qui peut être un
distributeur de boissons, un organe de
facturation ou un éditeur de texte. Ces objets
peuvent eux-mêmes être composés d’autres
objets qui peuvent communiquer entre eux et
avec leur environnement.
5
Définition Larousse 1981
l Un système d’information est l’ensemble des
organisations et des moyens mis en œuvre
dans un organisme pour assurer l’information
interne de cet organisme. Un système
d’information peut ou non contenir des
systèmes informatiques.
6
Système d’information
l Un système d’information est un ensemble
structuré de ressources, et de méthodes
utilisées dans le traitement de l’information
d’une organisation.
l Objectifs : collecter, structurer, partager,
conserver et diffuser des informations,
améliorer la prise de décision
7
Objectifs des systèmes
d’information
l Persistance des données
l Partage de données
l Sécurité, confidentialité
l Evolutivité des données, des structures et des
technologies
l Cohérence
l Performances
l Mémoire des traitements
l + avantages BD : volumes élevés, résistance aux
pannes, aspects transactionnels
8
Conception de SI
l Méthodes de conception d’un SI
– Méthodes cartésiennes : SADT (D.T. Ross)
– Méthodes systémiques : Merise (Tardieu)
– Méthodes objet : OMT (Rumbaugh), OOA (Coad et
Yourdon)
l Langage UML
l Concepteur et architecte de SI
9
1. Système d’information
Le langage UML
l Standard OMG (Object Management Group) en 1997
l Objectif : Unifier les avantages des méthodes
l La méthode OMT de Rumbaugh
l La méthode BOOCH'93 de Booch
l La méthode OOSE de Jacobson (Object
Oriented Software Engineering)
l UML est un langage permettant de spécifier,
représenter et construire les composantes d’un
système informatique.
l Met l’accent sur l’utilisation du système
10
Eléments généraux sur
Les Sites Web
11
Notion de site Web
l Un site web est un ensemble de fichiers (HTML, XML)
stockés sur un ordinateur connecté en permanence à
internet et hébergeant les pages web.
l Accès simple et standardisé aux informations
l Concept de documents hypertextes, hypermédias
l Introduction du multimédia
l Outils qui facilitent la communication (email, news
group, vidéo conf, …)
l Webmaster
l Objectifs : structurer, partager, conserver et diffuser
des informations
12
Domaines d’application
l E-business
l E_medicine
l E-learning
l E-GIS
l E-…
13
Classification des sites Web
[Gnah00]
Complexité Objectifs Données Applications
Type
Sites de présence
marketing Faible Faible
Sites applicatifs téléchargement de
logiciels, moteurs Faible Forte
Sites catalogues sites officiels Forte structure Faible
hypertexte
SIW
e-business Forte Forte
(interactivité)
14
Fonctionnement d’un système Web
Requête HTTP
Serveur Web
Script / Programme
serveur
Utilisateur Document
• Protocole HyperText Transfer Protocol (HTTP)
• URL = requête HTTP envoyée au serveur
• Document HyperText Markup Language (HTML), XML
• Serveur : fournit différents services basés sur des
technologies telles que servlets/JSP, ASP, CGI, PHP
15
Problèmes usuels des sites Web
l Problèmes de maintenance :
– Redondance
– Incohérences
– Incomplétudes
– Obsolescence
l Problèmes d’adaptation (public visé ?) et d’évolution
l Interactions avec d’autres systèmes
l Problèmes d’utilisation : surcharge d’information,
surcharge visuelle
l Problèmes de sécurité
16
lngénierie du Web
l Méthodes pour le développement, la mise ne
œuvre et la maintenance de SIW
l Structuration du processus de développement,
modèles et outils adaptés aux besoins et aux
spécificités du Web
17
Conception d’applications
hypermédia
l Processus de conception d’applications hypermédias
1. Identification et définition des éléments du domaine
d’application
2. Identification et définition des éléments hypermédias
3. Définition des relations et mécanismes de correspondance entre
ces 2 types d’éléments
l Différentes méthodes utilisées
– Hypermedia Design Model (HDM) [Garzotto 1993]
– Relationship Management Methodology (RMM) [Isakowitz
1995]
– Object Oriented Hypermedia Design Methodology (OOHDM)
Schwabe 1996]
18
Méthodes de conception
d’applications hypermédia
HDM RMM OOHDM
Modèle de ++ ++ -
domaine
Modèle + ++ ++
hypermédia
Couverture Pas de Cycle de Cycle de
modèle de développement développement
démarche de complet complet
conception
19
Conception d’applications Web
l Différents niveaux à traiter
1. Sélection et accès aux données consultables par
l’application
2. Définition de la structure du site Web (quelle page
contient quelles informations) et de la navigation entre les
pages
3. Conception des pages Web
20
Technologies associées au Web
l Serveur Web
l Protocoles TCP/IP, HTTP, …
l Le langage JAVA
l Les applets
l Les servlets
l Les cookies
l PhP
21
Serveur Web
l Un serveur web est un logiciel permettant à des clients
d'accèder à des pages web.
l Un serveur web est donc un logiciel capable
d'interpréter les requêtes HTTP arrivant sur le port
associé au protocole HTTP (par défaut le port 80), et
de fournir une réponse avec ce même protocole.
l Exemples: Apache, Microsoft IIS (Internet
Information Server),Microsoft PWS (Personal
Web Server), Xitami
22
Protocoles sur Internet
l Protocole : langage de communication entre
ordinateurs
l Sur Internet, plusieurs protocoles qui font partie de
TCP/IP
l FTP : transfert de fichiers
l HTTP (Hypertext Transfer Protocol) : Protocole non
connecté, sans états : chaque requête est traitée
indépendamment
l SMTP, TCP, IP, ARP, ICMP, …
23
Le langage JAVA
l Créé en 1991 par Sun Microsystem
l Langage objet compilé et interprété
l Exécutable sur diverses plates-formes
l Nombreux environnements de développements :
Visual J++, Borland Jbuilder, Kawa, …
l 1994 : HotJava, premier navigateur Web permettant
d’exécuter des programmes Javas
l Depuis, intégration dans la plupart des navigateurs
l Si chargement du bytecode sur le client : applet si
exécution sur le serveur servlet
24
3. Technologies Web
Les applets
l Code s’exécutant dans une page HTML
l Petites applications graphiques s’exécutant sur
le navigateur
l Relativement sécurisé : accès limité aux
ressources (pas de lecture/écriture sur le
disque distant)
25
3. Technologies Web
Les servlets [Hunter 1999]
l Application Java fonctionnant côté serveur
l Utilité : génération dynamique de pages
l Avantages par rapport SGI, PHP, ASP
– N’est pas exécutée dans un processus séparé
– Reste en mémoire entre les différents appels
– Une seule instance répond à toutes les requêtes
– Existence de moteur de servlets
– Gestion des Cookies et des sessions
– Points forts de Java : portabilité, puissance, …
26
3. Technologies Web
Les cookies
l Moyen de stocker temporairement des données chez
le client afin de les récupérer ultérieurement
l Suivi de session, gestion de profils utilisateur
l Fichier texte contenant des paires (clé, valeur)
l Informations envoyées par le serveur et renvoyées par
le client. En aucun cas le cookie ne peut contenir des
informations sur l'utilisateur que celui-ci n'a pas donné
l Utilité : identification (e-business), éviter la saisie
d’informations à répétitions, gérer les préférences des
utilisateurs.
27
3. Technologies Web
PHP - 1994 - Rasmus Lerdorf.
l PHP est un langage interprété (un langage de
script) exécuté du côté serveur (comme les
scripts CGI, ASP, ...).
l La syntaxe du langage provient de celles du
langage C, du Perl et de Java.
l Avantages : gratuité, simplicité
l Lien avec MySQL
28
SI basé sur le Web
l Centralisation vs décentralisation
l Concepteur de SI vs Webmaster
l Accès séquentiel vs accès hypertexte
l Caractéristiques :
– Contenu dynamique
– Accès via le navigateur Web
– Différents types d’utilisateurs
l Besoins
– Méthode de conception rigoureuse
– Prise en compte des aspects techniques et graphiques
29
Documents et systèmes Multimédias
30
Définition du Multimédia
l « Technique permettant de rassembler sur un
même support des moyens audiovisuels (texte,
son, images fixes et animées) et des moyens
informatiques (programmes, données) pour les
diffuser simultanément et de manière
interactive. »
Dictionnaire Universel Francophone en Ligne
([Link]
31
Applications multimédias
l Téléconférence
l Bibliothèques digitales
l Musées virtuels
l Médecine
l Géographie
l Education
l Enjeux économiques …
32
SI Multimédia
Employé Projet
travaille_sur
Numéro : entier responsable Intitulé : chaîne
photo logo commentaire
CV
vidéo
Image
Audio
Texte
Vidéo
Approche Système d’Information
Visualisation
Interrogation
Modélisation
Représentation
Transmission
000111100110
111100101001
…
… Stockage
110000011110
010101010111
Document multimédia
u Composition de différents médias dans le temps et dans l’espace
–Structuration logique
–Structuration temporelle
–Structuration spatiale
– Liens hypermédias
u Interactivité : réaction à certains événements
u Approche scénario versus approche générique
–Lingo, Tcl/Tk, SMIL
–[Allen83], [Buchanan92], [Egenhofer91]
Nombreux logiciels auteur (Toolbook, Macromedia, dreamweaver…)
35
Données multimédias
l Taille importante : 1 heure de vidéo = 1OO GB (sans
compression) et 55 MB (Qualité VHS)
l Développement de techniques de compression
– Image : GIF, JPEG (Joint Photographic Expert Group)
– Audio : ADPCM, MP3
– Vidéo : Famille MPEG (Moving Picture Expert Group)
MPEG-1, MPEG-2, MPEG-4, MPEG-7
l Développement de serveurs spécifiques (Oracle Média
Server) et typage faible (DataBlades, Blobs)
l Importance de la qualité de service
36
Techniques de compression
l Algorithmes avec pertes ou sans pertes
l simple (e.g. moins de bits par pixel)
l interpolation: (e.g. interpolations entre frames)
l prédiction (utilisation du précédent pour construire le suivant, la
différence est stockée)
l transformation (e.g DCT, MPEG)
l Autres techniques: wavelets, fractals, …
37
Representation RGB
(0,0,255) blue
(0, 255 , 255) cyan
(1, 0,255) magenta
(255 , 255 ,255) white
(0,0,0) black
(0, 255 ,0) green
(255 ,0,0) red
(255 , 255 ,0) yellow
• 32 bpp or less
38
Autres Représentations
l Représentation YUV (Luminance et Chrominance)
3 Y = 0.3R + O.6G + 0.1B
3 U=R-Y
3 V=B-Y
l Représentation Y Cb Cr (JPEG)
3 Y = 0.3R + O.6G + 0.1B
3 Cb = U/2 + 0.5
3 Cr = V/1.6 + 0.5
39
Modélisation
l Modélisation de la structure :
– Structure logique (hiérarchie de composition)
– Structure temporelle (instants, intervalles,
opérateurs)
– Structure spatiale (liens : topologiques, directionnels)
l Modélisation du contenu
– Extraction de caractéristiques physiques : couleur,
texture, forme
– Identification d’objets
– Sémantique, contexte : divers niveaux d’abstraction
40
Modélisation du contenu
l Indexation du contenu
l Quel niveau d ’abstraction ?
– méthodes algorithmiques
– méthodes textuelles
– méthodes attributs - valeurs
– standards: Dublin Core, RDF, MPEG-7
– méthodes RI (prise en compte du contexte
(thésaurus, graphes conceptuels)
41
Modélisation temporelle
l Différents modèles de temps :
– modèles à base d ’instants,
– modèles à base d ’intervalles,
– modèles à base d ’opérateurs
42
Modèles Basés sur les Instants
l Modèle timeline
(HyTime)
audio
animation video
text
temps
43
Relations d ’Allen
b b b
a a a
before time meets time overlaps time
b
b
a
a
finishes time
during time
b
b
a
time
a
starts
equal time
Figure extraite de
http:/[Link]/opera/people/[Link]/[Link]/
45
Multimédia et Web : le standard
SMIL
l Synchronized Multimedia Integration Language
(SMIL) : recommandation du World Wide Web
Consortium (W3C)
l Permet la description de documents
multimédias
l Intégration du temps
l Concept de clip multimédia : texte avec durée,
son, image avec duree, vidéo
46
Le standard SMIL
l SMIL est un langage qui permet :
l De jouer plusieurs clips multimédias simultanément
l D’affecter à chacun une partie de la page
l Jouer une séquence de clips multimédias
l SMIL fait l’hypothèse que chaque clip possède son
horloge interne
l Autres spécifications : actions à mener en fonction du
débit réseau ou adaptation à la langue de l’utilisateur
47
Synchronized Multimedia
Integration Language (SMIL)
l Un fichier SMIL donne une liste de clips à jouer
en séquence
<smil>
<body>
<audio src="rtsp://[Link]/[Link]"/>
<audio src="rtsp://[Link]/[Link]"/>
<audio src="rtsp://[Link]/[Link]"/>
</body>
</smil>
48
Synchronized Multimedia
Integration Language (SMIL)
<par>
clip 1
l Synchronisation <seq>
l <seq>
<audio src="[Link]"/>
clip 2
<audio src="audio/[Link]"/> clip 3
</seq>
l <par>
</seq>
<video src="[Link]"/> clip 4
<textstream src="[Link]"/>
</par> </par>
l <par repeat="3">
<video src="[Link]"/>
<textstream src="[Link]"/>
</par>
49
Synchronized Multimedia
Integration Language (SMIL)
l Spécification de début et de fin
l <video src="[Link]" begin="20.5s" end="62.7s"/>
l <video src="[Link]" clip-begin="10.5s" clip-end="50.7s"/>
l <video src="[Link]" begin="20.5s" dur="42.2s"/>
l <par>
<video src="slides/[Link]"/>
<!-- select audio based on RealPlayer language preference setting -->
<switch>
<audio src="french/[Link]" system-language="fr"/>
<audio src="german/[Link]" system-language="de"/>
<audio src="spanish/[Link]" system-language="es"/>
<audio src="english/[Link]"/>
</switch>
</par>
50
Interrogation et multimédia
l Objectifs :
– Navigation à travers une collection de données
– Recherche exacte ou approximative
l Contextes :
– Niveau d’expertise de l’utilisateur : novice, expert
– Contraintes de temps et de qualité de services
l Solutions :
– Langage graphique ou iconographique
– Langages formels ou SQL-like
51
52
53
54
Requêtes et documents
55
Interrogation de données vidéo
Problèmes :
Le résultat peut être une nouvelle vidéo
Le schéma d’indexation n’est pas toujours connu
Exemple : Sélectionner tous les segments de vidéos
concernant la ville de Grenoble.
UnionV (select S
from Indexation{I}..#Attr(x), I..segment(S)
where x = "Grenoble" )
56
La plate-forme KIWIS
Knowledge for Improving Web Information Systems
58
La plate-forme KIWIS
l Le contexte
– Systèmes d'Information (SI)
l ensemble de moyens techniques informatiques pour
collecter, structurer, stocker, traiter et diffuser de
l'information
– Systèmes d'Information Multimédia (SIM)
l l'information peut être de type multimédia (du texte, de
l'image, du son, de la vidéo)
– Systèmes d'Information Multimédia basés sur le
Web (SIMW)
l ce sont des SIM accessibles sur le Web, les opérations ci-
dessus se font à travers un navigateur Web
l architecture client/serveur
59
La plate-forme KIWIS
l Motivations
– construire un générateur automatique de Systèmes
d'Information Multimédia basés sur le Web : KIWIS
– mettre l'accent sur l'adaptabilité
l capacité du SIMW de s'adapter à l'utilisateur pour lui
donner la sensation que le système a été conçu
spécialement pour elle/lui
– en fournissant à l'utilisateur
1. un contenu informationnel adapté
2. des interfaces pour exploiter les fonctionnalités du système
3. une présentation personnalisée de l'information
60
La plate-forme KIWIS
La plate-forme KIWIS
l Mise en œuvre : 4 modèles
– un modèle des données : Data Model
– un modèle de l'utilisateur : Generic User Model
– un modèle pour l'accès progressif : Progressive
Access Structuring Model
– un modèle pour la présentation : Hypermedia Model
l Démarche méthodologique
1. Décrire les fonctionnalités du SIMW (UML, …)
2. Décrire les 4 modèles (UML, …)
3. Les instancier (AROM ∨ formulaires → XML)
61
La plate-forme KIWIS
l Description des besoins fonctionnels
– Adaptable Use Cases (AUC) : des Use Cases
d'UML prenant en compte l'adaptabilité
l les attentes des acteurs du système vis à vis d'une
fonctionnalité sont différentes
l une AUC par fonctionnalité
l un diagramme de séquence par AUC et par acteur
62
A U C
Liste de noms
d'acteurs nom d'AUC
A U C détaillé
acteur 1 acteur n
63
Description des modèles
– Data Model
l description par un diagramme de classes du domaine
d'application
– Generic User Model
l description des droits et préférences des utilisateurs
l distinction entre groupe d'utilisateurs et utilisateur pour la
prise en compte de profils personnels
l 2 classes Group et Individual extensibles
l connexions avec les autres modèles
64
Description des modèles
– Progressive Access Structuring Model
l description de l'accès progressif à l'information pour les
(groupes d') utilisateurs
l centré autour de deux notions
– masques : représentations plus ou moins complètes mais
ordonnées d'un ensemble d'information
→ structuration de l'espace d'information et visibilité graduelle
– formats multiples : représentations au contenu plus ou moins
détaillé associées à une même donnée multimédia
l lié au GUM
l support pour la confidentialité des informations
65
Description des modèles
– Hypermedia Model
l description de l'apparence graphique et de la composition des
pages Web
l définition d'une charte graphique
– modèle de page
– aspect graphique de tous les composants intégrables
l composition des pages Web
– un ensemble de pages par fonctionnalité
– pour chaque page : sélection des composants, choix de charte(s)
graphique(s), lien entre composants et contenu
l lié au Data Model et au GUM
66
entête barre de navigation
titre logo
S o u s -titre
bouton bouton lien
bouton
lien titre
bouton
Contenu informationnel
corps
barre d’index
La plate-forme KIWIS
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:k="[Link] xmlns:xsd="[Link]
<xsd:element k:name="ARTICLE" k:nature="classe" name="class">
<xsd:complexType>
<xsd:sequence>
<xsd:element k:nature="objet" maxOccurs="unbounded" name="object" type="objType"/>
</xsd:sequence>
<xsd:attribute name="appli" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="objType">
<xsd:sequence>
<xsd:element k:nature="attribut" name="idarticle">
<xsd:complexType>
<xsd:simpleContent>
<xsd:restriction base="xsd:integer">
l Instantiation des modèles
<xsd:attribute name="level_detail" type="xsd:integer" use="required" value="1"/>
<xsd:attribute name="format" type="typeFormat" use="required" value="texte"/>
</xsd:restriction>
– Data Model
</xsd:simpleContent>
</xsd:complexType>
l par AROM via son IME
</xsd:element>
<xsd:element k:nature="attribut" name="désignation">
l par formulaire
<xsd:complexType>
<xsd:simpleContent>
l <xsd:restriction
traduit en XML base="xsd:string">
<xsd:attribute name="level_detail" type="xsd:integer" use="required" value="1"/>
<xsd:attribute name="format" type="typeFormat" use="required" value="texte"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
etc.
Instantiation des modèles
l GUM
l par AROM via son IME
l traduit en XML
69
l Instantiation des modèles (fin)
– Hypermedia Model
l par formulaire
l traduit en XML
70
71
72
73
<?xml version="1.0" encoding="UTF-8"?>
< document>
< !-- le document est vu comme une ensemble de regions faites
de composants -->
< charte> e-caddie. c s s< /charte>
< region n a m e= "en -tete" option = "vrai" selection ="faux">
<c o m p o s a n t n a m e ="enTeteTitre" option = "vrai" selection="faux"/>
<c o m p o s a n t n a m e ="enTeteSousTitre" option ="vrai" selection="faux"/>
<c o m p o s a n t n a m e ="enTeteLogo" option="vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="enTeteApplet " option = "vrai" selection ="faux"/>
< /region >
< region nam e= "c o r p s " option ="vrai" selection="vrai" type="button ">
<c o m p o s a n t label= "Liste des articles" n a m e= "corpsTitre" option="vrai" selection = "vrai"/>
<c o m p o s a n t n a m e ="c o r p s P a g e" option ="vrai" selection="vrai"/>
<c o m p o s a n t n a m e ="corpsTableau " option = "vrai" selection="faux"/>
<c o m p o s a n t n a m e ="corpsApplet " option = "vrai" selection ="faux"/>
< /region >
< region n a m e= "barre-navigation" option="vrai" selection = "faux">
<c o m p o s a n t n a m e ="navQuitter" option= "vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navFiltre" option = "vrai" selection = "faux "/>
<c o m p o s a n t n a m e ="navZoom " option="vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navProfil" option= "vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navRequete" option = "vrai" selection ="faux"/>
<c o m p o s a n t n a m e ="navAutresClasses" option ="vrai" selection="faux"/>
<c o m p o s a n t n a m e ="navAssociations " option="vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navSuivant " option = "vrai" selection ="faux"/>
<c o m p o s a n t n a m e ="navPrecedent" option = "vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navApplet" option = "vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="navPanier " option ="vrai" selection="faux"/>
< /region >
< region n a m e= "b a r r e -index " option= "vrai" selection = "vrai" type= "button">
<c o m p o s a n t label= "Q U I T T E R " n a m e= "IndexQuitter" option="faux" selec tion="vrai"/>
<c o m p o s a n t n a m e ="IndexFiltre" option ="vrai" selection="faux"/>
<c o m p o s a n t n a m e ="IndexZoom" option = "vrai" selection ="faux"/>
<c o m p o s a n t label= "Votre profil" n a m e ="IndexProfil" option = "vrai" selection ="vrai"/>
<c o m p o s a n t n a m e ="IndexRequete " option="vrai" selection= "faux"/>
<c o m p o s a n t n a m e ="IndexAutresClasses " option= "vrai" selection = "faux"/>
<c o m p o s a n t n a m e ="IndexAssociations" option = "vrai" selection ="faux"/>
<c o m p o s a n t n a m e ="IndexSuivant" option="vrai" selection = "faux"/>
<compos ant n a m e ="IndexPrecedent" option ="vrai" selection="faux"/>
<c o m p o s a n t n a m e ="IndexApplet " option ="vrai" selection="faux"/>
<c o m p o s a n t label= "Votre panier " n a m e= "IndexPanier " option = "vrai" selection ="vrai"/>
< /region >
< /d o c u m e n t >
<?xml version="1.0" encoding="UTF-8"?>
<document>
<charte>[Link]</charte>
<style>
<div class="corps" name="corps" style="position:absolute">
<span class="corpsTitre" name="corpsTitre">
<h1>Liste des articles</h1>
</span>
<span class="corpsPage" name="corpsPage">
<p>source:corpsPage</p>
</span>
</div>
<div class="barre-index" name="barre-index" style="position:absolute">
<table>
<tr>
<td>
<input type="button" onclick='javascript:load_end()' value="QUITTER"/>
</td>
</tr>
<tr>
<td>
<input type="button" onclick='javascript:load_panier()' value="Votre panier"/>
</td>
</tr>
<tr>
<td>
<input type="button" onclick='javascript:load_profil()' value="Votre profil"/>
</td>
</tr>
</table>
</div>
</style>
</document>
End-user workstation
network ( IE5, Netscape, etc )
HTTP Server (Apache)
Servlet Engine (TOMCAT 4.0)
JDK
Web publishing framework XML Query
COCOON 2 (Xerces, FOP, Xalan) (XML – QL)
AROM / XML
AROM
K Parser
API
I
W User KERNEL Deployment
Manager Presentation Data Query Manager
I Manager Manager Manager
S
Designer Environment Data Storage
(XML, XSL, XQL files)
77
Architecture de KIWIS
l Deployment manager
l installe automatiquement KIWIS
l configuration
– AROM
– http serveur Apache
– moteur de servlets Tomcat
– outil de publication Web cocoon
– le JDK
– module X-Query
– parsers AROM ↔ XML + XSD
78
Schéma fonctionnel de KIWIS
Cocoon 2 Resulting
page
XSL Query
‰ Š • ‚
PRESENTATION
MANAGER
‡ USER GUM
ˆ MANAGER
„ PASM
ƒ
Hypermedia
Model
DATA
MANAGER
Data
XML Model
† …
79