WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows

Acceso a metadatos de la instancia de sucesos

El acceso a los metadatos de la instancia de sucesos se realiza a través de la infraestructura Eclipse Modeling Framework basada en Java.

El paquete org.eclipse.hyades.logging.events.cbe, que proporciona las clases e interfaces necesarias para trabajar con los objetos de sucesos, se basa en la infraestructura Eclipse Modeling Framework (EMF). EMF es una infraestructura Java que se utiliza para generar código de aplicación basado en un modelo de datos estructurado; también proporciona interfaces en el código generado que pueden utilizarse para acceder a metadatos que describen el modelo de datos. (Consulte la documentación de Eclipse Modeling Framework que se encuentra en la dirección http://www.eclipse.org/emf para obtener más información acerca de EMF.)

Gracias al uso de estas interfaces, las herramientas compatibles con EMF pueden interactuar con datos de sucesos CommonBaseEvent sin tener conocimientos previos del modelo de datos o sin acceder a la implementación. Esto hace posible que las herramientas de desarrollo generen código que transfiere datos de otros modelos de datos al modelo CommonBaseEvent. Los desarrolladores de aplicaciones pueden centrarse entonces en escribir código que utilice datos en lugar de código que cree datos.

Supongamos, por ejemplo, un origen de sucesos que supervisa los sucesos de la red y que describe su propio modelo de datos en términos de EMF. Con acceso a ambos modelos de datos, una herramienta de desarrollo podría mostrar campos del modelo de datos del origen de sucesos junto con campos del modelo de datos CommonBaseEvent. Un desarrollador podría utilizar entonces una interfaz gráfica para indicar cómo se correlacionan los campos del modelo de origen de sucesos con los campos del modelo CommonBaseEvent; por ejemplo, un campo denominado Workstation.name del modelo de datos de origen de sucesos podría corresponder al campo CommonBaseEvent.sourceComponentId.location del modelo de datos CommonBaseEvent. Ambos modelos de datos se describen utilizando interfaces EMF estándar, por lo que la herramienta podría generar código que gestione la transferencia de datos entre los dos modelos.

El siguiente fragmento de código es un simple ejemplo de cómo una herramienta de desarrollo podría utilizar interfaces EMF para consultar información acerca del modelo de datos CommonBaseEvent y luego utilizar dicha información para interactuar con una instancia de suceso. Este ejemplo podría formar parte de un consumidor de sucesos simple; se itera a través de todos los campos de una instancia de sucesos y, para cada uno, imprime el nombre y el valor del campo.

// El suceso es una instancia válida de CommonBaseEvent

// Obtener lista de características (campos) estructurales de instancia de suceso
List features = event.eClass().getEAllStructuralFeatures();

// Iterar a través de la lista; imprimir nombres y valores
for (int i = 0 ; i < features.size() ; i++)
  {
    EStructuralFeature feature = (EStructuralFeature)features.get(i);
    Object value = eObj.eGet(feature);
    System.out.println(feature.getName() + ":" + value);
  }

El modelo de datos CommonBaseEvent se describe en los archivos EMF cbe.ecore y cbe.genmodel. Estos archivos se incluyen con el SDK de Common Event Infrastructure; puede importarlos en un entorno de desarrollo basado en Eclipse y luego utilizar EMF para generar código que interactúe con objetos CommonBaseEvent.


Concept topic

Condiciones de uso | Evalúe esta página

Icono de fecha y horaÚltima actualización: 1 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\ccei_dev_eventMetadata.html

(C) Copyright IBM Corporation 2005. Reservados todos los derechos.
Este centro de información está basado en tecnología Eclipse. (http://www.eclipse.org)