File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes OO, Patterns, UML and Refactoring and the fly likes Project Architeture Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Project Architeture" Watch "Project Architeture" New topic

Project Architeture

az ziz
Ranch Hand

Joined: Dec 17, 2008
Posts: 50
dear all,

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
1) presentation, html javascript with struts
2) business layer, ejb jdbc jndi
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?

Thanks a lot and lot,

Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
The J2EE Programming model consists of:

Presentation Tier - here is where presentation/display/GUI controls logic goes, e.g. Struts Controller including it's Actions, Flash modules, WAP code, HTML forms, graphics, etc.

Business Tier - here is where business logic goes, e.g. POJO objects, Enterprise JaveBeans, DAO objects, etc.

Integration Tier - here is where the other systems are, e.g RDBMS, EIS, Cobol apps, Perl code, Shell Scripts, Web Services, etc.

Processing calls go downward, and data is returned upwards.

subject: Project Architeture
It's not a secret anymore!