IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Pourquoi DataSnap ?


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 55
    Points : 41
    Points
    41
    Par défaut Pourquoi DataSnap ?
    Bonjour tout le monde,

    J'ai lu sur le datasnap, sur le site d'Embarcadero, et je vois pas clairement pourquoi on devrait suivre cette technique, au lieu de faire du client/serveur traditionnel. J'entend par traditionnel, une application delphi avec des composants, par exemple dbexpress, pour communiquer avec une base de donné logées sur un serveur.

    Si quelqu'un pouvait me dire brièvement les raisons qui nous amène à adopter le DataSnap.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonsoir,

    Brièvement, le(s) traitement(s) des données se fait sur le seul poste hébergeant la base de données, les postes clients ne font que de l'affichage et de la demande de traitement, il est ainsi plus aisé de gérer les transactions, conflits etc... c'est ce que l'on appelle du multi-tiers.

    Comparé a un programme intraweb, où tout se fait sur le serveur et où les postes clients utilisent des navigateurs internet, les clients en environnement multi-tiers héberge les programmes clients , le pour moins de trafic de données le moins déploiement des programmes.

    Autre avantage du datatsnap pour les SGBD avec licences comme tout le traitement des données se trouve sur le serveur il n'y a besoin que d'une licence
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par typhon_186 Voir le message
    Bonjour tout le monde,

    J'ai lu sur le datasnap, sur le site d'Embarcadero, et je vois pas clairement pourquoi on devrait suivre cette technique, au lieu de faire du client/serveur traditionnel. J'entend par traditionnel, une application delphi avec des composants, par exemple dbexpress, pour communiquer avec une base de donné logées sur un serveur.

    Si quelqu'un pouvait me dire brièvement les raisons qui nous amène à adopter le DataSnap.

    Merci d'avance.
    c'est peut-être tout simplement car ton besoin ne correspond pas à DataSnap. Cette technologie ne remplace pas les autres, elle répond à un besoin.

    Avec DataSnap tu peux centraliser sur la partie serveur toute une partie des traitements que tu n'auras pas à redévelopper sur les différents clients, qu'ils soient sous Delphi, C#, Java, Android, Javascript...

    C'est un peu comme les procédures stockées, ce n'est pas obligatoire mais ça rend des services dans certains cas. Avec le 3-tiers tu vas bien au delà des procédures stockées.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    J'ajouterais le compactage (zipLib) et le cryptage du flux.
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par andreditdd Voir le message
    J'ajouterais le compactage (zipLib) et le cryptage du flux.
    c'est en effet un des besoins qui peux faire préférer une technologie 3-tiers au lieu d'un accès direct à la base.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci tout le monde pour ces réponses.

    Peut-on alors voir le Datasnap comme un concurrent de J2EE ? et qu'ils sont dans le même style architectural ?

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Je ne connais pas J2EE

    ce que je sais c'est que Embarcadero est parti de MIDAS qui s'appuyait sur la technologie DCOM de Microsoft pour aboutir aujourd'hui à une technologie REST utilisant le format JSON. Le serveur DataSnap peux exposer ses objets automatiquement pour Delphi, Java, Android, C#, iOS et Javascript; c'est à dire qu'il produit directement le code source permettant d'interroger le serveur et les objets qu'il expose dans ces différents environnements...je ne suis pas certain que le monde Java offre cette ouverture aux autres langages.

    A titre d'exemple j'ai repris un DataSet sous Android Studio, la récupération des données se fait en trois lignes de code (à partir du code généré par DataSnap)...ensuite il y a tout le code purement Android pour alimenter une grille avec un Adapter et tout le bazar qui va avec...ce qui prend trois clics sous Delphi avec LiveBindings
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci pour toutes ces informations.
    Je pense que finalement DataSnap est a pascal, ce que J2EE est a Java.
    Oui J2EE propose des ouvertures pour les autres plateforme, à travers les Web Services (SOAP et REST).

    Bonne journée.

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par typhon_186 Voir le message
    Bonjour,

    Merci pour toutes ces informations.
    Je pense que finalement DataSnap est a pascal, ce que J2EE est a Java.
    Oui J2EE propose des ouvertures pour les autres plateforme, à travers les Web Services (SOAP et REST).

    Bonne journée.
    Delphi propose aussi les WebServices, mais ce que propose DataSnap va plus loin, tu peux obtenir le code source Java d'une classe Delphi exposée dans DataSnap.

    Tu pars de ce code Delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function TServerMethods1.VarParamTest(var Value: string): string;
    begin
      Value := StrUtils.ReverseString(Value);
      Result := Value;
    end;
    et tu l'utilises directement dans Java; c'est DataSnap qui te crée la classe Java TServerMethods1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TServerMethods1 proxy = new TServerMethods1(conn);
    VarParamTestReturns Result = proxy.VarParamTest("Hello, World!");
    System.out.println(Result.Value);
    System.out.println(Result.returnValue);
    voir le détail ici
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci encore pour tous ces détails. C'est effectivement très intéressant de connaitre toutes ces possibilités.
    Je comprend maintenant l'utilité du DataSnap, surtout lorsqu'on veut contrôler ce qui est censé être retourné aux postes clients (en mettant en place le serveur d'application), ça permet de crypter par exemple.

    Merci 1000 fois.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo