Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Einen REST-Server mit Delphi/CPP Builder erstellen? (https://www.delphipraxis.net/184570-einen-rest-server-mit-delphi-cpp-builder-erstellen.html)

jaenicke 8. Apr 2015 06:26

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Die Enterprise Edition kann DataSnap Server erstellen und damit geht das sehr einfach. Das hat auch den Vorteil, dass man keine 3rd-Party Komponenten benötigt.

Von der Geschwindigkeit her sah es in Tests bei vielen Anfragen oder Clients allerdings schlechter aus als manche anderen Frameworks. Wir setzen DataSnap mittlerweile allerdings intensiv und ohne Probleme auch mit hunderten von Clients ein inkl. hin- und herschicken von großen Streams usw., da sehe ich hinsichtlich REST erst einmal weniger Probleme.

Der schöne Günther 8. Apr 2015 06:30

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Geschwindigkeit und Enterprise-Versionen sind kein Problem. Allerdings sehe ich keine Möglichkeit, das einfach als Wi dows-Dienst zu realisieren: Apache, IIS, Standalone-exe. Das passt doch alles nicht (oder?)

Lemmy 8. Apr 2015 06:47

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Guten Morgen,

TidHttpServer in einen Dienst packen und gut ist - wo ist das Problem? Warum soll das nicht als Dienst funktionieren? Das ist im Grunde auch nix anderes als eine "standalone-exe" die in einem besonderen Kontext ausgeführt wird....

Oder Du nimmst z.B. die hier: https://secure.habariwebcomponents.de/demo/index.html

jaenicke 8. Apr 2015 06:54

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296585)
Geschwindigkeit und Enterprise-Versionen sind kein Problem. Allerdings sehe ich keine Möglichkeit, das einfach als Wi dows-Dienst zu realisieren: Apache, IIS, Standalone-exe. Das passt doch alles nicht (oder?)

Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)
Das muss man manuell ändern, aber dafür musst du nur einen einfachen Dienst erstellen und dessen Code übernehmen.

Die DataSnap Module sind alle als Datenmodule usw. gekapselt, so dass die Ansteuerung als VCL-Anwendung oder als Dienst identisch ist.

Bei Bedarf kann ich zu dem Thema auch noch mehr zeigen, wenn du möchtest, aber das schaffe ich vermutlich erst am Wochenende.

Der schöne Günther 8. Apr 2015 13:33

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Lemmy (Beitrag 1296588)
TidHttpServer in einen Dienst packen und gut ist

Nach Rufos Vorschlag einfach mal angefangen und ja- da steckt wohl wirklich nichts dahinter. HTTP GET und gut ist. Das werde ich wohl so machen. :thumb:

Zitat:

Zitat von jaenicke (Beitrag 1296589)
Bei Bedarf kann ich zu dem Thema auch noch mehr zeigen

Speziell zu Service/Normale Anwendung oder DataSnap als Service? Zu ersterem hatte ich auf StackOverflow einmal etwas gefunden, aber noch nicht gelesen. Besonders zweites würde mich wirklich stark interessieren, aber zu ersterem sage ich auch nicht nein ;-)
Und ich denke so einige hier auch nicht. :thumb:

jaenicke 8. Apr 2015 15:49

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296712)
Zu ersterem hatte ich auf StackOverflow einmal etwas gefunden, aber noch nicht gelesen.

Das ist dort allerdings extrem kompliziert gemacht. :shock:
Und vor allem nicht schön finde ich.

Ich schaue mal, dass ich dazu komme, meine Lösung zu posten.

Captnemo 1. Mai 2015 17:46

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von jaenicke (Beitrag 1296589)
Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)

Kannst du dazu mal ein Beispiel/Demo Posten? Das würde mich brennend interessieren.:-D

Sir Rufo 7. Mai 2015 13:54

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Captnemo (Beitrag 1299947)
Zitat:

Zitat von jaenicke (Beitrag 1296589)
Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)

Kannst du dazu mal ein Beispiel/Demo Posten? Das würde mich brennend interessieren.:-D

Klar, ist im Anhang ;)

Die Magie ist in der DPR zu finden
Delphi-Quellcode:
program ServiceWithGui;

uses
  Vcl.Forms,
  Vcl.SvcMgr,
  System.SysUtils,
  Service.Main in 'Service.Main.pas' {MainService: TService},
  Form.Main in 'Form.Main.pas' {MainForm},
  Data.Main in 'Data.Main.pas' {MainData: TDataModule};

{$R *.RES}

function IsService: Boolean;
begin
  Result := not( FindCmdLineSwitch( 'g', [ '-' ], true ) or FindCmdLineSwitch( '-gui', [ '-' ], false ) );
end;

begin
  if IsService then
  begin

    if not Vcl.SvcMgr.Application.DelayInitialize or Vcl.SvcMgr.Application.Installing then
      Vcl.SvcMgr.Application.Initialize;
    Vcl.SvcMgr.Application.CreateForm( TMainService, MainService );
    Vcl.SvcMgr.Application.CreateForm( TMainData, MainData );
    Vcl.SvcMgr.Application.Run;

  end
  else
  begin
    Vcl.Forms.Application.Initialize( );
    Vcl.Forms.Application.CreateForm( TMainForm, MainForm );
    Vcl.Forms.Application.CreateForm( TMainData, MainData );
    Vcl.Forms.Application.Run( );
  end;

end.
Die EXE mit dem Parameter -g oder --gui gestartet, zeigt eben die VCL-Anwendung, ansonsten reagiert die Anwendung wie ein Service.

jaenicke 7. Mai 2015 18:55

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Ich poste gleich das Beispiel. Die Kommandozeilenparameter sind dann doch sehr umständlich... ich bin einfach nicht dazu gekommen bisher.

Sir Rufo 7. Mai 2015 19:05

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von jaenicke (Beitrag 1300687)
Ich poste gleich das Beispiel. Die Kommandozeilenparameter sind dann doch sehr umständlich... ich bin einfach nicht dazu gekommen bisher.

Wenn das schon für dich umständlich ist, was ist denn dann, wenn es wirklich mal haarig wird? :mrgreen:

Ja, aber dein Beispiel ist durchaus gern gesehen ... meins habe ich auch nur gepostet, weil von dir noch nichts kam :-P


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr.
Seite 2 von 5     12 34     Letzte »    

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