Uso de complementos de la API para cargar datos en las políticas y los formularios

Este artículo contiene los siguientes temas:
casm173
Este artículo contiene los siguientes temas:
Los administradores y los diseñadores de servicio trabajan conjuntamente para crear complementos de API que carguen los datos dinámicamente en las políticas y los formularios, como se muestra a continuación:
  • Para una política, estos datos especifican los asignatarios (aprobadores) de una solicitud. Se puede usar un complemento en lugar de especificar manualmente asignatarios mediante el Constructor de acciones. Cuando un usuario envía una solicitud, el complemento de API especifica dinámicamente los asignatarios.
  • En el caso de un formulario, estos datos especifican el valor de cualquiera de los siguientes campos: las tablas dinámicas, las listas duales o los cuadros de selección y sus opciones. Por ejemplo, cuando un usuario rellena un formulario para reservar un equipo virtual, el objeto de datos de informe rellena la lista de equipos disponibles. Además, podrá escribir otros objetos de datos de informe para rellenar los campos relacionados, como, por ejemplo, opciones para RAM y espacio en disco.
Los complementos de API consultan la MDB o cualquier otra fuente de datos. Los complementos de la API devuelven el número de objetos que cumplen con los criterios que especifique. Se pueden escribir complementos de la API o copiar y modificar los complementos predefinidos para cumplir sus requisitos. En ambos casos, cumplirá los requisitos previos y compilará sus complementos
antes
de poder utilizarlos.
Los complementos de la API se implementan como archivos jar en el directorio de complementos del almacén de archivos. Los complementos de API se ejecutan en la misma instancia de la máquina virtual de Java que CA Service Catalog.
Realice las tareas que correspondan:
Uso de los complementos de la API para las políticas
Para escribir y utilizar un complemento de la API para las políticas, siga este proceso:
  1. Defina la finalidad u objetivo del complemento.
    Un complemento de la API es más útil cuando se consulta un sistema externo para que los datos utilizados especifiquen a los asignatarios. Un complemento de la API es también útil cuando las identidades y el número de asignatarios varían, en función de los datos proporcionados en la solicitud. Según estos datos, el complemento crea dinámicamente la lista de asignatarios y especifica los niveles de cada asignatario.
  2. Asegúrese de cumplir los requisitos previos:
  3. Debe poder hacer lo siguiente de forma competente:
    • Programe en Java.
    • Crear políticas, incluidas condiciones, y entender los tipos de asignatarios necesarios
  4. Revise la documentación del complemento de la API de la forma siguiente:
    1. Seleccione Administración, Herramientas, Complementos.
    2. Haga clic en Documentación de la API.
    3. Revise el paquete com.ca.usm.plugins.apis.policies.
    La documentación de la API es una documentación de Java generada automáticamente a partir de los métodos de la clase Java para complementos. Se pueden utilizar interfaces, clases, métodos, etc. para implementar el complemento.
  5. Descargue y revise el complemento de la API de muestra para las políticas, como se indica a continuación:
    1. Seleccione Administración, Herramientas, Complementos.
    2. Haga clic en Complemento de políticas de muestra, revise los detalles y descargue el código fuente.
    3. Abra y revise el archivo SamplePolicyPlugin.java en la carpeta \src\java\com\ca\usm\plugins\samples\policy. Utilice este complemento de políticas de muestra como modelo.
  6. Cree una clase Java que implemente la interfaz, com.ca.usm.plugins.apis.policies.AssignmentPolicyPlugin. El complemento de políticas de muestra ilustra cómo implementar esta interfaz.
  7. (Opcional) Si se utilizan formularios de configuración de contenido, recupere los valores de los campos de los formularios. Utilice los formularios según sea necesario.
  8. Cree un archivo de propiedades para el complemento. Se puede utilizar el archivo plugin.properties en el complemento de políticas de muestra como modelo para los archivos de propiedades.
  9. Cree una carpeta para almacenar el archivo de propiedades y los archivos JAR que proporcionan las clases y bibliotecas compatibles.
    Almacene el archivo de propiedades en el nivel
    superior
    de la carpeta.
    No
    almacene el archivo de propiedades en una subcarpeta.
  10. Active el complemento:
    1. Detenga el servicio de Windows de CA Service Catalog.
    2. Copie la carpeta (incluidas todas las subcarpetas, si las hubiera) en la carpeta USM_HOME\filestore\plugins.
  11. Inicie el servicio de Windows de CA Service Catalog.
  12. Verifique que el complemento se ha adoptado correctamente:
    1. Seleccione Administración, Herramientas, Complementos.
    2. Compruebe que el complemento esté en la lista y que sus detalles aparezcan correctamente.
  13. Pruebe este complemento:
    1. Utilícelo para especificar asignatarios para una política.
    2. Envíe una solicitud que active la política y verifique si esta asigna dinámicamente aprobadores como debería.
Uso de los complementos de API para los formularios
Para escribir y utilizar un complemento de la API que usar en un formulario, siga este proceso:
  1. Defina el objetivo del complemento. Por ejemplo para rellenar un campo de selección con salas de reunión que el usuario puede reservar durante un período de tiempo especificado. Otros ejemplos incluyen opciones para la sala de reunión, como proyectores, unidades de videoconferencia y micrófonos.
  2. Cumpla los requisitos previos. Debe poder hacer lo siguiente de forma competente:
    • Programe en Java.
    • Cree formularios con el Diseñador de formularios.
    • Crear los campos siguientes en formularios del Diseñador de formularios:
      • Campos de selección individual, de selección múltiple y de listas duales
      • Campos de tabla dinámica
  3. Revise la documentación del complemento de la API de la forma siguiente:
    1. Inicie sesión en CA Service Catalog y seleccione Administración, Herramientas.
    2. Seleccione Vínculos.
    3. Haga clic en Documentación del complemento.
    La documentación de la API es una documentación de Java generada automáticamente a partir de los métodos de la clase Java para complementos. Se pueden utilizar interfaces, clases, métodos, etc. para implementar el complemento.
  4. Cree una clase Java para el tipo de campo del Diseñador de formularios al cual se aplique el complemento de la forma siguiente:
    • En los campos de selección individual, de selección múltiple y de lista dual: cree una clase Java que implemente la interfaz com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Se proporciona una implementación de muestra de esta interfaz en el complemento de selección de muestra, con el ID ca.catalog.samples.select-plugin.
    • En los campos de una tabla dinámica: cree una clase Java que implemente la interfaz com.ca.usm.plugins.apis.forms.FDTableDataProvider. Se proporciona una implementación de muestra de esta interfaz en el complemento de tabla de muestra, con el ID ca.catalog.samples.table-plugin.
    Para acceder a documentación de Java para las interfaces, haga clic en Administración, Herramientas, Complementos y, a continuación, haga clic en Documentación de la API.
    Para descargar código fuente de muestra, haga clic en los complementos de muestra en la misma página y, a continuación, haga clic en Descargar código fuente.
  5. Cree un archivo de propiedades para el complemento tal y como se indica a continuación.
    • Se pueden utilizar los complementos de muestra como modelos para los archivos de propiedades. En ese caso, cambie el ID de propiedad del complemento en el archivo plugin.properties.
    • Para utilizar el archivo de compilación del complemento puede usar Java Development Kit 1.6 (o posterior) y Apache Ant 1.8 (o posterior).
    • Utilice un cargador de clases privado para sus complementos. Para utilizar un cargador de clases privado, agregue la línea siguiente a su archivo plugin.properties:
      classloader.type=private
      Los complementos personalizados creados mediante la versión 12.7 de CA Service Catalog
      no
      requieren ninguna actualización después de actualizar CA Service Catalog. Estos complementos continúan funcionando como lo hacían originalmente.
  6. (Opcional) Si se utilizan formularios de configuración de contenido, recupere los valores de los campos de los formularios. Utilice los formularios según sea necesario.
  7. Realice las acciones que correspondan:
    • Configuración de los parámetros de paginación en campos de selección
    • Configure los atributos solo para los cuadros de selección.
    • Configure los parámetros de clasificación y paginación de las tablas dinámicas.
  8. Cree una carpeta para almacenar el archivo de propiedades y los archivos JAR que proporcionan las clases y bibliotecas compatibles.
    Almacene el archivo de propiedades en el nivel
    superior
    de la carpeta.
    No
    almacene el archivo de propiedades en una subcarpeta.
  9. Active el complemento:
    1. Copie la carpeta (incluidas todas las subcarpetas, si las hubiera) en la carpeta de complementos del almacén de archivos.
    2. Seleccione Administración, Herramientas, Complementos y, luego, haga clic en el método Volver a cargar los complementos.
  10. Verifique que el complemento se ha adoptado correctamente:
    1. Inicie sesión en CA Service Catalog y seleccione Administración, Herramientas.
    2. Seleccione Complementos.
    3. Compruebe que el complemento esté en la lista y que sus detalles aparezcan correctamente.
Está listo para probar la API en el campo de un formulario.
Configuración de los parámetros de paginación en campos de selección
Su complemento puede devolver una cantidad elevada de datos en un campo de selección en un formulario. Dado el caso, a menudo se especifica el tamaño de la página de resultados en el campo de selección. Un ejemplo sería mostrar diez resultados por página en el campo de selección. Para lograr esto, configure los parámetros de la paginación en el objeto y la clase Java relacionados.
Siga los pasos siguientes:
  1. Edite la clase Java que implementa la interfaz com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Implemente el método siguiente en FDSelectDataProvider:
    List<FDOption> getOptions(int start, int numToReturn);
    • start
      Especifica la primera fila que desea devolver. Este parámetro es un número entero.
    • numToReturn
      Representa el número de filas que desea devolver. Este parámetro es un número entero.
    Este método devuelve una lista de objetos FDOption.
      • El par clave-valor (id y valor) de un objeto de datos de informe para las opciones del campo de selección.
      • Datos adicionales que complementan el par clave-valor. Si se desea, estos datos adicionales se pueden mostrar en otros campos (excepto el campo de selección) en el formulario.
    El valor del atributo _id de cada campo debe coincidir con una de las claves de los datos adicionales.
  2. Implemente el método siguiente también en FDSelectDataProvider:
    int totalCount();
    Este método devuelve el número total de filas que existen.
Para obtener más información y ejemplos, consulte la documentación del complemento de la API.
Configuración de los atributos solo para los cuadros de selección
Algunos atributos de HTML se aplican exclusivamente a los cuadros de selección. Para obtener más información, consulte Atributos solo para los cuadros de selección.
Configuración de los parámetros de clasificación y paginación de las tablas dinámicas
Su complemento puede devolver una cantidad elevada de datos en una tabla dinámica de un formulario. En este caso, deberá especificar el tamaño de los resultados de la página. Un ejemplo sería mostrar diez resultados por página en el formulario. Asimismo, a menudo se desea permitir a los usuarios clasificar los resultados en las páginas en orden ascendente o descendente. Para lograr ambas tareas, configure los parámetros de clasificación y paginación en el objeto y la clase Java relacionados.
Siga estos pasos:
  1. Haga clic en Catálogo, Formularios y abra el formulario que le interese.
  2. Abra la tabla y compruebe que el atributo Ordenable esté configurado como True.
    Si el atributo está activado (True), los usuarios podrán hacer clic en las teclas de flecha en los encabezados de la tabla de la columna para ordenar los resultados.
  3. Edite la clase Java que implementa la interfaz com.ca.usm.plugins.apis.forms.FDTableDataProvider. Implemente el método siguiente en FDTableDataProvider:
    List<FDTableRow> getTableRows(int start, int numToReturn, String sortField, boolean sortAscending);
    Los usuarios determinan estos valores interactuando con el formulario; por ejemplo, haciendo clic para ver la página siguiente.
    • start
      Especifica la primera fila que desea devolver. Este parámetro es un número entero.
    • numToReturn
      Representa el número de filas que desea devolver. Este parámetro es un número entero.
    • sortField
      Especifica las filas que deben clasificarse. Cuando el valor es nulo, no se produce ninguna clasificación. Este parámetro es una cadena.
    • sortAscending
      Especifica si los resultados se deben clasificar en orden ascendente o descendente. Este parámetro es booleano.
    Este método devuelve objetos de FDTableRow, que se describen en un paso posterior.
  4. Implemente el método siguiente también en FDTableDataProvider:
    int totalCount();
    Este método devuelve el número total de filas que existen.
  5. Utilice el objeto de FDTableRow y sus métodos para devolver datos de fila de tabla. Se pueden usar los métodos siguientes:
    • public void setColumnValue(String columnId, String data)
      Especifique lo siguiente para establecer el valor para una columna:
      • Cadena columnId: especifica el atributo “_id” de un componente de la tabla.
      • Datos de cadena: especifican un valor que se puede analizar y colocar en un campo de la tabla.
    • public String getColumnValue(String columnId)
      Especifica la función GET coincidente de la función SET anterior (public void setColumnValue).
    • public Set getColumns()
      Devuelve el conjunto de ID de columna almacenados en este objeto.
Para obtener más información y ejemplos, consulte la documentación del complemento de la API.