3-Tier Architecture

C

Cris

I'm relatively new to Java, having spent most of my time working with
MS technologies. My company recently bought into J2EE/Unix (which we
are all very excited about), and wants to begin the process of
migrating our existing ASP/COM+ based web applications over to Java.
Our existing web app architecture is as follows:

* Web Server: ASP pages and COM+ proxy components
* App Server: Core COM+ components containing business and DB logic
* Database Server

My question: Are EJBs the only way to duplicate this type of 3-tier
environment when you're dealing with disparate servers like this? I've
read that EJBs often tend to be overkill; however, I don't see how you
can mimic this type of architecture with just JSPs, Servlets and
standard Beans. Is there a proxy mechanism with Java, similar to COM+,
where JSPs and Servlets running on the web server can remotely call
beans on the app server?

Any help is greatly appreciated.
 
B

bm

Read this article from IBM see if it is helpful
ftp://www6.software.ibm.com/software/developer/library/j-struts.pdf
 
G

Gerbrand van Dieijen

environment when you're dealing with disparate servers like this? I've
read that EJBs often tend to be overkill; however, I don't see how you
can mimic this type of architecture with just JSPs, Servlets and
standard Beans. Is there a proxy mechanism with Java, similar to COM+,
where JSPs and Servlets running on the web server can remotely call
beans on the app server?

Hello,

JDO seems a very good solution. I've recently developed with and it
easy to use and yet powerful, especially compared to EJB, or JDBC
with your own persistency management.
See http://www.jdocentral.com
Some JDO vendors provide remote persistencymanagers, for distributed
environments, although you could combine it with EJB too.
 
C

Cris

bm said:
Read this article from IBM see if it is helpful
ftp://www6.software.ibm.com/software/developer/library/j-struts.pdf

Thanks, both articles were very helpful; however, my question is more
related to our existing server architecture and how Java might fit.

My premature assumption on the subject is that there would be a
servlet container running on the web server to service JSP and Servlet
requests, and an EJB container running on the application server to
service business and database logic component requests from the web
server. Am I way off here? Is there an alternative to EJBs for
remotely accessing business logic components from the web server?

Forgive my ignorance; I'm fairly new to the Java world.
 
B

bm

You've got the big picture right. To do architectural design,
I believe you need to do a bit more studying. The three
technologies that you'd be using are EJB, JSP and servlets.
These books are very good.

EJB Design Patterns, Wiely, Feb 2002, by Floyd Marinescu, ISBN:
0-471-20831-0
Server-Based Java Programming, Manning, July 2000, by Ted Neward
- take a look at chapters 13 and 15
EJB & JSP Java on the Edge, Wiely, Oct 2001, by Lou Marco, ISBN:
0-764-54802-6

good luck
 
M

Michael Borgwardt

My premature assumption on the subject is that there would be a
servlet container running on the web server to service JSP and Servlet
requests, and an EJB container running on the application server to
service business and database logic component requests from the web
server. Am I way off here?

No, that's exactly the "traditional" J2EE three-tier architecture.
Is there an alternative to EJBs for
remotely accessing business logic components from the web server?

There are certainly alternatives; you could simply run a custom
Java application and have the web components contact it through RMI.
It all depends on whether you think the abstractions and services
provided by the EJB framework are worth the additional complexity.
 
A

Anton Spaans

Hi Cris,

This is what (in basic term) our product uses. It is a 3-tier J2EE
application.

-User communicates through HTTP with Front-End.
Tier 1- Front-End running on Web Server. Web Server communicates with ...
Tier 2- ... App Server through *stateless* EJB Session Beans. App Server
communicates with ...
Tier 3- ... Database through JDBC.

We wrote the SQL our selves, combined with a simple type of JDO
implementation (translating Java Objects into proper SQL statements). For
performance reasons, we did not use EJB Entity Beans and used 'plain' JDBC
instead.

Hope this helps.
 
M

Mike

You might check hibernate: www.hibernate.org
Worth exploring as another Object/Relational mapping way than EJB.
Simpler, Shorter, in good company with other impossible to ignore
product: XDoclet, Velocity or even Middlegen at www.sourceforge.net
Toplink, now at Oracle, www.oracle.com is also not completly to be
thrown at the dogs. or should I say wolves (so close to Halloween).

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top