I have a legacy application built on Java, JSF, EJB & JDBC. I have Business logic layer (BLL) implemented as Stateless session beans & Data Access Layer (DAL) layer having DAO using JDBC.

 

JSP – JSF Backing bean – Business delegate – Stateless Session Bean – DAO – JDBC

 

Now, I would like to abstract and reuse the existing BLL & DAL layers and expose web service interfaces with maximum reuse of existing code. This is because I need to allow these services to be used by different mobile devices.

 

1)      What are the best practices and design consideration I need to take care of?

2)      How I can ensure maximum code reuse?

3)      I am more inclined towards using RESTful web services instead of Soap based webservices. What are the issues/risks, I need to take care of?

 

Any pointers are greatly appreciated.