avanttic primer partner mundial especializado en Oracle Mobile Development

julio 31, 2015 Deja un comentario

avanttic consigue ser el primer partner mundial que obtiene la especialización en Oracle Mobile Development.

Oracle Mobile Development
The Oracle Mobile Development Specialization recognizes partners who are proficient in selling, implementing and/or developing Oracle’s Mobile Development solutions. This specialization covers topics such as: Mobile Application Framework (MAF), Mobile Application Framework (MAF) Data Layer, User Interface (UI) Development, Device Services Integration, and App Security.

avanttic lleva varios años apostando por la plataforma de movilidad de Oracle, tanto desde el lado de Oracle ADF Mobile como con su evolución a Oracle Mobile Application Framework (MAF), siendo betatester de ambos productos, colaborando con Oracle Product Development en USA y formando parte del Customer Advisory Board (CAB) de movilidad.

avanttic ha desarrollado varios proyectos muy interesantes (ver caso de éxito de Würth para “movilizar” su fuerza comercial); gracias a ellos, y a los exámenes de certificación aprobados por nuestros consultores, hemos conseguido la acreditación de esta nueva especialización.

Revise en este link las 26 certificaciones actuales de avanttic en productos y soluciones de Oracle.

Categorías:avanttic Tags: , , ,

ADF tips: Reglas de auditoria en JDeveloper – Crea tus propias reglas (Modificador)

ADF tips

Siguiendo con la serie de posts sobre reglas de auditoria, donde ya hemos explicado cómo crear nuestra propia regla de auditoria creando nuestro analizador, ahora explicaremos cómo crear un Transform que nos sugiera el código que debemos poner.

Siguiendo el ejemplo de nuestra regla de auditoria, que no nos deja tener en el código la sentencia System.out.print porque por ejemplo estamos usando ADFLogger y en nuestras clases todas tienen el siguiente código de inicialización del ADFLogger:

 private static ADFLogger logger = ADFLogger.createADFLogger(TestAudit.class);

Vamos a crear una clase Transform que nos cambiará el código System.out.println(‘texto’); por logger.info(‘texto’);

Para hacer esto modificaremos el fichero Extension.xml definiendo nuestra clase y mapeándola con la clase Analizer definida anteriormente, quedando así:

<extension id="com.avanttic.extension.auditreglas" version="1.0.0" esdk-version="2.0" rsbundle-class="com.avanttic.extension.auditreglas.AuditReglas" xmlns="http://jcp.org/jsr/198/extension-manifest">
 <name>${EXTENSION_NAME}</name>
 <owner>${EXTENSION_OWNER}</owner>
 <trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
 <!-- TODO Declare triggering functionality provided by extension: com.avanttic.extension.auditreglas -->
 <triggers>
   <audit-hook id="com.avanttic.extension.auditreglas">
    <trigger>
      <technology>Java</technology>
    </trigger>
    <category-definition id="AuditAvanttic"/>
    <category-definition id="ReglaJava">
       <category>AuditAvanttic</category>
    </category-definition>
    <transform-definition id="transform-system-print">
       <transform-class>com.avanttic.extension.auditreglas.transform.java.JavaTransformImpl</transform-class>
    </transform-definition>
    <rule-definition id="system-print">
      <category>ReglaJava</category>
      <enabled>true</enabled>
      <severity>error</severity>
      <transform-binding>
         <transform>transform-system-print</transform>
      </transform-binding>
    </rule-definition>
    <analyzer-definition>
        <analyzer-class>com.avanttic.extension.auditreglas.analizers.java.JavaAnalizerImpl</analyzer-class>
    </analyzer-definition>
   </audit-hook>
 </triggers>
 </trigger-hooks>
 <hooks>
 <!-- TODO Declare functionality provided by extension: com.avanttic.extension.auditreglas -->
 </hooks>
</extension>

Explicación de los nuevos tags:

  • transform-definition: Define una clase java que extenderá  oracle.jdeveloper.audit.transform.Transform y servirá para hacer la modificación.
  • transform-binding: Mapeamos nuestro modificador con el Analizer.

Después crearemos la clase java:

 package com.avanttic.extension.auditreglas.transform.java;

import oracle.javatools.parser.java.v2.internal.symbol.stmt.ExpressionStmt;

import oracle.jdeveloper.audit.java.JavaTransformAdapter;
import oracle.jdeveloper.audit.java.JavaTransformContext;
import oracle.jdeveloper.audit.transform.Transform;

public class JavaTransformImpl extends Transform {
 public JavaTransformImpl() {
 super(new JavaTransformAdapter());
 }

 public void apply(JavaTransformContext context, ExpressionStmt stmt) {
  // Aqui pondremos el codigo que realiará las modificaciones
 }
}

Una vez tengamos esto haremos el deploy de nuestro proyecto de reglas y comprobaremos cómo nos hace el cambio:

transform1

transform2

Conclusión: Hemos visto cómo en tiempo de codificación podemos controlar que se cumplan nuestras especificaciones QA  y cómo podemos ayudar al programador a cumplirlas, al poder sugerirle el código correcto que tiene que usar.

Categorías:ADF Tags: , ,

avanttic obtiene la especialización en Oracle Database Performance and Tuning

julio 29, 2015 Deja un comentario

avanttic consigue ser el primer partner nacional (el cuarto de EMEA y el quinto del mundo) que obtiene la especialización en Oracle Database Performance and Tuning. Con esta nueva certificación avanttic ya tiene acreditadas 25 especializaciones en tecnología Oracle.

Oracle Database Performance and Tuning
automates monitoring and collection of data, performance troubleshooting and analyzing it to find the source of problems, provide recommendations for corrective action and tuning that can be reviewed and executed. This certification differentiates candidates by providing a competitive edge through proven knowledge and expertise.

avanttic obtuvo hace 3 años la especialización en Oracle Database 11g Performance Tuning y ahora, con esta nueva acreditación, amplia su especialización en análisis de rendimiento y ajustes a la versión 12c de Oracle Database.

Revise en este link las 25 certificaciones actuales de avanttic.

ADF tips: Etiquetas dinámicas desde base de datos para los atributos de una entidad

ADF tips

En este post de los foros de Oracle preguntaban cómo se podía  asignar valores dinámicos a las etiquetas de los atributos de una entidad. Utilizando parte de este otro post de Amis voy a contaros como conseguirlo.

Por defecto las etiquetas en los atributos de las entidades se asignan unos valores, por ejemplo, en la tabla Departments del schema HR de Oracle:

000

 

Para empezar, tenemos que crear en la base de datos la estructura necesaria para almacenar y obtener las diferentes etiquetas.

Primero creamos la tabla donde almacenaremos las etiquetas:

001

 

También añadimos los valores de las etiquetas para los diferentes idiomas.

0021

 

Para obtener las etiquetas asociadas al locale actual de la aplicación vamos a crear un paquete PL/SQL.

002

 

Ya tenemos terminadas las piezas de la base de datos, ahora tenemos que crear un método en el Application Module que efectúe la llamada al paquete que hemos creado.

Leer más…

avanttic especializado en Oracle Java Cloud Service

julio 20, 2015 Deja un comentario

jcs2
avanttic
ha certificado a 2 consultores en:

Oracle Java Cloud Service Specialist Assessment

convirtiéndose en el segundo partner de España en cumplir los criterios de reventa de:

Oracle Java Cloud Service

 

avanttic distribuye los servicios de Oracle Cloud y en este momento dispone de derechos de reventa y técnicos certificados para estos 4 servicios:

4 SC

 

Referente a Oracle Java Cloud Service (Oracle JCS), podemos:

  • Gestionarle la contratación de Oracle JCS (con posibles descuentos).
  • Ayudarle a trasladar a Oracle JCS su plataforma on-premise de Oracle WebLogic.
  • Ayudarle a implementar entornos de Desarrollo, Pre-Producción o Producción en el cloud, combinando Oracle JCS con Oracle Dababase Cloud Service (Database Schema Service o Database as a Service).
  • Complementar su despliegue sobre Oracle JCS con nuestros Servicios de Producción Avanzados.
Categorías:Cloud Tags: , , , ,

Oracle Data Integrator Enterprise Edition 12.1.3.0.1 – Instalación y detalle de opciones avanzadas para Big Data

Oracle anunció recientemente las opciones avanzadas de Oracle Data Integrador Enterprise Edition para Oracle Big Data. La nueva versión (12.1.3.0.1) de ODI, incorpora funcionalidades para trabajar en entornos Hadoop. En este post vamos a estudiarlas, así como la forma de instalar esta versión sobre la Virtual Machine Big Data Lite 4.1, que incluye la última versión CDH5.3.0 de Cloudera Hadoop, donde ya está instalado ODI 12.1.3, así como todos los componentes de Hadoop que necesitamos.

odi12c_logo_ds1big-data

 

Conceptos previos a tener en cuenta

Antes de entrar en detalle en la instalación de componentes Big data de ODI 12c, es conveniente hacer un resumen de conceptos previos a tener en cuenta sobre Big Data:

  • Hadoop: Es un framework para computación distribuida que permite a las aplicaciones trabajar con miles de nodos y petabytes de datos. Hadoop no es un tipo de base de datos, aunque sobre él se ejecutan ciertos tipos de bases de datos NoSQL (tales como HBase), que permiten que los datos se distribuyan sobre miles de servidores. Sobre la base del Hadoop Distributed File System (HDFS), un sistema de archivos distribuido, Hadoop permite el acceso de alto rendimiento a los datos a la vez que ofrece un cierto nivel de disponibilidad. Al igual que otras tecnologías relacionadas con Hadoop, HDFS se ha convertido en una herramienta clave para la gestión de grandes volúmenes de datos y el apoyo a las grandes aplicaciones de análisis de datos.
  • NoSQL: Es una BD del tipo Key-Value en memoria, que ofrece alto rendimiento y procesamiento ágil de la información a escala masiva. En otras palabras, se trata de una infraestructura de base de datos que ha sido muy bien adaptada a las exigencias de Big Data.
  • HBase: Es una BBDD que corre sobre Hadoop. Almacena datos estructurados y semiestructurados de forma natural, y está diseñado para correr en un clúster de ordenadores en lugar de una sola computadora. Características principales:
    • Almacenamiento NoSQL.
    • Provee una API Clave –Valor.
    • Corre en múltiples nodos en un clúster.
    • Nuestra aplicación no sabe si estamos tratando con 1 nodo o con 100 nodos.
    • HBase está diseñado y optimizado para manejar terabytes o petabytes de datos. Es una parte del ecosistema Hadoop por lo que depende de algunas de sus características clave, como redundancia de datos y procesos en segundo plano.
  • MapReduce: Es un modelo de programación para el procesamiento y tratamiento de grandes cantidades de datos no estructurados, en paralelo a través de un grupo distribuido de procesadores u ordenadores independientes (clústeres de servidores). MapReduce basa su funcionalidad en complejos algoritmos matemáticos que permite distribuir una tarea a través de múltiples nodos de manera transparente al desarrollador. El proceso MapReduce se compone de tres fases:
    • 1º fase es la función “map” o “mapper” en la que cada tarea opera sobre un único bloque HDFS y se ejecuta sobre el nodo dónde el bloque está almacenado, generando conjuntos de pares clave/valor intermedios.
    • 2º fase es la denominada “shuffle& sort” y es la encargada de ordenar y consolidar los datos intermedios generados por los “mapper” una vez han finalizado.
    • 3º fase se denomina “reduce” y opera sobre los datos generados en la fase “shuffle& sort” produciendo la salida del resultado final.
    • JobTracker: (Nodo Maestro).
    • TaskTracker: (Nodos Esclavos)
    • El nodo maestro consiste en un servicio demonio llamado JobTracker, el cual se encarga de asignar las tareas a los nodos esclavos.
  • Hive: es una interface que facilita la estructura de datos y permite la escritura de programas MapReduce. Hive utiliza una especia de lenguaje SQL denominado HiveQL, y comparte algunas de sus características, como el uso de tipos de datos primitivos o conectores JDBC y ODBC. Hive es un gran interface para cualquiera que provenga del mundo de las bases de datos relacionales.
  • Pig: es un lenguaje de flujo de datos especialmente diseñado para simplificar la escritura de aplicaciones MapReduce. PIG es una simplificación de MapReduce, que combina dos elementos: el compilador PIG y el lenguaje de script PIG Latin. PIG Latin está basado en el paradigma de flujo de datos, este paradigma se asemeja a las señales eléctricas que fluyen a través de los circuitos eléctricos. El procesamiento en Pig Latin se realiza mediante operadores tales como “Join”, “Filter”, “GroupBy” y “Union”. PIG aporta las siguientes ventajas y características:
    • Es un lenguaje similar a SQL
    • Soporta tipos complejos de datos que pueden ser embebidos como campos de una tabla
    • Soporta la creación de funciones definidas por el usuario
    • Aporta una característica especial llamada “Illustrate” que permite al desarrollador escribir código rápidamente utilizando datos de muestra
  • Spark: Se trata de otra plataforma que proporciona soporte para la implementación de aplicaciones según el modelo MapReduce sobre un clúster Hadoop, pero Spark lleva a  MapReduce al siguiente nivel en el procesamiento de datos, con capacidades como el almacenamiento y procesamiento de datos en memoria y en tiempo real, ofreciendo tasas de rendimiento varias veces más rápidas que otras tecnologías big data.
  • Oozie: Es una aplicación Web basada en Java que permite controlar y programar flujos de tareas dentro del sistema Hadoop, así como la toma de decisiones en tiempo de ejecución.

Pig y Spark support

Hasta ahora ODI12c nos permitió utilizar Hive para cualquier transformación basada en Hadoop. Con esta nueva versión, podemos utilizar también Pig  y Spark, dependiendo del caso de uso, para dar un mejor rendimiento.

Estas dos tecnologías ya están disponibles en la topología, junto con el servidor de datos Hadoop para poder definir dónde extraer los datos, y podemos importar también algunos módulos con los KM para Pig y Spark. Por lo que para trabajar con Pig y Spark con ODI, todo lo que se necesita es crear un flujo de datos lógico en el mapping y elegir su tecnología.

odi1

Pig es un lenguaje de flujo de datos, esto hace que encaje perfectamente con el nuevo modelo de programación orientado a “flujo” recientemente añadido en ODI 12c. La idea es escribir un flujo de datos en Pig latín, donde la carga de trabajo se ejecutará en MapReduce.

Leer más…

ADF tips: Reglas de auditoria en JDeveloper – Crea tus propias reglas (Analizador)

ADF tips

En un post anterior explicamos cómo activar las reglas de auditoría que JDeveloper ya lleva por defecto. En este post explicaremos cómo crear nuestra propia regla de auditoría. JDeveloper nos da una herramienta para poder ampliar e implementar nuestras propias reglas de auditoria, mediante lo que denomina extensiones. Lo primero que haremos será instalar la en nuestro JDeveloper 12c las librerías para poder generar extensiones, realizaremos los siguientes pasos:

Iremos a check for updates:

check

Después instalaremos Extension SDK  y tendremos que reiniciar JDeveloper.

extension

Una vez tengamos Extension SDK instalado comenzaremos a crear nuestras propias reglas, sobre la aplicación que creamos en el post anterior.

Lo primero será crear una aplicación tipo Extension Application:

apExtension

Esta aplicación por ejemplo la llamaremos AuditReglas, Se nos creara una aplicación como vemos en la siguiente imagen:

apliAudit

Aquí podemos ver los dos ficheros de configuración de la extensión MANIFEST.MF y extension.xml, editaremos el fichero extension.xml y iremos a overview desde aquí se ven los dos ficheros.

Lo primero que haremos será  ir a la pestaña dependencias y añadiremos las dependencias necesarias para nuestra extensión:

  1. oracle.ide
  2. oracle.jdeveloper
  3. oracle.ide.audit
  4. oracle.ide.audit.core
  5. oracle.ide.xmlef
  6. oracle.javatools
  7. oracle.javatools-nodeps
  8. oracle.jdeveloper.properties

Leer más…

Categorías:ADF Tags: , ,
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 179 seguidores