Freitag, 16. September 2016

BedCon 2016 - Vergleich von WebFrameworks

http://www.slideshare.net/GEDOPLAN

https://github.com/GEDOPLAN/webclients-check

BedCon 2016 - Resilience Patterns

BedCon 2016 - Resilience Patterns

https://www.slideshare.net/mobile/ufried/resilience-reloaded-more-resilience-patterns

BedCon 2016 - Softwarearchitektur für optimale User Experience

BedCon 2016 - Softwarearchitektur für optimale User Experience

User Experience Tool: balsamiq.com

BedCon 2016 - JPA Best Practices

JPA Best Practices

- EntityManager immer nur im RequestScope laufen lassen ( also nicht per Session ).
Der EntityManager ist an eine Transaktion gebunden, Außerhalb von Requests können sonst Nebenläufigkeiten entstehen.

- EntityManager per @Inject reingeben statt @PersistenceManager . Bei @Inject muss der EntityManager von einer Factory erzeugt werden über @Produces im Request-Scope. Auf diese Art und Weise kann der EntityManager auch an anderen Stellen verwendet werden, so @PersistenceManager nicht erlaubt ist. Hier ist aber darauf zu achten, dass der EntityManager per se immer trasaktional arbeitet. Jede Attributänderung einer JSF ManagedBean wird direkt weggespeichert wenn diese Bean dann attached ist. Durch ein explizites Ausstellen (Modus Unsynchronized) der Transaktionalität beim Produzieren des EntityManagers in der Factory lässt sich das verhindern. Allerdings muss dann der EntityManager bei einer gewollten transaktionalen Verarbeitung wieder manuell an die Transaktion gebunden werden (entityManager.joinTransaction())

Donnerstag, 15. September 2016

BedCon 2016 - Docker Orchestrierung mit Docker Swarm & Compose

BedCon 2016

Docker Orchestrierung mit Docker Swarm & Compose

- Docker mit Overlay Network braucht mind. Linux Kernel 4.2.x (basiert auf vxlan)

- Docker Compose konfiguration in yaml

BedCon 2016 - GUI Testing - Wartbare Alternativen zu Record&Play


 Wartbare Alternativen zu Record&Play GUI Testing

Slides

1. Möglichkeit: Grafisches GUI Test Tool, Tests zusammen klicken
UI elemente anhand von xpath erkennung ist gefährlich --> bei änderung der anordnung der elemente geht nix mehr
--> regressionstests nicht möglich
Lange Laufzeiten
Lange Entwicklungszeit (weil lange Laufzeiten)

2. Möglichkeit: Selenium
selenium for chrome, ff, safari, etc, and mobile
pros: programmatic tests
cons: spagetti code, bad technical API
--> Problem: Es gibt kein Model der GUI, die getestet wird
--> Lösung: Ein Model (und damit API) schaffen für die GUI
Page Object Pattern:
Selenium Page Objects
Arquillian Graphene
GEB
Testframework in groovy, hat auch Page Objects
Test-DSL

Alternativen
CATJS
Testcode (JS) im HTML enthalten

Test-Strategien
- test on lowest level! (besser viele günstige Unit-Tests als wenige teure GUI Test)
- lange laufzeiten vermeiden
- wenn extra QA Abteilung/MA, dann co-working Dev<->QA