General J2EE: Separating the J2EE layers
Hi..., In one of our application, we are planning to separate the Web Layer(Jsp/JSF) & deploy it on the Web Server. My question is , -what benefits does it provide having such separation? -When should we decide to separate it from the application server? - Which web server is stable enough to handle up to 10 thousand hits a day? Regards, P
- Posted by: Praveen Mohan Mohanan
- Posted on: February 27 2007 16:19 EST
I did work on an application once that was separated in this way between weblogic and tomcat. Tomcat can easily manage the throughput your talking about, as long as your not doing something bizarre. However, there are some issues to think about. If you separate the web/presentation layer into a separate VM, any communication between the two will need to be done over RMI or some other mechanism. That could affect performance as it usually means serializing objects. Object graphs may also need some consideration. Deployments are a bit more of a drag, as you have 2 servers to configure to talk to each other rather than just one. If you also have a dedicated http server like Apache, this will also need modding. Debugging alse becomes more of a drag, as you have to connect to two VM's in debugging not just one, and its harder to follow an execution chain. etc. If its best for you then I can't think of anything that made it a nightmare, but if you like to keep it simple, then perhaps using a single server would make this goal easier. If its performance you after, you could always cluster? Good luck. Ben http://www.benwilcock.net
what benefits does it provide having such separation?Separation of concerns I suppose. It may give you some deployment options you would not have had otherwise. You can also performance test the presentation layer and the business layer separately.When should we decide to separate it from the application server?Do it as soon as you can I suppose. You'll need to put time aside for re-configuring and re-organising everything and integration testing the split deployment. You'll probably also need a regression test to make sure nothing has broke.Which web server is stable enough to handle up to 10 thousand hits a day?I'd say Tomcat. It's been around for years, and its from good stock. It feels very stable and has good performance (INHO). Hope that answers you questions a little more directly. Ben http://www.benwilcock.net
Standard Approach. "Load Balancer"(software or hardware) | "Apache HTTP Server" | "(Jboss + Tomcat Server) or just (Tomcat)" you mention you want to handle load, that is "scaling out"..cluster the JBoss/Tomcat instances, "adding more nodes.." .