JBoss One Day Talk Vortrag
Kennen Sie das? Sie sind gerade dabei, die Projektkonfiguration für Ihre gefühlt tausendste Java-Web-Anwendung zu erstellen.
Sie nehmen sich Ihr letztes erfolgreiches Projekt-Setup als Vorlage. Und dann versuchen Sie durch beherztes Copy
und Paste das neue Projekt zu erstellen? Wenn Sie sich damit auch nicht abfinden wollen sind Sie in diesem Vortrag genau richtig.
Wir werfen einen Blick auf das noch sehr junge RAD-Tool JBoss-Forge und sehen, wie uns JBoss Forge den Entwickler Tag
bereichern kann.
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
Für die Entwicklung neuer Software gilt es bei der Wahl der Benutzeroberfläche (engl. GUI) einiges zu bedenken: Benutzerfreundlichkeit, technische Zuverlässigkeit, Geschwindigkeit, Verteilbarkeit und nicht zuletzt Wirtschaftlichkeit. Zusätzlich kommen immer komplexere, Desktop-ähnliche Anforderungen auf die GUI-Architektur und -Entwicklung zu.
Herr Weil diskutiert in diesem Treffpunkt die folgenden Fragestellungen und gibt Hilfestellungen für die Wahl der geeigneten Vorgehensweise:
Welche Architekturanteile werden in Java-Anwendungen genutzt?
Webanwendung oder Rich Client?
Wie hält man Rich Clients aktuell?
Welche Web-Techniken wie z.B. AJAX und GWT können sinnvoll eingesetzt werden?
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
Auch mit JSF 2 und CDI lassen sich in kürzester Zeit komplexe Anwendungen realisieren, wenn man weiß, wie. Anhand des Technologie-Stacks JSF 2, CDI, Lombok, HTML5, jQuery und JPA wird eine leichtgewichtige Architektur anhand einer Livedemo vorgestellt, die den Anforderungen des Rapid Application Development gerecht wird und in der Cloud betrieben werden kann.
JBoss One Day Talk Vortrag
Kennen Sie das? Sie sind gerade dabei, die Projektkonfiguration für Ihre gefühlt tausendste Java-Web-Anwendung zu erstellen.
Sie nehmen sich Ihr letztes erfolgreiches Projekt-Setup als Vorlage. Und dann versuchen Sie durch beherztes Copy
und Paste das neue Projekt zu erstellen? Wenn Sie sich damit auch nicht abfinden wollen sind Sie in diesem Vortrag genau richtig.
Wir werfen einen Blick auf das noch sehr junge RAD-Tool JBoss-Forge und sehen, wie uns JBoss Forge den Entwickler Tag
bereichern kann.
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
Für die Entwicklung neuer Software gilt es bei der Wahl der Benutzeroberfläche (engl. GUI) einiges zu bedenken: Benutzerfreundlichkeit, technische Zuverlässigkeit, Geschwindigkeit, Verteilbarkeit und nicht zuletzt Wirtschaftlichkeit. Zusätzlich kommen immer komplexere, Desktop-ähnliche Anforderungen auf die GUI-Architektur und -Entwicklung zu.
Herr Weil diskutiert in diesem Treffpunkt die folgenden Fragestellungen und gibt Hilfestellungen für die Wahl der geeigneten Vorgehensweise:
Welche Architekturanteile werden in Java-Anwendungen genutzt?
Webanwendung oder Rich Client?
Wie hält man Rich Clients aktuell?
Welche Web-Techniken wie z.B. AJAX und GWT können sinnvoll eingesetzt werden?
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
Auch mit JSF 2 und CDI lassen sich in kürzester Zeit komplexe Anwendungen realisieren, wenn man weiß, wie. Anhand des Technologie-Stacks JSF 2, CDI, Lombok, HTML5, jQuery und JPA wird eine leichtgewichtige Architektur anhand einer Livedemo vorgestellt, die den Anforderungen des Rapid Application Development gerecht wird und in der Cloud betrieben werden kann.
Das Interesse an Microservice Architekturen scheint ungebrochen. Eine Sonderform sind die sogenannten Self Contained Systems (SCS), als vollumfängliche Microservice Variante (Microservice mit UI).
Im Zuge eines Kundenprojektes hatten wir die Chance eine Portallösung zu entwickeln mit deren Hilfe Self Contained Systems auf einfache Art und Weise integriert werden sollen.
Spannende Aspekte waren dabei der MEAN Stack (MongoDB, Express, Angular, NodeJS) und Microsoft Azure als Cloudplattform.
Dieser Talk zeigt, wie sich diese Aspekte zu einem großen Ganzen zusammengefügt haben und welche Erfahrungen wir auf dem Weg dorthin machen durften.
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)Christian Janz
Vaadin erfreut sich immer größerer Beliebtheit. Ist es nur ein weiteres neues Java Web Framework oder was steckt dahinter?
Diese Session gibt eine Übersicht über Vaadin und vergleicht es mit anderen Frameworks. Außerdem werden einzelne Aspekte wie Databinding in Live Demos genauer betrachtet. Abrundend gibt der Vortrag einen Überblick über die Vor- und Nachteile und stellt typische Einsatzszenarien vor.
Vor- und Nachteile von Web Components mit Polymer gegenüber AngularJS ohne P...Oliver Hader
Bei der Entwicklung von Web Applikationen führt die zunehmende Verlagerung von ursprünglich serverseitiger Logik in den Web-Browser zu neuen Herausforderungen und neuen Lösungsansätzen. Dieser Beitrag vergleicht das JavaScript Framework AngularJS mit dem noch relativ neuen Web Components Standard unter Einbeziehung des Polymer Frameworks. Zur Bewertung werden alltägliche und durchschnittliche Aufgaben aus der Web- Entwicklung betrachtet und für die beiden zu untersuchenden Projekte bewertet. Der Fokus liegt dabei auch auf Individualisierbarkeit, Verlässlichkeit und Alltagstauglichkeit für Web-Entwickler.
Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)
Kurzer Überblick und Einführung in das Thema HTML5 Web Components im Rahmen eines Vortrags am Institut für Informationssysteme der Hochschule Hof - iisys in Kooperation mit der Open Web User Group Oberfranken und dem IT-Cluster Oberfranken. Vortrag vom 30.06.2015
http://www.opitz-consulting.com/go/3-6-11
In diesem Vortrag stellte unser Datenbank-Spezialist Borys Neselovskyi ein Kundenprojekt vor, in dem der WebLogic Server auf einer Oracle Database Appliance installiert wurde. Diese Umgebung setzt der Kunde heute produktiv ein.
Der Referent stellte seine Erfahrungen aus dem Projekt anhand der folgenden Aspekte vor:
• Architektur von WebLogic auf ODA
• Erfahrungen mit der Virtualisierung von ODA
• Was muss man bei der Installation von WebLogic Cluster auf ODA besonders beachten?
• Was ist OTD (Oracle Traffic Director), und wie funktioniert OTD mit dem WebLogic Server auf einer ODA?
• Bugs, Probleme, Lösungen und Workarounds
• Tipps und Tricks
• Das Testen der Hochverfügbarkeit
• Performancetests
• Ausblick in die Zukunft: WebLogic Domain auf zwei physikalischen ODA, ist das möglich?
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Speaker: Sven Kölpin
Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen.
Der Vortrag zeigt wie man für eine JSF-Anwendung dynamische und wiederverwendbare Bausteine für die eigene Anwendung realisieren kann.
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Stefan Ehrlich
Kern einer vernetzten und integrierten Fertigung ist die passende Software. I.d.R. kommen Integrationsserver oder Enterprise Service Busse zum Einsatz. Auf der Industriemesse inTEC 2017 haben wir live gezeigt, was mit TransConnect® in kurzer Zeit alles Möglich und warum die Wahl der richtigen Lösung für den Gesamterfolg wichtig ist.
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud Stefan Ehrlich
Hybrid Cloud Integration ist das Schlagwort. Dahinter verstecken sich viel Szenarien wie OnSite-Systeme mit Cloud-Anwendungen verknüpft werden können. Cloud Security spielt dabei eine wichtige Rolle. Wir zeigen, verschiedene Integrationsszenarien und wie auch kritische Daten verarbeitet werden können.
RISIKEN MINIMIEREN, CHANCEN MAXIMIEREN
Für mehr als ein Viertel aller Unternehmen wird das Thema Cloud künftig an Bedeutung gewinnen. Standard-Dienste und die Wertschöpfung unterstützende Anwendungen wie SalesForce CRM werden zunehmend zu Cloud-Anbietern verlagert. Andere Anwendungen laufen je nach Individualisierungsgrad in PaaS-Umgebungen oder IaaS-Umgebungen. Keine Frage: Cloud Computing bringt eine ganze Reihe von Vorteilen mit sich. Aber auch neue Herausforderungen. So gestaltet sich beispielsweise die Integration von Prozessen deutlich komplexer als bisher.
Daraus leiten wir von der SQL Projekt AG einen klaren Anspruch ab: Wenn Integrationsvorhaben komplexer werden, müssen die Integrationswerkzeuge einfacher werden. TRANSCONNECT® cloud ermöglicht eine ganze Reihe praxisbewährter Integrationsszenarien.
Das Interesse an Microservice Architekturen scheint ungebrochen. Eine Sonderform sind die sogenannten Self Contained Systems (SCS), als vollumfängliche Microservice Variante (Microservice mit UI).
Im Zuge eines Kundenprojektes hatten wir die Chance eine Portallösung zu entwickeln mit deren Hilfe Self Contained Systems auf einfache Art und Weise integriert werden sollen.
Spannende Aspekte waren dabei der MEAN Stack (MongoDB, Express, Angular, NodeJS) und Microsoft Azure als Cloudplattform.
Dieser Talk zeigt, wie sich diese Aspekte zu einem großen Ganzen zusammengefügt haben und welche Erfahrungen wir auf dem Weg dorthin machen durften.
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)Christian Janz
Vaadin erfreut sich immer größerer Beliebtheit. Ist es nur ein weiteres neues Java Web Framework oder was steckt dahinter?
Diese Session gibt eine Übersicht über Vaadin und vergleicht es mit anderen Frameworks. Außerdem werden einzelne Aspekte wie Databinding in Live Demos genauer betrachtet. Abrundend gibt der Vortrag einen Überblick über die Vor- und Nachteile und stellt typische Einsatzszenarien vor.
Vor- und Nachteile von Web Components mit Polymer gegenüber AngularJS ohne P...Oliver Hader
Bei der Entwicklung von Web Applikationen führt die zunehmende Verlagerung von ursprünglich serverseitiger Logik in den Web-Browser zu neuen Herausforderungen und neuen Lösungsansätzen. Dieser Beitrag vergleicht das JavaScript Framework AngularJS mit dem noch relativ neuen Web Components Standard unter Einbeziehung des Polymer Frameworks. Zur Bewertung werden alltägliche und durchschnittliche Aufgaben aus der Web- Entwicklung betrachtet und für die beiden zu untersuchenden Projekte bewertet. Der Fokus liegt dabei auch auf Individualisierbarkeit, Verlässlichkeit und Alltagstauglichkeit für Web-Entwickler.
Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)
Kurzer Überblick und Einführung in das Thema HTML5 Web Components im Rahmen eines Vortrags am Institut für Informationssysteme der Hochschule Hof - iisys in Kooperation mit der Open Web User Group Oberfranken und dem IT-Cluster Oberfranken. Vortrag vom 30.06.2015
http://www.opitz-consulting.com/go/3-6-11
In diesem Vortrag stellte unser Datenbank-Spezialist Borys Neselovskyi ein Kundenprojekt vor, in dem der WebLogic Server auf einer Oracle Database Appliance installiert wurde. Diese Umgebung setzt der Kunde heute produktiv ein.
Der Referent stellte seine Erfahrungen aus dem Projekt anhand der folgenden Aspekte vor:
• Architektur von WebLogic auf ODA
• Erfahrungen mit der Virtualisierung von ODA
• Was muss man bei der Installation von WebLogic Cluster auf ODA besonders beachten?
• Was ist OTD (Oracle Traffic Director), und wie funktioniert OTD mit dem WebLogic Server auf einer ODA?
• Bugs, Probleme, Lösungen und Workarounds
• Tipps und Tricks
• Das Testen der Hochverfügbarkeit
• Performancetests
• Ausblick in die Zukunft: WebLogic Domain auf zwei physikalischen ODA, ist das möglich?
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Speaker: Sven Kölpin
Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen.
Der Vortrag zeigt wie man für eine JSF-Anwendung dynamische und wiederverwendbare Bausteine für die eigene Anwendung realisieren kann.
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Stefan Ehrlich
Kern einer vernetzten und integrierten Fertigung ist die passende Software. I.d.R. kommen Integrationsserver oder Enterprise Service Busse zum Einsatz. Auf der Industriemesse inTEC 2017 haben wir live gezeigt, was mit TransConnect® in kurzer Zeit alles Möglich und warum die Wahl der richtigen Lösung für den Gesamterfolg wichtig ist.
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud Stefan Ehrlich
Hybrid Cloud Integration ist das Schlagwort. Dahinter verstecken sich viel Szenarien wie OnSite-Systeme mit Cloud-Anwendungen verknüpft werden können. Cloud Security spielt dabei eine wichtige Rolle. Wir zeigen, verschiedene Integrationsszenarien und wie auch kritische Daten verarbeitet werden können.
RISIKEN MINIMIEREN, CHANCEN MAXIMIEREN
Für mehr als ein Viertel aller Unternehmen wird das Thema Cloud künftig an Bedeutung gewinnen. Standard-Dienste und die Wertschöpfung unterstützende Anwendungen wie SalesForce CRM werden zunehmend zu Cloud-Anbietern verlagert. Andere Anwendungen laufen je nach Individualisierungsgrad in PaaS-Umgebungen oder IaaS-Umgebungen. Keine Frage: Cloud Computing bringt eine ganze Reihe von Vorteilen mit sich. Aber auch neue Herausforderungen. So gestaltet sich beispielsweise die Integration von Prozessen deutlich komplexer als bisher.
Daraus leiten wir von der SQL Projekt AG einen klaren Anspruch ab: Wenn Integrationsvorhaben komplexer werden, müssen die Integrationswerkzeuge einfacher werden. TRANSCONNECT® cloud ermöglicht eine ganze Reihe praxisbewährter Integrationsszenarien.
www.opitz-consulting.com
Wie plane ich meine SOA Suite 12c? Ist es sinnvoll einige Komponenten (zum Beispiel: SOA und BAM) getrennt zu betrachten? Wie kann ich die beste Verfügbarkeit meiner Umgebung erzielen? Der Vortrag gibt einen Überblick über die SOA Suite 12c aus der Infrastruktur-Sicht. Die aus der Praxis entstandenen Tipps und Tricks bei der Konfiguration und Administration runden die Präsentation.
Diesen Vortrag präsentierte unser Experte Borys Neselovskyi auf der DOAG Konferenz 2017.
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
„Cloud is the new Normal”, so Andrew R. Jassy (CIO AWS). Was also liegt näher, als genau jetzt den Schritt in die Cloud zu wagen? Denn schließlich wollen wir ja alle irgendwie ein klein wenig „normal“ sein. Aber ist dieser Schritt wirklich so einfach, wie uns die verschiedenen Cloudanbieter glauben machen? Lässt sich eine klassische Enterprise-Architektur einfach so in die Cloud überführen oder bedarf es neuer cloud-spezifischer Architekturmuster? Und was steckt eigentlich hinter Akronymen wie IaaS, PaaS, BaaS, SaaS und FaaS?
Im Rahmen der Session werden ich Schritt für Schritt eine bestehende Enterprise-Anwendung in die Cloud migrieren. Angefangen bei der Nutzung von Cloudinfrastruktur (IaaS) über die Anbindung von Cloudplattformkomponenten (PaaS) und Backend-Services (BaaS) bis hin zu Serverless Functions (FaaS) werden wir für die unterschiedlichen Anwendungsszenarien unserer Applikation passende Architekturansätze entwerfen und deren Vor- und Nachteile diskutieren. Natürlich sprechen wir dabei auch Themen wie Testing, Monitoring und automatisiertes Deployment an.
Es gibt heute schon Möglichkeiten, eine langfristig sinnvolle Cloud-Strategie mit hohem Sicherheitsniveau und ohne Kontrollverlust umzusetzen. Dazu sind hybride Modelle zwischen SaaS- und Private-Cloud wie Virtual Private Clouds mit orchestrierten, vollautomatisierten Plattformen (Exchange online, Office 365) geeignet.
Michael Schürmann präsentierte in seinem Referat an der SharePoint & Office 365 Community vom 25.11.2015 die Neuheiten von SharePoint 2016. Er stellte die neuen SharePoint Rollen vor und erläuterte die Anpassungen „unter der Haube". Weiter zeigte er anhand einer Live Demo ein Hybridszenario mit Delve sowie die Hybridsearch.
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
Lernen Sie warum man für legacy Anwendungen basierend auf Oracle Forms oder MS Access überlegen sollte, warum eine Migration auf eine neue Technologie sinnvoll ist.
Multichannel Application Development Best PracticesAndreas Koop
Der Multi-Channel Entwicklungsansatz mit Oracle ADF ermöglicht es die Nutzererwartungen für alle marktüblichen Geräteklassen und Betriebssysteme zu erfüllen und gleichzeitig eine möglichst homogene Enterprise-Architektur zu bewahren. Mit einem einzigen Werkzeug - JDeveloper - lässt sich derselbe Anwendungsfall auf ähnliche Art und Weise sowohl für Desktop (Web-Client) als auch Tablet/Smartphone (Hybrid-App) entwickeln. Die Herausforderung liegt in der Architektur des Gesamtsystems bzgl. SOA und Security mit maximaler Wiederverwendung.
Im Vortrag werden Best Practices für den genannten Multi-Channel Ansatz aufgezeigt und mit Beispielen aus der Praxis untermauert.
Slides from my talk at BASTA! Spring 2019 about soft migration into the (Azure) cloud - step-by-step, service-by-service - With Azure Hybrid Connections. Let your cloud-services access your protected (on-prem) resources in just a few steps.
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Nikolaos Kaintantzis
Immer mehr Anwendungen werden heute als Rich Internet Application (RIA) entwickelt. RIAs bieten eine bessere Usability und viele technologische Vorteile - dies wird jedenfalls den Nutzern vermittelt. Doch was sind Rich Internet Applications eigentlich und wie bewährt sich ihre "Richness" im täglichen Einsatz? Dieser Vortrag vergleicht die Begriffe RIA, Rich Clients und Thin Clients und zeigt sowohl deren Vorzüge als auch technologischen Grenzen. Der Referent veranschaulicht die Technologien anhand von Anwendungsszenarien und Projektrahmenbedingungen. Am Ende dieses Vortrags können Sie mit der präsentierten Entscheidungshilfe konkret für Ihre Projekte die passende Client-Technologie bestimmen.
2. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Die Probleme von herkömmlichen
Thin-Client-Architekturen
2
3. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Daten und Repräsentation
sind vermischt
Browser Server
Name Foo
Nachname Bar
Str Laufer-Str 99
➡Datenstrukturen?
➡Datentypen?
<html>
<body>
<span>Name: Foo</
span>
➡Daten und
Repäsentation
gemischt
➡Präsentationsflow und
Datenaustausch gemischt
3
4. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Resourcen am Client werden nicht genutzt
Rich-Server
berechnet das
GUI
für jeden
Client
Client
Client
Client
4
5. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Usability erfordert eine flüssige Bedienung.
Hohe Latenz
Seite 1 Seite 2 Seite 3 Seite 4
Browser
GET POST POST POST
➡Herkömmliche Webapps reagieren zu langsam auf
Benutzer-Interaktionen.
5
6. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Komplexität
Präsentationslogik ist am Client und
Server
Webframework ein Codegenerator
für HTML & JS(denken in 2
Dimensionen - sehr umständlich)
HTML muss erst in Server Templates
verpackt werden
Debugging in zwei
Laufzeitumgebungen (Client/
Server)
Der meiste Code dreht sich um das
Event/Request Handling
(Serialisierung, Protokoll quirx)
Korrektes State Handling unmöglich
Client Code
(HTML, JS, CSS)
Webframework
Generate
GUIEvents
State
6
State
7. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
UI-State am Server
Problem: Statemanagement
State am Client muss nicht zum Server State passen.
Fehlerbehandlung hierfür ist komplex.
Client muss immer auf den richtigen Server geroutet werden
Skalierung und Failover ein echtes Problem (und sehr teuer)
Speicherverbrauch am Server (Beispiel JSF Component Tree)
Server behelfen sich mit Sessiontimeouts (Session bleibt meist noch 30 Minuten
wenn der User bereits weg ist)
7
9. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Fehlende Interoperabilität
HTML Markup ist keine Schnittstelle
Echte Services sind häufig nicht von „außen“ zugreifbar (z.B. Spring Services)
• ... nein, man kann Sie nicht einfach zum Webservice machen!
◦ es ist ein fundamentaler Unterschied ob ein Service als WebService oder lokaler Service
konzeptioniert wurde (Fehlerbehandlung, Call by Value, Granularität)
• Ergo: Webservice Projekte müssen von 0 starten
◦ Risiko das Rad neu zu erfinden
Fehlender Fokus auf qualitative Schnittstellen („die sind ja nicht von außen
erreichbar“)
Präsentation und Geschäftslogik in einem Tier fördert das vermischen zu
einem „Brei“
9
10. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Symptome linderbar, aber nicht fixbar!
Zustand -> HTTPSession/Conversations
AJAX Feeling -> Partitial Page Rendering
Multi Windows -> Conversations
Browserhistory -> Post/Redirect/Get (PRG)
Browsernavigation -> bsw. durch JSF-State-Saving und Memory limitiert
Failover -> Session Replication ist nicht praktikabel! (Speicher, Kosten, Network
Traffic..)
Verhindert echtes Webscale!
10
12. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
3 Tier - so wie es sein soll
Business Logic
HTML Renderer
Controller View
Model
Server
Client
Präsentation
Controller View
Model API
Business Logic
Server
Client
12
13. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
DOM
und so in JavaScript:
Event Listener Function
1. addEventListener
2. getElementById
/backend
3. jQuery.ajax
13
14. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Zur Erinnerung: Der JSF Lifecycle
14
15. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Die Möglichkeiten des Browsers den Zustand zu speichern...
Stateless Server aber wohin mit dem State?
JS var
Cookie
local/session Storage
BrowserDB
HTML5 History API
URL Hash (#)
15
16. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Semantic HTML 5
Don’t hide the Web
HTML als Inhalts-Beschreibungssprache
CSS für das Layout
CSS/ Javascript Features variieren zwischen den Browsertypen
Aber: Oberfläche sollte in den immer funktional bedienbar sein
“Progressive-Enhancement” für “Aufhübschung” von Oberflächen ohne
funktionalen Einfluss
Gutes HTML hat einen hohen Wert!
• Responsive Webdesign
• Suchmaschienen
• Geringer Datentransfer
• Leichte Anpassbarkeit des Layouts
Eine gute HTML Struktur ist vergleichbar mit OOD und erfordert Erfahrung
• Floting boxes, CSS Classes/ID, DIV, Browserkompatibilität etc
Mit HTML Frameworks wie Bootstrap kann man die gröbsten Fehler vermeiden
16
17. 05/16/12
HTML(5) hat alles was man braucht
JavaScript für die Oberfächensteuerung
DOM Selector API um die View zu manipulieren
AJAX für den Zugriff auf Geschäftslogik
20. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Auch einfache Anwendungen erfordern eine
Architektur
20
21. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
für einfache Anwendungen
Rich Internet Application (RIA) Architecture
View (HTML)
Controller (JS)
Service / Resource
Network
‣ Ein großes Javascript...
‣ Eine HTML-Seite bestehend aus “Unter-Seiten”
‣Nicht geeignet für komplexe Anwendungen
21
22. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
erfordern Komponentisierung
RIA’s
22
23. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Model View Presenter (MVP) vs. MVC Pattern
View
Presenter
Model
ModelView
Controller
23
prostuliert durch Google
First Class Pattern in GWT
Vorteil: Bessere Trennung von UI und Controller-Logik
• Dadurch:
• Bessere Austauschbarkeit von Model,View und Controller
• Bessere Testbarkeit
24. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
erfordert ein Bus System
Kommunikation in Rich Internet Applications
24
25. Network
05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Mail ChatMenü
Lose Kopplung von UI-Komponenten
durch Pub/Sub
View
Presenter
Event Bus
View
Presenter
View
Presenter
Application
Controller
Service
25
26. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
hierdurch ist Wiederverwendung von Fachlichen UI-Komponenten möglich
Komponentisierte Frontend-Architektur
26
KomponenteKomponente
Widget
Application Controller
Dialog
Event Bus
Sitzung
Öffentlicher Service
Dialog
View
Event
(sende Richtung)
Dependency
(Abhängkeit zu)
Legende
Dialog
Komponenten Controller
Öffentlicher Service
Optionaler
Baustein
Dialog
Presenter
View
28. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
und JSON auf dem Vormarsch
RESTful HTTP ist führend
28
29. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
REST Principals
Give every “thing” an ID
Link things together
Use standard methods
Resources with multiple representations
Communicate statelessly
29
31. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
für lose Kopplung von Severices
Hypermedia
Inspiriert von Hypertext. Paradigma: folge den Links
Schlagwort: HATEOAS (Hypertext As The Enging Of Application State)
• Resourcen sind selbst beschreibend
• Gibt Auskunft über State und Verhalten
Ziel: Applikationen sollten kein Wissen über die semantic von URLs haben
(starke Kopplung)
31
32. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Beispiel einer Hypermedia HTTP Response
32
<articles total="1921" xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="self" href="http://www.example.org/articles?contains=cycling&start=10"/>
<atom:link rel="prev" href="http://www.example.org/books?contains=cycling"/>
<atom:link rel="next" href="http://www.example.org/books?contains=cycling&start=20"/>
<article>
<atom:link rel="self" href="http://www.nytimes.com/2009/07/15/sports/cycling/15tour.html"/>
<title>For Italian, Yellow Jersey Is Fun While It Lasts</title>
<body>...</body>
</article>
<article>
<atom:link rel="alternate" href="http://www.nytimes.com/2009/07/27/sports/cycling/27tour.html"/>
<title>Contador Wins, but Armstrong Has Other Victory</title>
<body>...</body>
</article>
</articles>
33. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
GUI Rendering am Client
Konzept: Stateless Backend
• REST
• Caching (Client/Server)
• einfache und „billige“ Skalierung
• durch zusätzliche Hardware
• keine (sticky) Sessions
◦ transparent Failover
Scaling RESTful Architectures
Server Server
Client Client
33
34. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Authentication in RESTful Apps
Gängige Authentisierung in Severside-Webapps basiert auf HttpSession Auth
• Aber: nicht Restful (HTTPSession)
Restful Authentisierung erfordert Zustandslosigkeit (Server seitig)
Restful Technologien:
• Simple per HTTP Basic/Digest Auth
• Client Cert Auth
• Security Tokens
◦ Eigene Protokolle
◦ OAuth
◦ OpenID
34
35. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
RESTful Authentication mit OAuth
Service
Provider
Service
Client 4. erzeuge Access Token
2.AuthentisiererequestToken
Token
Server
(IdP)
1. erzeuge Request Token
5. API Call
3. redirect request Token
param
6.checkToken
35
36. 05/16/12 Cloud Centric Thin-Server-Architecture / Sandro Sonntag - adorsys GmbH & Co KG
Zusammenfassung
Der REST
Die klassischen Frameworks wie JSF/Stuts kommen aus einer Zeit (2000-2004) in
der AJAX und JavaScript noch keine grosse Rolle gespielt haben
Heutige Anforderungen an User Experience lassen sich mit klassischen
Technologien nur unter Schmerzen umsetzen
Server-Side-Frameworks können mit den Anforderungen umgehen, sind
jedoch keinenfalls dafür entwickelt worden
Die Komplexität von aufgerüsteten Server-Side-Anwendungen steigt eminent
durch den Mix von JavaScript und AJAX
Die Architektur des Webs (RESTful) wird bei vielen Server-Side-Anwendungen
gebrochen mit Auswirkungen auf Robustheit, Skallierung und User
Experience
36