PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Présentation de l'accès distant
  • Intérêt de l'accès distant
  • Utilisation de l'accès distant avec HFSQL
  • Comment utiliser l'accès distant sur HFSQL Classic ?
  • Fonctionnement
  • Configuration du serveur RPC
  • Serveur livré par défaut
  • Créer un serveur RPC personnalisé pour accéder à une base de données HFSQL
  • Configuration du serveur
  • Configuration du client RPC
  • Configuration du client
  • Application cliente RPC
  • Fichiers à fournir avec l'application cliente RPC
  • RPC sur HFSQL : Fonctions WLangage
  • Fonctions du WLangage spécifiques à la gestion de l'accès distant
  • Fonctions pouvant être utilisées en accès distant
  • Remarques
  • RPC et contexte HFSQL Indépendant
  • Faire cohabiter un serveur RPC WINDEV 5.5/WEBDEV 1.5 et un serveur RPC d'une version supérieure
  • Manipuler des fichiers au format 5.5
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Accès distant (RPC sur HFSQL)
HFSQLDisponible uniquement avec ce type de connexion
Présentation de l'accès distant
L'accès distant RPC (Remote Procedure Call) permet d'effectuer des accès ponctuels sur une base de données HFSQL Classic via Internet/Intranet ou même via RTC (Réseau Téléphonique Commuté). Toutefois, si vous désirez faire un grand nombre d'accès à la base de données, vous obtiendrez de biens meilleures performances en utilisant une base HFSQL Client/Serveur.
L'accès distant RPC permet également un accès direct depuis un terminal mobile à une base de données HFSQL Classic ou à une base de données non HFSQL (Oracle, SQLServer, MySQL, ...).
Cette opération est complètement transparente pour les applications WINDEV ou WEBDEV, il suffit d'ouvrir l'analyse sur le poste distant par la fonction HConnecteAccèsDistant (ou HOuvreAnalyse).
WEBDEV - Code Serveur En WEBDEV, cette opération permet par exemple d'accéder à une base de données située sur un poste serveur différent du poste serveur où le site WEBDEV est déployé.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.

Intérêt de l'accès distant

Différents utilisateurs ont souvent besoin d'accéder à la même base de données. Lorsque ces utilisateurs sont localisés sur un seul site, ils utilisent une application réseau "classique". Pour des utilisateurs délocalisés sans accès direct au réseau de leur entreprise, un développement spécifique Internet/Intranet est nécessaire.
La gestion de données HFSQL Classic par accès distant permet l'utilisation du réseau Internet/Intranet (ou via RTC) sans développement spécifique.
Utilisation de l'accès distant avec HFSQL

Comment utiliser l'accès distant sur HFSQL Classic ?

Les opérations à effectuer pour utiliser l'accès distant sur HFSQL Classic sont les suivantes :
  1. Configurez le serveur RPC.
  2. Configurez l'application cliente RPC.
  3. Utilisez les fonctions HFSQL disponibles pour le RPC sur HFSQL.
  4. Optimisez l'accès distant.

Fonctionnement

Dès l'ouverture d'une analyse distante avec la fonction HConnecteAccèsDistant, tous les ordres HFSQL sont transmis à la librairie HFSQL (WDXXXHF.DLL) du poste serveur.
Pour réduire le nombre d'échanges via le réseau, les ordres qui n'impliquent pas directement la base de données sont exécutés localement. La présence de la librairie HFSQL (WDXXXHF.DLL) et de la description de l'analyse (fichier ".WDD") sont donc nécessaires sur chaque poste client.
Les échanges de données se font suivant le protocole RPC (Remote Procedure Call) en utilisant les fonctions de la librairie de communication WDXXXCOM.DLL (présente sur le poste serveur et sur le poste client).
Schéma de fonctionnement du RPC
Windows Mobile Ces échanges de données peuvent être effectués :
  • soit par Wi-Fi.
  • soit par ActiveSync.
  • soit par GPRS (attention : tous les abonnements téléphoniques ne permettent pas de connecter deux machines).
  • soit par carte réseau.
Configuration du serveur RPC

Serveur livré par défaut

