This discussion is archived
3 Replies Latest reply: Mar 17, 2011 4:14 AM by 843585 RSS

[Newbie Question]: Multi-tenant web application architecture with JavaEE 6

843585 Newbie
Currently Being Moderated
Dear forum members:

As JEE newbie and working through appropriate introductory materials, I'm currently a little bit confused on how to realize the following architectural requirement which -- I guess -- falls into multi-tenant architectures+:

I'll need to build a Web service comparable to the now many Web 2.0 Online Website Builder* web apps (such as e.g. 'www.weebly.com') where endusers apply for becoming owners/admins of their assigned sub-level domain that partitions the available top-level domain (e.g., 'www.acme.com/tenant1/', 'www.acme.com/tenant2/', ...).
With each sub-level domain, the owner will obtain limited web space for publishing content (via web pages) and offering diverse installable/supported online services (e.g., items purchase service, event registration service, etc.). Furthermore, each owner will be able to choose/configure his appropropriate website template and theme from the supported ones.

Obviously, the primary functionality will at least be: server filesystem management, secured data storage & access, content publication, client request handling, etc.

My architectural questions mainly are:
1. How would an arch for this purpose look like in terms of JavaEE 6?
I.e., having in mind that in the long run N instantiations of the same app code but with particular configurations and data repositories (pages and content) will be running on the JEE Server (JBoss AS 6 or Glassfish 3.x):

1.a. Which/how much Controller Servlets will be necessary?

1.b. Is a separate "App Instance Installation Servlet" necessary?

1.c. Which static resources (e.g., app code) are sharable and therefore installed where on the server?

1.d. Which non-sharable resources will I (the installer Servlet) have to copy and/or install dynamically?
[How can I install new JEE Servlets or even whole JEE (web) apps *dynamically*?]


As I really need some help on these issues at the moment, I'd be very thankful for any clarifying explanations. Maybe some of you can provide me with an example or other helpful illustrations.
Thanks a million in advance.

Best regards
Sebastien
  • 1. Re: [Newbie Question]: Multi-tenant web application architecture with JavaEE 6
    843585 Newbie
    Currently Being Moderated
    Really no suggestions from the experts here?
  • 2. Re: [Newbie Question]: Multi-tenant web application architecture with JavaEE 6
    gimbal2 Guru
    Currently Being Moderated
    who says experts on your specific problem visit here?

    In any case your real problem is that you just don't know enough. So at this point you really cannot be helped. Study more and the answer will become clear to you in time. Or perhaps you'll realize you are attempting to use the wrong tool for the job...
  • 3. Re: [Newbie Question]: Multi-tenant web application architecture with JavaEE 6
    843585 Newbie
    Currently Being Moderated
    Hi gimbal2:

    The more "static" case of a JEE architecture that gets deployed once and handles just one tenant is quite obvious to me, I think.
    My difficulties came in with the necessity of more dynamism when handling more than one tenants and optimally NOT mixing up data of all the tenants in just one shared database (I mean ... even the case for handling 2+ tenants and storing all their data in just 1 database is quite obvious to me, at least theoretically at the moment).

    So, in 1st place, my question targeted at getting some advice which way to go on ... or in other words ...
    a brief sketch of the top-level component arrangement (top-level architecture) that is good practice for implementing an Online Website Builder web app in Java at the moment !?!
    gimbal2 wrote:
    [...] Study more and the answer will become clear to you in time. Or perhaps you'll realize you are attempting to use the wrong tool for the job...
    ...I thought experienced users could provide me either this feasibility or non-feasibility information and, in the former case, a brief description of a workable arch in a few "top-level sentences" to get me in the right direction and shorten study time a bit. Maybe I was wrong.

    Still hoping for some directional advice I rest with

    Kind regards
    Sebastien

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points