You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Pae Choi <pa...@earthlink.net> on 2003/04/20 10:05:36 UTC
How Loosely Coupled or Clearly Seperated
First of all, my appologies if this has been asked before and discussed before.
I do clearly see the MVC pattern in the Struts framework, and I have no
problem to seperate the Web(e.g., JSP, ActionServlet, et. al.), Business
Service(e.g., Action -- The WHAT part), and Business Logic(e.g., JavaBeans
which takes care about the detail of HOW part) tiers on a single host.
Then, is Struts also capable to separate all above three tiers on three
separate machines. If not, is it capable to separate on two different
machines, e.g., Web tier on a machine and the Bus. Service and Bus.
Logic tiers on the other machine. But the machine running the either Bus.
Service or Bus. Logic tier or both tiers MUST not running the Web server
nor app. server.
Any comments?
Regards,
Pae
Re: How Loosely Coupled or Clearly Seperated
Posted by Pae Choi <pa...@earthlink.net>.
> Ask on user list.
This is more related to the design issue. Why would you think
this has to post the user list.
> Struts does not itself support distributed processing.
That's what I kinda expected.
> In general, this is a bad idea.
I wonder what determined you that the physical loosely-coupled model
is so bad about.
Thanks for your comment.
Pae
>
> .V
>
> Pae Choi wrote:
> > First of all, my appologies if this has been asked before and discussed
before.
> >
> > I do clearly see the MVC pattern in the Struts framework, and I have no
> > problem to seperate the Web(e.g., JSP, ActionServlet, et. al.), Business
> > Service(e.g., Action -- The WHAT part), and Business Logic(e.g.,
JavaBeans
> > which takes care about the detail of HOW part) tiers on a single host.
> >
> > Then, is Struts also capable to separate all above three tiers on three
> > separate machines. If not, is it capable to separate on two different
> > machines, e.g., Web tier on a machine and the Bus. Service and Bus.
> > Logic tiers on the other machine. But the machine running the either
Bus.
> > Service or Bus. Logic tier or both tiers MUST not running the Web server
> > nor app. server.
> >
> > Any comments?
> >
> > Regards,
> >
> >
> > Pae
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-dev-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org
Re: How Loosely Coupled or Clearly Seperated
Posted by Vic Cekvenich <vc...@basebeans.com>.
Ask on user list.
Struts does not itself support distributed processing.
In general, this is a bad idea.
.V
Pae Choi wrote:
> First of all, my appologies if this has been asked before and discussed before.
>
> I do clearly see the MVC pattern in the Struts framework, and I have no
> problem to seperate the Web(e.g., JSP, ActionServlet, et. al.), Business
> Service(e.g., Action -- The WHAT part), and Business Logic(e.g., JavaBeans
> which takes care about the detail of HOW part) tiers on a single host.
>
> Then, is Struts also capable to separate all above three tiers on three
> separate machines. If not, is it capable to separate on two different
> machines, e.g., Web tier on a machine and the Bus. Service and Bus.
> Logic tiers on the other machine. But the machine running the either Bus.
> Service or Bus. Logic tier or both tiers MUST not running the Web server
> nor app. server.
>
> Any comments?
>
> Regards,
>
>
> Pae
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org
Re: How Loosely Coupled or Clearly Seperated
Posted by Phil Steitz <ph...@steitz.com>.
Pae,
This is really a question for struts-user, so I am forwarding your
question and my response there. Don't know if this is the kosher thing
to do; but this discussion does not belong on struts-dev.
Pae Choi wrote:
> First of all, my appologies if this has been asked before and discussed before.
>
> I do clearly see the MVC pattern in the Struts framework, and I have no
> problem to seperate the Web(e.g., JSP, ActionServlet, et. al.), Business
> Service(e.g., Action -- The WHAT part), and Business Logic(e.g., JavaBeans
> which takes care about the detail of HOW part) tiers on a single host.
>
> Then, is Struts also capable to separate all above three tiers on three
> separate machines. If not, is it capable to separate on two different
> machines, e.g., Web tier on a machine and the Bus. Service and Bus.
> Logic tiers on the other machine. But the machine running the either Bus.
> Service or Bus. Logic tier or both tiers MUST not running the Web server
> nor app. server.
>
> Any comments?
>
To be used in the standard way, at least the struts actions and
controller have to be colocated. If the jsps are part of the same web
app, these need to be on the same box as well. What *can* be remoted is
the implementation of the business logic. Struts actions can invoke
remote EJBs, web services, RMI servers or anything else that they need.
You need to think carefully about doing this, however, and ask yourself
why you need to. Generally speaking, there are two kinds of reasons
that people give for splitting multi-tier distributed apps across
physical machines:
1) Security. More physical tiers => more places to insert firewalls and
to enforce ever more stringent access control. A "high-security"
multi-tier app using struts could use a pure HTTP server on the front,
separated by an internal firewall from the box that runs the servlet
engine hosting the struts controller, jsps and actions. Yet another
firewall could protect an EJB container running on another physical
tier. Even more protection might exist between the EJB container and the
enterprise data stores. Using |'s to represent firewalls, the setup
might look like this:
HTTP | Servlet/JSP (struts runs here) | EJB | EAI/database
This is an expensive setup in terms of hardware, configuration
management and performance (remote access is always slower).
2) Independent scaling and systems management. In high-volume settings
or large organizations where EJBs are heavily reused, it can be useful
to be able to manage the business tier independently from the web tier.
The setup above (maybe minus one or more of the firewalls) would allow
this as well.
So...bottom line is that struts will not limit you from physically
splitting your application across multiple machines; but you should
think carefully about how much "separation" you really need, since this
can be expensive.
-Phil
> Regards,
>
>
> Pae
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org