Vaadin unter Last – Teil 3: Ergebnisse der Lasttests (Speicherverhalten)

Wir hatten im ersten Teil einen Lasttest für eine Vaadin-Anwendung aufgebaut. Im zweiten Teil hatten wir das Verhalten dieser Anwendung in Bezug auf Antwortzeit analysiert. In diesem dritten Teil analysieren wir nun Nutzung und Auslastung des Arbeitsspeichers. Auch hier werden wir die Anteile der verschiedenen Komponenten der Anwendung und die Rolle von Vaadin diskutieren.

Weiterlesen

Vaadin unter Last – Teil 2: Ergebnisse der Lasttests (Antwortzeit)

Wir haben im ersten Teil gezeigt, wie ein Lasttest für eine Vaadin-Anwendung mit dem OpenSource-Programm JMeter aufgebaut werden kann. Als Beispiel diente der Officewerker, eine Anwendung zum Office-Management in kleinen Unternehmen oder Teams. Dieser Artikel – wieder auf Basis des Officewerkers – beleuchtet nun eine konkrete Testreihe auf der Cloud-Plattform EC² (Elastic Computing Cloud) von Amazon. Der Fokus liegt dabei auf dem Antwortzeitverhalten bei immer mehr Anfragen – und den entstehenden Bottlenecks. Dabei beleuchten wir vor allem die Rolle von Vaadin.

Weiterlesen

Wartbare Rich Web Applications mit AngularJS – Teil 2

Im letzten Artikel haben wir anhand einer Demo-Anwendung veranschaulicht, wie sich mit AngularJS auf einfache Weise gut wartbare Rich Web Applications erstellen lassen. Die wichtigsten Konzepte von AngularJS wurden vorgestellt: Die Umsetzung des Model-View-Controller-Patterns, die Erweiterung von HTML durch Directives und das Routing zur Navigation innerhalb der Anwendung.

Dieser Artikel erläutert die Einbindung von AngularJS in einen Maven-basierten Build-Prozess und stellt vor, wie sich automatisierte Unit-Tests und Ende-zu-Ende-Tests für AngularJS-Anwendungen erstellen lassen.

Weiterlesen

Wartbare Rich Web Applications mit AngularJS – Teil 1

Rich Web Applications unterscheiden sich gegenüber Thin Web Applications im höheren Grad der Funktionalität und Komplexität, die klientenseitig statt serverseitig implementiert werden. Während bei typischen Thin-Client-Architekturen das User Interface pro Seite serverseitig generiert wird, sind Rich Clients eigenständige Anwendungen, die im Browser ausgeführt werden. Damit sind benutzerfreundlichere, performantere und offlinefähige Oberflächen möglich, die im Funktionsumfang mit Desktop-Anwendungen vergleichbar sind. Diese Eigenschaften, insbesondere Offlinefähigkeit, sind speziell auch für mobil nutzbare Anwendungen bedeutend.

HTML5 hat sich hierfür mittlerweile als Alternative zu Lösungen wie Flash, Java Applets und Silverlight etabliert und bietet gegenüber proprietären Produkten einen offenen plattformunabhängigen Technologiestandard. HTML und CSS beschreiben hierbei die statische Struktur und das Design der Oberfläche, während die klientenseitige Dynamik mittels neuer HTML5-APIs und JavaScript implementiert wird.

Die Entwicklung von Rich Web Clients mittels HTML und JavaScript wird jedoch durch Wartbarkeitsprobleme erschwert, insbesondere deshalb, weil die Kombination HTML und JavaScript keine Möglichkeit vorsieht, den Client sauber zu modularisieren und zu testen. AngularJS versteht sich als HTML-Erweiterung, die sich dieser Problematik annimmt und verspricht, die Entwicklung wartbarer JavaScript-/HTML-basierter Rich Web Applications zu ermöglichen.

In dieser Artikelserie stellen wir das JavaScript-Framework AngularJS vor. Dieser erster Artikel erläutert die grundlegenden Konzepte wie die Umsetzung des Model-View-Controller-Patterns, die Erweiterung von HTML durch sogenannte Directives und das Routing. Im zweiten Artikel wird die Integration von Unit- und Ende-zu-Ende-Tests sowie die Einbindung dieser in einen Maven-Build-Prozess gezeigt.
Weiterlesen