I am thinking to use business delegate and service locator for swing client. My question is: should the swing connect to web servers or directly to the app server. If connecting the web server, swing can re-use the same delegates and service locator created for jsp/servlet, but there might be performance overhead incurred. If connecting the app server directly, the code for delegate and service locator will be somehow duplicated.
Here I am assuming the swing program will be run within the company's intranet. Any comment is very much appreciated.
You can consider to make your swing application connect int the application server directly using business delegates and an service locator.
For the assignment pourpouses, you have to define in your solution that you will use 'an business delegate' and 'an service locator'. This is not redudance because at the real world, thare are techniques to avoid the repetition, using common jars for example.
If you care about how your architecture will be evaluated about redundant components, try to use some package diagrams and put the commons components (business delegate, service locators, pojo entities), at packages there are accessible at all the major packages, such as the business package, the controller package and so on.
Even the assignment did not ask for an package diagram, provide one could be a very good idea because your architecture will mitigate two main things: redundance and component dependency.