5. Características
Herramienta GPL basada en Eclipse para la
gestión y la integración de datos.
Basada en la programación por componentes
Desarrollo principalmente gráfico
Amplia gama de componentes y conectores
Permite parametrizar los datos usados mediante
Metadatos y Contextos.
Versionado de elementos
Depuración del código generado
7. Conceptos (I)
Proyecto o Workspace: el espacio de trabajo
en el que se agrupan el resto de elementos. Se
usará un proyecto / Workspace para cada
aplicación: ARP, GINCO, CHORUS, etc.
Business Models: modelos teóricos del
negocio. En el MCC no lo vamos a usar.
Jobs: procesos de transformación de datos con
los que vamos a trabajar principalmente.
8. Conceptos (II)
Componentes: son las subtareas que forman
los Jobs. Se comunican entre ellos mediante
conectores.
Contextos: son agrupaciones de variables
globales del proyecto.
Rutinas: son fragmentos de código escritos en
Java que son usados para realizar acciones
sobre los datos no contempladas en la
funcionalidad de los componentes.
9. Conceptos (III)
Plantillas SQL: plantillas de consultas escritas
con SQL y Java con sintaxis parecida a la de
JSP.
Ejemplo de plantilla SQL (OracleFilterRow):
<%
EXTRACT(__SCHEMA__);
EXTRACT(__SCHEMA_TARGET__);
%>
INSERT INTO <%=__TABLE_NAME_TARGET__%> (<%=
StringUtils.list(__SCHEMA_TARGET_NAME__, ",") %>)
SELECT <%= StringUtils.list(__SCHEMA_NAME__, ",") %> FROM <%=
__TABLE_NAME__ %>
WHERE <%=__WHERE_CLAUSE__%>;
10. Conceptos (IV)
Metadatos: en ellos se guardan y pueden ser
reutilizados en Jobs y componentes:
Conexiones de bases de datos
Esquemas de bases de datos
Ficheros de todo tipo (XML, CSV, Excel,
Posicionales, mediante expresiones regulares, etc.)
Servicios web
Conexiones FTP, LDAP, etc.
12. Conceptos (VI)
Papelera de reciclaje (recycle bin): si se borra
un Job, un elemento del repositorio, contexto,
etc. se manda a la papelera de reciclaje antes
de poder ser borrado de forma definitiva.
15. Jobs (I)
Son los procesos que realizan las
transformaciones de los datos.
Están definidos por la composición y las
relaciones entre los componentes que los
forman.
Para desarrollar un Job lo que hay que hacer es
básicamente agregarle componentes,
comunicarlos entre ellos y configurarlos.
16. Jobs (II)
Ejemplo de Job sencillo:
Se lee de un fichero XML
Se guarda el contenido con otro formato en otro
fichero XML
<movies>
<movie>
<title>A History of Violence</title>
<year>2005</year>
<country>USA</country>
<genre>Crime</genre>
<summary>Tom Stall, a humble family man and owner of a
popular neighborhood restaurant, lives a quiet but
fulfilling existence … SPOILERS NO!
</summary>
</movie>
….
17. Jobs (III)
Ejemplo de Job sencillo:
Se transforma el formato anterior en el siguiente:
<peliculas>
<pelicula>
<titulo>A History of Violence</titulo>
<año>2005</año>
<pais>USA</pais>
<genero>Crime</genero>
</pelicula>
23. Jobs (IX)
Los datos de los Jobs también pueden depurarse pulsando la opción
“Traces Debug” para mostrar los datos conforme se vayan procesando:
24. Jobs (X)
Si algún componente tuviera alguna señal de error o de warning, estos
errores/advertencias se pueden consultar en la pestaña “Problems” así
como en la pestaña “Code” si el error/warning estuviera en el código
fuente
26. Componentes más importantes
Los Componentes son las “subtareas” que se
realizan dentro de un Job.
Todos los Componentes de la aplicación se
encuentran en la Paleta de Componentes a la
derecha de la aplicación.
27. Componentes más importantes
Se puede localizar un componente escribiendo
el texto en el campo ‘find component…’ para
que aparezcan todos los componentes cuyo
nombre sea similar al valor especificado.
33. Componentes más importantes
tLogCatcher
Si en un Job se añaden componentes ‘tWarn’ pero no
se añade un tLogCatcher, no se mostrarán los logs
por consola.
34. Componentes más importantes
tDie
Escribe en el log, pero no mata el proceso, salvo que
se especifique de forma explícita.
35. Componentes más importantes
tAggregateRow
Sirve para obtener valores agrupados. Es decir,
valores obtenidos de la agrupación de alguno de los
valores de entrada (suma, media, máximo, mínimo,
etc.)
36. Componentes más importantes
tSortRow
Sirve para ordenar los registros mediante los valores
de determinadas columnas.
37. Componentes más importantes
tMap (I)
Componente para unificar los registros
correspondientes a varias fuentes de datos.
Ejemplo. Supongamos las siguientes dos fuentes de
datos: