I'm trying to draw up an inventory of several architectures and at the same time a matrice that will give all the technologies used for a given goal.
For example for the architecture goals I would have :
* Business size (e.g. small business, small to medium..)
* Do I need asynchronous processing
* Do I need a distributed application
* Do I need security
* Do I need to interoperate with other systems
* How many concurent users
And for specific architecture goals I would have a set of technologies that I could used. For example :
* IF Small business, intranet, no security, no interoperability, 5 concurrent users
* THEN HTML on client tier, JSP/Servlets on presentation tier, POJO on business logic tier, DAO in integration tier and Relational Database in the Resource tier.
And so on and so forth.
Do you know if any work has been done on listing 'all possible' architecture based on Java/J2EE and proposing appropriate technologies.
In my experience, the problem of architecture is too hard to boil down to a simple matrix. There simply too many factors involved.
For example, you list of "goals" are omitting human-resources from the equation. Like it or not, these are factors in the architecture as well:
1) What skills do the development team have?
2) How much time is available for architecting/development?
3) Is there a pre-established technology framework you must work with?
4) Who must maintain the application, and what skills will they have?
5) What about licensing and policies about using Open Source?
I frequently find that there are a number of human-factors that have a big impact or even dictate a particular architecture, such as "We only use IBM technology" or "We won't spend any money on server software so everything must be Open Source".
All out project finally boils down to the budget. You can build superb project, which will satisfy all the "goals", performance, scalability... and so on. But how much are you willing to spend on it?
There is definitely a large amout of architectures and goals (I hadn't list them all in the email but human resources were one of them). But I was just wondering if some paper/article/discussion talks about the main different architecture and their related technologies.
I don't know of any such paper. It would be a mammoth undertaking to do a complete analysis, and would be out of date before the paper finished.
I suggest you take a look at discussions of architectural patterns, instead. Patterns are more applicable, even if the specific technologies used to implement the patterns change. Martin Fowler's "Patterns of Enterprise Architecture" is a good book on the subject.