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.