Top Banner
OPTIMUS mobil(e)
19

KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Jul 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

OPTIMUS mobil(e)

Page 2: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Die Idee:

Mit OPTIMUS mobile wollen wir eine App auf den Markt bringen, die es dem Anwender ermöglichen soll, mobil zu arbeiten und von unterwegs

aus auf seine Daten zuzugreifen.

Grundvoraussetzungen (Details auf den nachfolgenden Folien):Grundvoraussetzungen (Details auf den nachfolgenden Folien):> Datenaustausch via Webservice> online wie auch offline bedienbar> verschiedene Benutzer an einem Gerät (jedoch nicht parallel)> gewisse Dateien sind für alle verfügbar, andere Daten nur für ausgewählte Benutzer.> GUID´s bzw. UUID´s zum Datenaustausch

Page 3: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Was ist ein Webservice und wieso tauschen wir die Daten darüber aus?

Unser Webservice läuft auf einem Webserver. Service bedeutet im deutschen „Dienst“. Sprich, es läuft ein Dienst auf einem Server. Dieser Dienst empfängt

Anfragen sowohl vom Kundenserver/Kundenrechner wie auch von den mobilen Geräten. Der Webservice dient somit als Schnittstelle zum

Kommunikationsaustausch. Der Webservice bearbeitet Anfragen, speichert Daten und liefert Werte an den Absender zurück.und liefert Werte an den Absender zurück.

Page 4: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l
Page 5: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

1. MobileReplicationServiceIn OPTIMUS wird es mind. 3 neue Dateien geben: ReplicationOrders,

ReplicatedForUsers und die MobileDevicesUsers.

Sofern der Kunde mobil arbeitet, werden mit der neuen OPTIMUS Sofern der Kunde mobil arbeitet, werden mit der neuen OPTIMUS Version Auftrags-Datensätze zur Laufzeit geschrieben.

Diese Aufträge werden dann von dem Dienst „MobileReplicationService.exe“, welcher am Server bzw. Hauptrechner

von allen Kunden installiert sein muss (sofern diese mobil arbeiten), abgearbeitet und dann an den Webservice übermittelt. Darüber hinaus

schaut der Dienst ständig auf dem Webserver nach, ob neue Datensätze/Änderungen oder Löschungen von Mobilgeräten vorhanden

sind und überträgt diese in die OPTIMUS Datenbank.

Page 6: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

2. WebserviceAuf dem Webserver liegen die Daten der Kunden getrennt voneinander

in einzelnen Verzeichnissen bereit.

Page 7: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Der Webserver ist tatsächlich nur die Schnittstelle zwischen dem Kundenserver und den mobilen Geräten.

Er selber agiert nur wenn er von außen angesprochen wird.

Adresse

Page 8: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

3. Mobile applicationDie mobile App macht beim Datenaustausch im Prinzip nichts anderes

wie OPTIMUS und der MobileReplicationService.

Die mobile App erstellt fast identische Aufträge, die dann mit dem Die mobile App erstellt fast identische Aufträge, die dann mit dem Webserver kommuniziert werden.

Die mobile App kommuniziert im Hintergrund, sofern die App läuft!Eine automatische Prozedur sorgt (aktuell) alle 10 Sekunden für einen

Austausch mit dem Webserver, sofern Internet vorhanden ist.Bei Inaktivität (sprich die App ist im Hintergrund) synchronisieren wir nur

alle 15 Minuten.

Page 9: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Zu beachten: !!!!

OPTIMUS mobile funktioniert nur mit Client/Server Installationen. Da wir ohnehin vor haben, die Classic Version einzustellen, haben wir uns den ohnehin vor haben, die Classic Version einzustellen, haben wir uns den

Mehraufwand in der Entwicklung an dieser Stelle gespart.

Das OPTIMUS Kennwort aller Benutzer, die mobil arbeiten wollen, muss mindestens aus 5 Zeichen bestehen!

Die Dateien auf dem Webserver sind passwortgeschützt. Die Übertragung findet verschlüsselt statt.

Page 10: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Die DatenbankenEs gibt für jeden mobil arbeitenden Kunden mindestens 3 Datenbanken

1. Die Datenbank auf dem Kundenserver (wie gewohnt)1. Die Datenbank auf dem Kundenserver (wie gewohnt)2. Eine Datenbank auf dem Webserver3. Eine Datenbank pro mobilen Gerät

Fazit: Wenn wir einen Kunden mit 5 mobilen Endgeräten haben, gibt es 7 Datenbanken, die miteinander kommunizieren.

Auf diese Weise ermöglichen wir es den Anwendern, online wie auch offline zu arbeiten. Bei einer reinen online Lösung wäre die

Datenbank auf dem mobilen Endgerät nicht notwendig >>> Bsp. Leadmanagement

Page 11: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Hinweise zur mobilen AppAnders als zunächst angedacht, wird es nur eine OPTIMUS App geben, in

der alle „Module“ verfügbar sind (anfänglich wollten wir einzelne Apps daraus machen). Dazu gibt es jetzt das sogenannte „Left-Apps daraus machen). Dazu gibt es jetzt das sogenannte „Left-

Sliding-Menü“

Page 12: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Left-Sliding-Menü

Page 13: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

1. Versionsstand mobilOPTIMUS MOBILE

Zeiterfassung / ProjektbuchhaltungIhre Mitarbeiter haben die Möglichkeit, Zeiten auf:ProjekteSchriftstückePositionenAufmaßeTätigkeitenKostenstellen

Zu jedem Projekt werden wesentliche Informationen wie:Zu jedem Projekt werden wesentliche Informationen wie:

LiegenschaftsadresseKontaktpersonen DateianhängeNotizenTermineetc.

automatisch übermittelt.

Dukumente können vom Kunden vor Ort gegengezeichnet werden.

OrganisationOPTIMUS synchronisiert alle anfallenden Termine für den jeweiligen Mitarbeiter.Termine können mobil eingesehen und sofern der Benutzer überausreichende Berechtigungen verfügt, auch direkt in der App abgeändert oder verschoben werden.

Page 14: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Sobald wir die Apphochgeladen haben, können Sie sich diese einfach aus dem Store herunterladen und direkt los legen.

Page 15: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Mobile Organisation

Durch die Terminplanung in OPTIMUS Mobile verpassen Sie in der Zukunft keine Termine mehr.

Page 16: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Langfristig geplante Module

1. Zeiterfassung2. Organisation3. Adressverwaltung4. Mobiler Auftrag5. Katalog6. Aufmaß6. Aufmaß7. Chefzahlen

Page 17: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Systemvoraussetzungen

Android oder IOS?Wir entwickeln aktuell so, dass wir sowohl eine Android, wie auch eine IOS Version kompilieren können. Android hat bei der Veröffentlichung Vorrang.

Android Version 5 oder höherIOS Version 9 oder höherIOS Version 9 oder höher

Auflösung vom Mobilgerät:Unsere Testumgebung läuft auf 640 x 291 Pixel Landscape. Diese Auflösung sollte das Mobiltelefon mindestens vorweisen.

Page 18: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

Speicherplatz für Daten

Grundsätzlich übertragen wir standardmäßig nur die Dateien, die benötigt und bei denen es unwahrscheinlich ist, dass die Datenmengen zu gewaltig werden.

Bei eventuell großen Dateien, muss der Anwender entscheiden, welche bspw. Kalkulationsdaten er mobil benötigt.Ein Elektriker mit 3 Millionen Artikeln hat aktuell alleine bei den Ein Elektriker mit 3 Millionen Artikeln hat aktuell alleine bei den Calculations-Dateien über 15 GB Daten.

Auch bei den Projekten werden wir nur die Aktiven übertragen und zwar auch nur, wenn der Benutzer des Gerätes als Projektressource gekennzeichnet wurde. Sobald das Projekt inaktiv ist, wird es von den Mobilgeräten wieder entfernt.

Und so entscheiden wir quasi Datei für Datei, was am sinnvollsten ist.

Page 19: KWd/Dh^ u } ] ohh/ } 'h/ ò Ì µ u v µ µ Z ] v µ hh/ ] v Z Ì µ µ ] À o v Ì µ 'h/ X hh/ A h v ] À o o Çh v ] µ / v ] ( ] 'h/ A ' o } o o Çh v ] µ / v ] ( ] ] D ] v l

UUID oder GUID´s zum Datenaustausch

Die neue UUID ist nahezu äquivalent zur GUID.

UUID = Universally Unique IdentifierGUID= Globally Unique Identifier

Die Meisten kennen die sogenannte „GUID“ aus der Adress-Datei von OPTIMUS.

Während das Datenfeld Addresses.GUID aktuell in der Datenbank als String-Feld deklariert ist und wir die GUID selbsterzeugen, gibt es seit WINDEV24 einen Automatismus dafür. So wird für einen neuen Datensatz vollkommenautomatisiert eine neue und freie UUID oder GUID generiert.

Alle Dateien, für die wir auf Mobil Endgeräten neue Datensätze erzeugen wollen, benötigen eine „UUID“ statt einer „ID“.Die UUID ist eine 32 stellige (mit Bindestrichen 36) eindeutige Nummer, die nach dem Zufallsprinzip vergeben wird.

GUIDs werden üblicherweise im 8-4-4-4-12 Format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX dargestellt, wobei jedes X für ein Zeichen aus dem Hexadezimalsystem steht und damit eine Ziffer von 0-9 oder ein Buchstabe A-F sein kann,z. B. 936DA01F-9ABD-4D9D-80C7-02AF85C822A8.

32 hoch 16 = 1.2089258e+24 mögliche Kombinationen

In der Datenbank werden für jeden Datensatz 16 bytes reserviert, statt wie bisher 4 bytes >>> Die Datenbankgröße wird dadurch geringfügig zunehmen. Bei einer Datei mit 1. Millionen Artikeln würde die Größe um 12 MB steigen.

Frage: Wieso benötigen wir die UUID oder GUID überhaupt?