I've been writing about when JSPDynPage and WebDynpro are better for WebApplications in /thread/33637 [original link is broken]
The point that I'm not sure of is, if WebDynpro and EJB must be on the same server or if WebDynpro could access EJB on other servers?
I suppose you have doubts about this scenario: You have a WebDynpro app that will be deployed to Web AS instance A and that has to access an EJB that will be deployed to Web AS instance B, whereas A and B don't form a cluster.
Well, in general you can do it - lookup the EJB and call its methods remotely. In this case you may want to have a look at <a href="http://help.sap.com/saphelp_nw04/helpdata/en/8b/2e2c4142aef623e10000000a155106/frameset.htm">this document</a> - there is a special property "force_remote" which must be specified when constructing the JNDI InitialContext.
However, for performance reasons I'd suggest you to deploy both apps on the same Web AS instance and make use of EJB local interfaces. Thus you benefit from local method invocation (i.e. in the same JVM), no need of routing to another Web AS dispatcher, no need of method parameters serialization and deserialization, and so on and so on.
Hope that was of help!