Introduction aux connecteurs mobiles DataSnap
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.
Sommaire
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 :
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 :
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\18.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
- Introduction au connecteur mobile iOS Objective-C DataSnap
- Introduction au connecteur mobile CSharp Silverlight DataSnap
- Introduction au connecteur mobile Java Android DataSnap
- Introduction au connecteur mobile Java BlackBerry DataSnap