""

"Data Services"

Administración de dependencias ETL con BusinessObjects Data Services (Parte 1)

¿Está satisfecho con la forma en que actualmente gestiona las dependencias en su ETL? Las dependencias entre trabajos (o partes de trabajos) son un aspecto importante de la gestión de ETL. Se refiere a preguntas como: ¿Desea ejecutar el trabajo B si el trabajo A falló? Imagine que tiene un trabajo C con subtarea 1 (tiempo de ejecución habitual: 3 horas) y subproceso 2 (tiempo de ejecución habitual: 2 minutos). Si el subproceso 1 ha sido satisfactorio y ha fallado el subproceso 2, ¿puede reiniciar el trabajo C sin reiniciar el subproceso 1?

Tan pronto como tenga más de 1 trabajo simple, tendrá que administrar sus dependencias. En este artículo (parte 1 de una serie de artículos sobre el manejo de dependencias de ETL) enumeraré primero algunas de las características que busco en un sistema de administración de dependencia ideal. A continuación, echaré un vistazo a algunas de las posibilidades ofrecidas por SAP Data Services 4. En la parte 2 (mi siguiente post), voy a proponer la arquitectura de un posible sistema de gestión de dependencias. En la parte 3, entraré en los detalles de la implementación en Data Services. Terminaré con la parte 4 diciéndole cómo fue la implementación, y si algunas mejoras son posibles.

El sistema de gestión de dependencias ideal

En este post voy a usar la palabra "proceso" para diseñar una serie de ETL operaciones que tienen un significado juntos. Ejemplo: extraer una tabla de origen, crear una dimensión o actualizar una tabla de hechos. El objetivo aquí es administrar las dependencias entre los procesos: la actualización de una tabla de hechos probablemente sólo debería permitirse si la actualización de las dimensiones correspondientes fue exitosa.

Un sistema de gestión de dependencias debería tener al menos las siguientes características:

  • Ejecutar un proceso sólo si sus prerrequisitos se han ejecutado correctamente
  • Después de un error, ofrezca la opción de volver a ejecutar todos los procesos o sólo los procesos que fallaron
  • Trace el resultado de cada proceso (se ejecutó correctamente, falló, no se ejecutó)
  • Ejecutar dinámicamente procesos dependientes (en vez de estaticamente, es decir, basados ​​en fecha / hora)

Las posibilidades

Vamos a enumerar algunas de las posibilidades ofrecidas por Data Services, con sus respectivos pros y contras.

1) Un trabajo con todos los procesos dentro. Esto es muy fácil de implementar, dinámico en términos de tiempos de ejecución, pero no permite las ejecuciones simultáneas. Lo que es más importante, significa que los fallos tienen que ser gestionados de manera que el fallo de un proceso no detenga todo el trabajo.

2) Un proceso por trabajo, con trabajos programados en momentos específicos. Esto es muy fácil de implementar, permite ejecuciones simultáneas, pero no es lo suficientemente dinámico. Si las duraciones del proceso aumentan con los meses / años, los trabajos pueden superponerse.

3) One main job calling other jobs (for example with execution commands or Web Services).

4) Un proceso por trabajo, todos los trabajos se están programando en momentos específicos, pero la comprobación en una tabla de control si los pre-requisitos funcionaban bien. De lo contrario sólo dormir por algún tiempo antes de comprobar de nuevo.

5) Use the BOE Scheduler to manage jobs based on events (how-to is well described on the SCN). I’ve not tested it yet, but I like this approach.

De forma predeterminada, las dos primeras posibilidades sólo gestionan el lado de "flujo" de la administración de dependencias (después de A, do B). Pero no manejan el lado condicional de la gestión de dependencias (hacer B sólo si A fue exitoso). En ambos casos, una tabla de control actualizada por secuencias de comandos SQL permitiría al ETL comprobar si los procesos de requisito previo se han ejecutado correctamente.

Lo que realmente no me gusta en las soluciones 2 a 5 es el hecho de que es difcil tener una visión general de lo que está pasando. Realmente no se puede navegar dentro de todo el ETL fácilmente. La solución 1 le da este resumen, pero a costa de tener un trabajo potencialmente enorme (sin la posibilidad de que los procesos se ejecuten simultáneamente).

También tenga en cuenta que las soluciones con varios trabajos necesitarán administrar la inicialización de las variables globales.

Lo que echo de menos en todas estas soluciones es un reinicio óptimo del ETL. Si 10 de mis 50 procesos fallaron, y sólo quiero reiniciar estos 10, ¿debo iniciarlos manualmente?

En mi siguiente post de blog voy a proponer una arquitectura que aborda este reinicio óptimo.

Hasta entonces, por favor, hágamelo saber sus pensamientos sobre cómo manejar sus dependencias de ETL. ¿Alguna de las 5 soluciones antes mencionadas? ¿Una mezcla? ¿Algo más? Y lo bien que funciona para usted.

Working with Data Services 4.0 repositories

On my previous blog,  Installing Data Services 4.0 in a distributed environment  I mentioned there was an important step to be carried out after installing data services in a distributed environment:  configure the repositories. As promised, I will now walk you through this process. Data Services 4.0 can now be managed using the BI Platform for security and administration. This puts all of the security for Data Services in one place, instead of being fragmented across the various repositories. It means that Data Services repositories are managed through the Central Management Console. With Data Services 4.0 you will be able to set rights on individual repositories just like you would with any other object in the SAP BusinessObjects platform. What is particularly interesting about managing Data Services security using CMC is that you can assign rights to the different Data services repositories.

Data Services Application in CMC
Data Services Application in CMC