Un serveur RPC est livré par défaut. Ce serveur correspond au programme WDServeurAccèsDistant. Ce serveur peut être utilisé en tant que serveur RPC pour HFSQL. Ce serveur est livré dans le répertoire des programmes du produit utilisé.
Ce serveur permet de configurer :
  • les utilisateurs autorisés à utiliser le serveur RPC sur HFSQL.
  • les analyses HFSQL accessibles par le serveur RPC sur HFSQL.
Pour redistribuer le serveur RPC, il suffit de :
  1. Ouvrir le projet contenant l'analyse à rendre accessible par RPC.
  2. Sélectionner l'option "Atelier .. Serveur RPC .. Créer la procédure d'installation du serveur RPC". L'assistant d'installation se lance automatiquement.
    Remarque : Pour accéder à cette option, utilisez :
    • Soit les icônes Icônes d'accès au menu déroulant
    • Soit le menu principal accessible par le logo du produit :
      Options dans le menu déroulant
Windows Mobile Le serveur RPC doit être installé sur un poste PC.
WINDEVHFSQLHyper File 5.5

Créer un serveur RPC personnalisé pour accéder à une base de données HFSQL

Lors d'un accès distant à une base de données HFSQL, les données sont accessibles à travers un programme serveur RPC WINDEV. Ce programme doit utiliser :
  • la fonction NetDémarreServeur pour lancer le serveur RPC. Par défaut, le serveur RPC pour HFSQL utilise le port 5001.
  • la fonction NetFinServeur pour arrêter ce serveur.
Remarque : Le fichier WdRpcSrv.Ini doit toujours se trouver dans le répertoire en cours. Si le programme serveur RPC change le répertoire en cours, pensez à déplacer le fichier WdRpcSrv.Ini dans ce nouveau répertoire (rappel : le répertoire en cours est renvoyé par la fonction fRepEnCours).

Configuration du serveur

Pour dialoguer avec les clients et la base de données HFSQL, le poste serveur doit disposer :
  • d'un système 32 bits,
  • du protocole réseau TCP/IP,
  • d'un programme serveur RPC WINDEV (ou WDServeurAccèsDistant).
  • de la base de données HFSQL,
  • du fichier de description de l'analyse (fichier ".WDD").
De plus, le serveur RPC WINDEV ou WEBDEV nécessite au minimum :
  • la librairie wdxxxcom.dll afin d'utiliser les fonctions de communication,
  • la librairie wdxxxhf.dll pour accéder aux fonctions de gestion HFSQL,
  • le fichier de description de l'analyse (fichier ".WDD") pour accéder à la base de données concernée,
  • le fichier WdRpcSrv.ini qui contient les droits de connexion des utilisateurs. C'est un fichier texte qui se trouve dans le même répertoire que le serveur RPC. Il doit contenir une section "passwords" dans laquelle chaque point d'entrée est un nom d'utilisateur :
    [passWords]
    NomUtilisateur1=MotDePasse1
    NomUtilisateur2=MotDePasse2
    NomUtilisateur3=MotDePasse3
    ...
  • une section spécifique dans le fichier "Win.ini". Cette section doit avoir le nom du fichier de description de l'analyse. Elle comporte des points d'entrées permettant de localiser les fichiers de données et le fichier de description de l'analyse.
    [NomAnalyse.wdd]
    REM Répertoire des fichiers définis dans l'analyse
    REM dans le répertoire du programme (<?>)
    REPPROG=D:\RepAppli\AppliRpc\DonneesHF
    REM Nom complet du fichier de description
    REM de l'analyse (.wdd)
    SUBSTWDD=D:\RepAppli\AppliRpc\DonneesHF\NomAnaly.wdd
    REM Equivalent de SubtRep, pour les fichiers dont
    REM le répertoire est spécifié
    REPFIC_C:\WWProjet\NomAppli\Rep1=D:\RepAppli\AppliRpc\DonneesHF\Rep1

    Note : Les lignes commençant par "REM..." sont des commentaires et sont inutiles.
Remarques :
  • Le poste serveur doit être accessible par tous les postes client (par TCP/IP).
  • Pour être accessible, le poste serveur doit être lancé.
  • Un même utilisateur peut se connecter plusieurs fois simultanément sur le poste serveur.
