Bean Validation im Produkt verwenden
Die Spezifikation Java™ Enterprise Edition (Java EE) 7 enthält die API "Bean Validation 1.1", die ein Standardmechanismus für die Validierung von JavaBeans auf allen Ebenen einer Anwendung ist.
Informationen zu diesem Vorgang
Vor der Spezifikation "Bean Validation" wurden JavaBeans auf jeder Ebene einzelnen validiert. Um die erneute Implementierung von Validierungen auf jeder Ebene zu verhindern, haben Entwickler Validierungen direkt in ihre Klassen eingebunden oder Validierungscode kopiert. Dieses Verfahren war häufig sehr unübersichtlich. Eine einheitliche Implementierung für alle Ebenen der Anwendung vereinfacht die Arbeit der Entwickler und spart Zeit.
Bean Validation gilt für alle Ebenen einer Anwendung. Webanwendungen umfassen die folgenden Ebenen:- Darstellung
Diese Ebene stellt die Interaktion des Benutzers mit der Anwendung dar und kann auf einem Thin Client oder Rich Client basieren.
- Geschäft
Diese Ebene koordiniert die Anwendung, verarbeitet Befehle, trifft logische Entscheidungen, nimmt Bewertungen vor und führt Berechnungen durch. Außerdem ist sie für das Verschieben und Verarbeiten von Daten zwischen den anderen beiden Ebenen zuständig. In WebSphere Application Server enthält die EJB Geschäftslogik.
- Datenzugriff
Ihre Daten werden in einer Datenbank oder in einem Dateisystem auf dieser Ebene gespeichert und abgerufen. Die Geschäftsebene verarbeitet die Daten und sendet sie in einem verwendbaren Format an die Benutzerschnittstelle. WebSphere Application Server unterstützt mehrere Datenbanken und Methoden für den Abruf von Daten. Diese ebene definiert auch Persistenz.
Für WebSphere Application Server werden diese Ebenen mit mehreren Komponenten im Produkt erstellt und verwaltet, die für die Entwicklung und Implementierung von Anwendungen erforderlich sind.
Das Produkt bietet Unterstützung für die Bean Validation API in der Java EE-Umgebung (Java Platform, Enterprise Edition), indem ein Bean-Validation-Service in mehreren Java EE-Technologien einschließlich Java Servlets, Enterprise JavaBeans, Java Persistence API (JPA) 2.1, Java EE Connector API (JCA) 1.7 und Java ServerFaces (JSF) 2.2 bereitgestellt wird. Bean Validation bietet diesen Technologien eine Methode für die Verwaltung der Datenintegrität in einer integrierten und in einer Standardumgebung.
An der Entwicklung von Unternehmensanwendungen sind mehrere Teams beteiligt, die zahlreiche Anwendungen und Module entwickeln, die dann in einem Anwendungsserver assembliert und implementiert werden. Das Produkt stellt sicher, dass die Daten jeder Anwendung und jedes Moduls unabhängig voneinander validiert werden. Die Valdierung wird ausschließlich mit den Integritätsbedingungen durchgeführt, die für die Anwendung und das Modul definiert sind.
Nächste Schritte
- Datenzugriffsressourcen:
Bean Validation in RAR-Modulen.
Das Produkt validiert die EJB-Integritätsbedingungen für RAR-Module (Resource Adapter Archive, Ressourcenadapterarchiv) gemäß der Spezifikation JCA Version 1.7. Ressourcenadapter können die Annotationen für integrierte Bean-Validation-Integritätsbedingungen verwenden oder ein Bean-Validation-XML-Konfiguration bereitstellen, um die Validierungsanforderungen für die Konfigurationseigenschaften des Ressourcenadapters für den Anwendungsserver festzulegen.
- Bean-Validierung in JPA verwenden
Ein neues Feature in der Spezifikation JPA 2.1 ist die Möglichkeit einer nahtlosen Integration mit der Bean Validation API. Mit minimalem Aufwand kann JPA 2.1 mit dem Bean-Validation-Provider für die Validierung von Laufzeitdaten gekoppelt werden. Durch die Kombination dieser beiden Technologien erhalten Sie eine standardisierte Persistenzlösung mit der zusätzlichen Möglichkeit, eine standardisierte Datenvalidierung durchzuführen.
- Bean Validation mit JSF verwenden
JSF war auch bisher in der Lage, eine Beanvalidierung durchzuführen, bietet aber jetzt die integrierte Unterstützung der Spezifikation Bean Validation.
- Bean Validation im Web-Container
Der Web-Container stellt eine Instanz von ValidatorFactory bereit und stellt diese JSF-Implementierungen bereit, indem er sie in einem Servletkontextattribut mit dem Namen "javax.faces.validator.beanValidator.ValidatorFactory" speichert.
- Bean Validation mit dem integrierbaren Container verwenden.Wenn Sie Bean Validation mit dem integrierbaren EJB-Container verwenden möchten, müssen die javax.validation-Klassen im Klassenpfad enthalten sein. Es gibt zwei Möglichkeiten:
- Schließen Sie den JPA-Thin-Client, der sich im Verzeichnis ${WAS_INSTALL_ROOT}\runtimes\ befindet, in den Klassenpfad ein. Verwenden Sie für JPA 2.1 com.ibm.ws.jpa-2.1.thinclient_9.0.jar und für JPA 2.0 com.ibm.ws.jpa-2.0.thinclient_9.0.jar. Weitere Informationen finden Sie im Artikel Integrierbaren Container ausführen und in der Beschreibung von JPA.
- Schließen Sie die JAR-Datei des Bean-Validation-Providers eines anderen Anbieters in den Klassenpfad der Laufzeitumgebung des integrierbaren EJB-Containers ein.
- Neue API-Methoden, die in Bean Validation 1.1 hinzugefügt wurden, funktionieren in JPA-Objekten nicht.
- Die automatische Konstruktor-/Methodenvalidierung ist nicht verfügbar.
- Sie können @Inject nicht verwenden, um Validator/ValidatorFactory einzufügen.
- Sie können CDI nicht verwenden, wenn Sie angepasste Komponenten in validation.xml wie z. B. MessageInterpolator oder ParameterNameProvider erstellen.)