<!-- Slide number: 1 -->
DTO
Data Transfer Object
Réalisé par :Aouina Imen & Bali Wafa DSI31
<!-- Slide number: 2 -->
Plan
Introduction
Le pourquoi de DTO
Le quoi de DTO
L’architecture
Les avantages
Les inconvénients
Conclusion
<!-- Slide number: 3 -->
Introduction
La communication entre différents types d’application (web, windows, WPF, mobiles, etc) devient une nécessité
Importance du DTO pour la liaison entre ces différentes applications.
<!-- Slide number: 4 -->
Pourquoi
Exemple:
Un client souhaite récupérer des données en interrogeant des objets distants non facilement transportables sur le réseau.
Publicité
S’il utilise les accesseurs des classes des objets (getNom, getPrenom, getSalaire, getLieu…)
plusieurs appels distants sont nécessaires.
Solution:
Le client demande un objet qui contient toutes les valeurs dont il a besoin DTO
<!-- Slide number: 5 -->
C’est quoi DTO
DTO(Data Transfer Object)
Patron de conception utilisé dans les architecture logicielles objet.
structures de données qui véhiculent l'état des objets serveur sur le client et permettent également de remonter des informations à persister.
Assurer le découplage entre la couche de présentation et les objets métier stockés sur le serveur.
<!-- Slide number: 6 -->
C’est quoi DTO
utilisés pour:
transporter les données entre les différentes couches distantes
modifier un ou plusieurs objets distants (ou les données de la base de données)
Notes:
Un contrat de données est essentiellement une représentation neutre des données échangé entre composant.
<!-- Slide number: 7 -->
L’architecture

Architecture Web Services basé sur le design pattern DTO
Publicité
Notes:
Data layer =couche de données
Business layer= couche métier
<!-- Slide number: 8 -->
L’architecture

Ces deux composants s'occupe de toutes les fonctionnalités concernant l'accès aux données : récupération, ajout / modification / suppression.
Notes:
Nous ajouterons à chaque classe DTO la sérialisation XML qui permettra, la communication avec n'importe quelle plate-forme et n'importe quel langage.
<!-- Slide number: 9 -->
L’architecture
Il s'agit là d'un simple flux contenant des données génériques. Il existe nativement dans le framework .Net sous la forme de classes telles que: DataSet, DataReader...

<!-- Slide number: 10 -->
L’architecture
il s'agit d'un conteneur permettant le transport des informations métier.


Notes:
Nous ajouterons à chaque classe DTO la sérialisation XML qui permettra, la communication avec n'importe quelle plate-forme et n'importe quel langage.
<!-- Slide number: 11 -->
Publicité
L’architecture
Cette classe constitue le lien entre les DTO et les DO. Elle permet, via des méthodes statiques, la conversion d'un DTO vers un DO et inversement.


Notes:
Dans ce cadre là, nous pourrons facilement fournir un flux XML contenant des objets DTO. A l'inverse, nous pourrons interpréter facilement un flux XML en DTO
<!-- Slide number: 12 -->
L’architecture

Il ne nous reste donc plus qu'à donner l'accès aux données aux utilisateurs. Une couche Web Service se révèle idéale pour la situation. Celle-ci fera interface entre utilisateur et exécution des demandes.
<!-- Slide number: 13 -->
Avantages des DTO
Amélioration des performances.
Réduire le nombre d'appels distants.
Découverte d'objets métier pertinents.
Favoriser l'aptitude au test.
Notes:
Par exemple, on peut lire les DTO à partir d'un fichier XML et appeler des fonctions distantes pour le tester.
<!-- Slide number: 14 -->
Inconvénients des DTO
Risque de multiplication du nombre de classes.
Publicité
Si vous choisissez d'utiliser des DTO fortement typés, vous devrez peut-être créer un DTO pour chaque méthode distante Il peut devenir difficile d'encoder et gérer une telle quantité.
La génération de code automatique peut palier en partie à ce problème.
<!-- Slide number: 15 -->
Inconvénients des DTO
Calculs supplémentaires. Le fait de convertir un format de données sur le serveur en flux d'octets transportable sur le réseau, puis à nouveau en format objet dans l'application cliente, peut induire une surcharge assez importante.
Codage supplémentaire. Le DTO demande d'instancier un nouvel objet et d'appeler des méthodes d'obtention et de réglage pour chaque paramètre.
<!-- Slide number: 16 -->
Conclusion
DTO permet la liaison entre plusieurs types d’applications (application Windows, site web, service Windows...)
Il facilite le transfert de données sous forme d’objets.
Il facilite la communication entre les couche présentation et métier.
<!-- Slide number: 17 -->
Merci pour votre attention
<!-- Slide number: 18 -->
DTO
Data Transfer Object