Pages - Menu

viernes, marzo 06, 2009

ADF 11g en JBoss5 parte 2 – POJO Databindings

En el primer artículo de la serie se mostró como hacer el despliegue de una aplicación que no hacia uso del ADFm o como también se le conoce los databindings. En este artículo vamos a deplegar una aplicación que utiliza el data control de clases java dentro de JBoss 5GA.

Para llegar al resultado final he seguido un procedimiento diferente en el manejo de las librerías comparado con el propuesto en el primer articulo. Para llevar a cabo este procedimiento vamos a incluir dentro de nuestra aplicación un archivo de configuración que nos permita cargar las librerías de nuestro proyecto primero antes que las de JBoss para poder llevar a cabo un despliegue exitoso de la aplicación. Para esto me base en la documentación sobre JBoss classloader.

Como primera media vamos a crear un proyecto que utilize el POJO data control para presentar datos desde una clase java hacia la interfaz Web. A continuación les presento la estructura de mi proyecto, nótese que hay un archivo nuevo dentro de esta estructura llamado jboss-web.xml que es el que utlizamos para sobre-escribir la carga de las clases.

image

El archivo jboss-web.xml queda así:

  1: <?xml version="1.0" encoding="UTF-8"?>
  2:  <!DOCTYPE jboss-web PUBLIC
  3:     "-//JBoss//DTD Web Application 5.0//EN"
  4:     "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
  5: 
  6: <jboss-web>
  7:     <class-loading>
  8:         <loader-repository>
  9:             com.oracle.adfpojo:loader=adfm.jar
 10:             <loader-repository-config>java2ParentDelegation=true</loader-repository-config>
 11:         </loader-repository>
 12:     </class-loading>
 13: </jboss-web>
 14: 


La configuración del loader-repository apunta a cualquier librería que esté contenida dentro de nuestro archivo WAR. Alguien sabe el proposito de esta?



Finalmente vamos a incluir todas las librerias necesarias dentro del proyecto y del perfil de despliegue para poder llevar la aplicáción a JBoss. En las propiedades del proyecto asegurense de tener seleccionadas las siguientes librerías y paquetes de librerías.



image



Luego seleccione las siguientes librerías para que hagan parte de su perfil de despliegue o deployment profile



adf-controller-api.jar
adf-controller.jar
adf-controller-rt-common.jar
adf-dt-at-rt.jar
adfdt_common.jar
adf-faces-databinding-rt.jar
adflogginghandler.jar
adfm.jar
adfmweb.jar
adf-pageflow-dtrt.jar
adf-pageflow-fwk.jar
adf-pageflow-impl.jar
adf-pageflow-rc.jar
adf-richclient-api-11.jar
adf-richclient-impl-11.jar
adf-share-base.jar
adf-share-ca.jar
adf-share-support.jar
adf-transactions-dt.jar
cache.jar
commons-cli-1.0.jar
commons-el.jar
db-ca.jar
dms.jar
dvt-databindings.jar
dvt-facesbindings.jar
dvt-faces.jar
dvt-jclient.jar
dvt-utils.jar
groovy-all-1.5.4.jar
identitystore.jar
inspect4.jar
javatools-nodeps.jar
javax.xml.bind_2.1.3.jar
jaxb-impl_2.1.3.jar
jdev-cm.jar
jewt4.jar
jmxframework.jar
jmxspi.jar
jps-api.jar
jps-common.jar
jsf-api.jar
jsf-ri.jar
jsp-el-api.jar
jstl.jar
mdsrt.jar
oc4j-unsupported-api.jar
ojdbc5.jar
ojmisc.jar
oracle-el.jar
oracle.ucp_11.1.0.7.0.jar
share.jar
trinidad-api.jar
trinidad-impl.jar
weblogic-injection-provider.jar
xmlef.jar
xml.jar
xmlparserv2.jar


Luego ya puede desplegar su aplicación y ejecutarla



image

