Title: D
1Définitions des besoins clients
2Qui sont nos clients ?
- Clients ciblés
- Opérateurs téléphoniques
- Fournisseurs daccès Internet
- Ces entreprises souhaitent
- Proposer à leurs utilisateurs des services
(itinéraire, moteur de recherche) - Étendre ces services à tous les supports
3Côté services
- WIB intègre
- A partir dune étude des besoins de lentreprise,
on définit les types de service nécessaires à
lentreprise, afin de les intégrer sous forme de
fonctionnalités - WIB fait appel à des web services pour
concrétiser ces fonctionnalités - WIB permet ensuite à lentreprise dajouter
facilement de nouveaux web services
4Coté supports
- WIB adapte
- Lensemble des supports du marché doivent pouvoir
interpréter les données de manière transparente - WIB propose à lutilisateur final des
fonctionnalités compatibles avec son support - WIB présente des données cohérentes et sadapte
aux systèmes de communications
5Plus concrètement
- On cible le type dentreprise on implémente un
type de fonctionnalité de base. - On peut Intégrer les web services répondant à
ces fonctionnalités. - Ce client peut ainsi ajouter de façon simple un
web service quil veut rendre disponible et qui
correspond à une de ces fonctionnalités. - Cet ajout est guidé et ne nécessite pas de
grandes connaissances techniques. - Les résultats renvoyés par chaque web service
sont adaptés au support demandeur.
6Trois scénarios à traiter
- Lutilisateur final, client de notre client,
demande la liste des fonctionnalités qui lui sont
disponibles - WIB opèrera un tri sur les fonctionnalités pour
lui afficher la liste de toutes celles
compatibles avec son support - Lutilisateur final souhaite exécuter une
fonctionnalité - WIB exécutera le web service le plus adapté parmi
tous les web services compatibles avec son
support - Le client souhaite ajouter un web service
- WIB proposera une interface administrateur
rendant lajout du web service quasi transparent
à ladministrateur
7Traitements impliqués
- Panel de fonctionnalités
- Organisation des web services par des
fonctionnalités - Ajout dun web service
- Création dune interface administrateur
- Normalisation des web services pour chaque
fonctionnalité - Adaptation au support
- Proposition à lutilisateur final des
fonctionnalités compatibles avec son support - Présentation des données
- Adaptation à son système de communication
8Modélisation de larchitecture
- Différentes représentations
9Architecture N-tiers
10Modélisation en blocs
Liaison
11Modélisation en couches
- Application
- Analyse les requêtes
- Gère les appels de services
- Zone de négociation
- Choix du service en fonction du support.
- Gère la compréhension des résultats de services.
- Intégration
- Gère ladaptation des informations aux supports.
- Négocie les moyens de transmissions dinformations
- Zone de négociation
- Choix du moyen de transport en fonction du
support et de la requête. - Choix de la méthode de transmission en fonction
des informations.
- Transport
- Recherche le moyen de communication adapté.
- Gère la transmission dinformations.
12Web Services
13 Schéma simplifié de larchitecture
Web Service
Application Serveur
Application Client
Application Client
Web Service
Application Client
Web Service
Application Client
Application Client
14 Les Web Services
- Réalisent un travail à distance
- Sont programmés dans un langage qui nous est
inconnu - Sont décrit par leur fichier .wsdl
- Méthodes
- Paramètres
- Types
-
- Sont accessibles par SOAP (protocole déchange au
format xml permettant de dialoguer avec des web
services) - Renvoient une réponse au format .xml
15 Lapplication serveur
- Communique avec les clients et les services
extérieurs - Interprète les requêtes des clients
- Fournit aux clients la liste des fonctionnalités
disponibles et en accord avec les
caractéristiques du support - Appelle les Web services et reçoit leur réponse
au format xml - Met en forme la réponse pour le client
(utilisation possible des fichiers xsl permettant
la mise en forme html dun fichier xml) - Propose à ladministrateur une interface simple
pour ajouter des fonctionnalités, des services et
définir linterface client - Est programmée en C (plateforme .NET)
16Lapplication client
- Communique avec lapplication serveur par le
réseau IP - Récupère les caractéristiques du support client
et les envoie à lapplication serveur - Reçoit la liste des fonctionnalités disponibles
- Émet des requêtes pour lapplication serveur
- Reçoit et affiche le résultat sous la forme dun
document html - Est programmé en Java, pour la portabilité du
langage
17Webservices et problématiques
- On fait appel à des WebServices
- On envoie des données au service
- On exécute le service
- On récupère le résultat
- Questions soulevées
- Comment utiliser un Webservice?
- Quelles contraintes cette utilisation
impose-t-elle à notre application? -
-
18Test Webservices
- Test
- Utilisation du Webservice GoogleSearch via une
interface en C sous Visual Studio .Net 2003 - Résultat
- On est capables dutiliser le WebService en
programmant linterface entre lutilisateur et le
service - Constat
- Chaque webservice fonctionne avec ses propres
structures de données.
19(No Transcript)
20Analyse du test
- Quelle solution adopter ?
- Créer une interface utilisateur par service ?
- Utiliser uniquement des services dont on connaît
le fonctionnement? - Remise en contexte par rapport au projet
- On cherche à créer une application qui soit une
plateforme fédératrice et qui sadapte à tous les
types de services. - Solution que lon va mettre en place
- Créer un modèle générique pour chaque
fonctionnalité
21Lintégration de services
22Problématiques
- Une fonctionnalité doit regrouper un ensemble de
services ajoutés par lentreprise sous forme de
Web Services - Lajout dun nouveau Web Service doit se faire
simplement et efficacement. - Les Web Services renvoient des données de types
très différents, dont les structures sont
définies dans le fichier .wsdl associé il faut
pouvoir les comprendre ET les utiliser.
23Un modèle de données générique
MAPPING
Le fichier wsdl du WS contient la description des
structures de données qui lui sont propres il
est indispensable au fonctionnement du service.
Définition des fonctionnalités et dun fichier
dit neutre propre à chacune ce fichier
permet lidentification et lutilisation des
données du WS.
Le mapping est lidentification des objets à
envoyer et récupérer. Cest la partie automatisée
du système des fonctionnalités.
24Principe de fonctionnement
ltEntréesgt_at_1 stg _at_2 stg ltSortiesgt..image
txt stg ltRequêtegt...type_req
Fonct 1
Fichier neutre XML
Entrées _at_1 stg _at_2 stg
Sorties image txt stg
Requête Type_req
Ce qui est définit dans WIB
25Le rôle du fichier neutre (1)
- Le principe est de définir, par fonctionnalité,
un modèle de fichier XML qui prend en compte les
éléments demandés ou retournés par chacun des WS. - La personne qui ajoute le WS de manière guidée,
précise les noms des éléments à récupérer. - Le mapping va permettre au système de repérer les
données du Web Service par leur identifiant
propre et de les mettre en lien avec les types de
données du modèle générique.
26Le rôle du fichier neutre (2)
- Le fichier neutre permet de générer des classes
génériques compréhensibles par tout le
système. - Lors dune demande de service, les instances de
ces classes génériques sont créées et complétées
par les résultats des WS. - La couche dintégration peut alors traiter les
données pour les adapter aux supports.
27Modélisation Négociations - COM
28Négociation entre Intégration et transport
- Négociation sur les protocoles de Communication
(TCP, UDP, FTP, HTTP, HTTPS etc ) - Négociation faite en fonction des
caractéristiques utilisateurs, des données
échangées et de létat de la connexion (
Protocoles déployables à un instant t)
29Données dont on a besoin
- Couche Intégration
- Caractéristiques utilisateur
- Profils de transport
- Type des fichiers à échanger
- Couche Transport
- Protocoles de transport
- État de la connexion ( saturée, à capacité
réduite )
30Modélisation UML
31COMMUNICATION
32Communication - MDD
33Choix des langages
- Application serveur C
- Nombreuse classes pour traiter les Web Services,
SOAP et les fichiers XML. - Facilité pour développer, notamment lIHM.
- Portabilité restreinte univers Windows
(cependant il existe une plateforme .NET libre
Mono) - Application client Java
- Portabilité, car il existe des machines
virtuelles sur de nombreux types de supports
(Laptop, PDA, Smartphone,)
34Communication - ServeurTcp
- Travail de la semaine
- Création de la classe ServeurTcp en C
- Mise en place de multi-threading
- Gestion de plusieurs clients simultanément
- Possibilité de réaliser des actions et des
calculs différents pour chacun des clients - Création dune classe client en java
- Travail à venir
- Création des autres classes évoquées dans le
modèle de données - Négociation avec la couche Intégration pour
le choix du protocole à utiliser
35Lajout guidé de Web Services
- Ladministrateur ou la personne souhaitant
ajouter un web service va fournir des
informations sur ce web service au système via
une interface - Il fournira - entre autres - ladresse du fichier
wsdl, les noms des entrées et des sorties, la
requête à envoyer pour effectuer le traitement, - Ladministrateur pourra choisir ces informations
dans une liste créée par analyse du fichier wsdl
lajout dun WS est guidée.
36Exemple de WS
- http//www.amazon.com/AWS-home-pageMoney/b/refsmm
_sn_aws/1025618853246546?ieUTF8node3435361 - Remarque apparemment les requêtes aux web
services ne se font que par http
37Conduite de projet
- Semaine du 15/09 au 21/09
38Décisions importantes
39Points durs
40Suivi docs
41Synthèse du planning général
- Général étude de la charge, sécurité
- Revue du CDC besoin client, architecture
- Fonctionnalités-services traitement pour
lexécution dun service - Interface admin création de linterface pour
intégrer un web service - Base de données création et programmation
- Communication création et gestion des profils
de communication - Présentation adaptation des données résultats
au support - Bilan bilan général sur WIB et la gestion de
projet
42Planning septembre au 15/09
43Planning septembre au 21/09
44Retour sur planning
- Tâches non achevées
- Non livraison de la documentation
- Besoin client, architecture
- Non validation par léquipe
- Exigences qualité, modèle de traitement général
- Tâches non effectuées
- Informations attendues des prototypes
- Compatibilité des données échangées, définition
des caractéristiques utilisateurs à récupérer - Priorité mise ailleurs
- Définition des tests, etude de la charge
- Retard sur les fonctionnalités-services
- Dû au remaniement du principe général
- gt Plus de ressources (Claire, Vincent, Fanny)
45Autres retours
- Temps passé sur le thème transversal
- Données 3h
- Dictionnaire de données 4h
- Programmation affichage dune image en Java
- Temps utilisé
- 6jours 10heures
- Difficulté
- Java ne proposait rien de générique pour ce type
daffichage - Programme pas enregistré
- gt mettre en place un système de stockage des
programmes valides et commentés - Nécessité de mise à jour du blog