Difference in ADF, JSF, Trinidad, MyFace

Hi,
I need a brief explanation on ADF, JSF, Trinidad and MyFace. What are the similarities and the differences among them? More elaboration on price, license, the history, and the situation & condition to apply, IDE to work on for each product would be greatly appreciated.
Thanks

So Apache has 2 projects of ADF? i.e. MyFaces and Trinidad.
Apache has 5 JSF related projects:
- MyFaces: JSF implementation
- Trinidad: JSF extension that is the evolution of ADF Faces 10g
- Tomahawk: JSF extension with a small but useful component set
- Tobago: A richer set than Tomahawk, but not as feature packed as Trinidad imho
- Orchestra: A JSF extension focusing on the controller layer, not on component. It allows conversations, better web flows and such, but I didn't play a lot with that project so I cannot provide much insight
And why Oracle would like grant ADF Faces extended component to Trinidad while Trinidad is free and ADF Faces is Oracle proprietary. People will start using Trinidad instead of Oracle ADF Faces and Oracle is not making any money then.
Ah, a business model related question. There are many reasons why a company may decide to invest in open source:
- Allows other people to contribute to the code base, without having to pay them, effectively reducing the maintenance cost
- Look "cool" and open minded, not evil corporate-ish. This is therefore good for PR and is often perceived positively by the community, making the company more appealing as a potential employers. Also, contributors to open source projects, happen to be both the most passionate and skilled in their field most of the times, making them interesting resources for the company as well.
- Increase the adoption level of the product, thus producing an Halo effect.
Now the money side. If you cannot make money out of the product itself, nothing prevents you from offering the best tool integration as well. That tool can also happen to integrate other technologies that are themselves not free, like the AS or the remaining of the ADF stack for that matter. Most project managers will prefer to use the AS integrated with the tool rather than having to test and maintain both environment (the IDE and production one). Also, even if you don't make money that way, you can still sell expertise and who knows a technology better than the ones who created it? Last time I checked, Oracle Consulting was not the cheapest option around, but if they're the best ist's it worth it?
Hmm this is would be a hard choice; richer UI over lesser browser selection and more CPU consumption. But People will choose the free one I guess. This lead us back to Why Oracle grant a free Trinidad to have "rich" UI?
Actually, from my experience it's the opposite, Web 2.0 and Rich Web Application are buzz words in the industry and a hype can move market. Furthermore, the supported browser set difference is not that bad, it's mainly the horrible IE6 abomination that should not have ever existed in the first place. As for the CPU load on the client, well, most people don't use half of their CPU horsepower nowadays.
Good point. How much ADF Faces 11g richer than Apache Trinidad? Free license could be a big impact. Can I conclude that the richness of Trinidad is much more than JSF? If yes, I will take Trinidad for sure. Or Is Trinidad has the same level of richness with JSF?
Trinidad is infinitely richer than JSF 1.1 and 1.2 (the difference is a bit smaller with JSF 2.0, but that on is not really option just yet). ADF Faces 11g is much richer than Trinidad imho, but why not compare yourself:
Trinidad: http://www.irian.at/trinidad-demo/faces/index.jspx
ADF Faces 11g: http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx
Regards,
~ Simon

