This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
our mission is to design a classic web/servletcontainer + ejbserver + database application.
In order to provide maximum future flexiblity for support of multiple client types, maximum interoperability, I chose to represent all services provided on the EJB container as web services. The "normal" way to do this, is by publishing th web services backed by the ejb�s at servlet-container level.
Now: imagine we want to change web server in the future, and the server doesnt support servlets. It is a php-based framework, whiclh can only access web services to integrate J2EE applications. So, now, we have 2 choices: the first solution is to have a free web server with servet container, and to publish web services with the servlets. The other choice we have is not to use the free servlet-enabled web server, but to use web services which are directly provided by the ejb-container from the start ! What would you say is a better choice ? I think directly using web services from the ejb-container is a better choice from the start. What would you say ? The only I thing I am not sure about is whether Sun has clerly made it a requirement for ejb-containers to support webservices. Have they ? If yes, web services directly provided from the ejb container are the right choice for the most flexible framework !! And in this case, I think XML is the right choice right away, for communication between webserver/servletcontainer and ejb-container. What would you say ? Would you use XML ? XML is so flexible, we can do the whole use cases with one XML type of document. If the requirements change, in the future, we will most likely only have to modify this document, if at all - because it is very flexible from the start. I know it is not part of the requirements to think that far, but : - using this XML approach is simplifying so many things, and even sequence diagrams, that I want to use it.
If my understanding on your requirement is correct, then you want to lose your ejb-container at any point right ?? I mean even if you move from one server to another server or so ?? If so why you are so concerned about not having servlets ?? Remember you dont need servlet to access a ejb container, a simple java application can also consume ejb. You wrote: And in this case, I think XML is the right choice right away, for communication between webserver/servletcontainer and ejb-container. By XML do you mean SOAP here ?? Guess I am