11 comentarios:

  1. Muy Bueno pero me gustaria que me ayudaras a como desplegar los adf sobre un servidor Apache Tomcat ya que al correr los ejemplos que he visto, no me muestra nada de componentes en Apache Tomcat, no se como configurar para que me despliegue esos componentes, y tampoco puedo correr mis aplicaciones en el Web Server Logic me pide Run Target Default y no se como hacerle.

    Necesito Ayuda Por Favor!!!!!!!

    ResponderEliminar
  2. Hola Ismael,

    Para correr sobre WebLogicServer que viene integrado dentro de JDeveloper haz click derecho sobre la pagina jspx que quieres mostrar y ahi se va a desplegar.

    Para la parte de Tomcat te recomiendo el siguiente articulo
    http://blogs.oracle.com/dana/2009/01/how_to_deploy_a_11g_adf_applic_1.html

    Saludos

    ResponderEliminar
  3. Asi es como he intentado hacerle le doy clic derecho sobre la pagina, pero no me muestra nada solo compila y ahi queda y me pide a fuerza el Run Target Default, pero no se que ponerle ahi.

    En cuanto al articulo que me recomiendas esta muy bueno, ya lo estoy poniendo en practica, ya te avisare cualquier duda al respecto.

    Saludos

    ResponderEliminar
  4. Gracias por la Informacion ya quedo resuelto el problema, gracias al blog que me recomendaste pude resolver el problema con el Tomcat.

    En cuanto a lo del WebLogicServer tambien ya resilvi el problema, volvi a instalar Jdeveloper y con eso quedo.

    Gracias por la ayuda.

    Saludos Hasta Luego

    ResponderEliminar
  5. Me podrias decir por favor en que ruta obtuviste los .jar siguientes:
    Jaxb-impl_2.1.3.jar
    Javax.xml.bind_2.1.3.jar
    Weblogic-injection-provider.jar

    Ya los busque en las libreria y en mi maquina y no los encuentro.
    Gracias

    ResponderEliminar
  6. Hola no encuentro de donde sacar los siguientes jar.
    weblogic-injection-provider.jar
    jaxb-impl_2.1.3.jar

    me podrias orientar de donde los puedo sacar o si temgo que descargarlos.
    Gracias

    ResponderEliminar
  7. Hola David,

    Imagino que estas utilizanod la última versión de JDeveloper, este articulo fue echo con el release anterior y existen alguna diferencias. Para la version 11.1.2.0 de Jdeveloper asegurate que tengas estas librerias

    adf-share-base.jar
    adf-share-ca.jar
    adf-share-support.jar
    adflibfilter.jar
    adflogginghandler.jar
    adfm.jar
    cache.jar
    commons-el.jar
    db-ca.jar
    dms.jar
    eclipselink.jar
    ejb3-persistence.jar
    groovy-all-1.6.3.jar
    identitystore.jar
    javatools-nodeps.jar
    jmxframework.jar
    jmxspi.jar
    jps-api.jar
    jps-common.jar
    jps-ee.jar
    jps-internal.jar
    jps-unsupported-api.jar
    jps-wls.jar
    jrf-api.jar
    mdsrt.jar
    ojdbc6.jar
    ojdl.jar
    oracle-el.jar
    resourcebundle.jar
    share.jar
    xml.jar
    xmlef.jar
    xmlparserv2.jar

    Pruebalo y me cuentas como te va.

    Saludos

    Juan Camilo

    ResponderEliminar
  8. Gracias Juan lo he probado pero me manda los sig errores:
    oracle.mds.core.MetadataNotFoundException: MDS-00013: no se han encontrado los metadatos para el objeto de metadatos "/META-INF/adf-config.xml"

    15:22:05,562 ERROR [STDERR] 23/03/2010 03:22:05 PM oracle.adfinternal.view.faces.config.rich.FacesDatabindingConfigurator _installBC4JSupport
    GRAVE:
    java.lang.reflect.InvocationTargetException

    15:22:05,593 ERROR [STDERR] e(ServiceMBeanSupport.java:245)
    Caused by: java.lang.NullPointerException

    15:22:06,046 ERROR [STDERR] 23/03/2010 03:22:06 PM oracle.security.jps.internal.config.xml.XmlConfigurationFactory initDefaultConfiguration
    GRAVE: java.io.FileNotFoundException: E:\Servers\jboss-4.2.3.GA\bin\.\config\jps-config.xml
    15:22:06,046 ERROR [[/tutorial]] Excepción arrancando filtro JpsFilter
    java.lang.ExceptionInInitializerError
    Caused by: java.lang.RuntimeException: oracle.security.jps.JpsRuntimeException: oracle.security.jps.JpsException: [PolicyUtil] Exception while getting default policy Provider

    Alguna idea de el por que de estos errores?

    Gracias.

    ResponderEliminar
  9. Hola muy buena tú publicación y disculpa que comente después de tanto tiempo, pero tengo que hacer una aplicación con adf la cual desean que trabaje sobre glassfish v3.x.
    Estoy usando JDeveloper R2 (11.2.x).
    He hecho pruebas sencillas, de páginas con uno o dos controles, un template y un enlace entre páginas, pero al momento de realizar el deploy me manda error de NullPointer. Estoy siguiendo los pasos de tu blog, ya que no he encontrado mucho sobre lo mismo en glassfish.
    Por cierto, el error NullPointer que manda es solo al terminar de hacer el deploy, la aplicación queda desplegada y si la acceso funciona y me ejecuta lo que programé, pero tengo temor de que ese error pueda darme problemas con una aplicación de mayor tamaño.
    Favor agradezco su consejo y apoyo, a la vez le agradecería que me enviara las app de ejemplo para probar si es que me faltan librerías(lo mas probable)
    Muchas Gracias!!
    Atte:
    Carlos
    e-mail: u.sertest@hotmail.com

    ResponderEliminar
  10. Hola Carlos,

    La verdad no he probado sobre Glassfish, ten en cuenta que esta configuración no es certificada por Oracle, por lo que cualquier problema que tengas, tiene que ser replicado sobre Weblogic para que Oracle de soporte.

    Por otro lado, te recomiendo que mires el listado de las librerias que mencionan en este foro, ten en cuenta que esto todo es para JBoss:
    https://forums.oracle.com/forums/thread.jspa?threadID=1055505&start=15&tstart=0

    Saludos

    Juan Camilo

    ResponderEliminar
  11. HOla y ante todo agradecer por los buenos comentarios que hay aqui, tengo una duda llevo dias tratando de desplegar ADF in Jboss 7.1 quisiera saber si alguno de ustedes lo ha logrado y como seria o donde puedo encontrar informacion ya que en google no he encontrado nada hasta ahora .Gracias de antemano.

    ResponderEliminar