Introduction aux connecteurs mobiles DataSnap

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connecteurs DataSnap pour les périphériques mobiles


Les connecteurs mobiles DataSnap représentent un framework que vous pouvez utiliser pour accéder aux services sur un serveur DataSnap REST, permettant l'invocation des méthodes serveur de la même façon que les autres générateurs de proxy DataSnap.

Plates-formes supportées

Les plates-formes mobiles suivantes sont actuellement supportées par les divers connecteurs DataSnap :

  • iOS 4.x, 5.x, 6.x, 7.x (Objective-C)
  • Android 2.x, 3.x ou 4.x (Java)
  • Windows Phone 7 (C#Silverlight--tous les périphériques compatibles avec la plate-forme)
  • BlackBerry Java SDK 5 et 6 (Java)

Comment fonctionnent les connecteurs DataSnap

Les connecteurs DataSnap fournissent un nouveau répartiteur de proxy qui fonctionne avec le générateur de proxy, le fournisseur de métadonnées et les composants de classe serveur pré-existants. Ce répartiteur de proxy fournit des fonctionnalités qui permettent aux développeurs sur les machines distantes de générer un proxy sur le serveur et de le télécharger sur la machine du développeur. Ce nouveau service de répartition de proxy a été introduit car ce développement mobile ne sera pas fait dans RAD Studio.

Pour commencer le développement mobile avec DataSnap, la première étape consiste à configurer correctement votre serveur DataSnap pour la répartition de proxy, afin que vous puissiez générer le proxy de la plate-forme mobile. Par exemple, lors du développement d'une application Android, vous avez besoin du fichier DSProxy.java qui contient le code généré par le serveur. Vous avez aussi besoin du package com.embarcadero.javaandroid, qui contient les fichiers statiques supplémentaires requis par le proxy. Ces fichiers statiques sont surtout les types de données, tels que TStream, qui correspondent aux types de données Delphi supportés par DataSnap.

Comment l'EDI vous assiste avec les connecteurs mobiles DataSnap

Les experts DataSnap ont une case à cocher Connecteurs mobiles. Si vous activez la case à cocher Connecteurs mobiles, l'expert effectue automatiquement les actions suivantes :

  • Configurer le répertoire "proxy" et les composants connecteur (générateur de proxy, fournisseur de métadonnées et répartiteur de proxy).
  • Générer un événement post-construction qui copie les répertoires de fichiers statiques (proxy, js, templates, css, images) à l'emplacement de sortie de votre projet. Si vous définissez manuellement l'emplacement de la sortie du projet sur "." ou sur tout chemin relatif ou absolu qui aboutit au répertoire racine du projet, la copie est ignorée. Le même événement post-construction est créé pour un projet qui inclut le fichier JavaScript REST (Expert Application DataSnap REST).

Comment générer un proxy

Pour configurer votre serveur DataSnap pour la répartition de proxy, vous devez d'abord vous assurer qu'il est correctement configuré pour la génération de proxy.

L'écran suivant montre les composants nécessaires pour activer un serveur DataSnap REST afin de générer les proxys :

DScomponents.png

La liste suivante affiche les composants requis et une brève description de la tâche accomplie par chacun :

  • TDSProxyGenerator effectue la génération de proxy.
  • TDSServerMetaDataProvider expose les métadonnées du serveur REST (méthodes serveur) au générateur de proxy.
  • TDSProxyDispatcher / TDSHTTPServiceProxyDispatcher (WebBroker/Indy) gère les requêtes http qui nécessitent un proxy spécifique, et gère un chemin virtuel par défaut nommé proxy.

Ainsi, si votre serveur est accessible sur http://www.myserver.com/ , la requête du proxy doit être effectuée sur http://www.myserver.com/proxy/....

Pour simplifier le processus de téléchargement de proxy, il existe deux téléchargeurs de proxy (une application console Win32 et une application en ligne de commande Java).

Vous devez aussi ajouter à votre clause uses chaque unité générateur de proxy pour laquelle vous voulez avoir des proxys répartis (c'est-à-dire, DSProxyJavaAndroid, DSProxyJavaBlackBerry, DSProxyCsharpSilverlight, DSProxyObjectiveCiOS). Si vous n'ajoutez pas ces unités à votre clause uses, les requêtes client de répartition du proxy correspondant peuvent échouer.

Chaque proxy requiert un ensemble d'autres fichiers qui doivent être déployés avec le fichier proxy principal généré. Ce sont des dépendances telles que les types de données DBX et les bibliothèques d'analyse JSON. Tous les fichiers requis sont situés dans le dossier : \ObjRepos\<language>\dsrest\connectors de votre installation de produit.

Notez que chaque proxy requiert tous les fichiers contenus dans le dossier associé. Ce dossier doit être copié et redistribué avec l'exécutable du serveur. Un déploiement typique d'une application serveur est présenté dans l'écran suivant :

Sampleserver.png

Quand le serveur doit générer un proxy pour une plate-forme/un langage spécifique, il le génère dans le dossier adéquat, puis il compresse le dossier et crée un fichier "langage".zip (java_android.zip lors de la génération d'un proxy Android) que le client téléchargera. Ce processus est entièrement géré par le composant TDSProxyDispatcher (ou TDSHTTPServiceProxyDispatcher).

Comment recevoir un proxy réparti

Les requêtes de génération et de répartition d'un proxy sont effectuées sous forme de requêtes HTTP au serveur, avec une URL telle que : http://adresse_serveur:port/proxy/client_mobile.zip, où "adresse_serveur", "port" et "client_mobile" sont remplacés par les valeurs réelles. Les valeurs actuellement acceptées pour "client_mobile" peuvent être vues en tant que noms de répertoires (sous "proxy") dans la structure des répertoires :

  • csharp_silverlight
  • objective_ios71
  • java_blackberry
  • java_android

Vous pouvez ouvrir un navigateur Web et naviguer directement vers l'URL. Vous devriez être invité à télécharger un fichier .zip contenant tout le code source requis pour votre plate-forme mobile, pour invoquer les méthodes serveur exposées du serveur DataSnap.

Par souci de commodité, vous pourriez obtenir à la place le proxy en utilisant le téléchargeur de proxy JAR ou EXE, que vous trouverez dans C:\Program Files (x86)\Embarcadero\Studio\19.0\bin. Les deux téléchargeurs de proxy JAR et EXE prennent les mêmes paramètres, et permettent le téléchargement et le dézippage automatiques du proxy mobile que vous voulez.

Vous pouvez utiliser la commande -help du téléchargeur de proxy pour voir les paramètres disponibles, ainsi que des exemples d'utilisation :

 WIN32 DATASNAP PROXY DOWNLOADER HELP
 COMMAND:
   Win32ProxyDownloader.exe [-protocol protocol] -language language_platform
    [-output output_folder] [-host hostname]
 OPTIONS:
   -language <language> (required) The language_platform identifier.
    e.g. java_android or objectivec_ios71
   -host <hostname:port> (optional) Hostname and port where the server is
    running. Default is localhost:80
   -protocol <http|https> (optional) protocol can be http or https. Default http
   -output <local_proxy_path> (optional) is the full path where the proxy must
    be downloaded. Default current_folder
 EXAMPLES:
   Win32ProxyDownloader.exe -language java_android
   Win32ProxyDownloader.exe -host localhost:8080 -language java_android
    -output c:\
   Win32ProxyDownloader.exe -protocol http -language java_android -output folder

Pour de plus amples informations sur la façon d'utiliser ces téléchargements de proxy, reportez-vous aux documents Introduction de chaque plate-forme mobile individuelle.

Rubriques

Voir aussi