I am involved in designing the Applications for desktop , mobile and tablet. I need some suggestions how should I approach , I want to keep services classes(Manager,Tools or any Utils) in the common module and build on top of it.
1. should I create separate EAR's for three applications
2. should I create a single EAR and redirect the users by changing the contxt path like /site or /mobile or /tablet
if any other suggestions are there please share it.
Your application's main module structure can contain different sub-modules like common/base, BCC/versioning and other sub-modules. As you mentioned all of your common piece of server-side functionality, common components and repository definitions can go in the common/base sub-module within your main module structure. There can be one common-ui kind of a sub-module also which can hold common front-end stuff like JS, common CSS, images etc. Then there can be one sub-module for the actual customer facing application. These sub-modules can declare dependency on the common/base sub-module.
I would also go with having a single EAR for the customer facing app sub-module. Now within that EAR you can have different web-apps (WARs) with different context-roots as per your requirements. Having different web-apps will also allow you to bring in device specific changes to the application e.g. adding a device specific filters in case required.
Use a single ear, as said explained in the above comments, plus your requirement can be easily accomplished if you are ATG10 using the ATG Multisite feature and direct the user to specific domains using this feature.