Exemple : Interface Generic Event
Cette interface est utilisée pour le traitement des événements d'audit génériques. D'autres interfaces peuvent être définies en vue d'étendre cette interface et lui permettre de traiter des regroupements d'événements d'audit spécifiques, tels que des événements de sécurité, de transaction, ou autres regroupements personnalisés. Pour WebSphere Application Server 7.0, seuls les événements de type sécurité sont pris en charge.
Generic Event Interface
Des implémentations spécifiques peuvent être développées pour gérer les données dans un format interne particulier. Lorsque la méthode buildEvent() est appelée, l'implémentation doit créer le type d'événement de base indiqué à l'aide des informations internes qu'il a enregistrées. Une fois les informations enregistrées dans une instance GenericEvent, l'interface GenericEvent fournit un mode générique de gestion de l'événement.
public interface
GenericEvent {
/** * Nom de propriété utilisé pour indiquer le type d'événement de base à la
* méthode {@link GenericEvent#buildEvent}.
*/
public static final String BASE_EVENT_TYPE = GenericEvent.class.getName() + ".baseEventType";
/**
* Renvoie eventType pour l'événement. Le type d'événement fait la distinction entre ces
* événements associés.
* Le type d'événement dépend d'une implémentation particulière de
* GenericEvent. Par exemple, l'implémentation Security Event a des
* types d'événements tels que SECURITY_AUTHN et SECURITY_AUTHZ.
* @return eventType : Type de l'événement
*/
public String getEventType();
/**
* Renvoie creationTime, l'heure de création de l'événement.
* @return creationTime : Heure de création de l'événement
*/ public Date getCreationTime(); /** * Renvoie la version, la version de l'événement.
* @return version : Version de l'événement
*/
public String getVersion (Properties props) throws GenericEventConfigurationException;
/**
* Renvoie globalInstanceId, un identificateur d'instance unique
* global pour l'événement.
* @return globalInstanceId : Identificateur d'instance unique global pour l'événement
*/
public Long getGlobalInstanceId();
/**
* Vérifie si l'événement est valide ; ceci dépend de l'implémentation
* spécifique de GenericEvent. Si l'événement n'est pas valide, une
* erreur GenericEventValidationException est générée.
*/
public void validate() throws GenericEventValidationException;
/**
* Renvoie l'instance d'événement de base encapsulé en interne après
* l'achèvement et la validation de l'instance courante de GenericEvent.
* Une implémentation GenericEvent peut conserver ses informations dans
* n'importe quel format interne secret. La méthode buildEvent() indique qu'un
* type d'événement de base spécifique est créé à l'aide des informations
* internes. Ceci permet aux implémentation GenericEvent de prendre en charge
* plusieurs formats d'événements de base. L'implémentation GenericEvent fournit
* une couche d'abstraction supérieure au type d'événement de base.
* @param properties La valeur de la propriété BASE_EVENT_TYPE définit
* le type de l'événement de base
* @return Renvoie l'instance d'événement de base encapsulée
* @throws GenericEventConfigurationException Si le type d'événement de base n'est pas valide
* ou si les fichiers JAR de prise en charge de ce type d'événement ne sont pas disponibles.
* @throws GenericEventCompletionException si l'événement n'a pas pu s'achever.
* @throws GenericEventValidationException si la validation a échoué. Il s'agit de la
* validation effectuée par la méthode validate().
*/
public Object buildEvent(Properties properties)
throws GenericEventConfigurationException,
GenericEventValidationException,
GenericEventCompletionException;
/**
* Renvoie l'instance d'événement de base encapsulé en tant que chaîne après
* l'achèvement et la validation de l'instance courante de GenericEvent.
* Une implémentation GenericEvent peut conserver ses informations dans
* n'importe quel format interne secret. Il s'agit de la méthode buildEventString()
* type d'événement de base spécifique est créé à l'aide des informations
* internes. Ceci permet aux implémentation GenericEvent de prendre en charge
* plusieurs formats d'événements de base. L'implémentation GenericEvent
* une couche d'abstraction supérieure au type d'événement de base.
* @param properties La valeur de la propriété BASE_EVENT_TYPE définit
* le type de l'événement de base
* @return Renvoie l'instance d'événement de base encapsulé en tant que chaîne
* @throws GenericEventConfigurationException Si le type d'événement de base n'est pas valide
* ou si les fichiers JAR de prise en charge de ce type d'événement ne sont pas disponibles.
* @throws GenericEventCompletionException si l'événement n'a pas pu s'achever.
* @throws GenericEventValidationException si la validation a échoué. Il s'agit de la
* validation effectuée par la méthode validate().
*/
public String buildEventString(Properties properties)
throws GenericEventConfigurationException,
GenericEventValidationException,
GenericEventCompletionException;
}