xmlHTTPTechnologie :
-------------------------- -- -----------------------------
1. Technologie de gestion à distance de base de données
Zone étendue moderne basée sur Internet réseau Une partie importante de l'application est la surveillance à distance de la base de données. Tout d'abord, passons brièvement en revue le processus et les méthodes de développement de la technologie de gestion à distance de bases de données sur Internet :
Au début, la gestion à distance de bases de données était réalisée en écrivant des modules de programme CGI-BIN. Cependant, CGI-BIN fonctionne lentement et n'est pas pratique à maintenir. Il a été pratiquement abandonné.
Ces dernières années, de nombreuses applications utilisent ComposantObjetModèle(Component Objet Modèle, COM), et l'effet est très bon aussi. Mais si un serveur tiers est utilisé (le site Web de l'auteur est construit sur un hôte virtuel tiers), le serveur ne permet souvent pas aux utilisateurs d'enregistrer leurs propres composants pour des raisons de confidentialité ou d'autres raisons commerciales.
Ces dernières années, la plateforme .NET lancée par Microsoft et la plateforme J2EE de SUN sont toutes deux des plateformes de gestion et de services à distance de bases de données très haut de gamme. Les deux peuvent fournir des services d’applications multiniveaux (n-Tier) de haute qualité.
Parmi eux, le protocole SOAP (Simple Object Access Protocol) de .NET utilise les technologies Hypertext Transfer Protocol (HTTP) et Extensible Markup Language (XML) pour implémenter la méthode de service de communication inter-systèmes (comme Windows) - Linux) qui a été largement acceptée. et utilisé par les développeurs. De nombreuses applications à grande échelle, telles que les progiciels de gestion intégrés (ERP), sont construites sur de telles plates-formes à grande échelle.
Mais pour les applications de petite et moyenne taille, telles que la construction et la maintenance d'un site Web, cette plate-forme d'applications à grande échelle semble un peu trop grande et les frais généraux sont trop énormes.
Microsoft, autrefois à la traîne en matière de technologie Internet et de technologie Java, ouvre la voie dans le développement d'applications XML. Le protocole XMLHTTP dans son analyseur XML (MSXML) est un canal de communication client/service très pratique. L'utilisation complète des objets de données XMLHTTP et ActiveX (ActiveX Data Objects, ADO/ADOX) permet de réaliser facilement et commodément une gestion de base de données à distance.
Cet article explique comment utiliser de manière globale XMLHTTP et ADO/ADOX pour la gestion de bases de données à distance.
2. Système de gestion à distance de la base de données
Le processus de tâche de gestion à distance de la base de données est :
1 Le client envoie une requête sur la structure et les données de la base de données au serveur ou Modifier les instructions. 2. Le serveur accepte et exécute les instructions pertinentes et renvoie les résultats au client.
3. Le client accepte et affiche les résultats d'exécution des instructions renvoyés par le serveur.
Les deux principaux liens clés pour réaliser une gestion de base de données à distance sont :
1. Le canal de données pour le téléchargement des instructions et le téléchargement des résultats entre le client et le serveur est implémenté par le protocole XMLHTTP.
2. La transmission des instructions et le retour des résultats entre le front du serveur et la base de données sont complétés par l'interface ADO/ADOX, qui joue le rôle de couche intermédiaire.
3. Utilisation de XMLHTTP
Comme son nom l'indique, XMLHTTP est un protocole de transfert hypertexte qui transmet des données au format XML.
En fait, le processus de transmission de données de XMLHTTP est plus flexible :
Les instructions qu'il télécharge peuvent être des données au format XML, ou il peut s'agir d'une
chaîne, d'un flux ou d'un Tableau d'entiers non signé. Il peut également s'agir d'un paramètre d'URL. Le résultat qu'il fournit peut être des données au format XML, une chaîne, un flux ou un tableau d'entiers non signés.
Pour plus de détails, veuillez vous référer au lien à la fin de l'article.
Le processus d'appel de XMLHTTP par le client est très simple, avec seulement 5 étapes :
1
Créer un objet XMLHTTP Ouvrir la connexion avec le serveur et définir. la méthode d'envoi de commande, les pages Web de service (URL) et les autorisations de demande, etc.
Le client ouvre la connexion avec la page Web du service du serveur via la commande Ouvrir. Tout comme la transmission de commande HTTP ordinaire, vous pouvez utiliser la méthode « GET » ou la méthode « POST » pour pointer vers la page Web de service du serveur.
3. Envoyez les instructions.
4. Attendez et recevez les résultats du traitement renvoyés par le serveur.
5. Libérez l'objet XMLHTTP
Méthode XMLHTTP :
Ouvrez bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
bstrMethod : Méthode de transmission de données, c'est-à-dire GET ou POST.
bstrUrl : URL de la page web du service.
varAsync : s'il faut s'exécuter de manière synchrone. La valeur par défaut est True, ce qui signifie une exécution synchrone, mais l'exécution synchrone ne peut être implémentée que dans le DOM.
Dans les applications, il est généralement défini sur False, ce qui signifie une exécution asynchrone.
bstrUser : nom d'utilisateur, peut être omis.
bstrPassword : mot de passe utilisateur, peut être omis.
Envoyer varBody
varBody : jeu d’instructions. Il peut s'agir de données au format XML, d'une chaîne, d'un flux ou d'un tableau d'entiers non signés. Elle peut également être omise et la directive est remplacée via le paramètre URL de la méthode Open.
setRequestHeader bstrHeader, bstrValue
bstrHeader : en-tête HTTP (en-tête)
bstrValue : valeur d'en-tête HTTP (en-tête)
Si la méthode Open est définie comme POST, vous pouvez définir un formulaire à télécharger :
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTPAttributs :
onreadystatechange : Obtenir le résultat de retour en synchrone mode d'exécution Événement handle. Ne peut être appelé que dans le DOM.
responseBody : le résultat est renvoyé sous la forme d'un tableau d'entiers non signés.
responseStream : le résultat est renvoyé sous forme de flux IStream.
responseText : le résultat est renvoyé sous forme de chaîne.
responseXML : le résultat est renvoyé sous forme de données au format XML.
Ce qui suit est un exemple d'application dans le programme source joint à cet article :
Function GetResult(urlStr)
Dim xmlHttp
Dim retStr
Set xmlHttp = CreateObject( "Msxml2.XMLHTTP") 'Créer un objet
On Error Resume Next 'Gestion des erreurs
xmlHttp.Open "POST", urlStr, False 'Ouvrez la connexion en mode POST et exécutez de manière asynchrone.
xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 'Télécharger le formulaire
xmlHttp.Send 'Envoyer la commande
Si Err.Number = 0 Alors La connexion est correct
retStr = xmlHttp.responseText 'Attendre et obtenir la chaîne de résultat renvoyée par le serveur
Else
retStr = "Url not found" 'Sinon, renvoyer un message d'erreur
End If
Set xmlHttp = Nothing 'Release Object
Getresult = Retstr' Return Results
End Function
Getresult () Le paramètre URL de la page Web du service est amené aux paramètres des instructions téléchargées. Par exemple :
urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table
cmd : méthode d'exécution, telle que requête, modification, suppression, etc.
db : nom de la base de données du serveur
table : nom de la table du serveur
Soumettez ensuite la commande, attendez et recevez les résultats du traitement renvoyés. Le résultat est renvoyé sous forme de chaîne.
Enfin, il est traité par l'appelant de la fonction et le résultat est affiché.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!