Entwicklung der User Controls und eines WebFrontends für statistische Auswertungen im Produkt „camm Web-Manager“ Dokumentation zur betrieblichen Projektarbeit Fachinformatiker/Anwendungsentwicklung Abschlussprüfung Winter 2004/2005 Konstantin Sergeev CompuMaster GmbH Rhein-Mosel-Str. 69 56281 Emmelshausen Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Inhaltsverzeichnis Inhaltsverzeichnis ................................................................................................... 2 1. Beschreibung des Projektes ............................................................................. 2 1.1 Unternehmensvorstellung .......................................................................... 3 1.2 Projektziel .................................................................................................. 3 2. Vorbereitungsphase/Planung ........................................................................... 4 2.1 Hard- und Software ................................................................................... 5 2.2 Ist-Analyse ................................................................................................ 5 2.3 Soll-Konzept .............................................................................................. 5 2.4 Zeitplanung ............................................................................................... 6 3. Entwurf und Realisierung.................................................................................. 6 3.1 Analyse der vorhandenen Daten ............................................................... 6 3.2 Erstellung der Web-Formulare ................................................................... 7 3.3 Navigation .................................................................................................. 7 3.4 User Controls ............................................................................................. 8 3.4.1 Grafische Darstellungen ............................................................. 8 3.4.2 Tabellarische Darstellungen ........................................................ 10 3.5 Programmablaufplan ................................................................................. 11 4. Test ...................................................................................................................... 11 5. Zusammenfassung/Schlussfolgerung ............................................................. 12 5.1 Soll/Ist-Vergleich Zeit ................................................................................. 12 5.2 Fazit ........................................................................................................... 12 6. Anhang ................................................................................................................ 13 6.1 Screenshots ............................................................................................... 13 6.2 Quellcode ................................................................................................... 19 a. Codefragment für Erstellung eines Formulars .................................... 19 b. Codefragment für die Teleriks ASP.NET r.a.d. chart Komponente .... 23 c. Codefragment für dynamische Erstellung einer Tabelle ..................... 24 6.3 Glossar ...................................................................................................... 28 6.4 Literatur ..................................................................................................... 29 ____________________________________________________________________________________ -2- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 1. Beschreibung des Projektes 1.1 Unternehmensvorstellung Die CompuMaster GmbH arbeitet als Produktentwickler im Bereich Content Asset Management. Ein speziell entwickeltes Content-Management System wird derzeit in einer Produktlinie zusammengefasst, die aus dem Webmanager, dem Sales Manager und dem Bild & Media Manager besteht. Diese Produktlinie heißt “camm” (content and media management). Im Jahr 1996 wurde das Einzelunternehmen durch Rolf Dreier gegründet. 1998 wurde die Kapitalgesellschaft CompuMaster GmbH durch die Gesellschafter-Geschäftsführer Rolf Dreier und Jochen Wezel eröffnet. CompuMaster unterstützt seine Kunden erfolgreich bei der internen und externen Unternehmenskommunikation. Durch den Einsatz von Softwaresystemen zum Management von Unternehmenswebsites wird der moderne Wissensaustausch in die klassischen Geschäftsprozesse integriert. Lösungen von CompuMaster führen dazu, dass Mitarbeiter, Kunden, Partner und Lieferanten in dem erforderlichen Umfang mit Informationen versorgt werden. Durch die optimale Kombination von Standard- und Individualanwendungen bietet CompuMaster seinen Kunden Lösungen an, die genau auf dessen Anforderungen zugeschnitten sind. CompuMaster als Full-Service Anbieter bietet auf Wunsch die Entscheidungshilfen, die Beratung, Konzeption und Erstellung, das Management und die Pflege aus einer Hand. Die Haupttechnologie, die für die Entwicklung der Softwareprodukte verwendet wird, ist Microsoft ASP.NET (Programmiersprachen Visual Basic.NET und C#). 1.2 Projektziel Das Projektziel ist die Erstellung von statistischen Auswertungen im Produkt “camm Web-Manager”. Der camm Web-Manager ist eine Entwicklung der Firma CompuMaster GmbH. Er richtet sich an Unternehmen/Organisationen, welche ihren internen und externen Website-Besuchern personalisierte Informationen mittels eines WebsiteAuftritts bereitstellen möchten. Die hinterlegten Informationen in Form von Texten, Bildern und sonstigen Dateien können aus unterschiedlichen Quellen wie OfficeAnwendungen, Web Editoren, Dokumentenmanagement Systemen und Content Management Systemen stammen. Ein wesentliches Merkmal des Web-Managers ist ____________________________________________________________________________________ -3- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ es, dass die Dokumente von unterschiedlichen Web-Servern abgerufen werden können. Dabei können die Server sogar durch unterschiedliche Firewalls geschützt sein. Diese Projektarbeit wird auf englisch entwickelt und soll den Benutzern die statistischen Berichte für folgende Zielgruppen bieten: - Marketing department - Sales department - Security administration - Network administration - Web-Master Außerdem kann jede statistische Auswertung einzeln aufgerufen werden. Die Erstellung des Menüs für den Aufruf der Berichte sowie die Einbindung im Produkt „camm Web-Manager“ sind nicht Bestandteil der Projektarbeit. 2. Vorbereitungsphase/Planung 2.1 Hard- und Software Als Entwicklungsplattform dient ein handelsüblicher IBM-Kompatibler Pentium III PC mit Microsoft Windows 2000 SP 4 als Betriebssystem. Als Software zur Erstellung der User Controls sowie des Web-Frontends wird Microsoft Visual Studio.NET 2003 verwendet. Als zusätzliche Software werden folgende Programmprodukte verwendet: - Microsoft IIS Web-Server - Microsoft Internet Explorer 6 - Teleriks ASP.NET r.a.d. chart Komponente (für grafische Darstellungen) - Microsoft Word 2002 (für die Dokumentation) - SQL ExecMS (für die Überprüfung von SQL-Abfragen) - camm Web-Manager Basisprodukt Die Auswahl von Microsoft Visual Studio.NET ist davon bestimmt, dass das Projekt mit Hilfe der Technologie ASP.NET entwickelt wird, auf der das Produkt basiert. Das Visual Studio gewährt die umfangreichen Möglichkeiten für die Nutzung dieser Technologie und übt die volle Kontrolle über die Eingabe des Programmcodes aus, um Syntaxfehler zu vermeiden. ____________________________________________________________________________________ -4- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 2.2 Ist-Analyse Bei der Analyse der vorhandenen statistischen Auswertungen wurde festgestellt, dass es nicht alle Informationen, die die Zielgruppen benötigen, gibt. Zum Beispiel fehlen die Daten über die neuen und gelöschten Benutzer, welche Anwender momentan online sind usw. Außerdem sind die statistischen Daten entweder für den aktuellen Monat oder nur komplett verfügbar; man kann die Zeiträume nicht frei auswählen. Die Formulare werden für jede Servergruppe aufgerufen und das macht zusätzliche Schwierigkeiten bei der Erstellung neuer Servergruppen – man muss die neuen Formulare erstellen. Die Daten werden nur in tabellarischer Form dargestellt, es ist nicht für alle Auswertungen anschaulich. Die Zielgruppen haben keine Möglichkeiten, alle notwendigen Daten in einem Formular zu bekommen. 2.3 Soll-Konzept In Formularen sollte die Möglichkeit der Auswahl von verschiedenen Servergruppen und Zeiträume gegeben sein. Die Daten, die die Zielgruppen benötigen, sollten in den einzelnen Berichten zusammengefasst sein. Jede statistische Auswertung sollte als ein Formular erstellt werden und konnte aus beliebigen Formularen mittels eines Menüs aufgerufen werden. Die Daten sollten, wie gewünscht, sowohl in der grafischen (Kreisund Säulendiagramme), als auch in der tabellarischen Form dargestellt werden. Falls es notwendig ist, sollten Formulare auch eine Druckvorschau haben. Für jede Auswertung sollte eine kurze Beschreibung erstellt werden, welche Daten darin verarbeitet werden (englisch). ____________________________________________________________________________________ -5- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 2.4 Zeitplanung Zerlegung des Projektes in Teilschritte: Arbeitschritt Zeitbedarf Ist-Analyse/Soll-Konzept 4 Stunden Festlegen der Aufgaben der Zielgruppen 4 Stunden Beschreibung der statistischen Auswertungen 6 Stunden Erstellung der SQL-Abfragen 4 Stunden Programmierung der User Controls in ASP.NET 20 Stunden Codierung der Webskripte für die Berichtsseiten in ASP.NET 16 Stunden Positionierung und Visualisierung der User Controls auf den Seiten 2 Stunden Testphase 4 Stunden Erstellen der Projektdokumentation 10 Stunden Gesamtstunden 70 Stunden 3. Entwurf und Realisierung 3.1 Analyse der vorhandenen Daten Das Produkt „camm Web-Manager“ ist mit der Datenbank Microsoft SQL Server 2000 verbunden. Diese enthält Daten über Webanwendungen, Kunden, Servergruppen, sowie andere Daten der Website, in die der Web-Manager eingebaut ist. Um statistische Auswertungen zu erhalten, wird die Log-Tabelle verwendet, in die alle Aktionen von Benutzern auf der Website gespeichert werden. Jeder Datensatz entspricht einem Eintrag des Benutzers. Die Log-Tabelle hat folgende Datenfelder: ID ApplicationID UserID ConflictType LoginDate ConflictDescription RemoteIP ReviewedAndClosed ServerIP Diese Tabelle hat Beziehungen zu anderen Tabellen der Datenbank, die die ____________________________________________________________________________________ -6- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Information über Namen von Benutzern, Webanwendungen, Servergruppen usw. enthalten. Für die Extraktion der Daten aus der Log-Tabelle werden SQL-Abfragen verwendet. Bei der Extraktion aus anderen Tabellen sind die Eigenschaften und Methoden des Objektes „camm Web-Manager“ vorzuziehen. 3.2 Erstellung der Web-Formulare Vor der Erstellung der Web-Formulare wird festgelegt, welche Formulare notwendig sind und welche Funktionalität sie bieten sollen. Andere wichtige Anforderungen sind: - angepasste Gestaltung (wird mit Hilfe der CSS-Datei realisiert) - Optimierung für Bildschirmauflösungen 1024*768 und 800*600 - intuitive Navigationsführung - anschauliche Darstellung der Zeiträume und Servergruppen (es werden Servercontrols Calendar, TextBox, CheckBox verwendet) Web-Formulare wurden mit Hilfe der Technologie des getrennten Codes (code-behind) erstellt. Diese Technologie ermöglicht es, die einzelne Datei mit dem Programmcode zu erstellen und sie mit vielen aspx-Dateien zu verwenden (aspx ist eine Erweiterung der ASP.NET-Dateien, die den HTML-Code und ASP.NET-Tags enthalten). Webskripte für Formulare wurden auf Visual Basic.NET geschrieben. Ihre Aufgaben: Die Daten über Zeiträume und Servergruppen, die von einem Benutzer mit Hilfe der obengenannten Servercontrols eingegeben wurden, den eingebauten im Formular User Controls zu übergeben. Namen und kurze Beschreibungen aller Formulare, einige Screenshots, sowie ein Beispiel des Codes finden sich im Anhang. 3.3 Navigation Die Navigationsführung soll intuitiv sein, d.h. der Benutzer soll sich leicht zurechtfinden und nicht den Überblick verlieren. Um dies sicherzustellen, wurde eine feste Navigationsleiste im oberen Bereich der Seiten eingefügt. Die Liste aller Menüpunkte befindet sich im Anhang. ____________________________________________________________________________________ -7- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 3.4 User Controls Zusätzlich zu den integrierten Serversteuerelementen von ASP.NET können mit den bereits vorgestellten Programmiertechniken für das Schreiben von Web Forms-Seiten eigene Steuerelemente erstellt werden. Diese Benutzersteuerelemente heißen User Controls und haben die ascx-Erweiterung. Sie können von verschiedenen ASP.NETSeiten verwendet werden und befreien den Entwickler von den mehrmaligen Wiederholungen des identischen Codes. User Controls funktionieren ähnlich wie Include-Dateien. Im einfachsten Fall enthalten sie nur HTML-Code. Sie können aber auch Skripte enthalten, und man kann für User Controls auch eigene Eigenschaften, Methode und Ereignisse definieren. User Controls können außerdem eine andere Sprache verwenden als die Seite, in der sie enthalten sind. Hierdurch ist es möglich, in unterschiedlichen Sprachen geschriebene Funktionen auf einer einzelnen Seite zu integrieren. Jedes meiner Controls dient für die Extraktion aus der Datenbank und die Darstellung auf der Web-Seite der statistischen Daten. Diese Daten werden wie gewünscht in der tabellarischen und in der grafischen Form dargestellt. 3.4.1 Grafische Darstellungen Einige statistische Auswertungen sind im Projekt als Diagramme dargestellt. Die Auswahl der Art des Diagramms hängt von der Anschaulichkeit der ausgewählten Daten ab. So wird zum Beispiel die Anzahl der Klicks jedes Benutzers auf der Website für die vorgegebenen Zeiträume als Kreisdiagramm dargestellt. Die Anzahl der Klicks aller Benutzer für verschiedene Intervalle wird als Liniendiagramm dargestellt. ____________________________________________________________________________________ -8- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Außerdem wurden Säulen- und Flächendiagramme für grafische Darstellungen verwendet. Alle Diagramme wurden mit Hilfe der Teleriks ASP.NET r.a.d. chart Komponente erstellt. Das ist eine Entwicklung der Firma Telerik, die für den Aufbau verschiedener Arten der Diagramme in ASP.NET aufgrund der vorhandenen Daten dient. Diese Komponente wird im Projekt als einzelnes User Control verwendet, das ein Teil anderen User Controls ist. Das Außencontrol extrahiert die Daten aus der Datenbank und übergibt sie dem Innencontrol (Teleriks r.a.d. chart Komponente), das das entsprechende Diagramm erstellt. Funktionsprinzip der Komponente: Formular SQL-Abfrage Datenbank User Control Daten r.a.d. chart Komponente Ein Beispiel des Codes, der die Arbeit der Komponente beschreibt, ist im Anhang aufgeführt. ____________________________________________________________________________________ -9- Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 3.4.2 Tabellarische Darstellungen Die meisten statistischen Auswertungen haben tabellarische Darstellungen. Dazu gehören die Daten über Benutzer, deren Aktionen auf der Website, letzte Anmeldungen usw. Einige Tabellen haben Hyperlinks, die auf andere Tabellen mit zusätzlichen Informationen verweisen. Darüber hinaus gibt es Tabellen, die außer den Textdaten auch grafische Darstellungen als horizontale Diagramme enthalten. Jede Tabelle wird dynamisch erstellt. Ein Beispiel des Quellcodes befindet sich im Anhang. ____________________________________________________________________________________ - 10 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 3.5 Programmablaufplan 4. Test Nach der Kompilierung des Programms wurde es im Produkt „camm Web-Manager“ eingebaut und auf der Website der Firma CompuMaster unter Verwendung verschiedener Browser getestet. Die hierbei aufgetretenen Fehler und die Änderungswünsche des Projektleiters wurden direkt berücksichtigt und in das Programm bei der Überarbeitung nach den Tests umgesetzt. Die Funktionalität des Programms wurde auch von anderen Mitarbeiter geprüft. Nach der Behebung aller ____________________________________________________________________________________ - 11 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Fehler wurden die erstellten Seiten auf der Website der Firma BOMAG getestet. Der Test wurde erfolgreich durchgeführt und hat die gute Funktionalität des Programms gezeigt. 5. Zusammenfassung/Schlussfolgerung 5.1 Soll/Ist-Vergleich Zeit Arbeitschritt Geplante Dauer Tatsächliche Dauer - Ist-Analyse/Soll-Konzept 4 Stunden 3 Stunden - Festlegen der Aufgaben der 4 Stunden 4 Stunden 6 Stunden 4 Stunden Zielgruppen - Beschreibung der statistischen Auswertungen - Erstellung der SQL-Abfragen 4 Stunden 5 Stunden - Programmierung der User 20 Stunden 23 Stunden 16 Stunden 16 Stunden 2 Stunden 1 Stunde Controls in ASP.NET - Codierung der Webskripte für die Berichtsseiten in ASP.NET - Positionierung und Visualisierung der User Controls auf den Seiten - Testphase 4 Stunden 4 Stunden - Erstellen der 10 Stunden 10 Stunden 70 Stunden 70 Stunden Projektdokumentation Gesamtstunden 5.2 Fazit Während der Arbeit am Projekt traten einige Probleme auf, zum Beispiel war die ASP.NET-Technologie für mich komplett neu, deshalb mussten mehrere Lösungsansätze, besonders im Bereich der Programmierung der User Controls, durchprobiert werden. Dies hat mehr Zeit in Anspruch genommen. Abschließend kann man jedoch trotz kleinerer Probleme sagen, dass das Projekt erfolgreich und planmäßig durchgeführt wurde. ____________________________________________________________________________________ - 12 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 6. Anhang 6.1 Screenshots Menü Kalender für Datumauswahl Textfeld für Datumauswahl Servergruppen User Control Abbildung 1: Web-Formular „User Clicks“. Dieses Formular zeigt die Anzahl von Klicks, die von jedem Benutzer im ausgewählten Zeitraum und entsprechend der markierten Server-Gruppen gemacht wurden. Das Kreisdiagramm zeigt die 10 Benutzer mit der maximalen Anzahl von Klicks. Wenn die Anzahl der gemachten Klicks weniger als 1 % ist, wird dieser Wert im Diagramm nicht dargestellt. ‚Others’ zeigt die Gesamtsumme von Klicks, die andere Benutzer gemacht haben. Wenn die Anzahl von Benutzern mehr als 10 ist, werden sie als horizontale Diagramme in einer Tabelle dargestellt. ____________________________________________________________________________________ - 13 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Abbildung 2: Web-Formular „Application clicks by users“ Dieses Formular definiert Benutzer, die die ausgewählte Anwendung während eines bestimmten Zeitraums besucht haben. Die Anwendung wird aus einer Liste gewählt, und dann als Benutzername, Datum und Zeit des letzten Besuchs und Dauer von Besuchen in der Tabelle angezeigt. Die Anzahl der Klicks wird durch horizontale Diagramme dargestellt. ____________________________________________________________________________________ - 14 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Abbildung 3: Web-Formular „Server groups history“ Dieses Formular zeigt die Änderungen von der Anzahl der Klicks für Server-Gruppen auf der Website während ausgewählten Zeitraums (Flächendiagramm). ____________________________________________________________________________________ - 15 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Abbildung 4: Web-Formular „New users – contact details“ Dieses Formular zeigt ausführliche Information von neuen Benutzern mit ihren KontaktDaten. ____________________________________________________________________________________ - 16 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Ereignisse, die dargestellt werden müssen Abbildung 5: Web-Formular „Event log“ mit Unterformular Dieses Formular zeigt alle ausgewählten Ereignisse für einen bestimmten Zeitraum. Jeder Tabellensatz verweist auf die Seite mit Information über das Ereignis. Die durch Checkfelder im Feld „Close event“ gekennzeichneten Ereignisse werden während nächster Aufrufe nicht gezeigt. ____________________________________________________________________________________ - 17 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ Abbildung 6: Web-Formular „Current activity“ Dieses Formular zeigt, welche Benutzer momentan online sind. Das Hyperlink ‚Activity log’ verweist auf die Seite mit Information, welche Anwendungen vom Benutzer in den letzten 15 Minuten besucht wurden. ____________________________________________________________________________________ - 18 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 6.2 Quellcode a. Codefragment für Erstellung eines Formulars ‘Deklarierung der Objekte und Variablen Protected ServerGroupIPs(100, 100) As String Protected ServerGroups As CompuMaster.camm.WebManager.WMSystem.ServerGroupInformation() Protected TextboxDateFrom, TextboxDateTo As TextBox Protected LabelDateToError, LabelDateFromError, LabelInterval As Label Protected ButtonShowReport As Button Protected TopBorderTRow, BottomBorderTRow, TitleTRow, MenuBarTRow, cammlogo As TableRow Protected AppNameCell, TitleTCell, LeftTCell, RightTCell As TableCell Protected LinkButtonPrintView As LinkButton Protected PrintViewTable As Table Protected WithEvents CalendarFrom, CalendarTo As Calendar Protected CellServerGroupsPrintTable, CellTo, CellFrom As TableCell Protected CheckBoxCell As HtmlControls.HtmlTableCell Protected SelectTable As HtmlControls.HtmlTable Protected PrintPage As HtmlControls.HtmlAnchor ‘Vorgegebene Einstellungen Public Overridable Sub PagesLoad() PrintPage.Visible = False Server.ScriptTimeout = 10000 ServerGroupsPrintTable.CellPadding = 0 ServerGroupsPrintTable.CellSpacing = 0 IsPrintView = True Try If TextboxDateFrom.Text = "" Then CalendarFrom.VisibleDate = DateTime.Now.AddDays(-1) CalendarFrom.SelectedDate = CalendarFrom.VisibleDate ____________________________________________________________________________________ - 19 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ TextboxDateFrom.Text = CalendarFrom.VisibleDate Else CalendarFrom.VisibleDate = CType(TextboxDateFrom.Text, DateTime) CalendarFrom.SelectedDate = CalendarFrom.VisibleDate End If If TextboxDateTo.Text = "" Then CalendarTo.VisibleDate = DateTime.Now CalendarTo.SelectedDate = CalendarTo.VisibleDate TextboxDateTo.Text = CalendarTo.VisibleDate Else CalendarTo.VisibleDate = CType(TextboxDateTo.Text, DateTime) CalendarTo.SelectedDate = CalendarTo.VisibleDate End If Catch End Try CellFrom.Text = "<b>From: </b>" & TextboxDateFrom.Text CellTo.Text = "<b>To: </b>" & TextboxDateTo.Text Dim ServerInfo As CompuMaster.camm.WebManager.WMSystem.ServerInformation() Dim i As Integer Dim j As Integer ‘Definieren von Servergruppen For i = 0 To cammWebManager. System_GetServerGroupsInfo.GetUpperBound(0) ServerGroups = cammWebManager. System_GetServerGroupsInfo For j = 0 To cammWebManager.System_GetServersInfo (ServerGroups(i).ID).GetUpperBound(0) ServerInfo = cammWebManager.System_GetServersInfo (ServerGroups(i).ID) ServerGroupIPs(i, j) = ServerInfo(j). IPAddressOrHostHeader Next ____________________________________________________________________________________ - 20 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ CheckBoxListServerGroups.Items.Add (ServerGroups(i).Title) CheckBoxListServerGroups.Items(i).Selected = True Next CheckBoxCell.Controls.Add(CheckBoxListServerGroups) End Sub ‘Wenn der Schalter „Show report“ gedrückt ist Sub AfterClick() Dim i As Integer Dim j As Integer LabelDateFromError.Text = "" LabelDateToError.Text = "" ‘Daten im Textfeld „From“ korrekt? Try DateTime.Parse(TextboxDateFrom.Text) Catch LabelDateFromError.Text = "Error!" End Try ‘Daten im Textfeld “To” korrekt? Try DateTime.Parse(TextboxDateTo.Text) Catch LabelDateToError.Text = "Error!" End Try If LabelDateFromError.Text = "" And LabelDateToError.Text = "" Then If TextboxDateFrom.Text <> "" Then DateFrom = CType(TextboxDateFrom.Text, DateTime) Else DateFrom = CalendarFrom.SelectedDate End If If TextboxDateTo.Text <> "" Then DateTo = CType(TextboxDateTo.Text, DateTime) Else DateTo = CalendarTo.SelectedDate ____________________________________________________________________________________ - 21 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ End If ‘Wenn das Datum “To” früher als das Datum “From” If DateTo < DateFrom Then LabelInterval.Text = "The date 'To' should be later than the date 'From'" Exit Sub Else LabelInterval.Text = "" End If ‘Erstellung des Teils der SQL-Abfrage für Server IP ServerIP = " and (serverip='" Dim IsCheckBox As Boolean = False For i = 0 To cammWebManager.System_GetServerGroupsInfo. GetUpperBound(0) ServerGroups = cammWebManager.System_GetServerGroupsInfo For j = 0 To cammWebManager.System_GetServersInfo (ServerGroups(i).ID).GetUpperBound(0) If CheckBoxListServerGroups.Items(i).Selected Then If Not IsCheckBox Then IsCheckBox = True ServerIP &= ServerGroupIPs(i, j) & "'" Else ServerIP &= " or serverip='" & ServerGroupIPs (i, j) & "'" End If End If Next Next ServerIP &= ")" If Not IsCheckBox Then ServerIP = "" ‘Aufruf des User Controls UserClicksControl.cammWebManager = cammWebManager UserClicksControl.LoadData(DateFrom, DateTo, ServerIP, False, True, IsPrintView) 'user clicks End If End Sub ____________________________________________________________________________________ - 22 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ b. Codefragment für die Teleriks ASP.NET r.a.d. chart Komponente ‘Definieren der Farben für Kreisdiagramm Private Shared colors As Color() = {Color.Red, Color.Lime, Color.Yellow, Color.Olive, Color.Blue, Color.Green, Color.Fuchsia, Color.Aqua, Color.Purple, Color.Gray, Color.Brown} ‘Erstellung des Kreisdiagramms Public Sub showpiechart(ByVal arr_name As Array, ByVal arr_value As Array, ByVal others As Integer) RadChart1.Clear() Dim s0 As ChartPieSeries = CType(RadChart1.GetChartSeries(0), ChartPieSeries) ‘Diagrammeinstellungen If s0 Is Nothing Then s0 = RadChart1.CreatePieSeries(Color.Blue, "Makes") s0.ShowValues = True s0.ShowPercent = True s0.PercentFormat = "##0.00" s0.ShowLabels = False s0.LabelDelimiter = " - " s0.DiameterScale = 0.6 End If Dim i As Integer Dim sum As Integer ‘Daten aus dem Außencontrol For i = 0 To arr_value.GetUpperBound(0) s0.AddItem(arr_value(i), arr_name(i), colors(i)) sum += arr_value(i) Next sum += others s0.AddItem(others, "others", colors(i)) ‘Positionierung des Diagramms innerhalb des User Controls RadChart1.Title.DrawBorder = True ____________________________________________________________________________________ - 23 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ RadChart1.Title.DrawBack = True RadChart1.Title.BackColor = Color.White RadChart1.Title.Text = "Total: " & sum RadChart1.Title.VAlignment = ChartVAlignment.Middle RadChart1.Title.HAlignment = ChartHAlignment.Center RadChart1.Title.Location = ChartLocation.InsideChart End Sub c. Codefragment für dynamische Erstellung einer Tabelle ‘User Control „New users – list of users“ Public Sub LoadData(ByVal DateFrom As DateTime, ByVal DateTo As DateTime, ByVal serverIP As String, ByVal sum_rep As Boolean, ByVal IsPrintView As Boolean) DateTo = DateTo.AddDays(1) If IsPrintView Then Dim selectSQL1 As String Dim constr As String = cammWebManager.ConnectionString ‘SQL-Abfrage für Extraktion der neuen Benutzer aus der Datenbank selectSQL1 = "SELECT userid, logindate, conflicttype FROM log WHERE (conflicttype=1 OR conflicttype=3)" & serverIP & AND logindate>=@DateFrom AND logindate<=@DateTo" & AND userid NOT IN (SELECT userid FROM log WHERE conflicttype=-31)" & ORDER BY logindate DESC" Dim myCon As New SqlConnection(constr) Dim cmd1 As New SqlCommand(selectSQL1, myCon) cmd1.CommandTimeout = 0 cmd1.Parameters.Add(New SqlClient.SqlParameter("@DateFrom", SqlDbType.DateTime)).Value = DateFrom cmd1.Parameters.Add(New SqlClient.SqlParameter("@DateTo", SqlDbType.DateTime)).Value = DateTo Dim reader As SqlDataReader ‘Erstellung der Verbindung mit der Datenbank Try ____________________________________________________________________________________ - 24 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ myCon.Open() Try reader = cmd1.ExecuteReader() Dim arr_1(1) As String Dim arr_2(1) As DateTime Dim arr_3(1) As String Dim counter As Integer ‘Extraktion der Daten Do While reader.Read() If Not IsDBNull(reader(0)) Then arr_1(counter) = userName(reader(0)) ‘user id arr_2(counter) = reader(1) ‘logindate If reader(2) = 1 Then arr_3(counter) = "user" Else arr_3(counter) = "admin" End If counter += 1 ReDim Preserve arr_1(counter) ReDim Preserve arr_2(counter) ReDim Preserve arr_3(counter) End If Loop ViewState("user_name") = arr_1 ViewState("logindate") = arr_2 ViewState("conflicttype") = arr_3 ViewState("counter") = counter Finally reader.Close() End Try Catch ex As Exception cammWebManager.Log.Warn(ex.Message & ex.StackTrace) Finally If (Not myCon Is Nothing) Then myCon.Close() End If ____________________________________________________________________________________ - 25 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ End Try End If ‘Aufruf der Prozedur für Erstellung der Tabelle table_fill() If ViewState("counter") = 0 Then LabelIsData.Text = "No data for current time period" DataValues.Visible = False If sum_rep Then Me.Visible = False Else Me.Visible = True End If Else Me.Visible = True LabelIsData.Text = "" DataValues.Visible = True End If End Sub ‘Prozedur für dynamische Erstellung der Tabelle Private Sub table_fill() Dim i As Integer ‘Anzahl der Tabellensätze For i = 0 To ViewState("counter") - 1 ‘Deklarierung der Zeile und der Zellen Dim rowNew As New TableRow Dim cellNew1 As New TableCell Dim cellNew2 As New TableCell Dim cellNew3 As New TableCell ‘Tabellenzeilen haben verschiedene Farben If i Mod 2 = 0 Then rowNew.BackColor = Color.Silver Else rowNew.BackColor = Color.Gainsboro End If ‘Ausfüllung der Zellen ____________________________________________________________________________________ - 26 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ cellNew1.Text = ViewState("user_name")(i) cellNew2.Text = ViewState("logindate")(i) If ViewState("conflicttype")(i) = "1" Then cellNew3.Text = "user" Else cellNew3.Text = "admin" End If ‘Hinzufügen der Zeile zur Tabelle rowNew.Controls.Add(cellNew1) rowNew.Controls.Add(cellNew2) rowNew.Controls.Add(cellNew3) DataValues.Controls.Add(rowNew) Next End Sub ____________________________________________________________________________________ - 27 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 6.3 Glossar .NET: Die Microsoft Plattform für XML-Web Services, die Informationen, Geräte und Anwender in einer einheitlichen und personalisierten Weise miteinander verbindet. ASP (Active Server Pages): Skriptumgebung für Microsoft-Webserver. ASP ist offen für mehrere Programmiersprachen, beispielweise – VBScript oder JScript. ASP.NET: Eine Gruppe von Technologien in Microsoft .NET Framework zum Erstellen von Webanwendungen und XML-Webdiensten. ASP.NET-Seiten werden auf dem Server ausgeführt und erstellen Markup (z. B. HTML, WML oder XML), das an einen Browser gesendet wird. ASP.NET-Seiten verwenden ein kompiliertes, ereignisgesteuertes Programmiermodell, das die Leistung verbessert und die Trennung von Anwendungslogik und Benutzeroberfläche ermöglicht. HTML (Hypertext Markup Language): Gestaltungssprache für den Aufbau von Seiten, die mit einem Internet-Browser anzeigbar sind. IIS (Microsoft Internet Information Server): Server zur Bereitstellung von Informationen über das HTTP-Protokoll. IP-Adresse: Eine Zahlenkombination, mit der ein Rechner in einem Netzwerk eindeutig identifiziert werden kann. MS SQL Server: Komplexes und professionelles Datenbanksystem von Microsoft. Ermöglicht die Umsetzung großer Anwendungen. Verfügt über hervorragende Entwicklungswerkzeuge. Server: Eine Applikation, die einem anderen Programm (Client) Daten zur Verfügung stellt und seine Dienste anbietet. SQL (Structured Query Language): Ein internationaler Standard für die Abfrage von relationalen Datenbanken. ____________________________________________________________________________________ - 28 - Entwicklung der User Controls und eines Web-Frontends für statistische Auswertungen im Produkt „camm WebManager“ Dokumentation zur betrieblichen Projektarbeit Konstantin Sergeev CompuMaster GmbH ____________________________________________________________________________________ 6.4 Literatur 1. Microsoft Developers Network Online, http://msdn.microsoft.com 2. „ASP.NET und die .NET-Plattform“, Matthew MacDonald, MITP-Verlag 3. „JavaScript. Das umfassende Referenzwerk“, David Flanagan, Verlag: O’Reilly 4. „HTML 4.0 Referenz“, Stefan Münz, Wolfgang Nefzger, Franzis Verlag GmbH 5. „Visual Basic.NET“, Evangelos Petroutsos, Verlag: Sybex Verlag ____________________________________________________________________________________ - 29 -