Made partly-complete Lat

This commit is contained in:
Moser Benjamin 2019-02-25 23:01:46 +01:00
parent afd057f2ea
commit 5cba3e969d
3 changed files with 81 additions and 7 deletions

View File

@ -243,6 +243,16 @@
\item nimmt Komplexität
\item steigert Effizienz da weniger Aufrufe über Remotegrenze
\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}
\subsection{Beschreibe die Unterschiede zwischen lokalem und Remote Interface Design}
\begin{itemize}
@ -325,6 +335,70 @@
\item durch verschiedene Log-level können Logs gefiltert erstellt werden
\item Layout für Ausgabe kann zentral definiert/geändert werden
\end{itemize}
\section{Durchlesen: JEE Web Tier}
\section{Durchlesen: JavaServer Faces}
\section{Durchlesen: Wildfly Overview}
\section{Toni}
\subsection{Annotationen}
@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

View File

@ -17,11 +17,11 @@
\title{Enterprise Software Architecture - FAQ Ausarbeitung}
\maketitle
\pagebreak
% \tableofcontents
% \pagebreak
\tableofcontents
\pagebreak
\include{parts/01_layered-arc}
\include{parts/02_comp-based_arc}
\include{parts/03_service-orientated_arc}
%\include{parts/02_comp-based_arc}
%\include{parts/03_service-orientated_arc}
\end{document}

BIN
~$tchriftBenjiToni.docx Normal file

Binary file not shown.