Configuration du client RPC

Configuration du client

Pour dialoguer avec un serveur RPC et interroger une base de données HFSQL distante, le poste client doit disposer :
  • d'un programme WEBDEV, WINDEV ou WINDEV Mobile (application RPC cliente).
  • du fichier de description de l'analyse (fichier ".WDD").
  • du protocole réseau TCP/IP.

Application cliente RPC

Pour ouvrir des fichiers de données distants, l'application cliente RPC doit utiliser :
  • soit la fonction HOuvreAnalyse :
    HOuvreAnalyse(<NomCompletWddEnLocal>, <MotDePasseAnalyse>, ...
    <AdresseIPPosteServeur>, <NomUtilisateurRPC>, <MotDePasseRPC>)

    L'utilisation de cette fonction implique de :
    • disposer du fichier de description de l'analyse (fichier .WDD identique à celui présent sur le poste serveur).
    • connaître le mot de passe de l'analyse (si elle en a un).
    • connaître l'adresse IP du poste serveur (ou son nom DNS, ex : www.pcsoft.fr).
    • disposer d'un nom et d'un mot de passe reconnus par le serveur RPC distant.
  • soit la fonction HConnecteAccèsDistant (conseillée)
    HConnecteAccèsDistant(<Adresse du serveur> ...
    [, <Nom de l'utilisateur> [, <Mot de passe utilisateur> ...
    [, <Chemin du .WDD> [, <Mot de passe>]]]])

    L'utilisation de cette fonction implique de :
    • connaître l'adresse IP du poste serveur (ou son nom DNS, ex : www.pcsoft.fr).
    • disposer d'un nom et d'un mot de passe reconnus par le serveur RPC distant (par défaut, utilisateur ANONYME et mot de passe HYPERFILE.
    • disposer du fichier de description de l'analyse (fichier .WDD identique à celui présent sur le poste serveur).
    • connaître le mot de passe de l'analyse (si elle en a un).
Par défaut, ces fonctions utilisent les paramètres suivants :
  • Port utilisé pour le RPC : 5001
  • Données non cryptées
  • Pas de clé de sécurité
  • Délai de réponse optimisé pour Intranet.
Pour modifier ces paramètres, initialisez les variables de la structure HRPC avant d'utiliser la fonction HOuvreAnalyse ou la fonction HConnecteAccèsDistant :
HRPC.PortEntierPermet de préciser le port de la connexion utilisé par le RPC sur HFSQL (valeur par défaut : 5001). Le serveur et le client RPC doivent utiliser le même port.
HRPC.CryptageBooléen
  • Vrai pour crypter les données manipulées par RPC,
  • Faux sinon (valeur par défaut).
Attention : Si les données doivent être cryptées, elles doivent être cryptées sur le serveur et sur le client RPC, pour le même port de connexion.
HRPC.CléSécuritéChaîne de caractèresPermet au client de s'authentifier lors de la connexion sur le serveur RPC. Cette clé doit être précisée sur le serveur et sur le client RPC pour le même port de connexion. Par défaut, cette clé correspond à une chaîne vide.
HRPC.DélaiRéponseEntierDélai de réponse lors des échanges entre serveur et client RPC. Ce paramètre correspond :
  • soit à la constante INTERNET,
  • soit à la constante INTRANET (valeur par défaut),
  • soit au délai en millisecondes.
Ce délai doit être précisé uniquement sur le client RPC.
Ce délai est un délai de connexion (cas où la connexion prend du temps, liaison bas débit entre le client et le serveur par exemple).
HRPC.TaillePageEntierPermet de fixer le nombre d'enregistrements (par défaut) à récupérer pour une page de données provenant d'une vue ou d'une requête.
Pour spécifier une taille de page Internet standard, utilisez la constante hTaillePageInternet.
Pour spécifier une taille de page Intranet standard, utilisez la constante hTaillePageIntranet.
(Ce paramètre correspond au paramètre <Taille d'une page> de la fonction HCréeVue)
WINDEV Note : Si vous utilisez un modem, avant d'utiliser la fonction HOuvreAnalyse :
  • la connexion doit déjà être établie avec le poste serveur (par exemple avec la fonction netOuvreAccèsDistant),
  • le programme serveur RPC distant doit être actif.

Fichiers à fournir avec l'application cliente RPC

De plus, le poste client WINDEV/WEBDEV doit posséder :
  • la librairie wdxxxcom.dll (ou wpxxxcom.dll) pour utiliser les fonctions de communication,
  • la librairie wdxxxhf.dll (ou wpxxxhf.dll) pour accéder aux fonctions de gestion HFSQL,
  • la librairie wdxxxvm.dll (ou wpxxxvm.dll) pour accéder aux fonctions indispensables à tout exécutable.
Remarque : Installation du poste client : Lors de la génération de l'installation de l'application cliente, il est conseillé de vérifier que le fichier .WDD correspondant à l'analyse manipulée est bien sélectionné.
RPC sur HFSQL : Fonctions WLangage

Fonctions du WLangage spécifiques à la gestion de l'accès distant

HConnecteAccèsDistantOuvre une analyse au format HFSQL Classic via un accès distant (cette fonction est équivalente à la seconde syntaxe de la fonction HOuvreAnalyse).
HGèreAccèsDistantDébranche temporairement l'accès distant pour accéder à des fichiers de données HFSQL Classic présents en local.
HOuvreAnalyseOuvre une analyse au format HFSQL Classic.

Fonctions pouvant être utilisées en accès distant

Les fonctions HFSQL peuvent être utilisées lors d'un accès à une base de données par Accès Distant.
Les fonctions non disponibles en accès distant sont les suivantes :
HDateEnregRenvoie la date et l'heure de la dernière écriture d'un enregistrement dans un fichier HFSQL (Classic ou Client/Serveur).
HDBCréationTermine la description de la structure du fichier de données xBase par programmation.
HDBDécritFichierDécrit par programmation un fichier au format dBase 3 (format le plus répandu).
HDBDécritIndexDécrit par programmation les différents fichiers d'index qui seront créés.
HDBDécritRubriqueDécrit par programmation chaque rubrique de la structure d'un fichier xBase décrit avec HDBDécritFichier.
HDBIndexOuvre un fichier d'index xBase.
HDBOuvreOuvre le fichier de données xBase et le fichier "mémo" s'il existe.
HDBOuvreSansBloquerEn mode mono-utilisateur, ouvre un fichier de données xBase sans le bloquer.
HDBTypeTriRenvoie ou modifie la relation d'ordre des rubriques textes des fichiers xBase.
HDéclareExterneImporte temporairement dans l'analyse en cours la description d'un fichier de données à partir d'un fichier de données HFSQL existant.
HDétruitVueDétruit une vue précédemment créée. Cette fonction utilise l'ancien mécanisme des vues.
HFinInterditModifDébloque un fichier qui a été bloqué par le même programme avec la fonction HInterditModif.
HGèreJournalActive ou désactive la gestion du journal d'un fichier journalé.
HGèreRéplicationDébranche (ou re-branche) temporairement la réplication.
HInfoRéplicaRenvoie des informations sur le réplica spécifié.
HInitAbonnéInitialise la plage d'identifiants automatiques d'un fichier de description d'un réplica abonné (extension ".RPL").
HInterditModifInterdit toute modification sur un fichier de données (pour tous les programmes, y compris le programme qui a demandé l'interdiction).
HJournalInfoAjoute des commentaires dans le journal lors de l'enregistrement de l'opération journalée.
HJournalRecréePermet de re-créer un journal à vide.
HJournalRedémarreRedémarre la journalisation du fichier.
HJournalStopArrête la journalisation du fichier.
HOuvreConnexionOuvre une connexion à une base de données spécifique.
HPosteMémorise un numéro ou un identifiant unique de poste afin d'utiliser le journal et les transactions en réseau.
HPrépareRequêteSQLInitialise une requête écrite en langage SQL et déclare cette requête au serveur de base de données pour optimiser les prochaines exécutions de cette requête.
HRégénèreFichierRégénère un fichier de données à partir de son journal.
HRéindexationEnCoursAvertit si une ré-indexation est en cours sur un fichier de données HFSQL et renvoie le pourcentage de ré-indexation effectué.
HRplDéclareLiaisonDéclare une liaison de type (1,1) (0,n) entre deux tables.
HRplProcédureFiltreDéfinit la procédure WLangage qui sera appelée à chaque opération de réplication pour un fichier donné.
HStatDateRenvoie la date de la dernière mise à jour des statistiques d'index.
HStatHeureRenvoie l'heure de la dernière mise à jour des statistiques d'index.
HSubstRepAssocie le répertoire des données spécifié dans l'analyse à un répertoire présent sur le disque.
HSynchroniseRéplicaSynchronise le réplica maître et le réplica abonné : les opérations effectuées sur un des réplicas sont transférées dans l'autre réplica.
HVérifieStructureFixe le mode de comparaison des fichiers de données.
Attention :
  • Lors de l'utilisation de la fonction HExécuteRequête, la constante hAvecFiltre n'est pas géré.
  • La réplication, la journalisation, les langages externes, les vignettes ne sont pas gérées.
  • HFSQL Client/Serveur n'est pas disponible.
Remarques
WINDEVWindows MobileHFSQLHyper File 5.5

RPC et contexte HFSQL Indépendant

L'accès à un fichier HFSQL en RPC n'est pas autorisé depuis une fenêtre ou un état avec un contexte indépendant.
Il est nécessaire de désactiver l'option "Contexte HFSQL Indépendant".
Pour désactiver cette option :
  • Dans une fenêtre : Dans l'onglet "Détail" de la description de la fenêtre, décochez l'option "Contexte HyperFileSQL Indépendant".
  • Dans un état : Dans l'onglet "Données" de la description de l'état, décochez l'option "L'exécution de l'état n'affecte pas les parcours (Contexte HyperFileSQL indépendant)".
Pour désactiver cette option :
  • Dans une fenêtre : Dans l'onglet "Détail" de la description de la fenêtre, décochez l'option "Contexte HFSQL Indépendant".
  • Dans un état : Dans l'onglet "Données" de la description de l'état, décochez l'option "L'exécution de l'état n'affecte pas les parcours (Contexte HFSQL indépendant)".
Dans une application utilisant l'accès distant, si des contextes indépendants doivent être utilisés, il est nécessaire de les programmer avec les fonctions HSauvePosition et HRetourPosition.
Remarque : Il n'est pas possible de copier les contextes en RPC. Il faut utiliser la fonction HOuvreAnalyse ou HConnecteAccèsDistant dans le nouveau contexte pour accéder au RPC.
WindowsHFSQLHyper File 5.5

Faire cohabiter un serveur RPC WINDEV 5.5/WEBDEV 1.5 et un serveur RPC d'une version supérieure

Pour faire cohabiter sur le même poste serveur, un serveur RPC pour Hyper File réalisé avec WINDEV 5.5/ WEBDEV 1.5 et un serveur RPC pour HFSQL réalisé avec une version supérieure, il faut modifier le port de connexion pour le serveur RPC WINDEV et utiliser un port différent du port 5001.
Pour modifier le port du serveur RPC :
  • utilisez la variable HRPC.Port sur le poste client.
  • sur le poste serveur :
    • Si vous utilisez un serveur RPC personnel, utilisez la fonction NetDémarreServeur pour spécifier le port du serveur.
    • Si vous utilisez l'application WDServeurAccèsDistant livrée avec WINDEV, désactivez le port 5001 (option "Configuration", onglet "Ports", sélectionnez la ligne 5001 et cliquez sur le bouton [Arrêter]).
WindowsWindows MobileHFSQLHyper File 5.5

Manipuler des fichiers au format 5.5

Pour manipuler une analyse HFSQL Classic utilisant des fichiers au format Hyper File 5.5, il est nécessaire de copier l'analyse Hyper File 5.5 (fichier ".WDD") dans le répertoire du serveur.
Windows Mobile Par défaut, une application Windows Mobile ne peut pas manipuler des fichiers de données au format Hyper File 5.5.
Cependant, grâce à l'accès distant, il est possible de consulter une base de données Hyper File 5.5 via Internet/Intranet ou via RTC.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire