Kit de desarrollo de plugins

El Kit de desarrollo de plug-ins (PDK) está diseñado para ayudarle a crear sus propios plug-ins. Los plug-ins proporcionan las prestaciones para crear, desplegar y gestionar aplicaciones virtuales en Creador de patrones.El Kit de desarrollo de plug-ins (PDK) está diseñado para ayudarle a crear sus propios proyectos de patrón, que incluyen componentes de software, paquetes de scripts, tipos de patrón y plug-ins. El PDK proporciona capacidades de creación, configuración, empaquetado, despliegue y depuración para estos proyectos.

Patrones de aplicación Virtual

Cloud Pak System proporciona una infraestructura genérica para diseñar, desplegar y gestionar aplicaciones virtuales. El modelo que crea utilizando los artefactos de aplicación y la calidad de los niveles de servicio se denomina patrón de aplicación virtual. Puede utilizar patrones predefinidos, ampliar patrones existentes o crear patrones nuevos.

Cuando crea un patrón de aplicación virtual, crea el modelo de una aplicación virtual utilizando componentes, enlaces y políticas.

Considere una aplicación de gestión de órdenes con los requisitos siguientes:
  • Se basa en web y se ejecuta en WebSphere® Application Server.
  • Está altamente disponible, con un clúster de dos nodos de WebSphere Application Server y dos nodos de DB2® .
  • Utiliza DB2 para almacenar información de pedidos y otros datos de aplicación.
  • Permite utilizar el número máximo actual de pedidos que recibe la compañía, 10 transacciones por segundo, pero también debe ser capaz de escalar y manejar un mayor número de transacciones, hasta un máximo de 15 transacciones por segundo, a medida que la empresa crezca.
  • Da soporte a funciones de copia de seguridad y restauración.

Un creador de aplicaciones virtuales puede utilizar Cloud Pak System para crear un patrón de aplicación virtual utilizando componentes, enlaces y políticas para especificar cada uno de estos parámetros.

Componente
Representa un artefacto de aplicación como un archivo WAR y atributos tales como un tiempo de espera excedido de transacción máximo. En términos de la aplicación de gestión de pedidos de ejemplo, los componentes de la aplicación son los nodos WebSphere Application Server y los nodos DB2. Los componentes de WebSphere Application Server incluyen el archivo WAR para la aplicación y los componentes de DB2 conectan la aplicación con el servidor de DB2 existente.
Enlace
Conexión entre dos componentes. Por ejemplo, si un componente de aplicación web tiene una dependencia en un componente de base de datos, un enlace de salida del componente de aplicación web al componente de base de datos define esta dependencia. En términos de la aplicación de gestión de pedidos de ejemplo, existen enlaces entre los componentes de WebSphere Application Server y los componentes de DB2.
Política
Representa la calidad de nivel de servicios para artefactos de aplicación en la aplicación virtual. Las políticas se pueden aplicar globalmente a nivel de aplicación o especificar para componentes individuales. Por ejemplo, una política de registro define la configuración de registro y una política de escalado define criterios para añadir o eliminar de forma dinámica recursos de la aplicación virtual. En términos del ejemplo de la aplicación de gestión de órdenes, se aplica una política de escala basada en el tiempo de respuesta que escala la aplicación virtual hacia arriba o hacia abajo para mantener el tiempo de respuesta web en 1000-5000 ms.

Al desplegar una aplicación virtual, el patrón de aplicación virtual se convierte de un modelo lógico a una topología de máquinas virtuales desplegadas en la nube. Internamente, el sistema determina la infraestructura y middleware subyacentes necesarios para la aplicación y los ajusta según sea necesario para asegurarse de que se mantenga la calidad de los niveles de servicio que se establecen para la aplicación. Una topología desplegada que se basa en un patrón de aplicación virtual se denomina una instancia de aplicación virtual. Puede desplegar varias instancias de aplicación virtual desde un único patrón de aplicación virtual.

