5.1 Soll/Ist-Vergleich Zeit - Konstantin Sergeev

Werbung
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 -
Herunterladen