Offlinefunktion trotz Login/out in einer Business App

  • Antworten:14
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 09:12:54 via Website

Hallo Leute,

da ich eine absolute Anfängerin bin wollte ich mich an euch wenden.
meine Firma will eine hybrid app haben, die ausgewählte Daten aus vom Server laden soll
zudem soll die app eine sessionmanagement haben also Login und Logout.
Die frage ist, wie ist es möglich die App offline zu nutzen, also weil wenn auf logout gedrückt wird,
ist es überhaupt möglich sowohl oflline-funktion als auch ein logout zu implementieren
wenn ja was gibt es zu beachten.

mfg Nadia

— geändert am 02.01.2017, 10:34:20 durch Moderator

Antworten
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 09:14:56 via Website

also wenn auf logout gedrückt wird sin ja in der Regel alle sitzungsspezifischen Daten weg. Dh. wenn ich auserhalb der
Firma mich erneut anmelde wi funktioniert das dass ich die Daten erhalte

Antworten
Gelöschter Account
  • Forum-Beiträge: 21.034

02.01.2017, 09:19:25 via Website

Liest sich wie DS Cloud von Synology. Die App erfordert aber ein Synology NAS. Ansonsten WebDAV oder eine Lösung eures Betriebssystems. Sharepoint von Microsoft. Ob es dafür eine Alles-Easy-App gibt, habe ich nicht geprüft.

Antworten
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 09:35:51 via Website

hmm .... wie is zb wenn ich eine cross plattform mit xamarin und visual studio erstellen will wie mache ich das dann mir WebDAV wo genau liegen dann die Daten bei der Offlinefunktion ab

Antworten
Gelöschter Account
  • Forum-Beiträge: 21.034

02.01.2017, 09:39:04 via Website

Für Offline-bearbeitung braucht man eine lokale Version auf dem mobilen Device. Entweder wird das automatisch synchronisiert oder man macht das manuell. Bei gleichzeitigem Bearbeiten des gleichen Dokumentes ergeben sich naturgemäß Probleme. Immer. Denn wer entscheidet, welche Änderung bei Konflikten übernommen wird?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

02.01.2017, 10:33:53 via Website

Hallo Nadia,
ich habe deinen Thread mal in unteren Entwicklerbereich verschoben und mir erlaubt den Titel etwas anzupassen.
Bitte achte in Zukunft darauf, dass du einen aussagekräftigen Titel wählst.
anke



Kommt immer darauf an, was Offline verfügbar sein soll und ob das was man offline gemacht hat, später synchronisiert werden soll.
Und ja es ist möglich, mann muss sich vorher nur überlegen, wie man es haben will:
z.b.:
1. Ich logge mich ein, arbeite online , dann logout - Session zu aber kann offline arbeiten.
2. Ich logge mich ein - blleibe eingeloggt, arbeite aber ohne Internet Verbindung

Beides geht, ist nur die Frage ob die Session nur bei aktiven Online Arbeiten aktiv sein soll oder nicht.
Das musst du wissen du hast die Anforderungen deiner Firma ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Nadia Ra

Antworten
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 11:09:27 via Website

hi
ja genau that's the point es gibt keine Anforderungsanalyse bzw die erstelle ich im Rahmen meines Praxissemesters

ja also es soll eine Logout geben und daten dass sind Zahlen die dann trotzdem verfübar sein müssen,
weder Benutzeingaben noch was anderes, nur einsehbar müssen die Zahlen bleiben.

Login ->Logout(Session zu).... eneut login(offline bzw orts und zeitunabhängig) --> Daten einsehen ( nut mit erfolgreicher Authentifizierung)

und gott sei dank muss ich nix proggen nur die möglichkeiten prüfen wie das geht mit offlineberfügbarkeit und orts und zeitunabhängigkeit Sessionmanagment).....

lg nadia :):|

Antworten
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 11:13:31 via Website

aber eine generelle frage wenn es verrauliche Daten sind, die man auf jeden Fall schützen muss (Stichwort-->Datensicherheit) ist es dann überhaupt angebracht die offline und zeit und ortsunabhängikeits -Möglichkeiten einzubeziehen?

Antworten
Gelöschter Account
  • Forum-Beiträge: 21.034

02.01.2017, 11:42:53 via Website

Die Connection muss auf TLS aufsetzen, dann gibt es bezüglich Vertraulichkweit auf dem Transportweg wenig bedenken (bis auf das immer bestehende Restrisiko). Mehr Aufmerksamkeit solltest Du den Endgeräten widmen. Was passiert, wenn die Endgeräte gestohlen werden, verloren gehen oder mit Schadsoftware befallen sind? Wie soll das Risiko minimiert werden?

Wenn nur Lesezugriff erfolgen soll, macht es das ganze eigentlich viel einfacher. Dann muss halt das Schreibrecht auf dem Server entzogen werden. Somit können dann auch keine geänderten Dateien mehr zurückgespielt werrden. Das ganze könnte man auch auf zwei Verzeichnisse verteilen. Eines mit Schreibzugriff, eines mit Nurlesezugriff.

Es gibt übrigens Cloud-Anbieter, die kooperatives Arbeiten ermöglichen. Auch mit abgestufter Rechteverwaltung und mit den passenden Viwern für verschiedene Dateitypen. Bei Box ist das eine Stärke. Vielleicht sprichst Du mal mit einigen Anbietern. Business-Lösungen gehen oft weit über die Möglichkeiten der kostenlosen Account hinaus. Wenn es ein deutscher Anbieter sein soll, schau mal bei der Telekom nach der Magenta Cloud.

— geändert am 02.01.2017, 11:49:02

Nadia Ra

Antworten
Müli
  • Forum-Beiträge: 6.959

02.01.2017, 13:24:49 via Website

Was ist denn hier unter einer Hybrid App zu verstehen?

Ich habe vor etwa 30 Jahren (da war der Client allerdings eine Art Laptop mit LCD-Display und reinem Flashspeicher - die technischen Daten verkneife ich mir mal, weil sie heutzutage nur ein Schmunzeln auslösen) wie hier gefordert gearbeitet. Mit meinem 'Schlepptop' konnte ich mich weltweit auf die Server der Firma einloggen und Kundendaten herunterladen. Die lokalen Daten waren dann ein Auszug aus einer großen Datenbank auf einem Firmenserver, offline konnte ich dann nur einen Teil der Daten bearbeiten weil einige Einträge/Felder (z.B. der Kundenname) gegen Bearbeitung geschützt war. Lokal auf dem Client lief ebenfalls eine (kleine) Datenbank. Auf dem Schlepptop (offline) musste man sich natürlich ebenfalls authentifizieren.
Wurde dann eine Online-Verbindung (Home Office, Büro) hergestellt, wurden die Daten synchronisiert. Was dann Online zusätzlich alles möglich war lasse ich mal außen vor.

Es kommt aber auch auf die Art und den Umfang der Daten an, die auf dem Client (Smartphone) zur Verfügung und Bearbeitung vorgehalten werden sollen, evtl. sind dann auch, wie hier bereits genannt, Cloud Dienste gefordert. Ich habe aber auch Client-/Serveranwendungen genutzt, bei denen die Sicherheitsanforderungen über ein einfaches Login System hinausgingen und mit einem Codegenerator (im Scheckkartenformat) ein Key für eine weitere Sicherheitsstufe erzeugt werden musste.

Da die technischen Daten der aktuellen Smartphones weit über das hinausgehen, was uns damals zur Verfügung stand, wage ich mal die Aussage das geforderte ist sicher möglich und es gibt da kaum Grenzen es ist nur eine Frage des Aufwandes.

Mein Mainframe -> HP16C
Samsung Galaxy S23Ultra 512GB Edition
Troubleshooting-Probleme? -> Kepner Tregoe!

Nadia Ra

Antworten
Nadia Ra
  • Forum-Beiträge: 8

02.01.2017, 15:22:43 via Website

ja gibt freilich einiges was man machen kann und aber wie weil mit VPN -Client ist das möglich orts- und zieitunabhängig zuzugreifen und so wie ich das jetzt verstanden habe kann man Daten auf Endgeräte speichern um sie dann offline nutzen zu können... aber ich weis jetzt nicht ob es genau solche möglichkeiten (VPN) auch fürs Smartphone gibt und wenn ja wie kann man sich das vorstellen?... .also quasi das man von zuhause aus auf die Datenbank zugreift un sich die aktuellen Daten nochmal zieht. -->mein chef meinte sowas ginge bei smartphones nicht (Andorid/IOS/Windows) und wenn man im Firmennetz ist soll die Synchronisation stattfinden
(( ja das Thema ist für mich etwas verwirrend und absolut neuland hab noch nie eine App programmiert :( und In de Uni war Netzwertk nicht gerade mein lieblingsthema) :(

Antworten
Müli
  • Forum-Beiträge: 6.959

02.01.2017, 16:21:04 via Website

Klar gibt es VPN für Android, das ist ja nur die Art der Verbindung und hat mit den Daten die transportiert werden sollen als solches nichts zu tun. Programmierung ist nicht so mein Thema auch wenn ich zwei Semester Algol (!) und Fortran 'abgesessen' habe.
Der Upload der Daten auf den Client wurde bei uns vom Server initiiert, das müssten dann für Android Clients Anwendungsprogrammierer realisieren. Serveranwendungen haben i.d.R. Softwareschnittstellen für einen Datenaustausch (oder sie müssen programmiert werden), die Clientanwendung muss dann eine identische Schnittstelle bekommen. Ich kann mir im Moment keinen Grund vorstellen das Android ein derartiges Vorgehen ausschließt. Im Prinzip passiert beim Play Store schon etwas in der Richtung, irgendwie wird erkannt, das du eine ältere Software Version installiert hast als im Play Store verfügbar ist, auch muss erkannt werden ob man die App käuflich erworben hat. Sind alle Bedingungen abgeklärt, macht der Play Store (Serveranwendung wenn man so will) den Upload der aktualisierten App auf den Klienten. Die Clientversion des Play Store bzw. seine Dienste müssen geladen sein (quasi die Clientanwendung). Ein Programmierer wird das sicher besser erklären können!

Mein Mainframe -> HP16C
Samsung Galaxy S23Ultra 512GB Edition
Troubleshooting-Probleme? -> Kepner Tregoe!

Antworten
Rexxar
  • Forum-Beiträge: 2.563

02.01.2017, 17:21:49 via App

Ich bin ja kein Experte, aber an sich sollte es eventuell so funktionieren:

Die App verbindet sich mit eurem Server. Nun wird Nutzername und Passwort gesendet an den Server und dafür gibt dann der Server der App ein Token. Damit kann sich die App dann letztendlich anmelden. Das Token kann jederzeit vom Server und Client für ungültig erklärt werden.

Die Datensätze kann die App ja dann in einen Cache laden und wenn keine Internetverbindung besteht, wird der Cache gelesen.
Bei Internet wird der Cache nur aktualisiert und dann die aktuellen Daten vom Server angezeigt.

Liebe Grüße, Rexxar :)
Moto Z Play Stock
Nvidia Shield Tablet K1
http://www.androidpit.de/forum/634540/allgemeines-faq-fuer-neulinge

Nadia Ra

Antworten
Nadia Ra
  • Forum-Beiträge: 8

03.01.2017, 14:03:47 via Website

@Rexxar... ok das ist gut erklärt:)
@Pascal angenommen ich will alle Daten offline nutzen also alle Zahlen sehen können, die zuvor bei aktiver Verbindung geladen wurden, dann werden die im Zwischenpuffer abgelgt und gut ist.. ist es dann im Prinzip nicht überflüssig eine logout-FUnktion zu implementieren.. weil logout ist ja im Prinzip da um wieder zu login zu kehren und sitzungsspezifische Daten zu löschen.... die ich ja aber eingentlich nicht löschen will sondern offline abrufen will....bzw wenn ich jetzt aus sicherheitsaspekten betrachte ist das Logout ja dann keine Sicherheitsmaßnahme mehr, wenn die Daten trotzdem temporär gespeichert werden... oder bin ich jetzt völlig auf dem Kopf gefallen und bin zu dumm um alles zu verstehen ich betrachte das ganze vlt zu sehr aus Nutzersicht.

Antworten
Nadia Ra
  • Forum-Beiträge: 8

03.01.2017, 14:13:17 via Website

bzw:O ist die eine SItzung überhaupt wichitg wenn alle User sowiso gleiche ANsichten haben, den prinzipiell gilt ja das eine Sitzung ermöglicht das eine User auf bestimmte Ressourcenzugreifen kann, mit vorgegebenen Rechten ausgestattet ist und gegebenenfallseine personalisierte Ansicht erhält... aber da da ja alle quasi die gleichen Rechte haben und nur leserecht haben und es auch keine personalisierte Ansicht gibt, ist es dan unnötig oder ? Oder hat das noch einen weiteren Zweck die Session ? :?.... Dann müsste doch die Login Funktion ausreichend oder?

Antworten