Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Architecture! Any Suggestions.

 
Rajesh Patel
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Currently our system is based on CORBA. We have servlets in the presentation layer and CORBA/Java objects in the business tier. DB2 in EIS tier. We are having tough time in maintaing them as the Servlets contain HTML code. And Business tier is tightly coupled with Business logic and data access. So, decided to revise our architecture. Here is our new proposed architecture.
1. Presentation Tier.
Use Struts Framework.
2. Business Tier.
Use POJOs & Hibernate.
Infrastructure:
WebSphere Application Server. (All containers collocated on a single machine/JVM).
My Questions:
1. Should we consider using EJBs instead of POJOs?
2. Should we introduce Session Bean facades to POJOs or let the presentation layer access POJOs directly?
3. Where do we implement Business logic? Session beans or POJOs?
4. How do we maintain User Session? Servlets or EJBs?
5. In future if we want to give access to remote clients, how do we do it?
Thanks
-Rancher
 
Marcos Maia
Ranch Hand
Posts: 977
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Rancher:

1. Presentation Tier.
Use Struts Framework.
2. Business Tier.
Use POJOs & Hibernate.

I believe this is a really good solution. I've used Hibernate and Strust in some projects and I like them a lot
Originally posted by Rancher:

My Questions:
1. Should we consider using EJBs instead of POJOs?
2. Should we introduce Session Bean facades to POJOs or let the presentation layer access POJOs directly?
3. Where do we implement Business logic? Session beans or POJOs?
4. How do we maintain User Session? Servlets or EJBs?
5. In future if we want to give access to remote clients, how do we do it?

1. and 2. I think this is a good idea and using a session bean as a facade will already solve the problem from question 5, as u may acess the services remotely using either the remote bean interface or even implementing web services on top of your session bean.
3. I believe the better idea using this architecture is implement the buz. logic on POJOs and using the facade to access them.
4. This really depends on the clients you're gonna have for u'r application. If u're gonna have only web clients my suggestion is implement the session on top of web container and use only stateless session beans.
You should also consider that there's no standard support for building webservices on top of statefull session beans.
5. Look answer for q.1and2 above.
regards.
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Pie
Posts: 11914
209
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"Rancher"
Welcome to JavaRanch. We don't have many rules, but one we do have is the JavaRanch Official Policy on Displayed Names. We need you to display a real name. Can you please update your profile to meet this requirement? You can change your displayed name here.
For the benefit of others interested in this topic, I have closed a duplicate in the SCEA forum. In that, there was the following question:
Originally posted by Rufus BugleWeed:
How many concurrent user do you expect?
Is your business transaction intensive?
Do you foresee 2 phase commits?
What are your security requirements?
The name police are going to rebuke you "rancher"...

With the response:
Originally posted by Rancher:

Users: 1000.
Transaction intensive: No
Two Phase Commit: No
Security: As secured as possible.
-Rancher

Regards, Andrew
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Pie
Posts: 11914
209
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Patel,
Please read the JavaRanch Official Policy on Displayed Names. You do need to display both a first and a last name. You can change your displayed name here.
Thanks and regards,
Andrew
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic