Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Wie schicke ich große Datenmengen AN einen SOAP-Webservice? (https://www.delphipraxis.net/190259-wie-schicke-ich-grosse-datenmengen-einen-soap-webservice.html)

QuickAndDirty 17. Sep 2016 11:29

Wie schicke ich große Datenmengen AN einen SOAP-Webservice?
 
Ich möchte an meinen Webservice Konfigurationen für mobile Geräte die im Feld verwendet werden ablegen, diese laden sich die Konfigurationen dann runter.
Die Konfiguration ist im Prinzip ein Array von strings die SQLs enthalten.
Kann ich funktionen mit derartigen Parametern(array of String) in dem MyWebServiceIntf.IMyWebservice interface hinterlegen?

Oder sollte man derartige uploads lieber in viele aufrufe aufteilen? (ClearConfigSQLS,AddConfigSQL,AddConfigSQL,AddConf igSQL,AddConfigSQL...PublishConfigSQLs)

Bernhard Geyer 17. Sep 2016 13:44

AW: Wie schicke ich große Datenmengen AN einen SOAP-Webservice?
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1347912)
Ich möchte an meinen Webservice Konfigurationen für mobile Geräte die im Feld verwendet werden ablegen, diese laden sich die Konfigurationen dann runter.
Die Konfiguration ist im Prinzip ein Array von strings die SQLs enthalten.
Kann ich funktionen mit derartigen Parametern(array of String) in dem MyWebServiceIntf.IMyWebservice interface hinterlegen?

Oder sollte man derartige uploads lieber in viele aufrufe aufteilen? (ClearConfigSQLS,AddConfigSQL,AddConfigSQL,AddConf igSQL,AddConfigSQL...PublishConfigSQLs)

Du schickst fertig zusamgenbaute SQL als Strings an den Webservice?
Wie schaut es hier mit SQL-Injection aus?
Ich sehe her das du einen Vorteil von WS zunichte machst indem du diesen nur zum simplen Transport von SQL-Kommandos mißbrauchst.
Ein WS sollte hier eher High-Level Commands der Art "Gib mit User die sich letzte Woche angemeldet haben zurück". So ziehst du die SQL- Schnittstelle trotzdem wieder in den Client die dort ei einer N-Tier-Architektur nix verloren haben.

Neumann 18. Sep 2016 10:45

AW: Wie schicke ich große Datenmengen AN einen SOAP-Webservice?
 
Man kann einfach Strings senden, es ist kein Problem wenn diese etwa 1-2 MB groß sind. Also alles in einen String serialisieren und auf dem Webserver ablegen. Die Mobilen Geräte müssen dies Strings dann verarbeiten. SQL-Befehle sehe ich da aber auch als problematisch an, besser die Daten in JSON oder auch XML verpacken und die entsprechenden SQL-Befehle auf dem Gerät daraus generieren.

Allerdings sehe ich das Risiko, dass jemand versucht eine Datenbank auf einem Mobilgerät zu hacken als relativ gering an, die zu übertragene Datenmenge wird aber größer wenn man SQL-Befehle verschickt.

QuickAndDirty 19. Sep 2016 09:52

AW: Wie schicke ich große Datenmengen AN einen SOAP-Webservice?
 
Zitat:

Zitat von Neumann (Beitrag 1347951)
SQL-Befehle sehe ich da aber auch als problematisch an, besser die Daten in JSON oder auch XML verpacken und die entsprechenden SQL-Befehle auf dem Gerät daraus generieren.

Werden die nicht automatisch in XML verpackt?

Mavarik 19. Sep 2016 10:21

AW: Wie schicke ich große Datenmengen AN einen SOAP-Webservice?
 
SOAP ist XML nur mit noch mehr overhead...

Nimm die Daten, packe die, dann sende diesen gepackten Stream...

So mache ich es - zwar nicht als Webservice sondern vom lokalen PC, aber das hat anderen Gründe...
REST bietet sich hierfür an und dann ggf. BJSON


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz