AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SOAP: MYSQL-DB Zugriff
Thema durchsuchen
Ansicht
Themen-Optionen

SOAP: MYSQL-DB Zugriff

Ein Thema von sephraina · begonnen am 21. Apr 2015 · letzter Beitrag vom 22. Apr 2015
Antwort Antwort
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#1

AW: SOAP: MYSQL-DB Zugriff

  Alt 21. Apr 2015, 13:29
Hmmm, zuerst mal Danke an Alle für die Antworten.

Dann doch eher REST...
Habe ich mir schon vorher überlegt, aber die Tutorials (vor allem von embarcadero) gehen so ziemlich schnell auf DataSnap über.
Leider wird aber DataSnap in meiner Delphiversion nicht unterstütz, was heissen würde, ich müsste alles neu schreiben, oder gibts da Vorarbeiten (Codeschnipselbeispiele für die ganzen GET, POST usw.), die mir einen Anhaltspunkt/Starthilfe geben könnten?

Gruss und Danke
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SOAP: MYSQL-DB Zugriff

  Alt 21. Apr 2015, 13:34
http://www.delphipraxis.net/184570-e...erstellen.html
Markus Kinzler
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#3

AW: SOAP: MYSQL-DB Zugriff

  Alt 21. Apr 2015, 13:40
(Codeschnipselbeispiele für die ganzen GET, POST usw.), die mir einen Anhaltspunkt/Starthilfe geben könnten?
Hier ist ein POST Beispiel für JSON an einen Webserver. Es erfordert allerdings Indy 10.6.2, und da es HTTPS verwendet auch die SSL Bibliotheken im gleichen Verzeichnis wie die Anwendung. Man kann aber das https://httpbin.org/post auch durch http://httpbin.org/post ersetzen, dann geht es ohne SSL Bibliotheken.

Delphi-Quellcode:
program JSONPostExample;
 
{$APPTYPE CONSOLE}
 
uses
  IdHTTP, IdGlobal, SysUtils, Classes;
 
var
  HTTP: TIdHTTP;
  RequestBody: TStream;
  ResponseBody: string;
begin
  HTTP := TIdHTTP.Create;
  try
    try
      RequestBody := TStringStream.Create('{"日本語":42}',
        TEncoding.UTF8);
      try
        HTTP.Request.Accept := 'application/json';
        HTTP.Request.ContentType := 'application/json';
        ResponseBody := HTTP.Post('https://httpbin.org/post',
          RequestBody);
        WriteLn(ResponseBody);
        WriteLn(HTTP.ResponseText);
      finally
        RequestBody.Free;
      end;
    except
      on E: EIdHTTPProtocolException do
      begin
        WriteLn(E.Message);
        WriteLn(E.ErrorMessage);
      end;
      on E: Exception do
      begin
        WriteLn(E.Message);
      end;
    end;
  finally
    HTTP.Free;
  end;
  ReadLn;
  ReportMemoryLeaksOnShutdown := True;
end.
Serverseitig hat man dann natürlich auch noch ein wenig zu tun, im Beispiel wird httpbin.org verwendet, an dem man einfache Tests für GET, POST, PUT, etc. vom Client aus durchführen kann.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: SOAP: MYSQL-DB Zugriff

  Alt 21. Apr 2015, 19:03
Hmmm, zuerst mal Danke an Alle für die Antworten.

Dann doch eher REST...
Ich nehme auch lieber SOAP...

Viel einfacher und deutlich handlicher, weil "einfache Proceduren" aufrufen...

Größere Daten einfach vorher packen!

Klar hat man mehr Overhead... Würde auch nur Dif's schicken...

Mavarik
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: SOAP: MYSQL-DB Zugriff

  Alt 21. Apr 2015, 20:16
Habe bei einem aktuellen Projekt auch Soap durchgesetzt. Performance und Skalierbarkeit reichen bei dem Projekt dicke. Habe bei mal vier Anfragen pro Sekunde getestet, lag alles im Bereich von 300ms.
Philip
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#6

AW: SOAP: MYSQL-DB Zugriff

  Alt 22. Apr 2015, 05:17
Habe bei einem aktuellen Projekt auch Soap durchgesetzt. Performance und Skalierbarkeit reichen bei dem Projekt dicke. Habe bei mal vier Anfragen pro Sekunde getestet, lag alles im Bereich von 300ms.
Krass. Damit hättest Du unsere Akzeptanzkriterien beim Antwortverhalten von Schnittstellen mindestens um Faktor 10 gerissen...
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: SOAP: MYSQL-DB Zugriff

  Alt 22. Apr 2015, 06:06
Da hängt ne komplexe Rechnung hinter... Die dauert schon seine Zeit. Die Werte waren nicht die reine Antwortzeit!
Philip
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: SOAP: MYSQL-DB Zugriff

  Alt 22. Apr 2015, 08:02
Da hängt ne komplexe Rechnung hinter... Die dauert schon seine Zeit. Die Werte waren nicht die reine Antwortzeit!
AH. Also doch eher Businessobjekte die du per SOAP komplett übertragen willst statt nur (wie bisher diskutiert) "dumme" Tabelleninhalte.
Dafür ist natürlich SOAP ganz gut geeignet wenn man das so zusammenfast das alles über eine Abfrage übertragen angefragt und wieder zurück übertragen wird.
Dann hat man "nur" den großen Overheader der XML-Übertragung gegenüber eine JSON-Lösung.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: SOAP: MYSQL-DB Zugriff

  Alt 22. Apr 2015, 12:01
Da hängt ne komplexe Rechnung hinter... Die dauert schon seine Zeit. Die Werte waren nicht die reine Antwortzeit!
AH. Also doch eher Businessobjekte die du per SOAP komplett übertragen willst statt nur (wie bisher diskutiert) "dumme" Tabelleninhalte.
Dafür ist natürlich SOAP ganz gut geeignet wenn man das so zusammenfast das alles über eine Abfrage übertragen angefragt und wieder zurück übertragen wird.
Dann hat man "nur" den großen Overheader der XML-Übertragung gegenüber eine JSON-Lösung.
  • Diskutiert haben wir bisher über die Anforderung vom TE.
  • Darlo nimmt SOAP für seine komplexen Rechnungen, was für ihn ok ist.
  • Darlo <> TE


Mit REST kann man auch komplexe Business-Objekte übertragen, am Server auswerten, durchnudeln, ... und ist nicht auf JSON beschränkt. Eigentlich auf gar nichts beschränkt, der REST-Server muss es nur verstehen, was ich dem schicke
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (22. Apr 2015 um 12:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: SOAP: MYSQL-DB Zugriff

  Alt 22. Apr 2015, 09:11
Habe bei einem aktuellen Projekt auch Soap durchgesetzt. Performance und Skalierbarkeit reichen bei dem Projekt dicke. Habe bei mal vier Anfragen pro Sekunde getestet, lag alles im Bereich von 300ms.
Krass. Damit hättest Du unsere Akzeptanzkriterien beim Antwortverhalten von Schnittstellen mindestens um Faktor 10 gerissen...
Viele Leute haben eine Ping der höher liegt...

Aber 4 gleichzeitig? Von selben Gerät? Wie viele Anfragen der Server bewerkstelligt, hängt doch nur von der Netzwerkanbindung ab und ggf. von der Prozessorleistung...
Und da müssen es echt viele Anfragen sein um zu sagen... Hätten wir nicht den XML Overhead würde es noch gehen...

Mavarik
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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-2025 by Thomas Breitkreuz