Architecture advice:communication between web and business tiers

Discussions

General J2EE: Architecture advice:communication between web and business tiers

  1. Hi, We are currently using one big JEE Websphere server which contains the presentation tier (based on servlet and MVC) and the business tier (service oriented architecture with Spring). Our problem is that this server is used by other web applications, and we want to separate the presentation (which must stay on this server) from the business tier (which provides also web services). What is, for you, the best solution to implement the communication between the two parts of the application (RMI? Web service? Hessian? JMS ?) ? Since the business tier must be monitored, we want to deploy this part on another JEE Websphere server, is there another better solution (not another JEE server, but another infrastructure)? Thanks for your advices ! Cyril
  2. Your solution needs to take into account the coupling between your current presentation tier and business tier. If they are tightly coupled, use an RMI based solution to keep the overheads to a minimum. You should aim to use SOA with a SOAP front end and keep coupling between your 'new' systems and your business code loose. Avoid synchronous message exchanges because they will cause problems when your business tier becomes heavily loaded.
  3. I would suggest Web Services route. No hard time in RMI maintenance. And you can decide whether to make then synchronous or asynchronous depending upon the system needs. And you can make the services more generic , so they may cater for more than one application in future.
  4. Thanks for your answers!
  5. Web services for *new* absolutely, if analysis says it is appropriate. For the existing system, you must analyse the interactions between the front end and back end to decide what to do. If the front end is tightly coupled to the back end, web services are not appropriate - in that situation you'd use an RMI based solution. Don't automatically adopt web services for everything without assessing the impact - that way leads to pain... Phil Haigh Technical Architect, EDS
  6. Your solution needs to take into account the coupling between your current presentation tier and business tier. If they are tightly coupled, use an RMI based solution to keep the overheads to a minimum. You should aim to use SOA with a SOAP front end and keep coupling between your 'new' systems and your business code loose. Avoid synchronous message exchanges because they will cause problems when your business tier becomes heavily loaded.
  7. Shouldn't using Web Service inside your corporation be an overkill? In my opinion Web Service / SOA is good at B2B integration. Web Service is a high level service built on top of HTTP / SMTP / JMS. Why do you bother to use Web Service between your intr-application modules if you can just simply use RMI or JMS? Not to mention the verbose XML data and the extra layer cost the Web Serivce incurs