ADF RC on Tomcat

Has anyone gotten ADF RC to work on Tomcat (or JBoss or Glassfish).
I know an updated ADF RC installer is not out, but I wanted to know if someone got something working.
Here are the following links I have found...
[unanswered question on a blog|http://blogs.oracle.com/olaf/2008/09/adf_in_action_prepare_yourself.html]
[instructions for weblogic|http://biemond.blogspot.com/2008/11/installing-adf-11g-runtime-on-weblogic.html]
Also, does anyone know of a timeframe when an installer for other app servers may be released?
Any help would be appreciated.
Edited by: JMike on Nov 21, 2008 7:51 AM
Edited by: JMike on Nov 21, 2008 7:51 AM

There are people on this forum who have managed to get ADF Faces 11g apps running on Tomcat.
See: Re: Tomcat 6 with 11g ADF JSF application startup problem!!!

Similar Messages

  • Problem to deploy ADF application on tomcat server

    Hi all,
    i 'm using this tutorial link to deploy adf application on tomcat server.
    https://blogs.oracle.com/dana/entry/how_to_deploy_a_11g_adf_applic_1
    but when i have run my application i have got following error
    java.sql.SQLException: invalid arguments in call
    log-
    Jul 29, 2013 11:35:16 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_04-b07-FCS) for context '/TestApacheApp_ViewController_webapp1'
    Jul 29, 2013 11:35:19 AM oracle.adf.mbean.share.connection.ADFConnectionLifeCycleCallBack contextInitialized
    SEVERE: ADFConnection mbean not registered for defaultApplicationName.
    Jul 29, 2013 11:35:19 AM oracle.adf.mbean.share.connection.ADFConnectionLifeCycleCallBack contextInitialized
    SEVERE:
    oracle.jrf.UnknownPlatformException: JRF is unable to determine the current application server platform.
      at oracle.jrf.ServerPlatformSupportFactory.getInstance(ServerPlatformSupportFactory.java:79)
      at oracle.adf.mbean.share.connection.ADFConnectionLifeCycleCallBack.contextInitialized(ADFConnectionLifeCycleCallBack.java:82)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
      at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:515)
      at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)
      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:597)
      at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
      at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1471)
      at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:243)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
      at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
      at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
      at java.lang.Thread.run(Thread.java:662)
    Jul 29, 2013 11:35:19 AM oracle.adf.mbean.share.config.ADFConfigLifeCycleCallBack contextInitialized
    SEVERE: Failed to register config mbean for defaultApplicationName.
    Jul 29, 2013 11:35:19 AM oracle.adf.mbean.share.config.ADFConfigLifeCycleCallBack contextInitialized
    SEVERE:
    oracle.jrf.UnknownPlatformException: JRF is unable to determine the current application server platform.
      at oracle.jrf.ServerPlatformSupportFactory.getInstance(ServerPlatformSupportFactory.java:79)
      at oracle.adf.mbean.share.config.ADFConfigLifeCycleCallBack.contextInitialized(ADFConfigLifeCycleCallBack.java:79)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
      at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:515)
      at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)
      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:597)
      at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
      at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1471)
      at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:243)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
      at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
      at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
      at java.lang.Thread.run(Thread.java:662)
    Jul 29, 2013 11:35:19 AM oracle.bc4j.mbean.BC4JConfigLifeCycleCallBack contextInitialized
    SEVERE: Not able to get Deployment Name
    Jul 29, 2013 11:35:28 AM oracle.adfinternal.controller.state.ControllerState initializeRequest
    WARNING: ADFc: Deserialization of session state detected but ADF scope HA support is not enabled.  Please enable ADF scope HA support in the adf-config.xml file to ensure correct functioning of your applicaiton.
    Jul 29, 2013 11:35:28 AM oracle.adf.share.http.ServletADFContext initialize
    WARNING: Found wrong applictionScope sticking to oldContext for oldApplication defaultApplicationName, while the current one is null
    Jul 29, 2013 11:35:28 AM oracle.jbo.uicli.mom.CpxUtils$Visitor logMainApplicationCpx
    INFO: jndi:/localhost/TestApacheApp_ViewController_webapp1/WEB-INF/classes/com/in/jagran/view/DataBindings.cpx
    Jul 29, 2013 11:35:28 AM oracle.adf.share.jndi.MDSBackingStore documentExists
    INFO: MDS-00013: no metadata found for metadata object "/META-INF/connections.xml"
    Jul 29, 2013 11:35:32 AM oracle.adf.share.http.ServletADFContext initialize
    WARNING: Found wrong applictionScope sticking to oldContext for oldApplication defaultApplicationName, while the current one is null
    Jul 29, 2013 11:35:33 AM oracle.adf.share.http.ServletADFContext initialize
    WARNING: Found wrong applictionScope sticking to oldContext for oldApplication defaultApplicationName, while the current one is null
    Jul 29, 2013 11:35:47 AM org.apache.coyote.http11.Http11AprProtocol pause
    INFO: Pausing Coyote HTTP/1.1 on http-8086
    Jul 29, 2013 11:35:47 AM org.apache.coyote.ajp.AjpAprProtocol pause
    INFO: Pausing Coyote AJP/1.3 on ajp-8009
    Jul 29, 2013 11:35:48 AM org.apache.catalina.core.StandardService stop
    INFO: Stopping service Catalina
    Jul 29, 2013 11:35:48 AM org.apache.coyote.http11.Http11AprProtocol destroy
    INFO: Stopping Coyote HTTP/1.1 on http-8086
    Jul 29, 2013 11:35:48 AM org.apache.coyote.ajp.AjpAprProtocol destroy
    INFO: Stopping Coyote AJP/1.3 on ajp-8009

    There is no guideline I know of as this depends on the app itself.
    What you should do is to deploy the application onto a test server and check the metrics of the app over a defined period of time with a defined amount of traffic.
    Timo

  • It´s possible deploy ADF Demo in Tomcat 6 ???

    Hi.
    I deploy the ADF Demo (http://www.oracle.com/technetwork/developer-tools/adf/downloads/index.html), in Weblogic 10.3.3.
    But I´m triying to deploy the war demo, in tomcat. But i can´t.
    It´s possible deploy this application??. I Think that is possible because it´s a war proyect.
    Thanks

    It may be possible, but it's not supported. If you have a search of the forums, you can find people who have, with varying degrees of success, managed to deploy ADF projects to Tomcat.
    John

  • Deploy a ADF Faces to tomcat

    Hello,
    i try to deploy an ejb3.0-adf webapplication to tomcat 6 with openejb built by Jdeveloper 11g release1.
    I use tomcat because i cant connect my ejbs by Weblogic Server to mysql.
    On tomcat ejb works but adf doesn't run.
    Know anybody to configure tomcat 6.0 for adf from jdev 11g r1?
    I tryed to add all the libarays from previus jdev versions but nothing work?
    Have somebody a solution for me?

    Hi @ all, i have the same problem
    i am using JDeveloper 11g and Tomcat 6.0
    i tried to deploy a ADF Faces Webappliction to Tomcat. (with a WAR)
    i can start up tomcat without problems but by access the page i get following error log:
    10.10.2008 13:16:23 org.apache.catalina.core.StandardWrapperValve invoke
    SCHWERWIEGEND: Servlet.service() for servlet Faces Servlet threw exception
    org.apache.jasper.JasperException: /home.jspx(3,49) Could not add one or more tag libraries.
         at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
         at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
         at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
         at org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:214)
         at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:200)
         at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
         at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:475)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:143)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:652)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:243)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:203)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:619)
    tomcat console says following lines:
    10.10.2008 13:24:50 oracle.adfinternal.view.faces.activedata.SessionDataUpdateManager __getPageDataUpdateManager
    SCHWERWIEGEND: Aktive Daten können nicht registriert werden, wenn das Fenster keinen Namen hat
    (Active data cannot be registed, the window has no name)
    Any help really appreciated !
    Cheers,
    Hannes

  • ADF BC App tomcat 5.5 Runtime error

    I have a ADF BC webapp that I am trying to deploy to tomcat 5.5, however I get the following runtime error:
    java.lang.NullPointerException
         oracle.adf.model.BindingRequestHandler.endRequest(BindingRequestHandler.java:226)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:166)
    When I run the application with my internal OC4J or on a standalone OC4J, it runs correctly. I am just clueless as to what the above error means as I get no other output in the tomcat logs. I am using JDev 10.1.3.2 and I used the JDev adf installer to install the adf libraries. I also followed this guide Howto: Deploy ADF application on Tomcat 5.5 using JNDI to properly deploy my application to tomcat.
    Running an adf applicaton without BC works just fine, but once BC comes into play I get the above error. I have tried it with a simple ADF BC app and it still gives the same error.

    I have exactly the same error and same problem. Does anybody resolve it or have clue what's wrong?

  • Problem Running ADF page in Tomcat 6 (AdfPage is not defined error)

    I'm using JDEV 11.1.1.5
    Tomcat 6.0.24
    I have the JSPX page below deployed on Tomcat.
    At runtime I get an error: AdfPage is not defined
    On this line of code:
    var passwordTextField = AdfPage.PAGE.findComponentByAbsoluteId('password');
    Any suggestion on why it does not recognize AdfPage in the javascript function?
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:c="http://java.sun.com/jsp/jstl/core"
              xmlns:trh="http://myfaces.apache.org/trinidad/html">
      <c:set var="bundle"
             value="#{adfBundle['oracle.apps.grc.ui.landing.GRCLandingPFBundle']}"/>
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
      <af:document id="loginPage">
            <af:group>
            <af:resource type="javascript" source="/oracle.apps.grc.ui.cryptoclient.CryptoClient.nocache.js"/>          
            <af:resource type="javascript">
                function login(event) {
                    try {
                        var grcCrypto = new window.grc.Crypto();
                        var passwordTextField = AdfPage.PAGE.findComponentByAbsoluteId('password');
                        passwordTextField.setValue(grcCrypto.encrypt(passwordTextField.getValue()));
                        var submitLoginButton = AdfPage.PAGE.findComponentByAbsoluteId('submit_login');
                  AdfActionEvent.queue(submitLoginButton, submitLoginButton.getPartialSubmit());
                        event.cancel();
                    catch (e) {
                        alert(e.message);
            </af:resource>
            </af:group>

    Hi.
    as Raphael says, check your libraries.
    I think that adfpage is in adf-richclient-api-11.jar, check if this library is in your %CATALINA_HOME%/lib folder.
    Anyway I will inform you that Tomcat is not a certificate server,http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html#Application_Servers

  • Deploying ADF Applications on Tomcat

    Hi everybody,
    I'm wondering if is there any "secure and stable" way for deploying ADF web applications developed with JDeveloper 11g on Tomcat. JDev is amazing, so I hope that deployment is not restricted to Oracle AS.
    Thank you very much in advance!

    The only certified application server is Weblogic at this time.
    Some people did manage to deploy apps to other app servers, but that is not supported. Also, you'd need a separate ADF license.

  • ADF Event  and Tomcat 5.0.16 Error

    I've deployed an ADF application to a Tomcat 5.0.16 server. I noticed the Tomcat logs contain this error:
    2004-10-28 13:38:27 StandardContext[HETA]No Method onAddAccounting and no actionBinding AddAccounting found.
    I've got a JSP with an Add Accounting button like this:
    <input type="SUBMIT" value="Add New Accounting" name="event_AddAccounting" >
    The struts-config.xml for this JSP looks like this:
    <action name="DataForm" path="/clientAccounting" className="oracle.adf.controller.struts.actions.DataActionMapping" parameter="/clientAccounting.jsp" type="oracle.adf.controller.struts.actions.DataForwardAction">
    <set-property property="modelReference" value="clientAccountingUIModel"/>
    <set-property property="methodName" value="clientAccountingUIModel.setUpClientAccountingList"/>
    <set-property property="resultLocation" value="${requestScope.methodResult}"/>
    <set-property property="numParams" value="1"/>
    <set-property property="paramNames[0]" value="${sessionScope.CaseHeader.clntIdSeq}"/>
    <forward name="AddAccounting" path="/clientAccountingEdit.do"/>
    </action>
    The forward works just fine, but it bugs me that this message is being logged each time the Add Accounting button is pressed.
    Any idea why this message is being logged in the Tomcat logs?

    I had a similar problem on OC4J. For some crazy reason, Oracle still bundles their own XML parser (I say still. It's OC4J 10.1.3 we have in production, so we're just a wee bit behind the curve). At any rate, I had to tell OC4j not to use Oracle's XML parser and just the one bundle with the JRE (1.5). IIRC (and I should know this since I work on Mojarra :), that's caused by an older version of JAXB, so I think you're on the right track. You might check to see if Tomcat 6 bundles JAXB. If it does, you'll need to remove it or update it. If you're on 1.5 or greater, I don't think you need to have that in the app server lib anyway, as the JDK/JRE bundles it.
    Hope that helps. :)

  • Is it legal to deploy ADF libraries to Tomcat?

    Hi,
    I saw some posts that describe decouple ADF from Weblogic and deploy the libraries to other app servers. As I known, ADF is free, but not open source. So, is it illegal to deploy to Tomcat?
    Thanks

    You are wrong that ADF is free.
    From the license:
    >
    "Components" refers to Oracle TopLink and Oracle Application Development Framework (ADF) which consists of the following components of the Programs: Oracle ADF Business components (aka Business Components for Java), the ADF Model Layer, ADF's Struts Data Actions or Data -Pages, ADF UIX, ADF Swing (aka Jclient), ADF Faces components ADF Mobile, ADF Controller, ADF Data Visualization components, and ADF Security.
    We grant you a nonexclusive, nontransferable limited license to use the Components and the Oracle WebLogic Server only for the purpose of developing a single prototype of your application for your internal business operations, and not for any other purpose. If you want to use the application you develop using the Components, or the Oracle WebLogic Server, for any internal data processing or for any commercial or production purposes you must contact us, or an Oracle reseller, to obtain the appropriate license. If you want to use the Program or Components for any purpose other than as expressly permitted under this agreement you must contact us, or an Oracle reseller, to obtain the appropriate license.
    >
    So you are free to develop an app using ADF, but if you use it, you need a license, regardless if you use WLS or Tomcat.
    Timo

  • ADF Demo on Tomcat 5 with MyFaces

    Hi all
    I'm trying to make the JSF ADF Demo work with MyFaces 1.0.9 JSF Implementation. I've got troubles when I start the server (Tomcat 5), the container is still looking for the ConfigureListener, even if I have configured properly the listener in the web.xml. I'm like stucked.
    Any idea would be appreciated.
    Thanks
    Sébastien Vidon

    try posting on the JDeveloper forum - where ADF Faces support is provided.

  • Deploying ADF Application to Apache Tomcat

    I am using Jdeveloper 11.1.2.2.0 and Tomcat 8.0.8 .
    while deploying ADF application,I am getting following exceptions:
    18-Jun-2014 10:24:10.432 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MDPT]]
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697)
            at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:919)
            at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1704)
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoClassDefFoundError: Ljavax/faces/application/ProjectStage
            at java.lang.Class.getDeclaredFields0(Native Method)
            at java.lang.Class.privateGetDeclaredFields(Unknown Source)
            at java.lang.Class.getDeclaredFields(Unknown Source)
            at org.apache.catalina.util.Introspection.getDeclaredFields(Introspectio
    n.java:106)
            at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(Web
    AnnotationSet.java:261)
            at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAn
    notations(WebAnnotationSet.java:140)
            at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotatio
    ns(WebAnnotationSet.java:66)
            at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfi
    g(ContextConfig.java:332)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
    g.java:771)
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
    g.java:303)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:117)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
    se.java:90)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:5069)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
            ... 11 more
    Caused by: java.lang.ClassNotFoundException: javax.faces.application.ProjectStag
    e
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 25 more
    18-Jun-2014 10:24:10.460 SEVERE [localhost-startStop-1] org.apache.catalina.star
    tup.HostConfig.deployWAR Error deploying web application archive C:\apache-tomca
    t\apache-tomcat-8.0.8\webapps\MDPT.war
    java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.cata
    lina.LifecycleException: Failed to start component [StandardEngine[Catalina].Sta
    ndardHost[localhost].StandardContext[/MDPT]]
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:727)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:70
    0)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697)
            at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:919)
            at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
    1704)
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
    please help me to solve this issue

    have you included jsf jar files?
    Running ADF Essentials in Tomcat
    http://technology.amis.nl/2014/01/03/deploy-oracle-adf-essentials-web-application-on-tomcat/

  • ADF application deployed but not able to process any events on Tomcat

    Hie
    Somehow i m able to deploy an ADF application on tomcat 5.5. I am able to see the pages. But nothing is working. That is on click of submit button it does not call the the method written in the bean (assigned to action property of the button).
    All is working fine when run withi jdev. Also i dont see any kind of log messages while clicking the submit.
    So i m not able to figure out wht is really going wrong. In my apps i have used just ADF faces. There is not ADF-model..
    regards
    Vik

    Hello Praveen,
    If I understand correctly the scenario is File -- XI -- RFC and you do not see any message in SXMB_MONI.
    I would test the Sender File Adapter first before going to RFC. If the file is picked up and sent to Int Server you would see a corresponding message in SXMB_MONI.
    I would first check the Sender File Comm Channel in Comm Channel Monitoring and ensure the file id being picked up.
    In case this is not working you would get the exact error in the File Comm Channel. If this channel is working fine and you see a message id for the picked up file but the corresponding message Id is not available in SXMB_MONI, I would have a look at the queues if they are registered properly in SMQR or check if messages are stuck in any queue using SMQ1 and SMQ2 transactions. Please do the following steps and I am sure the scenario would work.
    In case you find the problem and are not able to resolve it please post it here and I can suggest something.
    Please award points if this post helps you.
    Thanks and Best Regards,
    Kanwal

  • Tomcat 6.0.18 won't start the deployed ADF Application

    I searched the forum and the blogs. I did what it was said on the forum and the Dana Singleterry's blog. Then I developed a simple "Hello World" ADF application, deployed the .WAR file to Tomcat server version 6.0.18. When I copied the .WAR file to the webapps directory of the Tomcat server, the simple Hello World application didn't start. When I checked the log files I've found error messages.
    In Catalina log file, it says :
    INFO: Initializing JavaServer Faces implementation (1_2_07-b03-FCS) for context '/TomcatTest'
    Feb 27, 2009 11:24:03 AM com.sun.faces.config.ConfigureListener installExpressionFactory
    SEVERE: Unable to instantiate ExpressionFactory 'com.sun.el.ExpressionFactoryImpl'
    Feb 27, 2009 11:24:03 AM org.apache.catalina.core.StandardContext start
    SEVERE: Error listenerStart
    Feb 27, 2009 11:24:03 AM org.apache.catalina.core.StandardContext start
    SEVERE: Context [TomcatTest] startup failed due to previous errors
    And in localhost log file it says :
    Feb 27, 2009 11:24:03 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
    com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl. If not using JSP or the EL RI, make sure the context initialization parameter, com.sun.faces.expressionFactory, is properly set.
         at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:371)
         at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:199)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
         at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
         at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
         at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1217)
         at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
         at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
         at java.lang.Thread.run(Thread.java:619)
    What am I missing while deploying the .WAR file to Tomcat?
    Thanks in advance.

    As I mentioned in my post I've already checked the threads and the blogs what to do to deploy the ADF application to Tomcat server. I put all the necessary libraries in Tomcat's lib folder as it was said on the threads and blogs. By the help of Shay's I managed the application to be deployed successfully and to start on Tomcat server. But now I face another exception when I run the application.
    org.apache.jasper.JasperException: /untitled1.jspx(3,49) Could not add one or more tag libraries.
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
         org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:214)
         org.apache.jasper.compiler.ParserController.doParse(ParserController.java:200)
         org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
         org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:475)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:143)
         javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188)
         oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:652)
         oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:243)
         oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:203)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:61)
    Even though I included all the libraries in the application what tag library may I be missing?
    Thanks in advance.

  • MDS on Tomcat server

    Hi,
    JDeveloper 11g, Tomcat server.
    I am planning to deploy the ADF Application on Tomcat server. My question is, Is it possible to configure the MDS on Tomcat server?
    Please let me know.
    Thanks.

    Nope, not at this time. It's only certified on WLS

  • Will ADF fusion applications matchup as Java EE 6 has arrived?

    Here is my view as a simple developer who doesn't like complications :)
    1)With ADF, the first thing that wowed me long back was how well integrated the stack is, calling business logic from frontend was quite easy as JDeveloper did lot of work of creating relevant XML files and so on. With Java EE 6, i simply use CDI to inject EJB's in managed beans and start using it right away. Infact EJB's can now be also included in WAR files which i guess will be a good news for small to medium scale applications using Java EE6 web profile. Isn't CDI a better approach for integration rather than lots of XML files. Isn't Java EE 6 more intuitive approach rather than developer having to worry about additional resources being added to the project?
    2)I love ADF since we can setup validation in Entity objects and it gets reflected in frontend too. With Java EE 6, bean validation i get almost similar features as validation code is not repeated in every tier.
    3)ADF involves a steep learning curve with additional lookup in Business Object API's for various scenarios as well as knowledge of core JSF. With Java EE 6 providing seamless integration, the learning curve is lot less, JSF 2.0 + EJB CDI  Bean Validation combination seems sufficient for most projects.(CDI specification only about 100 pages, Bean Validation specification about 145 pages and this year itself books related to Java EE 6 will be out for those who don't like the specification approach)
    4)I always had issues with ADF applications taking lot of time to startup. I tried some sample Java EE 6 application(on glassfish v3), using JSF2.0 + EJB combination. They start as fast as pure JSP applications. Plus the memory required by Netbeans(with integrated Glassfish v3) is quite less.(JDeveloper + Weblogic+ Oracle XE require lots of space). Netbeans(i use it just because it has support for Java EE 6) starts in around 10 secs whereas JDeveloper takes around a minute at least on my PC.
    5)Java EE 6 applications will run on all compliant servers and already development is on for Java EE 6 compliance. Such claims cant be made for current ADF applications. Isn't it a kind of application server vendor lock in?
    6)I have personally found jsf libraries like Rich faces, Prime faces, Ice faces quite easier to use than ADF Faces. For the former cases, i simply look up the demo show cases and use the relevant code in my projects. Using ADF faces is easy with JDeveloper but when i look at the source code, i find it much more complex than other JSF libraries, lots of binding stuff in it. With richfaces, prime faces etc, i get a sense of control over the UI code. Granted ADF has more components then any other JSF framework, but really using a particular JSF library like RichFaces or Prime Faces is more then sufficient for me. Plus some libraries are already JSF 2.0 compliant. At the start, i was impressed by the charting components which ADF provided, but now virtually every JSF library provides them. Pages can be edited at source code level in other libraries, i cant imagine doing the same with ADF Faces.
    7)ADF Faces is currently not free (at least till the last time i checked it), many other libraries are. Thats a big big plus for small budget projects who dont happen to have Weblogic.
    8)When i tried building demo application using ADF, first of all Weblogic takes a lot of time to start, plus it took lot of time to just view a modified page. Glassfish v3 starts in just few seconds, plus pages are served quite quickly. I did follow some steps in various blogs about how to improve performance of JDeveloper+Weblogic for development purposes. However JDeveloper + Weblogic combo create-edit-test time is more than netbeans +glassfish v3 combo. Infact i have always wondered, why i am forced to test my ADF applications on a production level server like Weblogic and not on smaller ones like tomcat or even full EE servers like glassfish. If am forced to use a particular server for testing, then i expect quick runs. Visual Studio with integrated IIS is so fast, in fact there is hardly any wait time to see a modified page.(I have developed both Java EE as well as Asp.net applications, and i guess mentioning them is OK since its also a component oriented framework)
    9)This is a rather offbeat point. Asp.net framework offers Gridview, a table control which is heavily used by .net guys.(Infact a new control ListView has arrived which offers far more features). In ADF lazy loading tables, there is no direct paging available(i mean paging where we actually see the pager control), with developers having to find out ways to include paging. In other library say PrimeFaces, there is table control which has lazy loading as well as paging built in. Cant there be such a control in ADF with paging as well as template based approach like ListView of Asp.Net? In fact i still haven't found a flexible control like ListView in Java arena. Guess i have to build one since JSF 2.0 has made buildings controls very easy :)
    With Java EE 6, JSF 2.0 + EJB + CDI + Bean Validation, do we need the overall complexity which ADF applications inherently have?
    Edited by: Nash Era on Jan 30, 2010 8:58 AM

    Thanks for taking time for replying :)
    Good to hear that Java EE 6 is being considered in ADF future development. For once, a standard seems developed by fellow developers rather than over engineered stuff coming out of a committee meeting( well it started with Java EE 5).
    For me, another framework is required only if a standard doesn't suffice all the needs. I mean why increase a developers burden by making him learn whims and fancies of new framework with all its API, its usage, etc.And Java EE 6 has lots of features to satisfy a wide variety of development scenarios.
    1) Actually, i wasn't pointing to injecting specific code in model. For eg: [this |http://www.adam-bien.com/roller/abien/entry/ejb_3_1_killed_the], [simple javaEE6|http://www.adam-bien.com/roller/abien/entry/simplest_possible_jsf_2_ejb] .All business logic in session bean, clueless about how its going to be utilized by any front end. When i use a particular UI technology, say JSF 2.0. i simply inject the session bean in one of my JSF managed bean and start using it. No XML files, no binding directly visible for the developer, all binding magic taken care of courtesy, CDI. In fact now a JSF managed bean doesn't need to declared in faces-config.xml, a simple @ManagedBean and scope declaration is enough, one , two , three
    Even i am skeptical about how annotations which are being liberally used affects project maintenance. Hope it doesn't turn out to be annotation Hell!
    With JPA 2.0 including lots of new features, JSF 2.0 being enhanced further, a lot of development scenarios seems already covered.
    3)It really took a lot of time for me to get a hang of ADF. Simple applications are easy to manage, but reading the developers guide took a while.(The guides are really good, the best thing about oracle is how well documented there products are).
    5)Actually i tried porting a sample ADF application on Tomcat. Wasn't successful at it. (Actually i gave up since i didn't have that much time). A official support for ADF on various servers would be great.
    6)ADF BC as business layer and ADF Faces as UI does involve bindings. Plus a extra binding xml file for each JSF page. With Java EE 6, i have no extra items in my project.
    Am looking forward to how JDeveloper, the IDE of choice for me, provides support for Java EE 6,specifically if any annotation GUI kind of support is provided for DI.
    7)I wasn't saying that ADF is not worth its price tag. Just that free alternatives are available which may suffice many projects.
    9)About components, a pager control is so much required. I mean for web applications, if we present a product list to the user, he gets a sense of number of products in a list just by looking at the pager below. Better user experience can be achieved by pager control then scrollable tables. Say for amazon.com or ebay.com with search results in a scrollable table wont be acceptable. Plus pager provides a sense of completion than scrolls as the user doesn't have to worry if he has missed a item by scrolling past it. How many ecommerce sites out there use scrollable tables instead of pager? ADF should have catered to this large audience who prefer to have page numbers, prev, next, first, last buttons.
    ListView in Asp.Net is very flexible. It can display a table of data with pager , plus it supports templates. With typical JSF table controls, they are rendered only as rows in a table. With ListView i can display the data in any format i want. So a particular list item info is not restricted to be in a row format. I can display it in whichever form i want( for eg: if i am displaying a product list to a user, i place a image to left, price, product info to the right), plus i get paging too.
    Am sure JDeveloper + ADF + Java EE 6 will be a deadly combo just as it was for Java EE 5. Looking forward to it :)
    Edited by: Nash Era on Jan 31, 2010 9:57 AM
    Edited by: Nash Era on Jan 31, 2010 10:07 AM

Maybe you are looking for

  • Has someone tried to install windows 8 on the libretto W100 ?

    Hi, Has anyone tried to download and install windows 8 on their libretto ? It is said that windows 8 only require an Atom processor and 1GB of RAM to run ?

  • How do I sync my iPhone with a new computer without losing all of my data?

    How do I sync my iPhone to a new computer without losing all of data?

  • CREATING A NEW ELEMENT LINK

    Help needed immediately Hi to every one, i need to create a element for washing allowances for rupees 330 for 30 days and that should not be applicable on their absent days. how to create like this condition and what logic should i use for that? Than

  • Printing In  CS4 Help!!!

    In CS3 you could print multiple images on a sheet like a photo studio by going to File-Automate-Print Package and in CS4 that option isn't there and I can't find any information on it. Does anyone know what I am talking about or can anyone help me Pl

  • Add support for colorist control surfaces

    A Lightroom feature I would like to see is support for colorist control surfaces such as those made by Tangent Devices, JL Cooper, Euphonix, etc. Working with still images in Lightroom is rather like color grading motion scenes (daVinci, Apple Color,