i wish to understand more about different ways to design a project. and also i would like to know how many different layered structures used in the industry. May be you could refer to some good docs on the web.
i am now working in a project which has a three layered architecture, begin
3) database, oracle tables procedures & triggers
it works like this, as the struts action receives the request it does some small logic and call the appropriate ejb using jndi. the ejb (99.99% stateless session beans) calls an appropriate class (dao???) which has only static methods that, this one opens the db connection using the datasource using jndi, does all db operations (calling procedures) and returns the results, regular pojos (VOs), to the ejb . the ejb, then, returns data to the web application.
in development environment we use two servers, one tomcat for the presentation and jboss for ejb codes. but in the live server with clustering facilities, they are deployed in a same server, being that the ejbs are not remotely deployed nor the web application. each time the server receives a request it goes to any one of the clusters through load balancing server. (this is what i know about)
having said that, does this kind of project arch requires ejb?
how to better improve the design of this project?
does the ejb call from the struts action goes through rmi/iiop? if so is it a overhead? improvements?
how may other ways are there to connect different layers?
how to cross verify/judge our project design/structure/architecture?
does this not effect the overall performance of the application itself?