Des beans PSSB et PRSB peuvent fournir directement une interface à une infrastructure de serveur éloignée pour les invocations de méthodes éloignées (ou en local s'il s'agit de la même machine virtuelle Java côté serveur). Toutefois, les programmeurs préfèrent souvent posséder une façade unique pour tous ces types de bean de la fonction de partitionnement avec une implémentation serveur chargée d'exécuter les fonctions des beans PSSB et PRSB. Cela ne s'applique pas qu'aux programmeurs d'EJB mais également à l'implémentation de servlets, par exemple : pour effectuer cette implémentation, l'exemple WPFFacadePartitionSample est disponible.
Cet exemple permet de mettre en mémoire cache l'interface home éloignée d'un exemple de bean PSSB et fournit une implémentation de méthode unique et non routable qui exécute la méthode du bean PSSB sur la machine virtuelle Java du serveur. Le code source est inclus dans le fichier WPFFacadePartitionSample.ear.
Cette méthode présente un avantage. Si le client utilise uniquement une interface Façade et que la partie du routage client PSSB/PRSB est exécutée dans l'infrastructure du serveur, la fonction de routage globale est plus rapide car les informations relatives à l'état du routage client n'ont pas à être téléchargées et mises en mémoire cache sur la machine virtuelle Java qui émet la demande. Par exemple, l'exemple WPFKeyBasedPartitionSample.ear du client (WPFKeyBasedPartitionClient.java) utilise l'interface JNDI et instancie directement l'instance home du bean PSSB pour créer une instance. Chaque invocation de méthode éloignée sur l'instance implique que la machine virtuelle Java du client collecte des informations de routage, les télécharge et les place en mémoire cache. La procédure de téléchargement peut ralentir les performances de l'implémentation du client (les données de routage sont placées en mémoire cache et stockées en mémoire dans les deux cas ; Il n'y a donc pas d'économies dans l'utilisation de la mémoire). Lorsque votre solution comporte des milliers de partitions et de nombreux clients associés à des machines virtuelles Java distinctes, des goulets d'étranglement peuvent apparaître lors du transfert d'informations volumineuses. Dans la mesure du possible, il est conseillé d'éviter cette procédure.
Les deux approches (avec ou sans interface façade) sont prises en charge et peuvent s'avérer utiles dans certains scénarios.
Related concepts
Présentation de l'EJB partitionné