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?