Los componentes, enlaces y políticas que están disponibles para diseñar un patrón de aplicación virtual determinado dependen del tipo de patrón que elija y de los plugins que están asociados con el tipo de patrón.

Tipos de patrón y complementos de aplicación virtual

Un tipo de patrón representa una colección de componentes, enlaces y políticas relacionados que se utilizan para crear un conjunto de aplicaciones virtuales. Un tipo de patrón define un dominio de aplicación virtual. Por ejemplo, el tipo de patrón IBM® Web Application Pattern define un dominio en el que se despliegan las aplicaciones web de Java Platform, Enterprise Edition . Incluye componentes para archivos WAR, EAR y OSGiEBA. Estos componentes tienen un atributo para el archivo de archivado adecuado, que un creador de aplicaciones especifica durante la construcción del patrón de aplicación virtual.

La aplicación web se puede conectar a una base de datos, por lo que el tipo de patrón también incluye un componente para representar la base de datos y proporciona sus propiedades de conexión como atributos. El tipo de patrón también define un enlace entre la base de datos y el archivo WAR para representar la comunicación entre la aplicación y la base de datos.

Los componentes de aplicación (WAR, EAR, OSGiEBA) se pueden configurar con calidad de niveles de servicio aplicando políticas. Las opciones disponibles incluyen el escalado, direccionamiento, registro y políticas JVM.

Los constructores de aplicaciones virtuales crean patrones de aplicación virtual en el Creador de patrones. En Creador de patrones, empiece seleccionando el tipo de patrón que desea utilizar. Esta opción determina el conjunto de componentes, enlaces y políticas que se puede utilizar para crear la aplicación virtual y el tipo de aplicaciones virtuales que puede crear.

Los desarrolladores de plugins son responsables de crear o personalizar tipos de patrón y plugins que controlan los componentes, enlaces y políticas disponibles, las opciones de configuración correspondientes y el código para implementar despliegues.

Aplicaciones virtuales y plugins

Cloud Pak System proporciona un Creador de patrones para crear patrones de aplicación virtual. Con un patrón de aplicación virtual, los componentes, enlaces y políticas pueden tener atributos como, por ejemplo, ID de usuario, contraseñas, nombres de base de datos o archivos de archivado, como un archivo WAR. Los constructores de aplicaciones virtuales asignan valores a los atributos cuando crean un patrón de aplicación virtual. El patrón de aplicación virtual completado se guarda como un JSONObject de modelo de aplicación. El modelo de aplicación puede desplegarse entonces.

Los plugins aportan componentes, enlaces y políticas que están disponibles en el Creador de patrones. Se agrupan en tipos de patrón. Cuando crea un patrón, el primer paso es elegir el tipo de patrón. Esta opción determina las opciones y la experiencia del usuario en el Creador de patrones. En el Creador de patrones, puede seleccionar entre los componentes, enlaces y políticas que proporcionan los plugins del tipo de patrón . El plugin que aporta un componente o enlace determina completamente su semántica y operación. Los componentes, los enlaces y las políticas son las prestaciones más visibles para el usuario a las que puede contribuir un plugin, pero el desarrollador de un plugin también debe incluir otras prestaciones. Los plugins son responsables de la implementación de componentes y enlaces cuando se despliega un patrón y del mantenimiento a través de todo el ciclo de vida de la instancia. Un plugin debe aportar scripts de ciclo de vida adecuados para gestionar la instancia a través de los diversos sucesos de su ciclo de vida.

Contenido del PDK

El PDK es un paquete de archivos comprimidos que está disponible como descarga desde developerWorks® o desde el propio Cloud Pak System . Incluye un entorno de compilación de tipos de patrón y plugins, ejemplos y una herramienta para crear un proyecto de plugin inicial.
Archivo o directorio Descripción
docs Contiene documentación para el PDK.
  • docs/index.html Abra este archivo utilizando el navegador web para ver una lista de enlaces a la documentación en el directorio docs.
  • docs/PDKSampleUsersGuide.pdf
  • docs/javadoc

    Este directorio contiene Javadoc para interfaces Cloud Pak System que los plug-ins pueden invocar desde el código Java™ .

  • docs/pydoc

    Este directorio contiene documentación para el módulo maestro que se utiliza en los scripts Python de ciclo de vida para los componentes y los componentes de nodo.

