J'ai un projet dans lequel mon client me demande d'utiliser Portlets 1.0 Spec et WebSphere Portal Server 6.0. Je n'ai pas travaillé avec des portlets avant, mais ce que j'ai entendu parler d'eux a toujours été de mauvaises critiques. Quelles sont les raisons de l'évidence de les utiliser? Si ce n'est pas des raisons, quels arguments pourrais-je utiliser pour les éviter? P>
3 Réponses :
Les portlets sont attrayants pour une entreprise en raison de la promesse de flexibilité, vous permettez aux clients de modifier et de réorganiser des composants sur la page, et si vous servez principalement de contenu, ils constituent un moyen efficace de le faire. P>
Dans mes portails d'opinion conviennent bien aux portails d'agrégation d'agrégation de contenu pur, fonctionnellement indépendant ou simplement associé (par exemple lorsque vous choisissez un élément à partir d'une liste dans un portlet, vous mettez à jour une autre pour afficher les détails). Les portlets peuvent également activer la réutilisation, car vous pouvez les configurer dans plusieurs pages / emplacements assez simplement. P>
Lorsque les problèmes peuvent commencer, c'est lorsque vous essayez de décomposer des fonctions commerciales complexes avec plusieurs étapes et interactions. Dans ce scénario, déterminer la granularité des portlets est plus un art que la science et une attention particulière doit être accordée aux interactions entre les portlets. P>
Vous devez également envisager la flexibilité de l'interface utilisateur. Si vous avez un ensemble de blocs de bâtiments de portlet, votre entreprise doit être claire qu'elle peut réorganiser ces blocs, mais les articles en mouvement entre les portlets impliquent une réécriture. Par exemple, déplacer le bouton d'envoi d'un portlet vers le bas de la page n'est pas trivial. P>
Donc, en résumé, je suppose que cela dépend de ce que vous essayez de faire et de la quantité de réutilisation des composants. Il peut être plus simple de gérer la réutilisation en créant des composantes techniques qu'elle construites dans des servlets ou que des portlets sont parfaits pour votre entreprise. Il n'y a pas de bonne réponse, il suffit de considérer avec précaution ce que vous essayez de réaliser. Si vous décidez des portlets, vous devez adopter le cycle de vie complet et éviter toute tentation de travailler autour d'eux, vous pouvez rapidement vous retrouver dans un mauvais endroit avec tous les frais généraux et les restrictions de portefeuilles, sans pouvoir réaliser les avantages. p>
Les problèmes que j'ai avec des portlets me rappellent les mêmes problèmes que les EJBS- P>
Je suggérerais quelque chose comme Google Gadgets en tant qu'hibernate à EJB du portlet - p>
Comme quelqu'un qui a eu plusieurs emplois (y compris mon actuel) développe des portlets Java, je dirais que je ne les utiliserais pas. P>
Voici le problème: P>
Si vous vouliez simplement utiliser la fonctionnalité préexistante du portail, vous choisissez, utilisez un portail. P>
Si votre utilisation de portlets est simplement de construire un tableau de bord Web petit, léger, principalement en lecture seule sur le Web, où vous pouvez regarder rapidement des informations disparates, alors c'est bien. P>
Mais si vous (ou plus susceptibles que quelqu'un soit plus haut sur le graphique Org) pense aux portlets comme moyen de mettre un groupe de différentes applications Web sur une page et de faire tout ce que vous «travaillez», alors vous êtes dirigé vers un monde de blessures. Les portlets sont des îles de fonctionnalité fortement restreintes et autonomes, et non des applications Web dans de minuscules carrés sur une page. P>
Chacun de mes emplois à base de portlet a fait cette erreur et il n'y a pas de lumière au bout du tunnel. En tant que développeur de portlet, voici une petite liste de choses que vous avez utilisées dans des applications Web régulières, que vous ne pouvez pas faire de manière fiable dans des portlets: P>
Les portlets se sentent comme si elles étaient conçues pour l'état de développement Web telle qu'elle était au milieu de la fin des années 90 (pré-Ajax). Mais ils sont mal adaptés aux environnements de développement Web d'aujourd'hui (AJAX, Applications Web riches en une seule page, etc.) qui supposent que vous disposez d'un contrôle complet du cycle de demande / de réponse. P>