I am starting with a project where i need to replace a legacy system written in c with a new one.It will be a simple read/update app, no processing for now. Technology requirements are to use JSF and oracle's WebLogic server. So the only thing i am keeping is the existing relational database (oracle). My goal is to create an OO design and implement it. I am a junior programmer. After some research i decided to carry on with the following design:
Browser <-------> JSF pages<--->JSF beans<--> EJBs <--> JPA <--->DB
the idea is to implement the GUI using JSF (PrimeFaces) pages and beans, and the back end using EJBs. I will use JPA (EclipseLink) as my Database Util. The OO approach will be based on the JPA entities design. It will use Weblogic's JTA to handle the DB interaction.
Due to my limited experience i have the following questions:
1) Is my design a good idea? Is there a simpler and more efficient way to do this?
2) As far as i know JPA entities are mapped to DB tables. This could ruin the OO approach because i have to create entities that include columns from multiple tables. My thought is to create parent entities using @MappedSuperclass annotation. Unfortunately i cannot change the DB design, it must be kept as it is.
I would appreciate some experienced opinions,
Thank you