Ampliar la tarea de actualización de proceso por lotes

La tarea de actualización de proceso por lotes ayuda a migrar datos y a mover activos a un servidor IBM® Rational Asset Manager. Puede utilizar la opción de sistema de archivos para ampliar la tarea de actualización de proceso por lotes y puede ampliar la tarea para leer cualquier tipo de datos de origen y correlacionarlos con los activos.

Acerca de esta tarea

Ampliar la tarea de actualización de proceso por lotes

Puede ampliar la tarea de actualización de proceso por lotes para que lea cualquier clase de datos de origen y los correlacione con activos de Rational Asset Manager.

La tarea de actualización de proceso por lotes de Rational Asset Manager realiza una correlación inteligente buscando activos y efectuando fusiones, en lugar de crear activos cada vez.

El plug-in com.ibm.ram.rich.ui.extension contiene el origen para la extensión del sistema de archivos y se incluye como parte del cliente Eclipse de Rational Asset Manager instalado, en la carpeta /plugins. Puede encontrar el archivo JAR en la instalación del cliente Eclipse en /eclipse/plugins/com.ibm.ram.rich.ui.extension_7.5.1.v.jar. Cuando se extrae, se pueden encontrar los archivos Java en el directorio /src.

El código de extensión del sistema de archivos se encuentra en estos dos directorios: src\com\ibm\ram\internal\batch\filesystem\ y src\com\ibm\ram\internal\batch\filesystem\ui\

Preparar la ampliación y el origen de datos

Para todos los orígenes de datos debe preparar la ampliación y los datos:
  1. Determine qué datos se mueven a Rational Asset Manager.
  2. Prepare los datos para la carga.
  3. Cree un plugin de Eclipse que amplíe las clases de tareas de actualización de proceso por lotes de Rational Asset Manager.
  4. Compile y despliegue el plugin de Eclipse.
En la sección Ejemplo, Microsoft Excel es el origen de datos. Realice los pasos 1 y 2 trabajando con la hoja de cálculo de Excel.

Para ampliar la tarea de actualización de proceso por lotes utilizando la opción del sistema de archivos, debe crear un proyecto de plugin nuevo e implementar las ampliaciones para los puntos de ampliación.

La tarea de actualización de proceso por lotes proporciona dos puntos de ampliación para su implementación: batchDataSource y batchDataSourceUI.

Puede implementar una tarea de actualización de proceso por lotes por medio de dos puntos de ampliación:
  • batchDataSource: el plugin com.ibm.ram.rich.core proporciona el punto de ampliación batchDataSource. Este punto de ampliación le ayuda a definir una ampliación del origen de datos para el cliente por lotes de Rational Asset Manager. En una actualización por lotes, el punto de ampliación batchDataSource toma los datos de su repositorio y los migra a un servidor Rational Asset Manager.
  • batchDataSourceUI: el plugin com.ibm.ram.rich.ui.extension proporciona el punto de ampliación batchDataSourceUI. Este punto de ampliación le ayuda a contribuir con elementos de interfaz de usuario al Editor de actualizaciones por lotes de Rational Asset Manager.

Extensión del sistema de archivos simplificada

A continuación, se proporciona una versión simplificada de la extensión del sistema de archivos que puede exportar como un plug-in desplegable. Esta ampliación del sistema de archivos crea activos y archivos .zip en una carpeta raíz determinada. El ejemplo toma una carpeta raíz y cualquier subcarpeta o archivos .zip se convierten en activos. El nombre de las subcarpetas o los archivos de archivado será el nombre del activo. El contenido de la subcarpeta/archivo será los artefactos, excepto por un archivo .asset_info necesario.

Hay dos clases Java que amplían las clases de API de proceso por lotes de Rational Asset Manager:
  • FileSystemBatchDataSource.java: amplía BatchDataSource.
  • FileSystemBatchUIContributor.java: amplía AbstractBatchUIContributor.

La clase FileSystemBatchDataSource crea y devuelve los activos según la vía de acceso raíz. En este archivo, se especifica el origen de datos para la ampliación de cliente por lotes para crear activos a partir de carpetas y archivos .zip en una carpeta raíz determinada. Estas carpetas y archivos .zip deben contener un archivo denominado .asset_info.

El contenido del archivo .asset_info debe estar en el formato de un archivo .properties (normalmente, una clave=par de valores por línea) y contener las propiedades específicas para el activo tal como se lista en el archivo FileSystemBatchDataSource.java:
  • name (Opcional. Si se omite, se utilizará el nombre de archivo/carpeta.)
  • version (Opcional. Si se omite, se utilizará 1.0.)
  • community (Necesario)
  • asset_type (Necesario)
  • short_description (Opcional. Si se omite, se utilizará el nombre de archivo/carpeta.)
  • description (Opcional)

La clase FileSystemBatchUIContributor crea un origen de datos nuevo abriendo un diálogo de selección de directorio en el que el usuario puede seleccionar el directorio raíz y, a continuación, utilizando la selección para crear activos. Consulte el archivo FileSystemBatchDataSource java para ver la estructura necesaria del directorio raíz.

Los puntos de ampliación que el ejemplo del sistema de archivos simple utiliza como gancho en el cliente por lotes se definen en el archivo plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension point="com.ibm.ram.rich.core.batchDataSource">
      <dataSourceType
            class="com.ibm.ram.batch.example.FileSystemBatchDataSource"
            id="com.ibm.ram.batch.example.filesystem">
      </dataSourceType>
   </extension>
   <extension point="com.ibm.ram.rich.ui.extension.batchDataSourceUI">
      <batchDataSourceUI
            class="com.ibm.ram.batch.example.FileSystemBatchUIContributor"
            dataSourceID="com.ibm.ram.batch.example.filesystem"
            icon="icon.gif"
            name="File System Example">
      </batchDataSourceUI>
   </extension>
</plugin>

Los ejemplos de código para estas extensiones están aquí Utilizar las ampliaciones del sistema de archivos de subida por lotes.

También puede utilizar las API de Rational Asset Manager Java para ejecutar una operación de subida por lotes y subir varios activos. Consulte Realizar una subida por lotes

Ejemplo

Este ejemplo describe cómo crear ampliaciones para archivos Microsoft Excel. En este ejemplo, un archivo Microsoft Excel es el origen de datos, y las ampliaciones de la tarea de actualización de proceso por lotes se compilan como un plugin de Eclipse. La tarea de actualización de proceso por lotes lee los archivos Excel formateados y correlaciona las filas de Excel con los activos de Rational Asset Manager. Los usuarios pueden modificar los datos antes de someterlos a Rational Asset Manager. Consulte también Ejemplo de subida de activos por lotes.

Preparar el origen de datos

Antes de cargar la hoja de cálculo de Excel, debe formatear la hoja de cálculo. En este ejemplo, la hoja de cálculo se formatea de la siguiente manera:
Tabla 1.
  A B C D E F
1 AssetType: Compiler Community: Technical Infrastructure        
2 Asset:GUID Asset:Version Asset:Name Asset Attribute: Author Category Schema: Licenses Ignore: IDE
  • Las dos primeras filas de la hoja de cálculo describen el modelo de información que se correlacionará con Rational Asset Manager.
    • La primera fila hace referencia al tipo de activo y la comunidad. Utilice el formato de celda en la muestra; por ejemplo "Asset Type: Compiler."
    • La segunda fila hace referencia a la correlación de nivel-activo, por ejemplo:
      • Asset: GUID
      • Asset: Version
      • Asset: Name
      • Asset Attribute: <attribute name>
      • Category Schema: <category schema name> Estas filas contienen valores del esquema utilizando el formato “a/b/c”
      • Ignore: <name> Esta columna se ignorará en la carga.
      Si las filas para los activos no tienen valores, se crea un activo en Rational Asset Manager; de lo contrario, se realiza una fusión.
  • Las filas que siguen a las filas 1 y 2 se correlacionan como activos.

Las cabeceras de columna utilizan un formateo especial que utiliza el analizador en este activo. Las filas 1 y 2 se reservan. La fila 1 contiene el tipo de activo y la declaración de comunidad. La fila 2 contiene una descripción de las columnas de activo, por ejemplo GUID, Version (versión), Name (nombre), y asset attributes (atributos de activo). Para ver los formatos esperados, examine la hoja de cálculo de muestra.

Crear el plugin de Eclipse

El código está estructurado como un plugin de Eclipse; define los puntos de extensión.

Al crear un plugin de Eclipse que amplía las clases de tareas de actualización de proceso por lotes de Rational Asset Manager, siga estas directrices:
  • Utilice el asistente Plugin de Eclipse para crear la clase de Activador.
  • Guarde al menos dos clases, en este caso: ExcelBatchDataSource y ExcelBatchUIContributor. Coloque la lógica de análisis en la clase de origen de datos.
  • Cuando ejecute la tarea de actualización de proceso por lotes en Eclipse, seleccione un origen de datos y luego seleccione una conexión con Rational Asset Manager.
  • Cuando seleccione la conexión con Rational Asset Manager en el cliente, se llamará al método fetchAssets en la clase de origen de datos. Utilice el método ExcelBatchDataSource.fetchAssets(); aquí es donde se producen la mayoría de códigos de análisis. Nota: no necesita un objeto de sesión de Rational Asset Manager en el código.
  • Para obtener una hoja de cálculos, invoque createSpreadsheetAssets y abra un objeto de documento de Excel.
  • Para manejar el GUID, cree uno nuevo. No obstante, si encuentra un activo: columna GUID, establezca el activo con este valor para que la tarea de actualización de proceso por lotes realice una actualización en lugar de crear un activo.
  • En cada fila, seleccione las columnas que se cargarán y correlaciónelas con el activo.
