![]() |
Datenbank: Firebird • Version: 3.0 • Zugriff über: Windows 11
Mobile Datenerfassung Android mit Firebird Server
Bisher nutzen wir unser kleines Warenwirtschaftssystem nur im LAN mit Firebird.
Nun möchten wir aber mobile Datenerfassungen mit Android-Geräten einführen. Zuerst einfach nur z.B. Inventur-Daten (eine Tabelle) erfassen. Später sollen allerdings etwas umfangreichere Dinge hinzukommen, wie mobile Unterschriftserfassung, oder Drucken von Belegen.. Habe mich etwas belesen, aber ich habe noch keinen Durchblick wie man das am besten/schnellsten macht. Irgendwann hatte ich schon mal eine kleine Sache mit REST gemacht, da musste ich aber alle Daten manuell mappen. Ich denke, das kann man sich sicherlich bei einer "eigenen" Anbindung ersparen/automatisieren.. Ist da Datasnap das richtige? oder was sind die gängigen Verfahrensweisen? Wir möchten also per Android auf unseren Firebird Server zugreifen. |
AW: Mobile Datenerfassung Android mit Firebird Server
Ich würde das auf jeden Fall mit einer kleinen REST Zwischenschicht machen, um auf Mobile nicht direkt mit DB hantieren zu müssen.
Das kann immer mal Probleme geben und REST via HTTP(S) funktioniert in der Regel ohne Probleme. Es gibt auch verschiedene ORM Varianten als RESTServer, ![]() ![]() ![]() Das ist aber auch mehr oder weniger viel Arbeit das in ein bestehendes Projekt zu integrieren. |
AW: Mobile Datenerfassung Android mit Firebird Server
Das hört sich jetzt erstmal alles nicht ganz einfach an..
Eine Middleware ..dann doch wieder manuelles Mapping...? Mal ganz einfach gedacht: Das Handy schickt einen Sql-Befehl an den Firebird - Server... ich habe ein TEdit auf dem Handy, beim ändern schickt das Handy einen Sql-Befehl an den Firebird-Server, einfach per Https, müsste doch auch gehen... So nach dem Motto: Update Inventur set Menge = 5 where ArtikelNr = 10 müsste doch auch gehen.. brauchen wir nur noch die Daten wieder zurück, auf dem ähnlichen Weg beim Select.... |
AW: Mobile Datenerfassung Android mit Firebird Server
Naja, der Firebird Server implementiert vermutlich ein eigenes Protokoll.
Besser nicht auf die Ebene gehen, sonst kann das bei DB Updates Anpassungsaufwand verursachen. Ich Frage mich, warum es keinen FB Client für Android gibt... Man könnte aber auch einen REST Server schreiben der eine Methode hat die SQL als Parameter erwartet? Evtl. liefert die dann eine eindeutige ID zurück, mit der man das Ergebnis mit einer Get Abfrage Abrufen kann. Evtl. als CSV. Mit Datasnap gibt es aber auch eine Möglichkeit die Attribute eines Objektes direkt nach JSON zu konvertieren und zurück zu liefern. Man muss also nur die von der DB abgefragten Daten in Objektfe oder packen. |
AW: Mobile Datenerfassung Android mit Firebird Server
Zitat:
|
AW: Mobile Datenerfassung Android mit Firebird Server
Für Firebird 3 bzw. 4 gibt es Clientbibliotheken für Android.
Mit den UniDAC bzw. IBDAC Komponenten von Devart ist dann ein direkter Zugriff auf eine Firebird Datenbank vom Androidgerät aus möglich. |
AW: Mobile Datenerfassung Android mit Firebird Server
Ich persönlich würde eine REST-Lösung vorziehen. Dabei enthält der Server eine Reihe vordefinierter Routen und führt in keinem Fall irgendwelche SQL-Scripte, die vom Client kommen, aus. Auf diese Weise reißt man sich keine Sicherheitslücken auf und ist bei der Wahl des Clients flexibel, das kann später ein Webclient oder sonstwas sein. Das ist zwar erst einmal etwas Aufwand, später zahlt sich dieser aber aus. Die bereits genannten Frameworks (ich selbst bin bei DMVC gelandet) nehmen einem ja schon einen großen Teil der internen Implementierung ab, das ist also machbar.
|
AW: Mobile Datenerfassung Android mit Firebird Server
Zitat:
der Server liest deine Server DB auf Anfrage aus, steckt die gelesenen Daten in entsprechende Felder einer Klasse und nutzt die JSON FUnktionalität der Delphi RTL um daraus einen JSON string zu machen, der als Antwort auf die GET Abfrasge, welche ja die DB Abfrage gestartet hatte, zurückgeliefert wird. Der Client muss dann halt das JSON parsen, weil da seine Daten drin sind. => der Client braucht also nicht zwingend eine DB, es sei denn du willst deine Daten da rein stecken um dort lokal DB-mäßig mit zu arbeiten. Grüße TurboMagic |
AW: Mobile Datenerfassung Android mit Firebird Server
ja so langsam kommt da etwas Licht ins Dunkel.
die Überlegung war noch, das mobile Gerät direkt als Client mit der stationären Firebird-Datenbank anzubinden. Davon wird aber ja auch an verschiedenen Stellen wegen Sicherheit und der Geschwindigkeit der Übertragung abgeraten. Also werden wir uns wohl für eine REST-API entscheiden. |
AW: Mobile Datenerfassung Android mit Firebird Server
Wenn das nicht über eine App, sondern über eine Webseite erfolgen soll, gibt es
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz