AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RAD-Server oder DataSnap

Ein Thema von Stefan1286b · begonnen am 20. Apr 2020 · letzter Beitrag vom 1. Dez 2020
Antwort Antwort
Stefan1286b

Registriert seit: 6. Jan 2012
Ort: Dinklage
25 Beiträge
 
Delphi 11 Alexandria
 
#1

RAD-Server oder DataSnap

  Alt 20. Apr 2020, 18:13
Datenbank: MSSQL • Version: 2017 • Zugriff über: FireDAC
Ich hoffe mal ich habe die Kategorie korrekt gewählt.
Ich möchte auf unsere MSSQL-Datenbak via Mobiler App zugreifen. Und Frage mich nun, ob ich auf DataSnap oder eher auf den RAD-Server setzten soll.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: RAD-Server oder DataSnap

  Alt 20. Apr 2020, 18:36
RadServer basiert ja auf DataSnap (bzw. verwendet es).
Ob DataSnap reicht (oder eine andere REST-basierte Lösung kommt auf den Anwendungszweck an.
Markus Kinzler
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#3

AW: RAD-Server oder DataSnap

  Alt 20. Apr 2020, 20:34
RAD Server ist glaube ich eine ganze Middleware inklusive Benutzerverwaltung usw.
Evtl. könnte Herr Eissing hier etwas zu den Unterschieden schreiben...
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#4

AW: RAD-Server oder DataSnap

  Alt 20. Apr 2020, 21:00
Hallo!

Oder wenn es auch etwas anderes sein kann, mit mORMot:
https://synopse.info/fossil/wiki?name=Downloads
https://synopse.info/forum/

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Stefan1286b

Registriert seit: 6. Jan 2012
Ort: Dinklage
25 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: RAD-Server oder DataSnap

  Alt 20. Apr 2020, 23:28
Bei Datasnap müsste ich mich um die Benutzerverwaltung selber kümmern korrekt. Bei Rad-Server ist die inkludiert in einer Interbase-DB
  Mit Zitat antworten Zitat
olaf

Registriert seit: 4. Mai 2009
Ort: Iserlohn
82 Beiträge
 
RAD-Studio 2009 Pro
 
#6

AW: RAD-Server oder DataSnap

  Alt 21. Apr 2020, 06:34
Wir benutzen Dataabstract von Remobjects. Hervorragender Support.
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#7

AW: RAD-Server oder DataSnap

  Alt 22. Apr 2020, 07:58
RAD Server kann "nur" ReST/JSON, DataSnap kann da mehr (direkt, TCP/IP, Binary, ....)

DataSnap ist aber relativ rudimentär (keine Benutzer Autorisierung, Authentifizierung, Statistiken, ....muss man alles selber basteln)
DataSnap ist mehr ein "SDK", als eine Turn-Key-Infrastructure

RAD Server kosten aber Geld (bei Enterprise Edition ist eine Deployment Lizenz dabei; bei Architect Edition beliebig viele(!!); es lohnt sich also evtl eine Architect Edition sich in den Schrank zu stellen )

http://docwiki.embarcadero.com/RADSt...ch_zu_DataSnap

...ist etwas "dünn".

RAD Server zu implementieren ist aber relativ einfach.... auch/insbesondere um bestehende Business-Logik weiterzuverwenden.

Lesenswert, Direktlink:
http://altd.embarcadero.com/releases...er%20eBook.pdf
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: RAD-Server oder DataSnap

  Alt 1. Dez 2020, 16:40
Schade: Da der RAD-Server ja DataSnap verwendet, wäre ich davon ausgegangen, dass es auch Binär kann und nicht nur REST nutzt.

DataSnap ist aber relativ rudimentär (keine Benutzer Autorisierung, Authentifizierung, Statistiken, ....muss man alles selber basteln)
Also Property/Events/Events dafür sind schon enthalten und man muß nicht komplett alles selbst machen.
Diese Ereignisse sind aber leer und man muß darin dann selber den Username+Passwort gegen irgendwas prüfen. (könnte man z.B. einfach über ein SELECT die Nutzerverwaltung seiner Datenbank oder vom Windows verwenden)
Die Zugriffskontrolle auf Serverklassen/Methoden kann man über ein Event und/oder via [Attribute] regeln.

DataSnap nutzt für Binär das DBX (dbExpress).

Will man auch Streams (z.B. von seinem eigenen DMS) mit über DataSnap laufen lassen, dann ist Binär besser, denn über REST ist es extremst-ultra-langsam.
Außnahme im DataSnap mit REST-Anbindung: TStream als Result (einziger VAR/OUT-Parameter), dort wird kein JSON ausgegeben, sondern direkt das Binäre.

HTTPS gibt es inzwischen auch und man kann sowohl bei Binär (TCP/IP), als auch beim JSON (HTTP/HTTPS), eine Komprimierung (ZLib) und eine Verschlüsselung (RSA) aktivieren.




OnUserAuthenticate = beim Connecten des DataSnap-Client das User+Pass prüfen und Valid setzen (optional auch die UserRoles füllen)
OnUserAuthorize = bei Aufruf einer Methode die Erlaubnis prüfen (geht auch autoamtisch über [TRoleAuth(...)] )

Inzwischen hat man diese Methoden, welche der Experte generiert, mit Kommentaren gefüllt, die auch im TODO-Manager vom Delphi auftauchen.
Delphi-Quellcode:
// im DataSnap-ServerModul

procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate(
  Sender: TObject; const Protocol, Context, User, Password: string;
  var valid: Boolean; UserRoles: TStrings);
begin
  { TODO : Validieren Sie den Client-Benutzer und das Passwort.
    Wenn eine rollenbasierte Autorisierung erforderlich ist, fügen Sie dem Parameter UserRoles Rollennamen hinzu  }

  valid := True;
end;

procedure TServerContainer1.DSAuthenticationManager1UserAuthorize(
  Sender: TObject; EventObject: TDSAuthorizeEventObject;
  var valid: Boolean);
begin
  { TODO : Autorisieren Sie einen Benutzer zum Ausführen einer Methode.
    Verwenden Sie Werte von EventObject, wie z.B. UserName, UserRoles, AuthorizedRoles und DeniedRoles.
    Verwenden Sie DSAuthenticationManager1.Roles zum Definieren von 'Authorized'- und 'Denied'-Rollen
    für bestimmte Servermethoden. }

  valid := True;
end;
$2B or not $2B

Geändert von himitsu ( 1. Dez 2020 um 19:21 Uhr)
  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 12:30 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