The application was deployable without any modifications - but the invocation didn't work. A minor DI bug prevented the injection of an EJB into a CDI managed bean:

java.lang.RuntimeException: No EjbLookup registry has been provided CDI @EJB injection
[field] @EJB com.abien.smokingservers.presentation.Index.fireStarter
at org.jboss.as.weld.services.bootstrap.WeldEjbInjectionServices.resolveEjb(WeldEjbInjectionServices.java:108)
at org.jboss.weld.util.Beans.injectEEFields(Beans.java:775)
at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:181)
at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:54)
at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:176)
at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:142)
at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:170)
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:339)

Injection of fields annotated with @EJB does not work in JBoss 7. It was used in two places in the ServerSmokeTest application. I just replaced all occurrences of @EJB with @Inject and after redeployment the application worked perfectly. It is a known problem and is going to be fixed in Jboss 7.0.1.

in the last 5 years I almost exlusively used JAX-RS (http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13) and Hessian (http://www.adam-bien.com/roller/abien/entry/ejb_3_1_hessian_almost) for the fat client communication. It worked perfectly. I wouldn't call Jboss 7 "useless". Actually it is very capable.