Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7041979
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T02:06:45+00:00 2026-05-28T02:06:45+00:00

Although this is a Java-centric question it really applies to any system utilizing a

  • 0

Although this is a Java-centric question it really applies to any system utilizing a multi-tier architecture.

In 3-tier architectures, you typically have 3 tiers:

  • A client/presentation tier where the client code lives; and
  • A middleware tier where business logic lives; and
  • A data/eis tier where the RDBMS and other data-heavy systems live

In Java land, for a web application, this might look like:

  • An application server, such as GlassFish running both the “web tier” (WARs comprising the client tier in a web app) as well as the “business tier” (EJBs, middleware, etc.); and
  • A RDBMS server embodying the data tier

In a virtualized/clustered environment, these applications (GlassFish, RBMBS such as Oracle or PostgreSQL, etc.) will run on VMs.

My question: What are the standard ways of allocating/distributing this 3-tier architecture across these VMs? Meaning, any one of the following “strategies” might be viable, but not preferential:

  1. One VM (let’s say all VMs are Ubuntu Servers so cost/price doesn’t factor into the equation) running both GlassFish and the RDBMS (all 3 tiers)
  2. Two VMs: an application server VM running GlassFish, and a database server VM running, say, PostgreSQL
  3. Three VMs: two app server VMs both running GlassFish, however 1 GlassFish instance is only running WARs (web tier) whereas the 2nd FlassFish instance is running the middleware/biz logic; then a 3rd DB server

Obviously if all the servers (all tiers) were running on the same VM, they may run faster or more efficiently because they wouldn’t be bogged down with network latency. But they’d be on the same VM, which needs I would need mega-hardware to support them. There might also be security concerns with this setup.

There will be pros/cons to each. I’m interested in what strategies would best accomplish the following goals: (1) maximizes throughput/speed, (2) is best suited for a clustered/cloud environment and (3) maximizes security.

Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T02:06:46+00:00Added an answer on May 28, 2026 at 2:06 am

    (1) maximizes throughput/speed,

    This depends entirely on your application. e.g the Database could be your bottle neck in which case what you in JVM does matter so much.

    (2) is best suited for a clustered/cloud environment

    If you are going to distribute your system, you are most likely to want to distribute your presentation layer. This is because the work they do is dependant on the number of clients and the work each client does is largely independent. (in the presentation layer)

    and (3) maximizes security.

    Having more VMs doesn’t guarantee improved security. Your JVM should be setup so the different applications running in it are pretty separate anyway. If you want to prevent denial of attack and your back end services are used by other systems, you may want to separate them otherwise, it doesn’t make much difference.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm new to enterprise Java development, although I'm sure this question equally applies to
I couldn't find a duplicate for this question for Java, although there are a
This question is about 64-bit Java apps in general, although I came upon it
I have a HashMap (although I guess this question applies to other collections) of
Although this question and this question are close to what I'm asking, I believe
This is a follow on from my previous question although this is about something
I commented earlier on this question (Why java.lang.Object is not abstract?) stating that I'd
Although String implements CharSequence, Java does not allow this. What is the reason for
Although this is FAQ i still couldn't find a suitable solution. I'd like to
I've seen this format used for comma-delimited lists in some C++ code (although this

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.