iwd-pdk-workspace Directorio raíz del espacio de trabajo de desarrollo. Cada paquete de software, paquete de scripts, plugin, y tipo de patrón tiene su propio directorio de proyecto en este directorio raíz. Estos directorios se pueden utilizar directamente desde la línea de mandatos o importarse en Eclipse como plugins.
com.ibm.maestro.plugin.pdk.site.zip Contiene un plug-in de Eclipse que puede utilizar en el entorno de Eclipse o Rational® Application Developer para crear y editar algunos de los archivos de configuración para los proyectos. Para obtener más información, consulte "Instalación del plugin Kit de desarrollo de plug-ins Eclipse ."
pdk-debug-{version}.tgz Este archivo es el plug-in de depuración que se puede instalar en la instancia de Cloud Pak System y se utiliza para desarrollar y depurar los plug-ins. El plugin incluye funciones para desplegar y depurar un documento de topología, el cual es un objeto JSON, y depurar scripts de ciclo de vida Python e instalación de plugins en nodos desplegados. No da soporte a la depuración para código Java en plug-ins. Para obtener más información, consulte "Plugin de depuración".
pdk-unlock-{version}.tgz Utilice el plugin de desbloqueo para suprimir un plugin que esté en uso por parte de una aplicación desplegada, sustitúyalo por una versión actualizada y active el plugin modificado en las máquinas virtuales desplegadas en la aplicación. Para obtener más información, consulte "Plugin de desbloqueo".

plugin.depends herramienta

La herramienta plugin.depends viene incluida en el archivo IBMWorkloadPluginDevKit_<version>.zip. Esta herramienta de desarrollo de plugins es un proyecto de plugin OSGi estándar. La herramienta incluye bibliotecas de plugins de Cloud Pak System para el desarrollo, herramientas de compilación para plugins y tipos de patrón y una biblioteca de compilación Ant. La biblioteca de compilación Ant incluye estos archivos:
  • La carpeta lib que incluye todos los archivos JAR (Java Archive) necesarios para el desarrollo de plug-ins.
  • La carpeta lib-build que incluye todas las bibliotecas necesarias para el script de creación de plugins.
  • El archivo build/build.plugins.xml que es el archivo de script de construcción interna base para la creación de un plugin único. Los archivos de script de compilación de cada plugin importan primero este archivo de script de compilación y añaden más acciones, si es necesario.
  • El archivo build/build.patterntypes.xml, que es un script de compilación de tipo de patrón genérico. El archivo de script de construcción de cada tipo de patrón importa primero este archivo y, si fuera necesario, añade más acciones.
  • El archivo create.plugin.project.xml, que es un script Ant que se utiliza para crear proyectos para los plugins en el espacio de trabajo.
    Puede utilizar el archivo create.plugin.project.xml de plugin.depends para crear proyectos para los plugins. Este archivo crea una plantilla o un proyecto de plug-in Java. Hay dos parámetros que son necesarios: project-name y plugin-name. Mediante la utilización de estos dos parámetros se crea un proyecto de plantilla. El tercer parámetro, java.classname, es opcional. Si se proporciona un nombre de clase válido, se crea un proyecto de plug-in Java. El nombre de clase puede ser un nombre no jerárquico como MyPlugin o un nombre calificado por paquete, como com.acme.iwd.plugin.MyPlugin.
    Importante: No añada la extensión .java al final del proyecto de plug-in de Java porque se presupone la extensión.
  • La plugin-project-template (plantilla de proyecto de plugin) utilizada por el script Ant create.plugin.project.xml para crear proyectos de plugin.