Para crear un proyecto de plugin nuevo:
  1. En el menú de Eclipse, pulse Archivo > Nuevo > Proyecto.
  2. Amplíe Desarrollo de plugins > Proyecto de plugin
  3. Escriba un nombre para el proyecto.
  4. Pulse Siguiente.
  5. Pulse Finalizar. Se abre el archivo MANIFEST.MF.
  6. Abra la pestaña Editor de dependencias.
  7. En la sección Plugins necesarios, pulse Añadir.
  8. Seleccione el plugin com.ibm.ram.rich.ui.extension y pulse Aceptar.
  9. Pulse Finalizar.
  10. En la sección Plugins necesarios, pulse Añadir.
  11. Seleccione el punto de ampliación com.ibm.ram.rich.ui.extension.batchDataSourceUI.
  12. Pulse Finalizar.
  13. Guarde el archivo MANIFEST.

La tarea de actualización de proceso por lotes realiza el envío de activos a Rational Asset Manager.

Uso de la tarea de actualización por lotes

En este ejemplo, el plug-in de Eclipse se despliega en la máquina local.

Para ejecutar la ampliación de la actualización de proceso por lotes de Rational Asset Manager Excel para que utilice un archivo Excel para crear y someter nuevos activos como una operación de subida por lotes, siga estos pasos:
  1. Pulse Archivo > Nuevo > Tarea actualización de proceso por lotes.
  2. Seleccione el origen de datos de Excel y elija el archivo Excel. Aparece el editor de actualización de proceso por lotes de Rational Asset Manager.
  3. Pulse el icono para el origen de datos que se va a correlacionar con Rational Asset Manager. Este icono contiene el icono de Excel. Se visualiza un explorador de archivos, que se ha utilizado para navegar hacia el archivo Excel preparado.
  4. Seleccione la conexión de repositorio de Rational Asset Manager que está definida en el espacio de trabajo de Eclipse.
  5. Seleccione el repositorio de destino de Rational Asset Manager en el que se subirán los activos. En este ejemplo, los activos se suben a una instancia de Rational Asset Manager en la máquina local.
  6. Para completar la correlación con Rational Asset Manager, añada elementos de configuración, como comunidades, y correlacione las categorizaciones.

    Después de seleccionar el repositorio de destino de Rational Asset Manager, el editor de lotes lee el archivo Excel y lo correlaciona con la instancia de destino de Rational Asset Manager. En este momento, no se ha cargado ningún activo. El editor de lotes de Rational Asset Manager proporciona un resumen de la correlación inicial. En este ejemplo, los activos del archivo Excel se dirigen a una comunidad específica de Rational Asset Manager, que el editor de lotes no ha encontrado en Rational Asset Manager. Los usuarios que tienen derechos de acceso pueden crear la comunidad de forma inmediata, tal como se muestra en este ejemplo.

    La actividad de correlación sigue examinando los tipos de activos, la información de versión de activo, los tipos de relación y así sucesivamente. En cada caso, los usuarios pueden realizar la correlación con información de configuración existente en Rational Asset Manager o, si tienen derechos de acceso, pueden añadir esta información.

  7. Cuando la correlación haya finalizado, pulse el botón Actualizar todos los activos. Los activos se suben a Rational Asset Manager. En el editor por lotes, se visualizarán los resultados de la carga.

Objetos y estructuras de clase

La API de Rational Asset Manager tiene dos estructuras de clase principales para los activos:
  • Clases con nombre que empiezan por "RAM" (por ejemplo la clase RAMAsset).
  • Clases con nombres que no empiezan por “RAM” (por ejemplo la clase Asset).
Los objetos de clases RAM se recuperan de un servidor Rational Asset Manager, que necesita un objeto de sesión de Rational Asset Manager; los objetos de sesión no se utilizan en este ejemplo. Los objetos de clases, como Activo, se crean sin una sesión conocida de Rational Asset Manager, luego se proporcionan a la tarea de actualización de proceso por lotes y, por último, se someten o actualizan en Rational Asset Manager.

Comentarios