I suppose "on Tomcat" you mean Tomcat server doing a remote EJB invocation that is running on the JBoss and you are comparing this to local calls?
You should take a look at remoting-jboss-beans.xml and look at pool sizes and try to tune them to get better numbers.
Check out this document for more help https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/5/html/Performance_Tuning_Guide/sect-Performance_Tuning_Guide-Remote_EJB_Clients.html