Le service ASP.NET+Web réalise le partage de logiciels
Auteur:Eve Cole
Date de mise à jour:2009-06-30 15:39:48
Résumé Cet article propose une nouvelle méthode de partage de logiciels via le partage de fonctions logicielles. L'avantage de cette méthode est qu'elle réalise le partage de fonctions logicielles sous forme d'invocation à distance de services Web sans copier le logiciel vers le client et réduit également le coût. Une certaine redondance des ressources sur le réseau est également propice au partage des services Web existants et à l'intégration de nouveaux systèmes. Par ailleurs, cet article analyse l’efficacité de cette nouvelle méthode à travers un exemple du module de vérification de l’identité des étudiants.
introduction
Le partage de logiciel traditionnel consiste à copier le logiciel du serveur réseau vers le client pour réaliser le partage de logiciel. L'inconvénient de cette méthode est que chaque client qui doit utiliser le logiciel doit d'abord copier le logiciel, ce qui entraîne une redondance d'espace sur le réseau. entraîne une grande quantité de données isolées et une logique métier en double.
Les services Web fournissent une solution viable pour assurer l'interopérabilité des données et des systèmes en permettant l'échange de données et l'appel à distance de la logique d'application à l'aide de la messagerie XML, en permettant aux données de passer à travers les pare-feu et en déplaçant les données entre des systèmes hétérogènes.
Cet article propose une nouvelle méthode de partage de logiciels via le partage de fonctions logicielles pour résoudre les problèmes de partage de logiciels traditionnels. L'avantage de cette méthode est que le partage de fonctions logicielles est réalisé sous la forme d'un appel à distance de services Web sans copier le logiciel sur le client. réduit également une certaine redondance des ressources sur le réseau et favorise également le partage des services Web existants et l'intégration de nouveaux systèmes. Par ailleurs, cet article analyse l’efficacité de cette nouvelle méthode à travers un exemple du module de vérification de l’identité des étudiants.
Le sens du partage de logiciels
Avec la vulgarisation et le développement d'applications informatiques, des logiciels informatiques pratiques ont été développés et appliqués dans diverses industries et aussi petites qu'une entreprise ou un département. Ces logiciels ont considérablement amélioré l'efficacité du travail et le niveau de gestion moderne de l'entreprise, et sont devenus le cœur du fonctionnement et de la gestion commerciale de l'entreprise. Mais l’adoption généralisée de logiciels personnalisés dans presque tous les départements de la plupart des entreprises a donné naissance à un grand nombre d’éléments de logique métier utiles, mais cloisonnés et répétitifs. Si la duplication de la conception peut être évitée pendant la conception et le développement, et si le partage des fonctions logicielles est utilisé pour obtenir les mêmes fonctions de chaque module, cela permettra de réduire considérablement les coûts de développement logiciel et de fournir une bonne base architecturale pour les futures mises à niveau et intégrations du système. De plus, la logique métier existante peut être partagée avec d'autres applications grâce à un petit nombre d'améliorations, réduisant ainsi les coûts de développement.
Étant donné que les environnements dans lesquels chaque application est développée sont divers et que la technologie évolue constamment, le partage d'applications existantes pour créer un ensemble de fonctionnalités s'est avéré difficile dans le passé. Heureusement, l'émergence de la technologie des services Web a permis de réaliser le partage de logiciels. Le service Web de fonctions logicielles fournit une logique métier qui peut être partagée au sein d'Internet et forme finalement une ouverture basée sur divers systèmes de composants fonctionnels. Nous verrons ensuite comment utiliser la technologie des services Web pour réaliser le partage de logiciels.
Partage de logiciels basé sur la technologie Web Services
1. Introduction à la technologie des services Web
Les services Web peuvent être considérés comme des API déployées sur Internet, qui peuvent être facilement intégrées et appelées par des applications et même d'autres services Web pour former de nouveaux services d'application. Il dispose d'une encapsulation complète, d'un couplage lâche et de capacités d'intégration élevées. Il ne fait aucun doute que la technologie des services Web deviendra la technologie dominante de la prochaine génération du Web, qui est l'incarnation du « logiciel en tant que service ».
L'architecture des services Web est la suivante, composée d'un demandeur de service, d'un agent de service et d'un fournisseur de services :
Le fournisseur de services Web est le propriétaire du service Web. Il s'enregistre auprès de l'agent de service pour configurer et publier le service, et attend patiemment pour fournir ses propres fonctions aux autres services et utilisateurs. Le demandeur du service Web est l'utilisateur de la fonction Web. , qui utilise l'opération de recherche pour récupérer la description du service auprès du courtier de services, puis se lier au fournisseur de services et appeler ou interagir avec le service Web.
Un fournisseur de services Web équivaut à un intermédiaire qui connecte un demandeur de services Web à un fournisseur de services Web approprié. Généralement, UDDI fournit un mécanisme permettant de rechercher dynamiquement des services Web pour les demandeurs de services.
2. Mise en place de partage de logiciels basés sur des Web Services
Dans le processus de développement de logiciels, les utilisateurs divisent souvent le logiciel en différents modules selon les fonctions afin de faciliter la réorganisation, la réutilisation, la modification et la mise à niveau des fonctions des modules. Pour réaliser le partage de logiciels via la technologie Web Services, il faut également d'abord diviser le système intégré en modules selon les fonctions ; puis créer des services Web pour implémenter ces modules fonctionnels afin de rendre les services Web accessibles, il faut également publier ; descriptions de services (déployer des services Web) afin que d'autres modules puissent être trouvés et appelés. De cette manière, les fonctions logicielles implémentées sous forme de services Web peuvent être partagées par des applications et même par d'autres services Web.
Lorsque des demandeurs de services tels que des applications ou d'autres services Web doivent appeler des services Web, ils récupèrent d'abord la description du service ou interrogent le type de service requis dans le centre d'enregistrement des services. Lorsque le service requis est trouvé, la description du service peut être utilisée pour se lier au fournisseur de services et appeler le service correspondant.
Le produit phare récemment lancé par Microsoft, Visual Studio.NET, est connu comme l'outil préféré pour développer des services Web. L'utilisation de Visual Studio.NET permet de créer et d'appeler facilement des services Web. Ci-dessous, un exemple spécifique de partage de logiciels basé sur la technologie des services Web sera donné.
3. Exemples d'application de partage de logiciels : mise en œuvre partagée du module de vérification de l'identité des étudiants.
Actuellement, il existe de nombreux systèmes logiciels dans les collèges et les universités, tels que les systèmes de sélection de cours, les systèmes de requête de notes, les systèmes de cours en ligne, les systèmes de bibliothèques, les systèmes financiers des étudiants, etc. Étant donné que chaque système est indépendant les uns des autres, chaque système dispose d'un module de vérification de l'identité des étudiants, ce qui entraîne une duplication fonctionnelle de la conception. De plus, chaque système est indépendant les uns des autres et les étudiants doivent mémoriser les mots de passe des différents systèmes.
Compte tenu de la situation ci-dessus et du réseau de campus très développé actuel, nous pouvons entièrement utiliser les services Web pour réaliser le partage des modules de vérification de l'identité des étudiants. Ce qui suit présente le processus de création et d'appel du service Web d'authentification de l'identité de l'étudiant à l'aide du langage C# à l'aide de l'environnement Visual Studio.NET.
1) Création de services Web
Le module d'authentification de l'identité de l'étudiant est composé d'1 web service :
public Boolean ValidUser (string userID, string Pwd)
Le service Web ValidUser est utilisé pour vérifier l’identité des étudiants. Une table d'informations de base sur l'étudiant Student a été créée dans la base de données SQL Server StudentsInfo, dans laquelle les champs UserID et Pwd stockent respectivement le code utilisateur et le mot de passe de l'étudiant.
Ce qui suit présentera en détail le processus de création de services Web :
a Exécutez l'environnement de développement Visual Studio.NET et créez un nouveau projet de type « ASP.NET Web Service » WSStudentLogin.
b Implémentation de code spécifique aux services Web.
en utilisant System.Data.SqlClient ;
//Omettre le code...
classe publique Service1 : System.Web.Services.WebService
{
chaîne ConStr="";
ConnStr="DATABASE=StudentsInfo;SERVER=10.1.111.19;UID=sa;PWD=;";
//Omettre le code...
[MéthodeWeb]
public Boolean ValidUser (string userID, string Pwd)
{
Indicateur booléen=false ;
chaîne sqlStr="";
//Créer un objet de connexion à la base de données
SqlConnection tempConn=new SqlConnection(ConnStr);
sqlStr="select * from student which ID='"+userID+"' et pwd='"+Pwd+"';";
//Créer un objet commande
SqlCommand tempComm=new SqlCommand(sqlStr,tempConn);
tempConn.Open();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) flag=true ;
tempReader.Close();
tempComm.Dispose();
drapeau de retour ;
}
}
A noter que seules les méthodes décrites avec [WebMethod] sont des services Web appelables à distance. Par conséquent, [WebMethod] devant la méthode ne peut pas être omis.
Pour rendre un service Web accessible à d'autres, il doit être déployé sur un serveur Web accessible aux clients que vous souhaitez prendre en charge. Pour déployer le service Web sur un serveur autre que le serveur de développement, vous pouvez ajouter un projet d'installation Web ou copier les fichiers requis sur le serveur cible. En raison de limitations d'espace, cet article n'aborde pas ce sujet en profondeur. Il est supposé que le service Web dans cet exemple est déployé sur le serveur de développement.
Après avoir créé et déployé le service Web, nous pouvons appeler le service Web correspondant sur le client. Ce qui suit décrit comment localiser et référencer les fonctions de service Web sur le client.
2) Appel du service Web
Le processus d'utilisation d'un service Web est en fait le processus de liaison de l'utilisateur du service Web au service Web et d'appel de ses méthodes. Pour simplifier le processus de liaison. Visual Studio.NET fournit des méthodes de classes proxy de service. La classe proxy de service génère une classe locale basée sur le document de description du service Web (XXX.WSDL). Au cours du processus d'exécution, le client utilise les informations de la classe proxy pour accéder au service Web et implémenter l'appel de méthode réel. Visual Studio.NET nous fournit un moyen simple de réaliser ce processus :
a Créez un programme client d'accès au service Web.
Les programmes clients d'accès aux services Web peuvent être différents types d'applications ou d'autres services Web. Ici, nous créons un nouveau projet WebApplication2 de type "ASP.NET WEB Application".
B. Référence du service.
Tout d’abord, cliquez sur Ajouter une référence Web dans le menu Projet. Ensuite, étant donné que le service Web dans cet exemple se trouve sur l'ordinateur local, nous cliquons sur le lien « Service Web sur l'ordinateur local » dans le volet du navigateur. Ensuite, cliquez sur le lien Service1 dans la liste fournie pour récupérer des informations sur le service Web. Cliquez ensuite sur Ajouter une référence pour ajouter une référence Web au service Web cible. Visual Studio.NET téléchargera la description du service et générera une classe proxy qui sert d'interface entre l'application et le service Web.
c. Exemples de code spécifiques pour appeler des services Web dans les programmes clients.
private void Button1_Click (expéditeur d'objet, System.EventArgs e) { //Créer un objet de classe proxy localhost.Service1 ClientProxy=new localhost.Service1(); essayer {//Accéder aux services Web via des objets de classe de code si (ClientProxy.ValidUser(TxtUserId.Text,txtPwd.Text)) Étiquette1.Text="OK"; autre Label1.Text="ERREUR" ; } attraper(e) {lancer e;} enfin {ClientProxy.Dispose();} } |
autre
La technologie des services Web fournit une bonne base technique pour la réalisation du partage de logiciels et de l'intégration de systèmes basés sur les systèmes d'information existants. Cependant, il est nécessaire de rendre le partage de logiciels basé sur la technologie Web Service réellement pratique. Nous devons également résoudre les problèmes suivants : premièrement, la sécurité et la fiabilité, premièrement, la fiabilité de la connexion de la transmission réseau du service Web, et deuxièmement, la fiabilité du contenu du service Web, c'est-à-dire garantir l'intégrité et la confidentialité des données. Le deuxième est le contrôle des droits d'utilisation des services. Les services Web sont l'incarnation du « logiciel en tant que service ». Qui est interdit d'utiliser ce service, qui est autorisé à utiliser ce service, comment facturer son utilisation, etc. tous doivent être résolus en cas d'utilisation réelle. En outre, des problèmes tels que la capacité de charge des services Web, le déploiement et la découverte des services Web, ainsi que la gestion des échecs des appels de services Web par les clients sont également des problèmes qui doivent être résolus.
résumé
Cet article propose la réalisation du partage de logiciels du point de vue du partage de fonctions logicielles, discute de l'utilisation de la technologie des services Web pour réaliser le partage de fonctions logicielles à distance et utilise le module de vérification du corps étudiant pour analyser l'efficacité et les avantages du partage de fonctions logicielles. La recherche sur le partage des fonctions logicielles revêt une grande importance pour la réalisation de l’informatique distribuée et nécessite des recherches plus approfondies.