Made partly-complete Lat
This commit is contained in:
parent
afd057f2ea
commit
5cba3e969d
|
@ -243,6 +243,16 @@
|
||||||
\item nimmt Komplexität
|
\item nimmt Komplexität
|
||||||
\item steigert Effizienz da weniger Aufrufe über Remotegrenze
|
\item steigert Effizienz da weniger Aufrufe über Remotegrenze
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
\subsection{Page-Object-Pattern}
|
||||||
|
PageObjectPattern
|
||||||
|
|
||||||
|
HTML – wrappen mit JavaCode, um es zu manipulieren
|
||||||
|
|
||||||
|
GUI-Test-Klasse und Page-Object
|
||||||
|
|
||||||
|
Über die Page-Object-Klasse manipuliere ich das HTML-Dokument
|
||||||
|
|
||||||
|
Bei HTML-Änderung muss ich nur Page-Objekt ändern und ansonsten nichts angreifen (Verkapselung)
|
||||||
\section{Remote}
|
\section{Remote}
|
||||||
\subsection{Beschreibe die Unterschiede zwischen lokalem und Remote Interface Design}
|
\subsection{Beschreibe die Unterschiede zwischen lokalem und Remote Interface Design}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
@ -325,6 +335,70 @@
|
||||||
\item durch verschiedene Log-level können Logs gefiltert erstellt werden
|
\item durch verschiedene Log-level können Logs gefiltert erstellt werden
|
||||||
\item Layout für Ausgabe kann zentral definiert/geändert werden
|
\item Layout für Ausgabe kann zentral definiert/geändert werden
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\section{Durchlesen: JEE Web Tier}
|
\section{Toni}
|
||||||
\section{Durchlesen: JavaServer Faces}
|
\subsection{Annotationen}
|
||||||
\section{Durchlesen: Wildfly Overview}
|
@Produces – kommt während deployment, markiert Factory Method damit man nicht direkt auf die Klasse zugreifen muss
|
||||||
|
@Typed – zeigt die Vererbung Wieso bei uns allein stehend?
|
||||||
|
@Named – Zeigt bei Mehrdeutigkeit das richtige Objekt mit dem Namen
|
||||||
|
@Resource – fast wie Dependency Injection
|
||||||
|
@Stateless – speichert den Client Status nicht
|
||||||
|
@Entity – Data Access Layer
|
||||||
|
@Table – Tabellenname im SQL
|
||||||
|
@Column – SQL-Spalten nullable=false
|
||||||
|
@OneToMany Beziehung
|
||||||
|
@JoinColums – welche Spalten zusammen gehören FK
|
||||||
|
@OneToMany FK auf anderen Seite
|
||||||
|
@ApplicationScoped – lebt die ganze Applikation lang, wird einmal gemacht.
|
||||||
|
@PersistenceContext – persistance.xml auslesen für Treiber und andere JPA Geschichten + Data Source. Entity Manager Injection.
|
||||||
|
@Id – das ist die id
|
||||||
|
@GeneratedValue – Wert kommt aus der DB
|
||||||
|
@Local – Klasse für lokale Aufrufe.
|
||||||
|
@Remote – interprozessaufrufe. RMI
|
||||||
|
@ApplicationException – Rollback wenn so eine Exception kommt, Nachricht zum Client.
|
||||||
|
\subsection{Patterns in Practice}
|
||||||
|
Data Access Layer
|
||||||
|
Entity – Java Repräsentation vom DB Entity
|
||||||
|
DAO damit man auf die Entities zugreifen kann. DB abstrahieren. Methoden mit denen man auf die DB zugreifen kann.
|
||||||
|
DAOImpl – Implementierung
|
||||||
|
DAOImpl – DAOException fehlt. Schlecht weil Input wird nicht kontrolliert. EntityManager in try catch, sonst kann es kleschen. Zudätzlich in DaoException wrappen.
|
||||||
|
AbstractEntity – hier wird die id gemanaged
|
||||||
|
Service Layer
|
||||||
|
DTO – Aufrufgeschw. Verringern, nicht jedes Objekt einzeln aufrufen, sondern mit einmal alle notwendigen Objekte.
|
||||||
|
Mapper – von DTO in Entity und Entity ins DTO.
|
||||||
|
|
||||||
|
FrontController web.xml
|
||||||
|
ViewHelper *ServiceImpl
|
||||||
|
\subsection{Konfigurationsdateien (pom.xml), (persistence.xml) und noch a bissl mehr Scheiß}
|
||||||
|
Resource plugin – klar für Ressourcen
|
||||||
|
Wildfly – server
|
||||||
|
Primeafce = jsf Framework
|
||||||
|
Jacoco = test Coverage
|
||||||
|
Slf4j = logger
|
||||||
|
Jaxb – xml
|
||||||
|
Cdi = context dependancy injection
|
||||||
|
\subsection{Reihenfolge - Wildfly - Abfolge - einzelne Schritte}
|
||||||
|
Reihenfolge:
|
||||||
|
1. Compile
|
||||||
|
2. Surefire (unitTests)
|
||||||
|
3. Deploy (warplugin)
|
||||||
|
4. Failsafe IT-test
|
||||||
|
5. MVN site
|
||||||
|
6. Gui test
|
||||||
|
\subsection{Frageart Prüfung}
|
||||||
|
Welche Fehler können bei Exception-Handling vorkommen in unserem Projekt?? – wie funktioniert es grundsätzlich in unserem Code
|
||||||
|
|
||||||
|
DocumentDAO – DocumentService – DocumentController – so sollte Exception-Handling implementiert warden
|
||||||
|
|
||||||
|
DAO wirft Exception – im ServiceLayer wird dies gefangen und der Stack-Trace wird im weggeloggt und eine benutzerfreundliche Fehlermeldung wird ausgegeben (Destructive Wrapping).
|
||||||
|
|
||||||
|
Alle Patterns, die vorkommen – praktische Beispiele aus dem Code
|
||||||
|
|
||||||
|
Was sind JavaBeans? Wie funktioniert das Konzept? Wie wird es genau implementiert?
|
||||||
|
NamedBean, TypedBean etc.
|
||||||
|
|
||||||
|
DTO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
\title{Enterprise Software Architecture - FAQ Ausarbeitung}
|
\title{Enterprise Software Architecture - FAQ Ausarbeitung}
|
||||||
\maketitle
|
\maketitle
|
||||||
\pagebreak
|
\pagebreak
|
||||||
% \tableofcontents
|
\tableofcontents
|
||||||
% \pagebreak
|
\pagebreak
|
||||||
|
|
||||||
\include{parts/01_layered-arc}
|
\include{parts/01_layered-arc}
|
||||||
\include{parts/02_comp-based_arc}
|
%\include{parts/02_comp-based_arc}
|
||||||
\include{parts/03_service-orientated_arc}
|
%\include{parts/03_service-orientated_arc}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue