Archive

Posts Tagged ‘ADF 12c’

avanttic obtiene la especialización en Oracle Application Framework 12c

agosto 26, 2016 Deja un comentario

avanttic es el primer partner de España y el sexto del mundo que obtiene la especialización en Oracle Application Development Framework 12c.

Con esta nueva certificación avanttic afianza su especialización en Oracle Fusion Middleware (Specialized Oracle Middleware Partner of the Year 2016 Spain), sumando 12 certificaciones en esta área, de las cuales en 2 ha sido el primer partner del mundo en conseguirlas y en 4 el primero de España.

Además avanttic consigue llegar a la cifra de 30 certificaciones en Tecnología Oracle.

O_SpecPlat_OracleAppDvlpmtFrmwrk12c_clrOracle Application Development Framework 12c Specialization recognizes partners who possess a strong conceptual foundation and hands-on expertise in implementing solutions using Oracle’s ADF 12c.  Certified in ADF 12c allows building and Using a Data Model with ADF Business Components, Creating Databound UI Components, Defining Task Flows, Validating User Input, Responding to Application Events, Implementing Transactional Capabilities and Implementing Security.

Revise en este link todas las certificaciones actuales de avanttic en Productos y Soluciones de Oracle.

ADF tips: Cambiar el estilo de un componente por su id

ADF tips

Si queremos cambiar la apariencia de un componente normalmente utilizamos Skinning y los selectores que nos ofrece. Aunque no es una forma usual de aplicar diferentes estilos a componentes, voy a mostraros como aplicarlos utilizando la id del componente.

Si por ejemplo tenemos un botón en una página, y este componente no está rodeado de ningún naming container (como puede ser un PanelCollection o una región), podemos utilizar su id sin hacer ninguna modificación más.

Podéis observar el código de la página, el css y el resultado.

 

1

2

3

 

Si por el contrario el componente está rodeado de un naming container, la id generada en html no será la misma, por ejemplo será ‘pc1:b2’ si lo tenemos dentro de un panelCollection o ‘r1:0:b2’ si el botón está dentro de una región.

Al ejecutar la página podremos inspeccionarla utilizando nuestro navegador preferido.

2-1

4

Leer más…

Categorías:ADF / Java Etiquetas: , , , ,

ADF tips: Cambiar de skin en tiempo de ejecución dependiendo de la URL

ADF tips

Hace unos meses, Andrejus publicó cómo cambiar entre Skyros y AltaUI en ADF 12c. Esta es una forma perfecta para empezar una migración de 11g a 12c y AltaUI. En este post voy a mostraros otra forma de cambiar de skin en tiempo de ejecución dependiendo de la página en la que estemos.

Primero tenemos que crear un bean ‘SkinSelector’ y una propiedad dentro del bean ‘currentSkin’. También tenemos que añadir su método get y set.

1

2

Una vez tenemos creado el bean, y lo hemos registrado en el adfc-config, vamos a asignar dicha propiedad al skin-family del fichero trinidad-config.xml para que podamos setear dicha propiedad dinámicamente.

3

El siguiente paso es crear un Filter. Dentro de la clase java, en el método doFilter vamos a evaluar la URL en la que nos encontramos y vamos a asignar la propiedad ‘currentSkin’ del bean ‘SkinSelector’ dependiendo del valor. También tenemos que instanciar el bean y añadirlo a sessionScope ya que la primera vez que ejecutemos será null.

4

Una vez que tenemos el filtro creado, tenemos que registrarlo en el fichero web.xml.

Leer más…

Desarrollos corporativos utilizando el framework Oracle más adecuado

febrero 9, 2016 Deja un comentario

Ruben Rodriguez, Java and ADF Specialist en avanttic, escribió en el número 6 de la revista Oracleando un artículo sobre las novedades en las plataformas y frameworks de desarrollo web y mobile de Oracle presentadas durante Oracle OpenWorld 2015.

Siempre que pensamos en Oracle OpenWorld sabemos que Oracle va a poner en el mercado nuevos productos y nuevas versiones de productos ya existentes. Este año no iba a ser menos y, en cuanto a plataformas de desarrollo de aplicaciones web y mobile, ha sido un OOW cargado de emocionantes novedades.

IMG

Oracle pretende dotar, a clientes y partners, de herramientas y frameworks adaptados a cada necesidad, en función del tipo de desarrollo a realizar (centrado en la BBDD, web/mobile o sobre el cloud) y del perfil de los desarrolladores de que se disponga:

1. Los desarrolladores PL/SQL podrán utilizar APEX o Forms para desarrollar aplicaciones con la lógica de negocio almacenada en la BBDD.

2.  Los desarrolladores Java podrán utilizar Oracle ADF y Oracle MAF para desarrollar aplicaciones web y mobile.

3.  Los desarrolladores JavaScript podrán utilizar Oracle JET para desarrollar la capa de presentación, tanto de las aplicaciones web como las de mobile.

4.  Todo tipo de desarrolladores Cloud, e incluso los usuarios de negocio, podrán crear aplicaciones sin tener que realizar programación en un lenguaje específico, utilizando las dos nuevas plataformas de desarrollo cloud: Oracle Application Builder Cloud Service y Oracle Mobile Application Accelerator (dentro de Oracle Mobile Cloud Service).

En este artículo podrá conocer más detalles sobre todos estos frameworks y plataformas de desarrollo web/mobile que tenemos a nuestra disposición e intentaremos descubrir la estrategia de Oracle que se vislumbra detrás de estos lanzamientos.

Si desea orientación sobre qué framework sería el más adecuado para alguna necesidad concreta, no dude en ponerse en contacto con nosotros.

ADF tips: Mostrar el registro seleccionado en un af:tree

ADF tips

En ocasiones para presentar la estructura de nuestros datos utilizamos un af:tree ya que es una forma simple y elegante de poder mostrar el maestro y el detalle en un mismo componente. En este ADF tip vais a poder ver cómo mostrar el registro seleccionado es un af:tree basado en un view object recursivo.

Supongamos que tenemos esta estructura basada en la tabla empleados del schema hr de Oracle.

1

Lo primero que tenemos que hacer es arrastrar la vista de la paleta de data controls a nuestra página para crear el árbol.

2

 

Una vez creado el árbol, para mostrar el registro seleccionado, añadiremos un formulario basado en la vista de empleados. Aquí tenemos el problema: ¿en qué instancia de la vista basamos el formulario? Si lo hacemos en la instancia padre sólo se mostrará en el formulario el registro padre cuando seleccionemos alguno de los hijos.

3

Leer más…

Revista Oracleando nº 6 (SPOUG, diciembre 2015)

diciembre 14, 2015 Deja un comentario

06-avanttic-Oracleando-10112015 Se ha publicado el número 6 de la Revista Oracleando, editada por SPOUG – Spain Oracle Users Group.

avanttic (socio institucional de SPOUG) ha colaborado en este número con publicidad (contraportada) sobre la capacidad de avanttic para realizar desarrollos corporativos, utilizando el framework Oracle más adecuado para cada necesidad: en Java con ADF y MAF; en JavaScritpt con JET; en PL/SQL con Forms y APEX; en Cloud con ABCS y MCS/MAX.

Además hemos publicado un artículo titulado Novedades en las plataformas y frameworks de desarrollo web y mobile de Oracle, en el que Rubén Rodríguez (Java & ADF Specialist en avanttic) explica las novedades presentadas en San Francisco el pasado mes de Octubre. Este artículo forma parte de un monográfico especial sobre Oracle OpenWorld 2015, en el que podréis ver un resumen de las novedades más importantes en Infraestructura (con los nuevos servidores SPARC M7), Cloud, Seguridad, etc. Al principio del monográfico encontraréis una introducción con las 8 claves esenciales de la estrategia de Oracle para el futuro y un resumen del discurso de inauguración de Larry Ellison.

