First, from a purely architectural point of view, EJBs are used to create distributed applications, web services are an integration technology, and they do not compete with each other. In your case, EJB would be a natural choice (we are talking about EJB3, right?) And session beans scale is very good.
Secondly, if the server code is used only to extract data from the database and to save the results after calculation on the client side, then the application server will most likely not be the bottleneck, the database will be. In other words, nothing to worry about.
So, since your clients are all 100% Java clients, I just expose a stateless beans 1 session and avoid the overhead of SOAP / XML marshaling / swinging and writing WSDL (if one day you need to expose your services to web services , it's still possible and easy).
1 Using JPA or something else to access data is up to you.
source share