Similar Messages

  • JSF Trinidad, JSTL taglib

    Hi,
    Im trying to deploy a web application which uses trinidad ui components within jsp pages.
    It deploys ok, but whenever i hit a .jsf page (which is then taken and matched with the right jsp page), it gives the following error in the log about it not being able to parse the URI of "http://myfaces.apache.org/trinidad" and therefore the taglib was seemingly made invalid.
    I tried to get the .tld file from the jar and reference it in the web.xml, but it made no difference.
    Any ideas?
    Regards,
    Andrew

    I have had similar messages with taglibs - it was because the .tld files were DTD- based and CE 7.1 doesn't seem to like the older DTD definitions. Have a look and see if there is a newer version that uses an XML schema definition. I've had a look at JSF Trinidad and it appears v 1.0.6 has DTDs but 1.2.6 is Schema based.
    A lot of the issues we've been having are not to do with CE7.1 but the change from J2EE to JEE 5 e.g. using the Java Standard TagLibrary where the old jstl.jar and Standard.jar have been left in the the /lib directory.
    Hope this helps
    Ben
    Edited by: Ben Newton on Feb 13, 2008 1:55 PM

  • Javascript and html menu to be used with ADF/JSF using JDeveloper

    I have a menu for a webpage that was originally built using html and javascript. I need to convert it to be used with JSF and ADF. In the html, the menu items used an unordered list inside of a div tag.
    It looks something like this:
    <!--<div id="shademenu" class="shadetabs">
    <ul>
    <li>Item1</li>
    <li>Item2</li>
    <li>Item3</li>
    <li>Item4</li>
    <li>Item5</li>
    <li>Item 6</li>
    </ul>
    </div> -->
    AND
    the submenu(s) have links that look something like:
    <!--<div id="dropmenu0" class="dropmenudiv">
    Data
    Data
    Data
    </div>-->
    It is unclear to me how to work with my javascript menu to get the same look and feel with JSF or ADF as I did with html. Any insights would be great. Thanks.
    Daniel
    Message was edited by:
    dannyc

    Hello,
    If you do not find any existing JSF component (in ADF Faces/Trinidad, or any other JSF library) you can for sure extend/create your own component with specific renderer that will be the HTML/Javscript that you want.
    So here some interesting pointers about the subject:
    - Buildin Custom JSF component (Chris Schalk)
    - Build Custom JSF Components) (Jonas Jacobi
    - Extending Default Render (and lot of other JavaEE blueprints)
    These links will give you a starting point.
    Regards
    Tugdual Grall

  • ADF, JSF in Weblogic Portal 10.3.2

    Hi,
    We are designing new portal application on weblogic portal.
    Per Oracle recommendations, use ADF, JSF instead of using legacy JPF, NetUI (BEA technologies).
    If we use ADF, JSF; My questions are
    (1) How do we add ADF taskflows, JSF in to weblogic portal desktop/pages? Do we create portlet out of JSF, and display on desktop/page? If this is the case, what about ADf task flows?
    (2) How do we integrate weblogic user profiles and UUP (unified user profiles) with ADF and JSF?
    (3) Can anybody shed some light which this better?
    (a) weblogic portal with JPF (Java page flows), NetUI --Legacy approach
    or (b) weblogic portal with ADF, JSF?
    Thanks,
    Murthy

    Hi Murthy,
    We did a detailed analysis.
    (1) How do we add ADF taskflows, JSF in to weblogic portal desktop/pages? Do we create portlet out of JSF, and display on desktop/page? If this is the case, what about ADf task flows?
    --> Taskflows can be deployed as WSRP2.0 portlets. Note 2 options are there JSF page as portlet or taskflow itself as portlets.
    (2) How do we integrate weblogic user profiles and UUP (unified user profiles) with ADF and JSF?
    --> ADF Security can use Weblogic Server realm as the security provider. Entitlements in WLP will have to be provided based on Weblogic Server roles. In case you are using external LDAP then both can be integrated withe external LDAP
    (3) Can anybody shed some light which this better?
    (a) weblogic portal with JPF (Java page flows), NetUI --Legacy approach
    Pros:
    -Easy Development
    -Well tested integrated
    Cons:
    -Future support
    -Enhancements may not be available
    -Not really portable or standards based
    (b) weblogic portal with ADF, JSF?
    Pros:
    -If your on Oracle stack then great
    -Standards based
    Cons:
    -JSF Portlet bridge issues
    -ADF Faces does not work on IE6!
    Well what we are going for is JSR 286, Trinidad components (Supports IE6), JSF.
    Difficult choice.
    Venkat

  • Anybody can suggest quick sample 'Hello World' with ADF/JSF to deploy on WC

    We are using JDeveloper 11g, and Web Center 10.1.3.2.
    We have Oracle Portals 10.1.2.0.2
    We want to develop a portlet and deploy it to WC 10.1.3.2 to use it in Portals 10.1.2.0.2.
    Could anybody suggest any working "Hello World' sample with ADF/JSF to deploy on WC 10.1.3.2 WSRP.
    TIA

    Just to clarify. Oracle Portal 10.12.0.2 did not support WSRP based portlets (this was introduced in 10.1.4 or Portal) as such you would need to develop a JPDK based portlet in order to use it in both Portal 10.1.2.0.2 and WebCenter. If you upgrade the portal to 10.1.4 you will be able to use a WSRP 1.0 based portlet in both products (WebCenter also supports the draft WSRP2.0 extensions so make sure that you register the correct WSDL file)
    If you are trying to use JSF components within the Portlet itself you will need to use the JSF Portlet Bridge which accounts for the differences in lifecycle between JSF and WSRP.

  • Oracle ADF JSF components - do I need license

    Are Oracle ADF JSF components free? I know that Oracle contributed source to Apache. Does it mean I can use ADF or do I need to pay for it? Thanks
    Tomas

    ADF Faces now known as Trinidad is open source library.

  • Cannot deploy ADF JSF project from JDeveloper 10.1.3.3.0 to AS 10.1.2.0.2

    Hi All,
    I've a small deployment issue which you guys might be able to help me with.
    I've developed an ADF BC JSF project using JHeadstart 10.1.3.2.50 and it was running fine on my self contained OC4J instance. But when I try to deploy it across to my Oracle 10G AS version 10.1.2.0.2., it had the following errors:
    ----- START OF LOG ------
    Initializing log
    Servlet interface for OC4J DCM commands
    Command timeout defined at 600 seconds
    Executing DCM command...
    Executing command redeploy D:\OraHome_3 D:\jdevstudio10133\jdev\mywork\PAM2070C\ViewController\deploy\webapp1.ear webapp1 UNDEFINED
    Command = REDEPLOY
    Reading application's ear file
    Ear file was successfully read
    Opening connection to Oc4jDcmServlet
    Setting userName to ias_admin
    Sending command to DCM servlet
    HTTP response code = 200, HTTP response msg = OK
    Command was successfully sent to Oc4jDcmServlet
    Receiving session id from servlet to check command status
    Session id = c0a8238746b50fc1d5b78e274fcfb38b81a490036726
    Please, wait for command to finish...
    Checking command status...
    Setting userName to ias_admin
    Setting Cookie to JSESSIONID=c0a8238746b50fc1d5b78e274fcfb38b81a490036726
    Checking command status
    HTTP response code = 200, HTTP response msg = OK
    Command has finished
    Receiving command exit value
    Receiving command output
    **** No output was received from command
    Closing connection to Oc4jDcmServlet
    #### DCM command did not complete successfully (-8)
    #### HTTP return code was -8
    Exit status of DCM servlet client: -8
    Elapsed time for deployment: 18 seconds
    #### Deployment incomplete. #### 15/05/2008 17:00:33
    ---- END OF LOG ----
    Has anyone been able to deploy ADF JSF project with JHeadstart using JDeveloper 10.1.3.3.0 to Oracle 10G AS 10.1.2.0.2? I'm using window environment. Any feedback is much appreciated. Thank you for your assistance and have a nice day.
    Kind Regards,
    John

    Hi all,
    I had also tried out something else...
    I am now portalizing the ADF application using PortalFacesBridge and portlet.xml. Then I deploy it on the Local OC4J of my system and expose it as a WSRP Portlet using the url: 'http://hostname:portname/warFileName/info and generating a WSDL URL...
    I am then using this WSDL URL to regester this portalized application on the Oracle Portal10.1.4 which i am able to accomplish successfully...
    However after regestration, when I try to view this on the portal page, It is throwing the following error:-
    Error: Could not get markup. The cookie or session is invalid or there is a runtime exception.
    Also I would like to add that this method was working perfectly fine previously...
    What might be the clue for this sudden error...
    Any kind of help is greatly appriciated... Thanks...

  • What is difference between ADF Task Flow and Faces-Config - when delpoy ?

    What is difference between ADF Task Flow and Faces-Config? When I create navigation between pages with ADF task flow then the navigation don't work when I deploy my application to Weblogic 10.3. When I use default server then navigation works fine. With Faces_config in both situations all works ok - on Stanalone server and default.
    Where is the problem?
    Best regards!

    Shay, I don't use both faces-config and adf task flow! When I failed with task flow I tried faces-config.
    I have active on my weblogic - adf.oracle.domain(1.0,11.1.1.0.0). This is the right ADF? If yes then where is the problem?
    Best regards!

  • [Solved]How to upload / download BLOB images ADF - JSF

    Hi everyone. I am a newbe ADF - JSF developer and I need to do a web app. in which I have to upload jpeg images to a table (in an oracle 8 DB) that has a BLOB column, also I need to be able to download images from the same table and show them in the web app. I have seen the examples on how to do this using the intermedia data types but I can't use this because the table already has a lot of records in it and the DB admin won't move a finger to migrate the data because other apps. are using the table.
    I have been looking on the internet but haven't been able to find something that describes this process.
    Thanks.

    Hello Kuba, I am trying to execute your app but I get the following error when I try to run it:
    oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: oracle.adf.view.faces.webapp.AdfFacesFilterHelper
         Dependent class: oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl
         Loader: current-workspace-app.web.ADFUploadAndDownloadFiles-ViewController-webapp:0.0.0
         Code-Source: /root/jdevhome/mywork/ADFUploadAndDownloadFiles/ViewController/public_html/WEB-INF/lib/adf-faces-impl.jar
         Configuration: WEB-INF/lib/ directory in /root/jdevhome/mywork/ADFUploadAndDownloadFiles/ViewController/public_html/WEB-INF/lib
    The missing class is not available from any code-source or loader in the system.
         at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2051) [usr/local/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@27634497]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1665) [usr/local/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@27634497]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1621) [usr/local/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@27634497]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1606) [usr/local/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@27634497]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap]
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.<init> (AdfFacesFilterImpl.java:341) [root/jdevhome/mywork/ADFUploadAndDownloadFiles/ViewController/public_html/WEB-INF/lib/adf-faces-impl.jar (from WEB-INF/lib/ directory in /root/jdevhome/mywork/ADFUploadAndDownloadFiles/ViewController/public_html/WEB-INF/lib), by current-workspace-app.web.ADFUploadAndDownloadFiles-ViewController-webapp:0.0.0]
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native method) [unknown, by unknown]
         at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) [unknown, by unknown]
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) [unknown, by unknown]
         at java.lang.reflect.Constructor.newInstance (Constructor.java:494) [unknown, by unknown]
         at java.lang.Class.newInstance0 (Class.java:350) [jre bootstrap, by jre.bootstrap]
         at java.lang.Class.newInstance (Class.java:303) [jre bootstrap, by jre.bootstrap]
         at oracle.adf.view.faces.webapp.AdfFacesFilter.init (AdfFacesFilter.java:48) [jre bootstrap, by jre.bootstrap]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpApplication.getFilterConfig (HttpApplication.java:7523) [jre bootstrap, by jre.bootstrap]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke (ServletRequestDispatcher.java:548) [jre bootstrap, by jre.bootstrap]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal (ServletRequestDispatcher.java:376) [usr/local/jdevstudio1013/jlib/adf-faces-api.jar (from <classpath> in /root/jdevhome/mywork/ADFUploadAndDownloadFiles/ViewController/public_html), by current-workspace-app.web.ADFUploadAndDownloadFiles-ViewController-webapp:0.0.0]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest (HttpRequestHandler.java:870) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest (HttpRequestHandler.java:451) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest (HttpRequestHandler.java:218) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run (HttpRequestHandler.java:119) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run (HttpRequestHandler.java:112) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run (ServerSocketReadHandler.java:260) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket (ServerSocketAcceptHandler.java:230) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$800 (ServerSocketAcceptHandler.java:33) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run (ServerSocketAcceptHandler.java:831) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run (ReleasableResourcePooledExecutor.java:298) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [usr/local/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in /usr/local/jdevstudio1013/j2ee/home/oc4j.jar), by oc4j:10.1.3]
    I'm sure this is trivial for for you, but I can't figure it what to do.... can you help a little here please?
    Thanks.

  • ADF JSF 10.13 how do you reference a binding from a command button?

    I have developed the following code as a model as I am trying to utilise ADF JSF without using a database.
    I have a collection called School. This has the appropriate operations that populate the school with a number of Child. A Child simply has a firstname and a surname.
    I have generated data controls for these collections and created two JSP pages and added a navigation link as follows:
    index.jsp --> goToSchool (navigation) --> school.jsp
    I have then added a command button to the index.jsp page. When the button is then pressed the school.jsp page is displayed. This works correctly.
    I would like to override the action of the button though so that before the navigation is executed I can get a handle on the school collection and populate it so that it will be displayed on the school.jsp page.
    I have previously done this in 10.12 when I had the following setup:
    index.jsp --> getSchool (dataAction) --> school.jsp
    by overriding the getSchool dataAction.
    I have looked through the 10.13 ADF user guides and tried various different things but have not managed to successfully acheive my goal of populating the school collection when the button is pressed prior to navigating to the school.jsp page.
    I would appreciate it if you could offer any advice, and if possible let me know the recommended best practices to acheive this.
    Thanks in advance for your help
    David

    Check out the ADF Tutorial (TopLink edition) chapter 5 has a section called:
    Adding a Drilldown Link
    I think this is what you are looking for.
    http://www.oracle.com/technology/obe/ADF_tutorial_1013/ADF_tutorial.pdf

  • Improve autosubmit performance in ADF JSF in Jdev 11g R1.

    we are using autosubmit for taking item value w,th button, cascade list etc. (at inputtext item, list item).
    But low bandwith our user feel a slowness when navigate out of items.
    mouse cursor is turn to waiting even for inputtext.
    is there any way to improve the perfromance of autosubmit operations.
    Thanks...

    Yes. I see.
    our server web logic 10.1.3.1 and network bandwith depends on gigabit ethernet.
    I came form Oracle forms backgound.
    In my opinion ADF model layer is more capeable tan oracle forms.
    But for view layer I can't say the same thing. (especially JSF, ADF RC)
    In oracle forms you are not considering partial page rendering, auto submit, partial trigger, model view layer synchronisation etc.
    this information is needed high level programmer experience.
    ADF model layer rescue us from transection management, data inegrity problems.
    But view layer couses programmers to learn tons of (unnecessery) new details. (That problem not just about ADF JSF. it is web (html, javascript) problem.)
    ADF view layer is slower than forms appet at runtime also.
    I thing ADF needs a more rebust and easy userinterface layer.

  • ADF-JSF: Application Performance Issue

    Hello!
    My question or set of questions will be a bit vague...I am simply not sure where to look for problem(s). So here is what I have. Application implemented with ADF-JSF (JDEV ver:10.1.3.2.0). It basically has 5 pages. Each page containes user input form, commandButton and result table. Functionally, each page is a 'search page' that returns results based on what user specified in the form. Components on each page are bound to VO that is based on EO (DB table). Tables have at least 2.5M records up to 16M. Certain indexes exist (for most common searches) to improve the performance. However, there have been performance issues found and largely they would be grouped into the following:
    1. User is on page A, performs the search, goes to page B (via link) and performs other search, then goes back to A and similar search takes much longer to return results. Seems to me that this moght be related to memory. Maybe results of the previous search are cashed and it takes new search to retreive results longer as the VO cashe needs to be cleared first. Does that make sense?
    2. User is on page A and then goes to B. Leaves browser for 10-20 minutes and tries to go back to A. It takes up to a minute before page reloads with the previously displayed results. I am thinking this has to be related to page lifecycle where AM tries to re-execute bindings ( I do not think it is passivation issue though). What is the best practice to control the lifecycle?
    Any pointer on where to look for the solution is very welcome.
    Rade

    Carl,
    To use Tom Kyte's analogy, you are firing a gun into a room full of people hoping to hit the bad guy. You haven't seemed to have gotten any information about where the performance issues lie. It could be in the DB, network, ADF Business Components, JSF layer, other stuff monopolizing resources, etc, etc. I have ADF BC apps developed in 10.1.3.3 that run quite well.
    So, I would recommend you spend some time investigating where the performance problems lie. Try turning on logging output, check machine utilization - use your investigative techniques to find the bad guy so you can then work on fixing him.
    John

  • ADF/JSF page loads when any command button is clicked

    Hello All,
    I am lost in the ADF/JSF page flow (using Jdev 10.1.3). Following are the tags (in order) in my page;
    (WHEN THIS PAGE LOADS, IT GOES TO THE DATABASE TO GET VALUES (for the drop down lists that will appear on the page); THIS SHOULD HAPPEN JUST ONCE AND AT THIS POINT)
    <f:view>
    <afh:body>
    <afh:html>
    <af:form>
    <af:panelpage>
    <f:facet name="contextSwitcher">
    <af:panelHorizontal> has a af:commandLink </af:panelHorizontal>
    </f:facet>
    <f:facet name="messages">
    <af:messages/>
    </f:facet>
    <af:panelform>
    <h:panelGrid columns="2" cellspacing="14">
    has 2 panelgroups (one group has *2 SelectOneChoice lists (that need to be populated by fetching data from database* and the other group has 2 CommandButtons - 'Go' and 'Cancel") (GO BUTTON SETS THE SHOWPANEL() TO TRUE)
    (WHEN GO BUTTON IS CLICKED, THE PAGE GOES TO THE DATABASE (AS IT DID ON PAGE LOAD). *THIS SHOULD NOT BE HAPPENING*. ONLY THE METHOD (action="#{muBean.doWork}" )THAT IS ASSOCIATED WITH GO BUTTON ACTION SHOULD BE CALLED)
    </h:panelGrid>
    <h:panelGrid columns="2" cellspacing="14" rendered="#{myBean.showPanel}"> (THIS ONE IS RENDERED WHEN SHOWPANEL() METHOD IS TRUE)
    has 3 inputText fields
    </h:panelGrid>
    <af:table var="someTable" rendered="#{myBean.showPanel}"> (THIS ONE IS RENDERED WHEN SHOWPANEL() METHOD IS TRUE)
    has a bunch of af:columns
    </af:table>
    <af:panelHorizontal rendered="#{myBean.showPanel}"> (THIS ONE IS RENDERED WHEN SHOWPANEL() METHOD IS TRUE)
    has 3 af:commandButtons - submit, save, add row
    (WHEN submit or save or add row BUTTON IS CLICKED, THE PAGE KIND OF LOADS AND GOES TO THE DATABASE (AS IT DID ON PAGE LOAD). *THIS SHOULD NOT BE HAPPENING*. ONLY THE METHOD THAT IS ASSOCIATED WITH submit/save/add row BUTTON ACTION SHOULD BE CALLED)
    </af:panelHorizontal
    </af:panelForm>
    </af:panelPage>
    <!-- Footer -->
    <jsp:include page="/pages/includes/footer.jspx"/>
    </af:form>
    <f:verbatim>
    <script type="text/javascript" src="../script/tree.js"></script>
    </f:verbatim>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>
    _*why is it that when the command buttons are clicked, the whole page is loaded? Only the methods associated with the action (action="#{newMapRequestItem.addARow}" ) should be called.*_
    _*IS THERE A WAY TO AVOID THIS WITHOUT USING PARTIAL PAGE RENDERING ?*_
    _*DOES MY TAG NESTING LOOK OK?*_
    Edited by: user12054715 on Mar 24, 2010 12:00 PM

    Can somebody please address this?
    Thanks,

  • Cannot connect with SQL Server driver using Top Link with ADF/JSF

    I have a TopLink/ADF/JSF project that I'm starting using JDeveloper 10.1.3. The database is MS SQL Server. I went through and created all of the Top Link mappings, etc. but when I try to run my project under the OC4J instance built in to JDeveloper I get the error message below. I've tried putting SelectMethod=cursor everywhere I can think of, but nothing seems to help?
    Log Dump:
    [TopLink Info]: 2006.06.16 02:49:46.253--ServerSession(1679)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])--TopLink, version: Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)
    [TopLink Config]: 2006.06.16 02:49:46.269--ServerSession(1679)--Connection(1680)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])--connecting(DatabaseLogin(
    platform=>SQLServerPlatform
    user name=> "zeke"
    connector=>JNDIConnector datasource name=>jdbc/ZekeDB
    [TopLink Severe]: 2006.06.16 02:49:48.925--ServerSession(1679)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])--Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]JTA is not support when selectMethod=direct. Switch to selectMethod=cursor.Error Code: 0
    at oracle.toplink.exceptions.TopLinkException.<init>(TopLinkException.java:46)
    at oracle.toplink.exceptions.DatabaseException.<init>(DatabaseException.java:51)
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:276)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:115)
    at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:147)
    at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:197)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:221)
    at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:273)
    at oracle.toplink.threetier.ConnectionPool.buildConnection(ConnectionPool.java:81)
    at oracle.toplink.threetier.ConnectionPool.startUp(ConnectionPool.java:304)
    at oracle.toplink.threetier.ServerSession.connect(ServerSession.java:431)
    at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:511)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:317)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:372)
    at oracle.toplink.util.SessionFactory.getSharedSession(SessionFactory.java:103)
    at oracle.toplink.util.SessionFactory.getSharedSession(SessionFactory.java:82)
    at oracle.toplink.util.SessionFactory.acquireSession(SessionFactory.java:114)
    at com.mascocs.web.monitor.admin.datamodel.ZekeAdminSessionFacadeBean.findAllApps(ZekeAdminSessionFacadeBean.java:128)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:55)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:86)
    at ZekeAdminSessionFacadeLocal_StatelessSessionBeanWrapper0.findAllApps(ZekeAdminSessionFacadeLocal_StatelessSessionBeanWrapper0.java:165)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:504)
    at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:1796)
    at oracle.adf.model.generic.DCGenericDataControl.invokeMethod(DCGenericDataControl.java:248)
    at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:216)
    at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1287)
    at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:1802)
    at oracle.adf.model.generic.DCGenericDataControl.invokeOperation(DCGenericDataControl.java:266)
    at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:318)
    at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:625)
    at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.invokeMethodAction(JUMethodIteratorDef.java:160)
    at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.initSourceRSI(JUMethodIteratorDef.java:542)
    at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1420)
    at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1403)
    at oracle.adf.model.binding.DCIteratorBinding.setRangeSize(DCIteratorBinding.java:2641)
    at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2484)
    at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2257)
    at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:104)
    at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
    at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
    at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java)
    at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:331)
    at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:97)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:211)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]JTA is not support when selectMethod=direct. Switch to selectMethod=cursor.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbcx.sqlserver.SQLServerDataSource.getXAConnection(Unknown Source)
    at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createXAConnection(ManagedConnectionFactoryImpl.java:237)
    at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:199)
    at com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(ApplicationConnectionManager.java:1333)
    at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnectionFromFactory(ConnectionPoolImpl.java:324)
    at oracle.j2ee.connector.ConnectionPoolImpl.access$800(ConnectionPoolImpl.java:95)
    at oracle.j2ee.connector.ConnectionPoolImpl$FixedWaitPoolingScheme.getManagedConnection(ConnectionPoolImpl.java:1449)
    at oracle.j2ee.connector.ConnectionPoolImpl.getManagedConnection(ConnectionPoolImpl.java:782)
    at com.evermind.server.connector.ApplicationConnectionManager.getConnectionFromPool(ApplicationConnectionManager.java:1532)
    at com.evermind.server.connector.ApplicationConnectionManager.acquireConnectionContext(ApplicationConnectionManager.java:1477)
    at com.evermind.server.connector.ApplicationConnectionManager.allocateConnection(ApplicationConnectionManager.java:1423)
    at oracle.j2ee.connector.OracleConnectionManager.unprivileged_allocateConnection(OracleConnectionManager.java:244)
    at oracle.j2ee.connector.OracleConnectionManager.allocateConnection(OracleConnectionManager.java:198)
    at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:197)
    at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:140)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:112)
    ... 77 more
    2006-06-16 14:49:48.941 ERROR J2EE EJB8006 [ZekeAdminSessionFacade:public java.util.List com.mascocs.web.monitor.admin.datamodel.ZekeAdminSessionFacadeBean.findAllApps()] exception occurred during method invocation: javax.ejb.EJBException: Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]JTA is not support when selectMethod=direct. Switch to selectMethod=cursor.Error Code: 0; nested exception is: Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]JTA is not support when selectMethod=direct. Switch to selectMethod=cursor.Error Code: 0
    2006-06-16 14:49:50.816 WARNING rowIterator is null
    2006-06-16 14:49:50.831 WARNING rowIterator is null
    Process exited.

    I'm not sure on the error, but you may be able to pass the "selectMethod" and "cursor" as a JDBC property in your connection pool. Since this is a DataSource / JTA issue you may want to post it to the general OC4J forum.
    Otherwise as a workaround you could instead use a non-JTA DataSouce, or use TopLink internal connection pooling, or try another JDBC driver.

  • ADF JSF URL problems...

    Hi All,
    I have the following requirement. Please could someone help me out?
    1) I have a dot net application into which I can log in with either the Canadian or US context. This is kind of multi-orging.
    2) Once logged in, the user needs to right click on a value in a panel inside this Windows dot net application and click a menu option.
    3) Once the option is clicked, a new JSF page will open. The URL for this JSF page will have the parameters such as the user country code plus the document number of the panel value.
    4) For this JSF page I am planning on an ADF JSF application. The application module for this application will have two database connections, basically two different schemas which are triggered based on the context information. These are already available in the bc4j.xcfg file.
    5) Based on the country parameter passed in the URL, I need to alternate the database connection information on the root application module created by the application between teh two database schemas using the bc4j.xcfg file in the Model project of the application. This needs to be done dynamically through the code.
    In order to fulfill the above requirement, I need to do the following:-
    1) As soon as the URL is triggered, the ADF application needs to read the URL parameters and set the context specific database schema of the application module without pressing a button or any other manual user trigger in hte JSF page. Basically I am looking at loading the JSF page dynamically after having set the database schema on the application module that was instantiated using the URL parameters
    2) After step 1, since the database schema is now set on the context I will be able to use the database schema to load data from the database objects.
    3) Each schema has a database trigger which runs when the database connection is initiated. This is used to set the multi-org context.
    Please could someone help me out with step 1 above on how to read URL parameters without any user triggers on the JSF page and setting the database schema on the application module being used by the application. Please remember that I am not using JDBC data sources but JDBC URL's to create m application.
    Any code samples to load the current application module instance and setting the database connection on the same from bc4j.xcfg would be very very helpful.
    Thanks a lot.
    Regards,
    Lester.

    Hi safir,
    thanks for your answer.
    With JSF also "normal" Links should be handled like Form-submit links
    ("Command buttons")
    (see in JSF manual "Using java server faces tech.", page 82 Handling Events: Application Events: #
    <i>Because app. events apply to the entire application, this kind of event is currently used for
    navigation between pages of the app.</i>)
    So it is a general Problem, you cannot copy the links from the browser.
    I understand, that is is not a bug,
    but is there maybe a solution for my problem?
    I want to use JSF, because of the good form validation
    operations.

Maybe you are looking for