archivo plugin.xml
Un plug-in se describe en un archivo de manifiesto, denominado plugin.xml que forma parte de los archivos de despliegue del plug-in. El archivo de manifiesto indica al tiempo de ejecución de la aplicación del portal lo que necesita saber para registrar y activar el plug-in. El archivo de manifiesto sirve esencialmente de contacto entre el componente conectable y el tiempo de ejecución de la aplicación del portal. Aunque el archivo plugin.xml de WebSphere Application Server es muy similar al que se proporciona para el área de trabajo de Eclipse, se diferencia del mismo en diferentes puntos.
Ubicación
El archivo plugin.xml debe residir en el directorio WEB-INF bajo el contexto de la jerarquía de directorios que existen para una aplicación web o cuando se incluye en el archivo de archivado de aplicación web. El archivo plugin.xml debe residir en el directorio raíz cuando el archivo plugin.xml se coloca en un archivo Enterprise JavaBeans Java™ o en un archivo JAR de biblioteca compartida. El servicio de registro de extensiones incluye el archivo plugin.xml a medida que se cargan e inician en el servidor de aplicaciones los componentes que participan.
Notas sobre la utilización
- ¿Es este un archivo de sólo lectura?
No
- ¿Este archivo lo actualiza un componente del producto?
???
- Si es así, ¿qué activa su actualización?
Rational Application Developer actualiza el archivo web.xml cuando se ensamblan los componentes web en un módulo web, o cuando se modifican las propiedades de los componentes web o del módulo web.
- ¿Cómo y cuándo se utiliza el contenido de este archivo?
Las funciones de WebSphere Application Server utilizan la información de este archivo durante las fases de configuración y despliegue de desarrollo de la aplicación web.
- Las definiciones de marcadores del manifiesto utilizan los diferentes símbolos e identificadores de nombres. Para eliminar la ambigüedad, las siguientes son las normas de producción para estos convenios de denominación. En general, todos los identificadores son sensibles a las mayúsculas y minúsculas.
SimpleToken := secuencia de caracteres de ('a-z','A-Z','0-9') ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) PlugInId := ComposedToken PlugInPrereq := PlugInId ExtensionId := SimpleToken ExtensionPointId := SimpleToken ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)
Entrada de archivo de ejemplo
La DTD completa del manifiesto del plug-in es la siguiente. El esquema XML no se utiliza para definir el manifiesto ya que las herramientas Eclipse actuales para el plug-in requieren una DTD. Según la norma de construcción de la DTD de XML un elemento con un asterisco significa que el elemento aparecer cero o más veces. Si el elemento tiene un signo de interrogación significa que aparece cero o una vez y si el elemento tiene un signo más significa que aparecer una o más veces.
<?xml encoding="US-ASCII"?>
<!ELEMENT plugin (requires?, extension-point*, extension*)>
<!ATTLIST plugin
name CDATA #IMPLIED
id CDATA #REQUIRED
version CDATA #REQUIRED
provider-name CDATA #IMPLIED
>
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
plugin CDATA #REQUIRED
version CDATA #IMPLIED
match (exact | compatible | greaterOrEqual) #IMPLIED
>
<!ELEMENT extension-point EMPTY>
<!ATTLIST extension-point
name CDATA #IMPLIED
id CDATA #REQUIRED
schema CDATA #IMPLIED
>
<!ELEMENT extension ANY>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
Diferencias de WebSphere Application Server
- El elemento plugin.
- El elemento plugin suministrado en este manifiesto no contiene atributos de clase. El atributo de clase no es necesario ya que el mecanismo del plug-in no requiere que el desarrollador del plug-in amplíe o utilice ninguna clase específica como es necesario en el área de trabajo de Eclipse. Asimismo, el elemento plugin no contiene un elemento de tiempo de ejecución ya que los estándares como, por ejemplo, J2EE ya definen la ubicación de las bibliotecas de tiempo de ejecución para las aplicaciones.
- El elemento import
- El elemento requires no contiene el atributo export ya que se recomienda que los módulos J2EE sean autocontenidos para que resulten más gestionables. Además de eliminar el atributo export, el atributo match tiene una opción para el valor de mayor que o igual para la coincidencia de versiones (greaterOrEqual).
- El elemento extension-point
- El elemento extension-point tiene el atributo de nombre como opcional ya que no tiene un uso real en esta implementación J2EE.
Puede encontrar información detallada relacionada con el archivo de manifiesto de plug-in en la documentación de Eclipse, en Platform Plug-In Developer Guide>Other reference information>Plug-in manifest.
<?xml version="1.0"?>
<!--el ID de plug-in se deriva del nombre de dominio del proveedor -->
<plugin
id=”com.ibm.ws.console.core”
version=”1.0.0”
provider-name=”IBM WebSphere”>
<!--declaración de los plug-ins de requisito previo-->
<requires>
<import plugin=”com.ibm.data” version=”2.0.1” match=”compatible”/>
<import plugin=”com.ibm.resources” version=”3.0” match=”exact”/>
</requires>
<!--declaración del punto de extensión de enlace -->
<extension-point
id=”linkExtensionPoint”
schema=”/schemas/linkSchema.xsd”/>
<!--declaración de una extensión al punto de extensión de enlace -->
<extension
point=”com.ibm.ws.console.core.linkExtensionPoint”
id=”linkExtension”>
<link
label=”Example.displayName”
actionView=”com.ibm.ws.console.servermanagement.forwardCmd.do?
forwardName=example.config.view&
lastPage=ApplicationServer.config.view”>
</link>
</extension>
</plugin>