Bonjour,
Ce message pour vous demander vos éventuels retours d'expérience sur
ce sujet et votre avis sur ce que je voudrais implémenter.
Ma couche présentation fait appel à des services se trouvant sur ma
couche métier. Cette dernière analyse le résultat du service,
notamment dans le cas où celui ci renvoie des erreurs. Le problème,
c'est que pour chaque erreur, je voudrais mettre en évidence un ou des
champs saisis par l'utilisateur. Comment faire convenablement un lien
entre erreur de la couche métier et objet de la couche de
présentation? Est ce utopique?
Merci d'avance pour vos réponses et avis,
Olivier
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Valdo Tschantre
Olivier wrote:
Bonjour, Ce message pour vous demander vos éventuels retours d'expérience sur ce sujet et votre avis sur ce que je voudrais implémenter. Ma couche présentation fait appel à des services se trouvant sur ma couche métier. Cette dernière analyse le résultat du service, notamment dans le cas où celui ci renvoie des erreurs. Le problème, c'est que pour chaque erreur, je voudrais mettre en évidence un ou des champs saisis par l'utilisateur. Comment faire convenablement un lien entre erreur de la couche métier et objet de la couche de présentation? Est ce utopique? Merci d'avance pour vos réponses et avis, Olivier
De façon général, il est préférable d'éviter les erreurs et autres exceptions... n'est-il pas ;) ?
Ce faisant, je pense qu'il faut dans un premier temps se poser la question autrement: comment faire en sorte que la couche présentation ne provoquera pas d'erreur dans la couche application ? Dans le cas de saisies de donnée on peut utiliser un parseur pour valider ces données avant de faire appel à la couche application. Ce parseur pourrait faire appel à des fonctionnalités de la couche application du type objetApplication.isValide(uneDonnée)...
Exemple: Si je veux créer un nouvel utilisateur, je ne peut pas lui donner un nom déjà existant. Avant donc de demander la création de ce nouvel utilisateur à ma couche application, je lui demande si ce nouvel utilisateur n'existe pas déjà. Si il n'existe pas, je fait appel au service de création, si non, je retourne un message d'erreur sur la saisie du nom.
Cependant, il est possible qu'une erreur indépendante de la demande de la couche présentation soit malgrais tout levé dans la couche application - pour exemple, si cette dernier avait besoin d'une connexion réseaux inconnu de la couche présentation et que cette connexion eu été perdu... Ce type d'erreur n'étant pas de la responsabilité de la couche présentation, cette dernière n'est pas habilité à en connaître les détailles - qu'en ferait-elle ? La seul information pertinente à son niveau est de savoir que sa demande n'a pas pu être honoré ("contacter votre administrateur" ;) ). Dans ces cas là, la mise en place d'un log serait le bien venue.
Pour résumer: - le client doit tout mettre en oeuvre pour éviter les erreurs... de sa responsabilité. - le service doit tout mettre en oeuvre pour permettre au client d'éviter les erreurs. - le service doit prévenir son client d'une erreur dans la mesure des responsabilités de ce client.
Bonne chance ;)
Valdo.
Olivier wrote:
Bonjour,
Ce message pour vous demander vos éventuels retours d'expérience sur
ce sujet et votre avis sur ce que je voudrais implémenter.
Ma couche présentation fait appel à des services se trouvant sur ma
couche métier. Cette dernière analyse le résultat du service,
notamment dans le cas où celui ci renvoie des erreurs. Le problème,
c'est que pour chaque erreur, je voudrais mettre en évidence un ou des
champs saisis par l'utilisateur. Comment faire convenablement un lien
entre erreur de la couche métier et objet de la couche de
présentation? Est ce utopique?
Merci d'avance pour vos réponses et avis,
Olivier
De façon général, il est préférable d'éviter les erreurs et autres
exceptions... n'est-il pas ;) ?
Ce faisant, je pense qu'il faut dans un premier temps se poser la
question autrement: comment faire en sorte que la couche présentation ne
provoquera pas d'erreur dans la couche application ? Dans le cas de
saisies de donnée on peut utiliser un parseur pour valider ces données
avant de faire appel à la couche application. Ce parseur pourrait faire
appel à des fonctionnalités de la couche application du type
objetApplication.isValide(uneDonnée)...
Exemple: Si je veux créer un nouvel utilisateur, je ne peut pas lui
donner un nom déjà existant. Avant donc de demander la création de ce
nouvel utilisateur à ma couche application, je lui demande si ce nouvel
utilisateur n'existe pas déjà. Si il n'existe pas, je fait appel au
service de création, si non, je retourne un message d'erreur sur la
saisie du nom.
Cependant, il est possible qu'une erreur indépendante de la demande de
la couche présentation soit malgrais tout levé dans la couche
application - pour exemple, si cette dernier avait besoin d'une
connexion réseaux inconnu de la couche présentation et que cette
connexion eu été perdu... Ce type d'erreur n'étant pas de la
responsabilité de la couche présentation, cette dernière n'est pas
habilité à en connaître les détailles - qu'en ferait-elle ? La seul
information pertinente à son niveau est de savoir que sa demande n'a pas
pu être honoré ("contacter votre administrateur" ;) ). Dans ces cas là,
la mise en place d'un log serait le bien venue.
Pour résumer:
- le client doit tout mettre en oeuvre pour éviter les erreurs... de sa
responsabilité.
- le service doit tout mettre en oeuvre pour permettre au client
d'éviter les erreurs.
- le service doit prévenir son client d'une erreur dans la mesure des
responsabilités de ce client.
Bonjour, Ce message pour vous demander vos éventuels retours d'expérience sur ce sujet et votre avis sur ce que je voudrais implémenter. Ma couche présentation fait appel à des services se trouvant sur ma couche métier. Cette dernière analyse le résultat du service, notamment dans le cas où celui ci renvoie des erreurs. Le problème, c'est que pour chaque erreur, je voudrais mettre en évidence un ou des champs saisis par l'utilisateur. Comment faire convenablement un lien entre erreur de la couche métier et objet de la couche de présentation? Est ce utopique? Merci d'avance pour vos réponses et avis, Olivier
De façon général, il est préférable d'éviter les erreurs et autres exceptions... n'est-il pas ;) ?
Ce faisant, je pense qu'il faut dans un premier temps se poser la question autrement: comment faire en sorte que la couche présentation ne provoquera pas d'erreur dans la couche application ? Dans le cas de saisies de donnée on peut utiliser un parseur pour valider ces données avant de faire appel à la couche application. Ce parseur pourrait faire appel à des fonctionnalités de la couche application du type objetApplication.isValide(uneDonnée)...
Exemple: Si je veux créer un nouvel utilisateur, je ne peut pas lui donner un nom déjà existant. Avant donc de demander la création de ce nouvel utilisateur à ma couche application, je lui demande si ce nouvel utilisateur n'existe pas déjà. Si il n'existe pas, je fait appel au service de création, si non, je retourne un message d'erreur sur la saisie du nom.
Cependant, il est possible qu'une erreur indépendante de la demande de la couche présentation soit malgrais tout levé dans la couche application - pour exemple, si cette dernier avait besoin d'une connexion réseaux inconnu de la couche présentation et que cette connexion eu été perdu... Ce type d'erreur n'étant pas de la responsabilité de la couche présentation, cette dernière n'est pas habilité à en connaître les détailles - qu'en ferait-elle ? La seul information pertinente à son niveau est de savoir que sa demande n'a pas pu être honoré ("contacter votre administrateur" ;) ). Dans ces cas là, la mise en place d'un log serait le bien venue.
Pour résumer: - le client doit tout mettre en oeuvre pour éviter les erreurs... de sa responsabilité. - le service doit tout mettre en oeuvre pour permettre au client d'éviter les erreurs. - le service doit prévenir son client d'une erreur dans la mesure des responsabilités de ce client.
Bonne chance ;)
Valdo.
pierre
Il y a plusieurs manières de faire. Le plus souple en terme de réutilisation semble la suivante. Ta couche présentation est représentée par un objet (une forme sous struts). A chaque forme TotoForm tu crés un objet de controle par exemple TotoFormCtrl. Cet objet fait appel champs par champs à des objets métiers de controle. Il peut en effet y en avoir plusieurs (ctrl client, ctrl commande, ...) dans une même forme. Tu peux ainsi ré-utiliser les controles métiers dans plusieurs forms. TotoFormCtrl connait à la fois la forme et les objets métiers. Il peut gérer la levée d'exception du métier et l'associer à un champs. La mécanique précise dépend de ta couche client (Swing, struts, ... ou autre). Cette technique est peu verbeuse, je dois l'admettre mais efficasse en terme de réutilisation. J'ai supposé ici que les controles sont des controles de saisies. Une fois ceux-ci effectués, tu peux appliquer les actions métiers (Calcul de la commande par exemple). Si jamais une exception est levée à ce momoent là, c'est généralement qu'il y a un problème grave, ou une exception générique ....
En espérant que cela peux t'aider ... Pierre.
Olivier wrote:
Bonjour, Ce message pour vous demander vos éventuels retours d'expérience sur ce sujet et votre avis sur ce que je voudrais implémenter. Ma couche présentation fait appel à des services se trouvant sur ma couche métier. Cette dernière analyse le résultat du service, notamment dans le cas où celui ci renvoie des erreurs. Le problème, c'est que pour chaque erreur, je voudrais mettre en évidence un ou des champs saisis par l'utilisateur. Comment faire convenablement un lien entre erreur de la couche métier et objet de la couche de présentation? Est ce utopique? Merci d'avance pour vos réponses et avis, Olivier
Il y a plusieurs manières de faire.
Le plus souple en terme de réutilisation semble la suivante.
Ta couche présentation est représentée par un objet (une forme sous struts).
A chaque forme TotoForm tu crés un objet de controle par exemple
TotoFormCtrl.
Cet objet fait appel champs par champs à des objets métiers de controle.
Il peut en effet y en avoir plusieurs (ctrl client, ctrl commande, ...)
dans une même forme. Tu peux ainsi ré-utiliser les controles métiers
dans plusieurs forms.
TotoFormCtrl connait à la fois la forme et les objets métiers. Il peut
gérer la levée d'exception du métier et l'associer à un champs.
La mécanique précise dépend de ta couche client (Swing, struts, ... ou
autre).
Cette technique est peu verbeuse, je dois l'admettre mais efficasse en
terme de réutilisation.
J'ai supposé ici que les controles sont des controles de saisies. Une
fois ceux-ci effectués, tu peux appliquer les actions métiers (Calcul de
la commande par exemple). Si jamais une exception est levée à ce momoent
là, c'est généralement qu'il y a un problème grave, ou une exception
générique ....
En espérant que cela peux t'aider ...
Pierre.
Olivier wrote:
Bonjour,
Ce message pour vous demander vos éventuels retours d'expérience sur
ce sujet et votre avis sur ce que je voudrais implémenter.
Ma couche présentation fait appel à des services se trouvant sur ma
couche métier. Cette dernière analyse le résultat du service,
notamment dans le cas où celui ci renvoie des erreurs. Le problème,
c'est que pour chaque erreur, je voudrais mettre en évidence un ou des
champs saisis par l'utilisateur. Comment faire convenablement un lien
entre erreur de la couche métier et objet de la couche de
présentation? Est ce utopique?
Merci d'avance pour vos réponses et avis,
Olivier
Il y a plusieurs manières de faire. Le plus souple en terme de réutilisation semble la suivante. Ta couche présentation est représentée par un objet (une forme sous struts). A chaque forme TotoForm tu crés un objet de controle par exemple TotoFormCtrl. Cet objet fait appel champs par champs à des objets métiers de controle. Il peut en effet y en avoir plusieurs (ctrl client, ctrl commande, ...) dans une même forme. Tu peux ainsi ré-utiliser les controles métiers dans plusieurs forms. TotoFormCtrl connait à la fois la forme et les objets métiers. Il peut gérer la levée d'exception du métier et l'associer à un champs. La mécanique précise dépend de ta couche client (Swing, struts, ... ou autre). Cette technique est peu verbeuse, je dois l'admettre mais efficasse en terme de réutilisation. J'ai supposé ici que les controles sont des controles de saisies. Une fois ceux-ci effectués, tu peux appliquer les actions métiers (Calcul de la commande par exemple). Si jamais une exception est levée à ce momoent là, c'est généralement qu'il y a un problème grave, ou une exception générique ....
En espérant que cela peux t'aider ... Pierre.
Olivier wrote:
Bonjour, Ce message pour vous demander vos éventuels retours d'expérience sur ce sujet et votre avis sur ce que je voudrais implémenter. Ma couche présentation fait appel à des services se trouvant sur ma couche métier. Cette dernière analyse le résultat du service, notamment dans le cas où celui ci renvoie des erreurs. Le problème, c'est que pour chaque erreur, je voudrais mettre en évidence un ou des champs saisis par l'utilisateur. Comment faire convenablement un lien entre erreur de la couche métier et objet de la couche de présentation? Est ce utopique? Merci d'avance pour vos réponses et avis, Olivier