Bon modèle ou un cadre pour l'ajout d'audit d'une application existante?
J'ai déjà une application d'entreprise J2EE pour laquelle j'ai besoin d'ajouter de l'audit, c'est à dire être capable d'enregistrer les opérations CRUD sur plusieurs types de domaine (Employé, AdministratorRights, etc.).
L'application dispose d'une architecture n-tiers:
- Interface Web
- Opérations commerciales encapsulé dans un mélange de beans de session sans état transactionnelle et de Pojo (par Ressort)
- la persistance est un mélange de direct JDBC (de l'intérieur de la couche de gestion) et les EJB 2.x BMP entity beans (je sais, je sais)
Ma question est: existe-il des modèles standard ou (mieux encore) frameworks/librairies spécifiquement pour l'ajout d'audit transversal préoccupation? Je sais AOP peut être utilisé pour mettre en œuvre les sujets transversaux en général; je veux savoir si il y a quelque chose de spécifiquement destiné à l'audit.
Pourrait les électeurs au moins de laisser un commentaire en expliquant pourquoi?
OriginalL'auteur Andrew Swan | 2008-09-16
Vous devez vous connecter pour publier un commentaire.
Peut-être que vous devriez jeter un oeil à Audit4j qui fournit de l'audit des fonctions d'affaires et dispose de plusieurs options pour la configuration.
Un autre cadre est JaVers que focues plus sur l'audit de bas niveau de la modification de la couche de persistance, ce qui pourrait correspondre à votre cas un peu mieux.
Cadre général de fournir à la vérification des fonctionnalités spécifiques qui va au-delà de la plaine de l'AOP/Intercepteurs.
OriginalL'auteur Gerald Mücke
Droit maintenant, je suis penchée vers l'utilisation de Spring AOP (à l'aide de la "@AspectJ" style) à conseiller les opérations commerciales qui sont exposés à la couche web.
OriginalL'auteur Andrew Swan
Je vais aller un peu à contre courant ici, et vous suggérons de regarder à un niveau inférieur de la solution. Nous avons une architecture similaire dans notre application, et de notre audit, nous avons connu avec la base de données d'audit au niveau de déclencheurs que les opérations de piste dans les SGBDR. Cela peut être fait comme fine ou grossière que vous aimez, vous avez juste à identifier les entités que vous souhaitez suivre.
Maintenant, ce n'est pas une idéologie pure solution; il s'agit de mettre de la logique dans la base de données qui est sans doute censé rester dans la couche d'entreprise, et je ne peux pas nier que ce point de vue a de la valeur, mais dans notre cas, nous avons de nombreuses application indépendante de l'interaction avec le modèle de données, certaines écrites en C, certains scripté, et d'autres applications J2EE, et tous doivent être vérifiés régulièrement.
Il y a peut-être encore quelques AOP travail à faire ici sur le J2EE côté, vous l'esprit; toute méthode qui met à jour la base de données peuvent avoir quelques travaux supplémentaires à dire la base de données de l'utilisateur qui est en train de faire le travail. Nous utilisons la base de données des variables de session pour ce faire, mais il y a d'autres solutions, bien sûr.
OriginalL'auteur Chris R
Essayer un Orientée Aspects cadre de programmation.
De Wikipédia "programmation orientée Aspects (AOP) est un paradigme de programmation qui augmente la modularité en permettant la séparation des transversales préoccupations".
OriginalL'auteur Ash
Pour tous les EJBs vous pouvez utiliser des EJB 3.0 Intercepteurs (C'est quelque chose de semblable à filtre de Servlet) et un autre intercepteur pour le Printemps (pas familier avec les printemps)
Comme vous utilisez les Ejb ainsi que le Printemps qui ne peut pas couvrir l'ensemble des transactions. Une autre approche pourrait être l'aide d'un Contrôleur Frontal cependant que nécessite une certaine modification dans le côté client. Pourtant, une autre approche pourrait être l'aide d'un Filtre de Servlet, cependant, que la mise en place de la logique de domaine dans la couche de présentation.
Je recommanderais le Contrôleur dans ce cas.
OriginalL'auteur Rejeev Divakaran
Je viens d'apprendre sur un nouveau projet pour le Printemps appelé Spring Data JPA qui offre une AOP à base de fonctionnalité d'audit. Ce n'est pas GA encore, mais il convient de garder un oeil sur.
OriginalL'auteur Andrew Swan