Here are my thoughts on a good J2EE architect.
1. Think about concurrent users. When designing applications, what if 1000 users hit the button? Keep this in mind while doing design etc.
2. How
secure can one make the System? Firewalls, EJB layer security etc. Recently I have heard there are a lot of cross site request forgery instances. So how to prevent this?
3. Scalability
4. How can you use JMX to update configuration parameters at runtime, so that a restart of the application server could be avoided?.
5. How can you avoid using Application server specific libraries. ex. weblogic.clob... etc and make it portable across ALL J2EE compliant servers?
6.
Error handling: If you are using JMS Queues etc, what if the MDB's throw an exception? So provide a dead letter queue so that the messages can be salvaged later.
Also a good application should not only server the business needs, but most importantly be Error tolerant. Catch exceptions and customize the message for the end user.
Provide retry logic, if required and applicable.
7.
Internationalization is another aspect that a good architect should be concerned about at the design stage.
8. Prudent use of design
patterns to make the application extensible without too many code changes.