AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Projektplanung und -Management Einen REST-Server mit Delphi/CPP Builder erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Einen REST-Server mit Delphi/CPP Builder erstellen?

Ein Thema von Der schöne Günther · begonnen am 7. Apr 2015 · letzter Beitrag vom 12. Nov 2020
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#11

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

  Alt 8. Apr 2015, 07:26
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

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

  Alt 8. Apr 2015, 07:30
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?)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#13

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

  Alt 8. Apr 2015, 07:47
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#14

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

  Alt 8. Apr 2015, 07:54
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

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

  Alt 8. Apr 2015, 14:33
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.

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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

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

  Alt 8. Apr 2015, 16:49
Zu ersterem hatte ich auf StackOverflow einmal etwas gefunden, aber noch nicht gelesen.
Das ist dort allerdings extrem kompliziert gemacht.
Und vor allem nicht schön finde ich.

Ich schaue mal, dass ich dazu komme, meine Lösung zu posten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#17

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

  Alt 1. Mai 2015, 18:46
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.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  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
 
#18

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

  Alt 7. Mai 2015, 14:54
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.
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.
Angehängte Dateien
Dateityp: zip ServiceWithGui.zip (3,0 KB, 110x aufgerufen)
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)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#19

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

  Alt 7. Mai 2015, 19:55
Ich poste gleich das Beispiel. Die Kommandozeilenparameter sind dann doch sehr umständlich... ich bin einfach nicht dazu gekommen bisher.
Sebastian Jänicke
AppCentral
  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
 
#20

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

  Alt 7. Mai 2015, 20:05
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?

Ja, aber dein Beispiel ist durchaus gern gesehen ... meins habe ich auch nur gepostet, weil von dir noch nichts kam
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)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    

 

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 18:50 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