you can inject a remote EJB using @EJB.
How ? I tried putting an @EJB injection in the JSF backing beans, and only way I could get it to work was when the JSF app was deployed to bundled JBoss/Tomcat. Even then following annotation was required:
I believe this is JBoss specific and not portable.
Standalone Tomcat 6.0.13 ignored the @EJB annotation. I presume its a Tomcat limitation.
Even if I decide to settle on a bundled Tomcat/JBoss for my client tier and use a pure JBoss for my remote server, how do you steer Seam towards remote Session beans specified in action field of JSF page ? Where would you put @EJB(location of remote server) annotation ?
Its also not clear how Seam would obtain JPA entitity beans from remote server and inject them in JSF tier ?
Any details, tips hints would be appreciated.
I would like to move EJB tier to a remote server located behind a firewall away from Tomcat container on the web server. I thought this was pretty standard configuration for 3-tier applications.
Actually a firewall is not an adequate motivation for deploying web- and EJB containers on different servers. A firewall between a web server (Apache, IIS etc.) and JBoss Application server (Web- and EJB container) would be more appropriate.