Der ASP.NET+Webdienst realisiert die gemeinsame Nutzung von Software
Autor:Eve Cole
Aktualisierungszeit:2009-06-30 15:39:48
Zusammenfassung In diesem Artikel wird eine neue Methode zur Softwarefreigabe durch Softwarefunktionsfreigabe vorgeschlagen. Der Vorteil dieser Methode besteht darin, dass sie die gemeinsame Nutzung von Softwarefunktionen in Form eines Remote-Aufrufs von Webdiensten realisiert, ohne die Software auf den Client zu kopieren, und außerdem die Kosten senkt . Eine gewisse Ressourcenredundanz im Netzwerk ist auch förderlich für die gemeinsame Nutzung vorhandener Webdienste und die Integration neuer Systeme. Darüber hinaus analysiert dieser Artikel die Wirksamkeit dieser neuen Methode anhand eines Beispiels des Moduls zur Überprüfung der Studentenidentität.
Einführung
Bei der herkömmlichen Softwarefreigabe wird die Software vom Netzwerkserver auf den Client kopiert, um die Softwarefreigabe zu realisieren. Der Nachteil dieser Methode besteht darin, dass jeder Client, der die Software verwenden muss, die Software zuerst kopieren muss, was zu Platzredundanz im Netzwerk führt Dies führt zu einer großen Menge isolierter Daten und einer doppelten Geschäftslogik.
Webdienste bieten eine praktikable Lösung für die Erzielung von Daten- und Systeminteroperabilität, indem sie den Datenaustausch und den Remote-Aufruf von Anwendungslogik mithilfe von XML-Nachrichten ermöglichen, die Durchleitung von Daten durch Firewalls ermöglichen und Daten zwischen heterogenen Systemen verschieben.
In diesem Artikel wird eine neue Methode zur gemeinsamen Nutzung von Software durch gemeinsame Nutzung von Softwarefunktionen vorgeschlagen, um herkömmliche Probleme bei der gemeinsamen Nutzung von Software zu lösen. Der Vorteil dieser Methode besteht darin, dass die gemeinsame Nutzung von Softwarefunktionen in Form eines Remote-Aufrufs von Webdiensten erfolgt, ohne dass die Software auf den Client kopiert werden muss Außerdem wird die Ressourcenredundanz im Netzwerk verringert und die gemeinsame Nutzung bestehender Webdienste und die Integration neuer Systeme erleichtert. Darüber hinaus analysiert dieser Artikel die Wirksamkeit dieser neuen Methode anhand eines Beispiels des Moduls zur Überprüfung der Studentenidentität.
Die Bedeutung des Software-Sharings
Mit der Popularisierung und Entwicklung von Computeranwendungen wurde praktische Computersoftware entwickelt und in verschiedenen Branchen und in kleinen Unternehmen oder Abteilungen eingesetzt. Diese Software hat die Arbeitseffizienz und das moderne Managementniveau des Unternehmens erheblich verbessert und ist zum Kern des Geschäftsbetriebs und der Unternehmensführung geworden. Doch die weit verbreitete Einführung kundenspezifischer Software in fast allen Abteilungen der meisten Unternehmen hat zu einer großen Anzahl nützlicher, aber isolierter und sich wiederholender Teile der Geschäftslogik geführt. Wenn während des Entwurfs und der Entwicklung doppelte Entwürfe vermieden werden können und die gemeinsame Nutzung von Softwarefunktionen genutzt wird, um die gleichen Funktionen jedes Moduls zu erreichen, werden die Kosten für die Softwareentwicklung erheblich gesenkt und eine gute architektonische Grundlage für zukünftige Systemaktualisierungen und -integrationen geschaffen. Darüber hinaus kann die vorhandene Geschäftslogik durch kleine Verbesserungen mit anderen Anwendungen geteilt werden, wodurch die Entwicklungskosten gesenkt werden.
Da die Umgebungen, in denen jede Anwendung entwickelt wird, vielfältig sind und sich die Technologie ständig weiterentwickelt, war die gemeinsame Nutzung bestehender Anwendungen zur Erstellung eines Funktionsumfangs in der Vergangenheit schwierig. Glücklicherweise hat das Aufkommen der Web-Services-Technologie die gemeinsame Nutzung von Software ermöglicht. Der Web-Service bietet Geschäftslogik, die im Internet gemeinsam genutzt werden kann, und bildet letztendlich ein offenes, auf verschiedenen Web-Services basierendes Komponentensystem. Als Nächstes besprechen wir, wie wir die Web-Services-Technologie nutzen können, um Software-Sharing zu realisieren.
Software-Sharing basierend auf Web-Services-Technologie
1. Einführung in die Web-Services-Technologie
Webdienste können als im Internet bereitgestellte APIs betrachtet werden, die von Anwendungen und sogar anderen Webdiensten einfach integriert und aufgerufen werden können, um neue Anwendungsdienste zu bilden. Es verfügt über vollständige Kapselung, lose Kopplung und hohe Integrationsfähigkeiten. Es besteht kein Zweifel, dass die Web-Services-Technologie zur Mainstream-Technologie der nächsten Web-Generation werden wird, die die Verkörperung von „Software as a Service“ darstellt.
Die Web-Services-Architektur sieht wie folgt aus und besteht aus Dienstanforderer, Dienstagent und Dienstanbieter:
Der Webdienstanbieter ist der Eigentümer des Webdiensts. Er registriert sich beim Dienstagenten, um den Dienst zu konfigurieren und zu veröffentlichen, und wartet geduldig darauf, anderen Diensten seine eigenen Funktionen bereitzustellen. Der Webdienstanforderer ist der Benutzer der Webfunktion , das den Lookup-Vorgang verwendet, um die Dienstbeschreibung vom Service-Broker abzurufen, sich dann an den Dienstanbieter zu binden und den Webdienst aufzurufen oder mit ihm zu interagieren.
Ein Webdienstanbieter entspricht einem Vermittler, der einen Webdienstanforderer mit einem geeigneten Webdienstanbieter verbindet. Normalerweise stellt UDDI einen Mechanismus zum dynamischen Suchen von Webdiensten für Dienstanforderer bereit.
2. Implementierung von Software-Sharing auf Basis von Web Services
Im Prozess der Softwareentwicklung wird die Software häufig nach Funktionen in verschiedene Module unterteilt, um die Neuorganisation, Wiederverwendung, Änderung und Aktualisierung der Modulfunktionen zu erleichtern. Um Software-Sharing über die Web-Services-Technologie zu realisieren, ist es außerdem erforderlich, das integrierte System zunächst nach Funktionen in Module zu unterteilen und anschließend Web-Services zu erstellen, um diese Funktionsmodule zugänglich zu machen Dienstbeschreibungen (Webdienste bereitstellen), damit andere Module gefunden und aufgerufen werden können. Auf diese Weise können als Webdienste implementierte Softwarefunktionen von Anwendungen und sogar anderen Webdiensten gemeinsam genutzt werden.
Wenn Dienstanforderer wie Anwendungen oder andere Webdienste Webdienste aufrufen müssen, rufen sie zunächst die Dienstbeschreibung ab oder fragen den erforderlichen Diensttyp im Dienstregistrierungscenter ab. Wenn der benötigte Dienst gefunden wird, kann die Dienstbeschreibung verwendet werden, um eine Bindung zum Dienstanbieter herzustellen und den entsprechenden Dienst aufzurufen.
Das neu eingeführte Flaggschiffprodukt von Microsoft, Visual Studio.NET, gilt als bevorzugtes Tool für die Entwicklung von Webdiensten. Mit Visual Studio.NET können Webdienste problemlos erstellt und aufgerufen werden. Im Folgenden wird ein konkretes Beispiel für die gemeinsame Nutzung von Software auf Basis der Web-Services-Technologie gegeben.
3. Anwendungsbeispiele für Software-Sharing: Gemeinsame Implementierung des Moduls zur Überprüfung der Studentenidentität.
Derzeit gibt es an Hochschulen und Universitäten viele Softwaresysteme, wie z. B. Kursauswahlsysteme, Notenabfragesysteme, Online-Kurssysteme, Bibliothekssysteme, Studentenfinanzsysteme usw. Da jedes System unabhängig voneinander ist, verfügt jedes System über ein Modul zur Überprüfung der Studentenidentität, was zu einer funktionalen Duplizierung des Designs führt. Darüber hinaus ist jedes System unabhängig voneinander und die Studenten müssen sich Passwörter für verschiedene Systeme merken.
Angesichts der oben genannten Situation und des derzeit hochentwickelten Campus-Netzwerks können wir Webdienste vollständig nutzen, um die gemeinsame Nutzung von Modulen zur Überprüfung der Studentenidentität zu realisieren. Im Folgenden wird der Prozess zum Erstellen und Aufrufen des Webdienstes zur Authentifizierung der Studentenidentität mithilfe der C#-Sprache und der Visual Studio.NET-Umgebung vorgestellt.
1) Erstellung von Webdiensten
Das Modul zur Authentifizierung der Studentenidentität besteht aus einem Webdienst:
public Boolean ValidUser(string userID,string Pwd)
Der Webdienst ValidUser wird zur Überprüfung der Studentenidentität verwendet. In der SQL Server-Datenbank StudentsInfo wurde eine grundlegende Studenteninformationstabelle „Student“ erstellt, in der die Felder „UserID“ und „Pwd“ den Benutzercode bzw. das Passwort des Studenten speichern.
Im Folgenden wird der Erstellungsprozess von Webdiensten im Detail vorgestellt:
a Führen Sie die Entwicklungsumgebung Visual Studio.NET aus und erstellen Sie ein neues Projekt vom Typ „ASP.NET Web Service“ WSStudentLogin.
b Spezifische Code-Implementierung von Webdiensten.
Verwenden von System.Data.SqlClient;
//Code weglassen...
öffentliche Klasse Service1: System.Web.Services.WebService
{
string ConStr="";
ConnStr="DATABASE=StudentsInfo;SERVER=10.1.111.19;UID=sa;PWD=;";
//Code weglassen...
[WebMethod]
public Boolean ValidUser(string userID,string Pwd)
{
Boolesches Flag=false;
string sqlStr="";
//Erstelle ein Datenbankverbindungsobjekt
SqlConnection tempConn=new SqlConnection(ConnStr);
sqlStr="select * from student where ID='"+userID+"' and pwd='"+Pwd+"';";
//Ein Befehlsobjekt erstellen
SqlCommand tempComm=new SqlCommand(sqlStr,tempConn);
tempConn.Open();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) flag=true;
tempReader.Close();
tempComm.Dispose();
Rückkehrflag;
}
}
Es ist zu beachten, dass nur die mit [WebMethod] beschriebenen Methoden Webdienste sind, die remote aufgerufen werden können. Daher kann [WebMethod] vor der Methode nicht weggelassen werden.
Um einen Webdienst anderen zur Verfügung zu stellen, muss er auf einem Webserver bereitgestellt werden, auf den die Clients zugreifen können, die Sie unterstützen möchten. Um den Webdienst auf einem anderen Server als dem Entwicklungsserver bereitzustellen, können Sie ein Webinstallationsprojekt hinzufügen oder die erforderlichen Dateien auf den Zielserver kopieren. Aus Platzgründen wird in diesem Artikel nicht ausführlich darauf eingegangen. Es wird davon ausgegangen, dass der Webdienst in diesem Beispiel auf dem Entwicklungsserver bereitgestellt wird.
Nachdem wir den Webdienst erstellt und bereitgestellt haben, können wir den entsprechenden Webdienst auf dem Client aufrufen. Im Folgenden wird beschrieben, wie Sie Webdienstfunktionen auf dem Client finden und darauf verweisen.
2) Webservice-Aufruf
Der Prozess der Verwendung eines Webdienstes besteht eigentlich darin, den Webdienstbenutzer an den Webdienst zu binden und seine Methoden aufzurufen. Um den Bindevorgang zu vereinfachen. Visual Studio.NET stellt Methoden von Dienst-Proxy-Klassen bereit. Die Dienst-Proxy-Klasse generiert eine lokale Klasse basierend auf dem Webdienst-Beschreibungsdokument (XXX.WSDL). Während des Ausführungsprozesses verwendet der Client die Informationen in der Proxy-Klasse, um auf den Webdienst zuzugreifen und den eigentlichen Methodenaufruf zu implementieren. Visual Studio.NET bietet uns eine einfache Möglichkeit, diesen Prozess zu erreichen:
a Erstellen Sie ein Clientprogramm für den Webdienstzugriff.
Clientprogramme für den Zugriff auf Webdienste können verschiedene Arten von Anwendungen oder anderen Webdiensten sein. Hier erstellen wir ein neues Projekt WebApplication2 vom Typ „ASP.NET WEB Application“.
b. Servicereferenz.
Klicken Sie zunächst im Menü „Projekt“ auf „Webverweis hinzufügen“. Da sich der Webdienst in diesem Beispiel auf dem lokalen Computer befindet, klicken wir als Nächstes im Browserbereich auf den Link „Webdienst auf dem lokalen Computer“. Klicken Sie dann in der bereitgestellten Liste auf den Link Service1, um Informationen zum Webdienst abzurufen. Klicken Sie dann auf Referenz hinzufügen, um eine Webreferenz zum Zielwebdienst hinzuzufügen. Visual Studio.NET lädt die Dienstbeschreibung herunter und generiert eine Proxy-Klasse, die als Schnittstelle zwischen der Anwendung und dem Webdienst dient.
c. Spezifische Codebeispiele zum Aufrufen von Webdiensten in Clientprogrammen.
private void Button1_Click(object sender, System.EventArgs e) { //Proxy-Klassenobjekt erstellen localhost.Service1 ClientProxy=new localhost.Service1(); versuchen {//Zugriff auf Webdienste über Codeklassenobjekte if (ClientProxy.ValidUser(TxtUserId.Text,txtPwd.Text)) Label1.Text="OK"; anders Label1.Text="FEHLER" ; } fangen(e) {wirf e;} Endlich {ClientProxy.Dispose();} } |
andere
Die Web-Services-Technologie bietet eine gute technische Grundlage für die Realisierung von Software-Sharing und Systemintegration auf Basis bestehender Informationssysteme. Es ist jedoch notwendig, die gemeinsame Nutzung von Software auf Basis der Web-Service-Technologie wirklich praktikabel zu machen. Wir müssen auch die folgenden Probleme lösen: erstens Sicherheit und Zuverlässigkeit, erstens die Verbindungszuverlässigkeit der Web-Service-Netzwerkübertragung und zweitens die Zuverlässigkeit von Web-Service-Inhalten, also die Gewährleistung der Datenintegrität und -vertraulichkeit. Die zweite ist die Kontrolle der Dienstnutzungsrechte. Webdienste sind die Verkörperung von „Software as a Service“. Wer darf diesen Dienst nicht nutzen, wie werden Gebühren für die Nutzung dieses Dienstes erhoben? Alle müssen im tatsächlichen Einsatz gelöst werden. Darüber hinaus müssen auch Probleme wie die Tragfähigkeit von Webdiensten, die Bereitstellung und Erkennung von Webdiensten sowie die Fehlerbehandlung von Webdienstaufrufen durch Kunden gelöst werden.
Zusammenfassung
In diesem Artikel wird die Realisierung des Software-Sharings aus der Perspektive des Software-Funktions-Sharings vorgeschlagen, der Einsatz der Web-Services-Technologie zur Realisierung des Remote-Software-Funktions-Sharings erörtert und das Modul zur Überprüfung der Studentenschaft verwendet, um die Wirksamkeit und Vorteile des Software-Funktions-Sharings zu analysieren. Die Forschung zur gemeinsamen Nutzung von Softwarefunktionen ist für die Verwirklichung des verteilten Rechnens von großer Bedeutung und erfordert weitere Forschung.