begin process at 2012 02 14 09:36:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

IoC ou Service Locator


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

IoC ou Service Locator

vendredi 11 juillet 2008 à 01:19:11 | IoC ou Service Locator

LocalStone

Salut à tous,

Je suis (toujours) en stage, et j'ai (encore) besoin d'un petit conseil ...

Je pense que pour avoir une réponse à ma question, il faut d'abord que j'explique pourquoi je dois la poser ...

Je dois réaliser une application Web relativement importante (en taille ... On a une 50aine de tables). Pour éviter de réinventer la roue, j'ai décidé de passer pas mal de temps dans l'étude des divers framework existant ... Du coup, j'ai choisi d'utiliser Hibernate pour la persistance, les Facelets pour la vue et JSF pour orchestrer tout ce bordel. Jusque là pas trop de soucis.

Du coup, j'ai créé des classes à persister, des classes DAO pour accéder aux instances persistantes, des services pour la couche métier (même si je ne saisi pas trop la différence entre DAO et service pour l'instant) et des backing-beans pour effectuer les actions ... Jusque là, rien de folichon.

Le soucis, c'est que je me suis rendu compte que dans les best-practices d'Hibernate, l'idéal pour mon cas est de créer une session par requête, et 2 transactions : une pour l'écriture (création, modification ou mise-à-jour) et une pour la lecture. Et en fait, je suis obligé de faire ça, sinon j'ai pas mal de soucis (modification en base non répercutée sur les objets, etc.).

Du coup, je me suis renseigné, et il se trouve que le framework Spring permet régler soit disant de régler ce point. Ok ...

Mais maintenant que je me suis plongé dedans et je comprends mieux comment ça marche, il y a un point qui reste flou ... Pourquoi utiliser l'injection de dépendances (IoC) qui est quand même relativement lourde à mettre en place, alors qu'une simple classe statique ServiceLocator peut faire l'affaire ?

Globalement, dans mes backing-beans, c'est là que les services sont utilisés.  Du coup, si je fais de l'IoC, je dois modifier chaque classe et chaque configuration si pour telle ou telle raison je dois créer un nouveau service ... Et ça c'est plutôt lourd. A l'inverse, si je fais un registre ServiceLocator, il n'y a que cette classe que je dois changer ...

Donc voilà ma question ... Quel choix dois-je faire dans mon cas : sortir l'artillerie lourde avec l'IoC, seulement parce que tout le monde en parle sur le Net en disant que c'est l'avenir ?

Merci beaucoup pour votre aide ... Je pense qu'un vrai débat qui pourrait servir à d'autre débutant pourrait être très interessant !

LocalStone
mardi 15 juillet 2008 à 11:58:19 | Re : IoC ou Service Locator

Moucave

Salut,
il est vrai que Spring est coûteux à mettre en place, de même qu'hibernate est couteux à mettre en place (par rapport à du JDBC traditionnel).
En gros si tu appli comporte énormement d'objets à instancier et à gérer il est interressant d'utiliser Spring en travaillant par composition (pour essayer de découpler un max ton code et ne pas trop dépendre de Spring).Un des points interressant de Spring est justement le fait de pouvoir le coupler à hibernate et lui laisser la responsabilité de gérer les transactions (TransactionManager).

 Ensuite si ton apli reste somme toute assez modeste tu pourras te servire d'un BeanFactory et d'un serviceLocator tous deux faits maison.

Bon après tout dépend de ton appli et du fait de vouloir en faire un vitrine techno ou pas .

PS: Différence entre DAO et service : Le DAO vas te rapporter ta donnée brute de décoffrage de la BDD sans ne jamais appliquer de règle métier sur les données. La couches service elle appliquera toute transformation, ou règle de gestion nécessaire avant de retourner ton objet à tes backing-beans.

--- Moucave , petit singe au pays du j2ee  ---


Cette discussion est classée dans : service, classe, soucis, coup, ioc


Répondre à ce message

Sujets en rapport avec ce message

Web Service Axis et classes métier [ par nJohn ] Bonjour, J'ai développé un service web en Java sous Axis qui fonctionne avec des méthodes utilisant des types de base (int, boolean, ...). Le problème Classe JAVA en Service Windows. [ par CoreBreaker ] Bonjour,Quelqu'un saurait-il comment enregistrer un Thread ou une classe Java en Service Windows à l'aide d'une API Java? Le service pourrait être lan Ajout d'une classe dans un web service existant? [ par doudoubens ] Bonjour à tous , je suis entrain de travailler sur un projet open source qui utilise le web service avec Axis2,et je souhaite ajouter une classe que Urgent: problème de création d'un web service sous netbeans [ par ebenmous ] Bonjour, en fait j'ai un code java prêt qui fait l'alignement entre les ontologies, je veux implémenter ce code sous forme d'un web service, mon code je bosoin une aide sur cet sujet [ par sinyour055 ] 1-donner l'implémentation d'une classe Fichier. un fichier est décrit par nom,une taille,une date de dernière modification,un accès lecture,accès écri liste chainne en fichier [ par sinyour055 ] Bonjour, je vous écris ce message pour vous demander de l'aide, en fait j'ai un tp à faire en java et je ne sais pas comment le faire, j'ai besoin d'e Web service et jena [ par coolp ] Bonjour, j'ai un service web à l'intérieur du quel je manipule des ontologies et quand j'appelle ce service, un code d'erreur est généré qui est le su AIDE [ par codeibra ] j'ai 2 classe un si un serveur qu'il va consulter la base et pour rendre une reponce a un client (si un modèle d'authentification ) tt sa et bi1 passe verification sémantique diagramme de classe [ par MANO89 ] Bonjour, la comparaison des classes(nom du classe attribut et opération) et leur relation avec les concepts existé dans l'ontologie afin de vérifier l communication android web service [ par vicky77plus ] Salut tout le monde, j'essaye de faire une communication entre un client android et un web service en java, via un serveur d'application Jboss 4.2, ma


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,151 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales