When and how should I exactly use the instantiation am or amImpl or other things like that.(ex: EO,EOIMPL,VO,VOIMPL) what does the functionality differ between these two? With an example is prefferable.
Hope you are aware of invoking a method which resides in AM , we do this normally from controller class using am.invokeMethod()
Importing the AMImpl class in your controller allows you to access the AM methods directly without the use of invokeMethod() but it breaks the basic OAF standards coz u r accessing a class in the server package from a class in the webui package.
To overcome the above, the best practice is to create an Interface of the AMImpl (which neither belongs to server nor webui) and use this AM Interface in your CO rather than AMImpl class.