Bonjour,
Je crée un application type client/serveur avec un serveur java EE et un client lourd java, j'utilise JPA pour la persistance. Je serai probablement amené à développer d'autre type de client pour cette application.
Je me pose plusieurs questions sur la meilleur manière façon d'échanger des données avec l'application client. J'ai lu pas mal de choses sur le sujet mais beaucoup qui se contredisent.
On parle souvent d'utiliser des DTO pour faire circuler les données mais dans mon cas, la plus part du temps, les DTO ont exactement la même structure que mes Entity (les annotations en moins). Je trouve donc dommage de faire le boulot deux fois et surtout de devoir modifier à deux endroit différent dès que quelque chose change. (Ou peut-être ai je une mauvaise conception de ce que doit être un DTO).
Je me demande donc quelle pourrait être les problèmes si j'utilise directement les Entity pour transférer les données. ( Ce qui implique donc d'inclure mon projet JPA dans mon projet "client").
Pour clarifier un peu, voici un exemple de ce que je voudrais faire :
Est-ce que cela peut être considéré comme une mauvaise pratique? Est ce que ça peut engendrer des problèmes d'évolutivité pour l'application?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Entity public class Person{ @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String firstName; private String lastName; } @Remote public interface PersonRemote { public Person getPersonByName(String name); }
Pour le moment, le projet est assez simple mais il devrait beaucoup se développer dans les années à venir.
N'étant pas un professionnel du développement, j'aimerais avoir l'avis de développeurs expérimentés.
Merci d'avance pour vos réponses.
Partager