Data Transfer Object (DTO)

1/18
100%

<!-- 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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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...

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

<!-- Slide number: 10 -->

L’architecture

il s'agit d'un conteneur permettant le transport des informations métier.

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

![https://scontent-vie1-1.xx.fbcdn.net/hphotos-xft1/v/l/t34.0-12/12273000_471761922984599_530682621_n.jpg?oh=0ce32fd39762adb632ab10a8ddd623ea&oe=5655487E](Picture2.jpg)

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.

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

![https://scontent-vie1-1.xx.fbcdn.net/hphotos-xfp1/v/t34.0-12/12278168_471762182984573_1941777862_n.jpg?oh=37335e09e1aa35400962f595dc7d54fc&oe=5655672D](Picture2.jpg)

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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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

Réalisé par :Aouina Imen & Bali Wafa DSI31

Data Transfer Object (DTO)

Software Design Patterns · notes

Voir tous les documents en génie logiciel

<!-- 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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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...

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

<!-- Slide number: 10 -->

L’architecture

il s'agit d'un conteneur permettant le transport des informations métier.

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

![https://scontent-vie1-1.xx.fbcdn.net/hphotos-xft1/v/l/t34.0-12/12273000_471761922984599_530682621_n.jpg?oh=0ce32fd39762adb632ab10a8ddd623ea&oe=5655487E](Picture2.jpg)

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.

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

![https://scontent-vie1-1.xx.fbcdn.net/hphotos-xfp1/v/t34.0-12/12278168_471762182984573_1941777862_n.jpg?oh=37335e09e1aa35400962f595dc7d54fc&oe=5655672D](Picture2.jpg)

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

![http://static.commentcamarche.net/codes-sources.commentcamarche.net/faq/images/271a30b4pSoLeQpR-s-.png](Picture2.jpg)

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

Réalisé par :Aouina Imen & Bali Wafa DSI31