Sure depends on the particular use case in question. However, I would be hard pressed to use entity beans. Especially if DB interaction is high, it may affect your performance. Besides you are gonna use this in webservice. If you are using Document centric message style, you will be doing your own XML conversion from the data returned. A Session bean with either direct
JDBC call coupled with Javebean style DTO's, will porbably scale well. If database independence is not a requirement, then I might also look into the possibility of using stored procedure and calling it from Session bean. That way you can exploit DB specific features ( analytical functions, DECODE, DATE FORMATS in case of Oracle ) and return a result set back to session bean.