Hi All,I have been using ADF since the 10g days. Only with the 11gR2 (thanks to Facelets) release, I can recommend going for ADF to clients without a guilty conscience. I have some bad expereinces with pageDefs and would like to see a better alternatives to pageDefs, more specifically, is there a better way to manage the bindings other than a pageDef xml file?I like annotations and dependency injection better. Would be nice if I can inject the bindings through annotations in backing bean (or on jsf page.. not sure if it can be done).In my experience I see these as the cons of pageDefs:1. Another xml document to maintain in the source code. PageDefs being auto generated and auto updated by JDeveloper, the subversion (any version control) conflict resolution becomes a nightmare.2. ADF Security forces you to have a PageDef to properly secure the page. So unnecessary pagedefs lying around in the code.3. When a jsf/jspx page is deleted, the pageDef references are not easily deleted. Ends up having a page name as page.jspx and the pagedef name as page1PageDef.xml4. If a component is commented on a jspx page, the corresponding bindings in the pageDef are not automatically commented and hence takes up unnecessary init/memory in JVM at runtime.5. Too much of xml.6. Editing a pageDef can easily become a pain if a viewobject has a new column added.I haven't seen the concept of PageDefs in other JSF implementations. And yeah they don't have the awesome datacontrols that ADF has ( :) I don't have much affection for data controls either. I still don't know why they keep calling a request twice or (thrice in some cases) ).Please share your experiences while managing the pageDefs.ThanksManoj--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com
All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).
Indeed, pagedef can be a little bit annoying , but for security and the variables iterator they should remove it from the pagedef.
plus iterators which are not called or used should not be refreshed ( lazy loading ) even when it has always refresh.
I also think they went too far with it , example is contextual events ( now you need to make dummy dc and add these to the pagedef , just to fire or listen to an custom event )
also some adf rich components has in the early days much more attributes like lov components and they move the complexity in the adf bc or adf binding layer. it works great in adf bc but from pojo it has become really hard,
also when you skip adf binding and have jpa, ejb and later cdi you don't have detached entities which helps you to update it directly ( no merge operation) and have commit and rollback.
but for fusion apps and most of our developers it works great and they dont look or care about these files. maybe the solution can be to have adf annotations and add these to managed beans or jpa ( on fields , classes or methods ) which influence adf rich faces components.
thanks Edwin.
1. Another xml document to maintain in the source code. PageDefs being auto generated and auto updated by JDeveloper, the subversion (any version control) conflict resolution becomes a nightmare.
3. When a jsf/jspx page is deleted, the pageDef references are not easily deleted. Ends up having a page name as page.jspx and the pagedef name as page1PageDef.xml
4. If a component is commented on a jspx page, the corresponding bindings in the pageDef are not automatically commented and hence takes up unnecessary init/memory in JVM at runtime.
5. Too much of xml.
6. Editing a pageDef can easily become a pain if a viewobject has a new column added.
Hi John,
Once simple reason for not preferring xmls is debugging. Any developer would agree, it is easier to debug a java configuration class than an xml configuration. Even Spring now supports fully Java class annotated configurations.
ThanksManoj
--
Thanks for the links Shay.Wow... the post from Duncan Mills is posted way back in 2008. Can't argue with that :)The whole MDS is a different argument. I love it and hate it (It can potentially make your source code messy ).
ThanksManoj
Thanks for the links Shay.Wow... the post from Duncan Mills is posted way back in 2008. Can't argue with that :)The whole MDS is a different argument. I love it and hate it (It can potentially make your source code messy ).
Thanks
Manoj
On Thursday, December 27, 2012 11:40:35 AM UTC-6, Shay Shmeltzer wrote:
--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com
All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).
I agree with Stephan Johnson that the problem may be too many configuration files, not that those files are XML. When I started learning Java, I felt that Java had too many files – classes extending classes that extend other classes, and implementing interfaces, and where do you find the source for the method that you want to call? If this stuff isn’t well documented, it can be a nightmare, especially for an old 3GL programmer like me, where entire application systems might be in a few source code files – big monolithic programs.
On the other hand, keep in mind that the principal audience for JDeveloper and ADF was and is the developers who were used to 4GL tools like Oracle Forms, not Java. For them, while the underlying structure may be a bunch of XML files, the key factor is that they don’t have to write XML and they don’t have to write Java. They drag and drop, fill in some property forms and let the IDE do the rest. For most of the XML files that I modify on a regular basis, JDeveloper offers nice fill in the blank forms.
Two of the developers on my team were Java programmers who had used other frameworks. We have two application systems they wrote and (since I was not the team leader at the time) they were permitted to do it the way they knew best. They used JPA, generated with Hibernate, for the Model. While they did use JDeveloper and ADF Faces for the View, they did not use the ADF binding framework in the Controller. Instead they wrote Managed Beans for their bindings. So they have no pageDef files. The applications work, but it took them much longer to write the applications than my applications using the entire ADF framework. Longer than one of my team members who came from a ASP.Net environment.