...
src/ |
| source |
| edu.mit.appname.controller.action | where struts actions go |
| edu.mit.appname.controller.data | where struts forms go |
| edu.mit.appname.dao | where database methods go (for projects that use hibernate) |
| edu.mit.appname.model | where biz objects go that are passed to the front end |
| edu.mit.appname.proxy | where generated rfc call and data objects go (for sap projects) |
| edu.mit.appname.service | where the methods the actions call to get backend data converted to the model go |
| conf | used on the server for deploying the app to OAS (ignore this directory) |
WebContent/ |
| front end |
| css | contains app_layout.css, etc |
| js | contains app_specific.js, etc |
| WEB-INF/classes | where ApplicationResources.properties goes, etc |
site-template |
| a set of template files for your site dir |
site |
| where your local machine specific properties files go, initially copied from site-template |
| ApplicationLocal.properties | where you place props local to your machine, see below |
| build.properties | where you put build info local to your machine |
| log4j.properties | where you configure logging local to your machine |
build.xml |
| used only on the server to build and deploy the app |
In sap SAP based apps, the service does most of the conversion between sap SAP objects (proxy) and biz objects, as opposed to hibernate Hibernate based apps where the conversion is done by hibernate Hibernate in the dao classes.
App specific css and js go in css/app_layout.css and js/app_specific.js.
...
The proxy classes only exist for apps that talk to SAP. They are generated by sap2java from the RFCs you want to call in the app. See sap2java for how to generate proxies.
Proxy classes are sap SAP data types and must be converted by the service class to real biz model classes.
...
The dao classes only exist for apps that talk to oracle thru hibernateHibernate. They are usually generated by hibernateHibernate.
Dao classes retrieve data from the database and convert it directly into biz model classes.
...
For SAP apps, the service calls RFCs and converts their proxy data into biz model objects. The service class should be a subclass of SAPServiceSupport which provides methods to call the back end and process errors.
For hibernate Hibernate apps, the service calls the daos to get biz objects and performs whatever biz logic is necessary on them.
...