Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Daten-Synchronisation für Apps – offline und oh...

Daten-Synchronisation für Apps – offline und ohne Cloud

Ihre App kann noch so schön und bunt sein, aber ohne Daten ist sie nutzlos. Ihre Daten sind der eigentliche Kraftstoff ihrer Business-App. Heutzutage greifen wir allerdings nicht mehr ausschließlich an einem festen Platz über ein Gerät auf Unternehmensdaten zu. Auto, Zug, Hotel – überall kann heutzutage ein Arbeitsplatz sein. Wir haben längst nicht mehr nur einen Arbeitslaptop, sondern zudem noch ein Smartphone und ein Tablet in der Tasche stecken. Ihre Daten sind Ihr Kapital. Und nicht nur aus diesem Grund, sondern auch aus datenschutzrechtlichen Aspekten, sind diese schützenswert. Eine Datenhaltung in der Public Cloud kommt oft nicht in Frage, so cool und praktisch dies auch sein mag. Wie Sie eine Offline-Datenhaltung mit Synchronisierung zu lokal gespeicherten Unternehmensdaten mithilfe von PouchDB und RelayServer implementieren und wie Sie all das nicht nur auf einer Plattform, sondern auf allen relevanten Mobilplattformen gleichzeitig bewerkstelligen, das zeigen Ihnen Christian Liebel und Marco Frodl von Thinktecture.

Christian Liebel

June 20, 2016
Tweet

More Decks by Christian Liebel

Other Decks in Programming

Transcript

  1. Daten-Synchronisation für Apps: Offline und ohne Cloud Developer Week 2016

    – Nürnberg, 20. Juni 2016 Christian Liebel, Marco Frodl Thinktecture AG
  2. Hallo! Wir sind… Christian Liebel • Developer bei Thinktecture •

    [email protected] • @chris_liebel Marco Frodl • Consultant/Director New Business bei Thinktecture • [email protected] • @marcofrodl Thinktecture AG 2
  3. Der Schreibtisch von heute … Thinktecture AG 7 • 2

    Desktops • 9 Laptops • 15 Mobiles 8% 34% 58% Desktop Laptop Mobiles
  4. Die neue Realität ... Thinktecture AG 9 Hardware Offenes Netzwerk

    Software aus App Stores Geschlossenes Netzwerk
  5. Herausforderungenfür Business-Software Thinktecture AG 10 Ausführbarkeit auf allen Geräten Sicherer

    Zugriff auf Unternehmensdaten • Cross-Plattform-Applikationen • Verfügbarkeit der Daten (Offline) • Firewall, VPN, Cloud …
  6. Sicherer Zugriff auf Unternehmensdaten Thinktecture AG 11 Firewall öffnen VPN

    Cloud • Statische IP • Firewall-Administration • Zertifikatsverwaltung • Statische IP • Hardware • Komplexes Setup • Risiko „verbundene Netze“ • Vertrauen • Verschlüsselung • Sichtbarkeit • Speicherort • Regulatorik & Compliance • Geschäftsmodell
  7. Alternativer Lösungsweg? Thinktecture AG 12 On-Premises A On-Premises B •

    Keine offene Firewall • Kein VPN • Keine statische IP • Kein Zertifikatsärger • Kein neues Geschäftsmodell
  8. RelayServer Features • Bidirektionale, sichere Kommunikation mit On-Premises-Applikationen • auf

    eigenem Server installierbar • Firewall, NAT & Proxy-friendly (Port 443 ausgehend) • Datenverkehr TLS/SSL gesichert • Mandantenfähig (Provisioning) • zentrale Kontrolle und Auditierung der zulässigen Teilnehmer • vollständige Datenhoheit • schnell implementierbar • keine Client-Library erforderlich • Open-Source Thinktecture AG 14
  9. RelayServer Idee Thinktecture AG 15 On-Premises A On-Premises Connector RelayServer

    /api1/getCustomer /api2/putSale (http://service.intern) relay.ihrName.de Client-Request: https://relay.ihrName.de/clientA/api1/getCustomer/143 Rendezvous-Punkt Mandant API API-Endpunkt API-Parameter
  10. RelayServer Requirements • RelayServer – RabbitMQ – Microsoft SQL Server

    (Express) – Microsoft Windows • OnPremises Connector – .NET-Runtime (.NET Framework, Mono) – Microsoft Windows, macOS, Linux • Ihre Anwendung – HTTP(S)-Schnittstelle Thinktecture AG 17
  11. RelayServer installieren • CL • 1. ZIP-Download • 2. Entpacken

    • 3. Config anpassen • 4. Starten (Initial-Setup) • -> Einstieg in echten Relay Thinktecture AG 22
  12. Was ist Cross-Plattform? Thinktecture AG 27 iOS Android Windows 10

    Mobile Microsoft Windows macOS Linux Mozilla Firefox Google Chrome Microsoft Edge The web as a platform Kühlschrank Nintendo DS Irgendwas, das HTML anzeigen kann
  13. Web App oder App App? • Browser + alle Platformen

    • Write once, run anywhere • HTML5 als Basis für das echte Cross-Platform Thinktecture AG 28
  14. Web App oder App App? • HTML5/JavaScript als Basis für

    das echte Cross-Platform • Write once, run anywhere • App App – Nativer Rahmen (Cordova) – iOS, Android, Windows Phone – Windows 10, macOS, Linux • Web App – Ausführung im Browser – Chrome, Firefox, Safari, Edge, ... App App + Web App = maximale Reichweite Thinktecture AG 29
  15. Offline-Paradigmen • Ein bisschen Internet ist schlimmer als gar keins.

    • Offline-First – späterer Einbau ist je nach Architektur mit massivem Aufwand verbunden – bedeutet User-First Thinktecture AG 30
  16. Offlineunterstützung Thinktecture AG 32 • JavaScript-Implementierung von CouchDB • Cross-Plattform

    • Offline-Unterstützung • Schwach typisierte JSON-Dokumente • Replikation • REST-Schnittstelle • Not-only SQL • objektorientierte API • oftmals quelloffen
  17. Demo-Details Thinktecture AG 33 • Cross-Plattform-App • Angular 2 •

    Web App/App App • Offline-fähig • Lokale Datenhaltung • Synchronisation • Mandantenauswahl • Kein IdMgmt. Client App RelayServer • Root-Server in DE • Windows Server 2012 • 4 Kerne / 8 GB • https On-Premises-Sites • Mehrere Mandanten • 2x Raspberry Pi • 1x Cloud • Geschlossene Firewall • On-Premises- Connector • API + Datenbank OPC relay.thinktecture-cloud.de
  18. Szenario App „RelayServer Fans“ • Basiert auf Angular 2 •

    Datenbank: PouchDB • Datenspeicherung bleibt in Ihren Händen • Auswahl des Datenspeichers möglich • Synchronisation möglich • Offlinefähig • Cross-Plattform Thinktecture AG 34
  19. Demo 1. Mandanten anlegen mit Namen der Person => SSH

    Setup auf Raspis 2. Pingen über Management Web 3. PouchDB Server starten/Connector starten [PouchDB ist API!] 4. => “RelayServer-Fans” als Titel 5. => Fallback-Setup 6. => “Neuer Eintrag”-Seite mit E-Mail, Einwilligung 7. => Vorschaltseite mit konfigurierbaren Namen 8. => Gewinner ziehen 9. Offline/Technologie 10.Eintragen 11. Synchronisieren 12. Offline zeigen Thinktecture AG 36
  20. Zusammenfassung • RelayServer – ermöglicht Zugriff auf lokale Daten –

    einfach, schnell und schmerzfrei einsetzbar – Open-Source • Demo-App – Cross-Plattform – Offlinefähig – Datensynchronisation mit verschiedenen Mandanten • Apps und lokale Daten passen gut zusammen • Es muss nicht immer Cloud sein … Thinktecture AG 37