Ahora puede iniciar sesión en el Diseñador de servicios de datos o la Consola de administración con su ID de usuario de SAP BusinessObjects en lugar de tener que ingresar las credenciales de la base de datos. Una vez que inicie sesión en Designer, se le presentará una lista simple de repositorios de Servicios de datos para elegir.

I advice anyone who is beginning to experiment with Data Services to use the repositories properly from the start! At first it might seem really tough, but it will prove to be very useful. SAP BusinessObjects Data Services solutions are built over 3 different types of meta-data repositories called central, local and profile repository. In this article I am going to show you how to configure and use the central and the local repository.

The local repositories can be used by the individual ETL developers to store the meta-data pertaining to their ETL codes, the central repository is used to "check in" the individual work and maintain a single version of truth for the configuration items. This “check in” action allows you to have a version history from which you can recover older versions in case you need it.

Now lets see how to configure the local and central repository in order to finish the Data Services’ installation.

So, let’s start with the local repository. First of all, go to Start Menu and start Data Service Repository Manager Tool.

Choose “Local” in the repository type combo box. Then, enter the information to configure the meta-data of the Local Repository.

Configurar el repositorio local
Configurar el repositorio local

For the central repository chose central as repository type and then enter the information to configure the meta-data of the Central Repository. Check the check box “Enable Security”.

Configuring Central repository
Configuring Central repository

After filling in the information, press Get Version in order to know if there is connection with the data base. If there is connection established, press Create.

Once you have created the repositories you have to add them into the Data Service Management Console. To do that log in DS Management Console. You will see the screen below.

Error de DS Management Console
Error de DS Management Console

This error is telling you that you have to register the repositories. The next steps is to click on Administrator to register the repositories.

On the left pane, click on Management list item.  Then click on Repositories and you will see that there are no repositories registered on it. In order to register them, click the Add button to register a repository in management console.

Finally, write the repository information and click Test to check the connection. If the connection is successful, click apply and then you will be able to see the following image which contains the repositories that you have created. DO NOT forget to register the central repository.

Consola de gestión DS
Consola de gestión DS

Después de eso, el siguiente paso lógico es intentar acceder a los Servicios de datos utilizando uno de los repositorios locales. Una vez dentro del Diseñador, active el repositorio central que ha creado. Los servicios de datos mostrarán un error que le indicará que no tiene suficientes privilegios para activarlo.

Para poder activar el repositorio central, debe asignar la seguridad. Para hacerlo, vaya a la Consola de administración de servicios de datos. En el panel izquierdo, vaya a "Repositorio central" y haga clic en "usuarios y grupos".

Central repository - Users and groups
Central repository - Users and groups

Una vez que esté dentro de Usuarios y Grupos, haga clic en "Agregar" y cree un nuevo grupo. Cuando se crea el grupo, selecciónelo y haga clic en la pestaña "usuarios" que se encuentra a la derecha de la pestaña del grupo (vea la imagen a continuación).

Add and Create new group
Add and Create new group

Ahora puede agregar los nombres de los usuarios que pueden activar y utilizar el repositorio central en la herramienta de diseño. Como puede ver en la imagen a continuación, el único usuario que agregó en el ejemplo es el "Administrador".

Add user names
Add user names

Now the last task is to configure the Job Server to finish the configuration.

As always, go to Start Menu and start Server Manager Tool. Once you start the Server Manager the window below appears.

Herramienta de administrador del servidor
Herramienta de administrador del servidor

Press Editor de configuración a new window will be opened. Press Add and you will have a new job server.

Editor de configuración
Editor de configuración

Keep the default port and choose a name or keep the default one for the new Job server. Then press Add to associate the repositories with the job server created.

Once you press “Add” you will be able to add information in the right part of the window “Repository Information”. Add the information of the local repositories that you have created in the previous steps.

At the end you will see two local repositories associated.

Agregar información del repositorio
Agregar información del repositorio

With this step you have already finished the repository configuration and are now able to manage the security from the CMC and  use the regular BO users to log into the designer and add security to the Data Services repositories like you do with every BusinessObjects application.

If you have any questions or other tips, share it with us by leaving a comment below.

Problem Uninstalling Data Services

I have faced a problem uninstalling Data Services  recently and I wanted to share the resolution, just in case you find the same problem. I was trying to upgrade a Data Services machine following SAP procedure (this is copying the configuration files uninstall and then install the new version – not very sophisticated as you can see). This was not as simple as I first thought.

Problems started after uninstalling the software, the new version refused to install stating that I should first uninstall the previous version. I uninstalled the software again… but Data Services is still there, so uninstalled again, but this time the process failed (makes sense as the software is already uninstalled), so I kept trying… reboot…uninstall… reboot…rename older path name… reboot…you see where this is going…

 

Entonces, ¿cómo finalmente solucioné esto?

  1. Inicie el Editor del Registro (escriba regedit en una ventana de comandos o en el cuadro de diálogo Ejecutar).
  2. Take a backup of the current Registry content. To do this, with the top node of the registry (Computer) selected go to File -> Export and select a name for the backup file.
  3. Delete the Key: HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0EIM (Suite XX.X may vary).  NOTE: You may want to write down the key KEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0EIMKeycode first as it contains the license code.
  4. To remove the entry for the software in the Uninstall Window’s dialog, go to HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionUninstall and look for a KEY which property DisplayName is “BusinessObjects Data Services.
  5. Finally delete the content of the installation directory (typically: C:Program FilesBusiness ObjectsBusiness Objects Data Services)

Now you can launch the installer and it should work.

Hope this may help you if in case you are experiencing the same issue. If you have any doubts or if you ever faced the same issue, leave a comment below.

 

EspañolEnglish