Offline-First: Architektur-Patterns & Implementierung für APIs & Backends

"Keine Internetverbindung" – ein Satz, den wir alle aus vielen Apps kennen, sei es Desktopanwendung oder Smartphone App. Oftmals sind die Clients auf dem jeweiligen Zielgerät installiert, bedienen sich aber einer externen Datenquelle, bspw. in Form eines HTTP APIs. Wie man sein Backend um eine offline-fähige Architektur erweitert, um es bspw. von einer SPA/PWA nutzen zu können, zeigen Thomas Hilzendegen und Manuel Rauber von Thinktecture in diesem Workshop. Denn bei einer offline-fähigen Implementierung sind nicht nur Lese-, sondern vor allem auch Schreibzugriffe wichtig. Sprich, die Daten müssen in beide Richtungen synchronisiert werden können, sobald die Internetverbindung wiederhergestellt wurde. Allgemein werden Themen im API Design, u.a. Synchronisationsstrategien von Anwendungs- und großen Binärdaten, Konfliktmanagement oder Datenbankarchitektur – sowohl für neue als auch bestehende Anwendungen – diskutiert. Am Beispiel einer PWA mit einem Backend in Java als auch in .NET Core werden Client und Server zur Umsetzung der besprochenen Konzepte und Patterns gezeigt.

Related Articles

identityserver
How to correctly delete your SameSite Cookies in Chrome (80+)
In my last article I explained how the changes in Chrome 80 (February 2020) can break your existing web sites or web applications, because SameSite cookies will be treated differently. In that post I focused on how to correctly set your cookies and how to mitigate…
Sebastian Gingter
identityserver
How to prepare your IdentityServer for Chrome's SameSite cookie changes - and how to deal with Safari, nevertheless
First, the good news: In February 2020 Google is going to release Chrome 80. This release will include Google's implementation of 'Incrementally better Cookies', which will make the web a more secure place and helps to ensure better privacy for users. The bad news is that this…
Sebastian Gingter
entity framework
Entity Framework Core 3.0 - "Hidden" GROUP BY Capabilities (Part 2)
In the previous blog post we used a navigational property to work around the limitations of the extension method . The problem is, there is not always such a property we can use for grouping. Especially, when following domain driven design practices, a bidirectional navigation is…
Pawel Gerr
entity framework
Entity Framework Core 3.0 - "Hidden" GROUP BY Capabilities (Part 1)
With Entity Framework Core 3.0 (EF) the internal implementation of the LINQ query translation has been changed a lot. So, some queries that didn't work previously are working now and some that worked are not working anymore. :) The LINQ extension method is a special one…
Pawel Gerr