En breve se realizará una edición impresa de este número de la revista.

Categorías:avanttic Etiquetas: , , , , , , ,

ADF tips: Jugando con la validación condicional en un formulario

ADF tips

Uno de los requerimientos más típicos en una aplicación es hacer que un formulario cambie sus validaciones en función del valor introducido en uno de sus campos. Hasta la versión 12c no ha sido cuando Oracle nos ha ofrecido la forma de gestionar este tema de una forma sencilla y elegante.

En versiones anteriores la forma más típica de hacer estas comprobaciones extra era implementar un control en el submit del campo o del formulario donde hacer las validaciones y mostrar el mensaje de error en caso de que fuese necesario.

Una de las mejoras interesantes de la versión ADF 12c es el tag af:target. El caso de ejemplo es muy sencillo, dentro de un formulario tenemos un campo de texto y una lista de valores. En función del valor seleccionado en la lista de valores, el campo de texto puede ser obligatorio o no. Aquí un ejemplo del código de formulario:

<af:inputListOfValues id="lovF1" popupTitle="Search and Select: #{bindings.TipsField1.hints.label}" value="#{bindings.TipsField1.inputValue}" label="#{bindings.TipsField1.hints.label}" model="#{bindings.TipsField1.listOfValuesModel}" required="#{bindings.TipsField1.hints.mandatory}" columns="#{bindings.TipsField1.hints.displayWidth}" shortDesc="#{bindings.TipsField1.hints.tooltip}">
        <f:validator binding="#{bindings.TipsField1.validator}"/>
</af:inputListOfValues>

<af:inputText value="#{bindings.TipsField2.inputValue}" label="#{bindings.TipsField2.hints.label}" required="#{bindings.TipsField1.inputValue eq 'AP'}" maximumLength="#{bindings.TipsField2.hints.precision}" id="itF2">
        <f:validator binding="#{bindings.TipsField2.validator}"/>
</af:inputText>

El comportamiento por defecto es que una vez el campo de texto es obligatorio, el usuario no podrá cambiar el valor seleccionado en la lista de valores. Mostrando un error de validación referente al campo obligatorio.

Ahora bien, si añadimos un af:target dentro del componente de la lista de valores podremos evitar este comportamiento. Permitiendo al usuario poder cambiar de valor de la lista de valores sin tener que informar el campo de texto. Utilizando la siguiente instrucción:

<af:inputListOfValues id="lovF1" popupTitle="Search and Select: #{bindings.TipsField1.hints.label}" value="#{bindings.TipsField1.inputValue}" label="#{bindings.TipsField1.hints.label}" model="#{bindings.TipsField1.listOfValuesModel}" required="#{bindings.TipsField1.hints.mandatory}" columns="#{bindings.TipsField1.hints.displayWidth}" shortDesc="#{bindings.TipsField1.hints.tooltip}">
        <f:validator binding="#{bindings.TipsField1.validator}"/>
        <af:target execute="@this" render="itF2"/>
</af:inputListOfValues>

<af:inputText value="#{bindings.TipsField2.inputValue}" label="#{bindings.TipsField2.hints.label}" required="#{bindings.TipsField1.inputValue eq 'AP'}" maximumLength="#{bindings.TipsField2.hints.precision}" id="itF2">
        <f:validator binding="#{bindings.TipsField2.validator}"/>
</af:inputText>

Así de esta forma podremos implementar validaciones condicionales dentro de un formulario sin tener problemas con los campos dependientes. Más abajo os dejo un par de enlaces a la documentación oficial del componente y otro para que podáis probar el comportamiento del tag dentro en la ADF RichClient – Demo.

Documentación tag af:target : http://docs.oracle.com/middleware/1212/adf/ADFUI/af_ppr.htm#BABHDJBC

ADF RichClient – Demo af:targethttp://jdevadf.oracle.com/adf-richclient-demo/faces/components/target.jspx

Categorías:ADF / Java Etiquetas: , ,