ASP.NET (III) - Einführung ins "Next Generation"-Programming
Dieser Artikel basiert auf der Beta 2 des .NET Frameworks SDK. Bezüglich des ASP.NET kann man davon
ausgehen, dass die Version "Feature-stabil" ist. Dies bedeutet, dass nur mehr Bugs beseitigt und keine
bestehenden Features umgearbeitet werden sollen.
Lesen Sie im Archiv auch früher erschienene
Artikel zu ASP.NET und MS.NET! Einen unserer Artikels zur Einführung ins "Next Generation"-Programming finden
Sie in der Nummer 4, den 1. Teil der jetzigen Serie liegt hier
und den zweiten Teil finden Sie in Ausgabe 6.
4. Weitere Techniken in ASP.NET
4.1 Code behind
Die Trennung von Content und Programmcode war immer schon das Ziel des Projektentwicklers hinsichtlich Wartbarkeit
und Übersichtlichkeit der Web-Applikationen. Bisher konnte das Ziel nur teilweise über "includes" erreicht
werden, wobei ASP hinsichtlich dynamischer Include-Files schnell seine Grenzen erreichte. Abgesehen von dem schier
undurchdringbaren Code und seiner Performanceproblematik, wenn 17x zwischen HTML- und ASP-Parser gewechselt und
dazwischen vielleicht 40x ein Response.Write mit darin enthaltenen HTML-Tags aufgerufen wurde. Außerdem: Wer
steigt schon problemlos nach Monaten durch seinen eigenen Code?
Ganz ähnlich zu den WebClasses in Visual Basic 6 und zu den in ASP.NET verwendeten User Controls ist es durch
die Code Behind-Technik möglich, Inhalt und Code sauber zu trennen. Zu diesem Zweck kreieren wir eine Basisklasse
in ASP.NET, um von dieser abzuleiten. Dadurch wird die ganze Seite zu einem Objekt, deren Methoden und Eigenschaften
in einer separaten Seite abgeleitet werden können.
Betrachten wir dies anhand eines Beispiels: Zunächst ist es notwendig, ein Klassen-File zu erstellen und
abzuspeichern. Unser File können wir selbstverständlich in jeder beliebigen .NET-Sprache schreiben. Unser
File nennen wir "Datenlogik.vb", d.h. es ist naturgemäß ein Visual Basic-File:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Webcontrols
Imports System.Web.UI.HtmlControls
Public Class Datenlogik
Inherits Page
Public MyDataGrid As DataGrid
Public Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
Dim MyDataAdapter As SqlDataAdapter
Dim MeinDatenSet As DataSet
MyDataAdapter = New SqlDataAdapter("Select Top 20 CustomerID, _
CompanyName, ContactName, ContactTitle FROM Customers", _
"server=localhost; database=Northwind; Trusted_Connection=yes")
MeinDatenSet = New DataSet()
MyDataAdapter.Fill(MeinDatenSet, "Customers")
MyDataGrid.DataSource = MeinDatenSet.Tables("Customers")
MyDataGrid.DataBind()
End Sub
End Class
In diesem "Code Behind-File" wird alles für den Datenbank-Zugriff und die Datenbank-Verbindung
vorbereitet. Es ist im Grunde ein einfaches Data Grid-Beispiel. Für unsere Zwecke machen wir ein Connect auf
die Beispielsdatenbank "Nordwind". Jetzt fehlt noch die eigentliche aspx-Seite für den Browser, die bei einem
Code Behind-Projekt immer mit dieser Zeile beginnt:
<%@Page Inherits="MeineKlasse" src="MeinClassenPfad.vb" %>
Hier der Code für die aspx-Seite mit dem Namen: "Behind.aspx":
<%@ Page Inherits="Datenlogik" src="Datenlogik.vb" %>
<html>
<head>
<title>Mein CodeBehind_Beispiel</title>
</head>
<body>
<asp:DataGrid Runat="server" ID="MyDataGrid" width="740"
BorderColor="#ff3333" BackColor="#ff3333" ShowFooter="False"
Font-Name="Verdana" Font-Size="12pt" HeaderStyle-BackColor="#0033ff"
HeaderStyle-ForeColor="#ffffcc" />
</body>
</html>
Der Aufruf der Seite im Browser führt dann zu dieser Ausgabe:

Sicherlich ist dies ein stark vereinfachtes Beispiel, um den Umgang mit Code Behind-Projekten zu erlernen. Ebenso ist
auch das Prinzip nicht viel anders, als zum Beispiel mit normalen Include-Files. Neu ist eigentlich nur die Art der
Einbindung über die genannte Page-Direktive, die somit den "Include-File/Virtual"-Befehl ersetzt. Dennoch kann
Code Behind sehr viel komplexer sein und schafft trotzdem eine saubere Trennung von Businesslogik und Präsentation.
Projekte werden dadurch um ein Vielfaches wartbarer und dies senkt damit auch Kosten.
In der nächsten Ausgabe von querdenker:
Wieder .NET-Artikel, diesmal bereits aufbauend auf der Final Release von .NET
und vieles mehr ...ab April 2002
Launch von .NET und Visual Studio.NET - im Februar 2002
Weltweit werden im Rahmen von groß angelegten Entwickler-Events im Februar 2002 die Launches der Final Release
von .NET-Framework und Visual Studio.NET vollzogen. Zu vielen dieser Events reist auch der Chef-Architekt, Bill Gates, an.
Vier Jahre Entwicklungszeit eines hochkarätigen Entwicklungsteams finden mit diesen Veranstaltungen
ihr möglicherweise ruhmreiches Ende. .NET wird auf lange Sicht die Zukunft Microsofts und der von ihr abhängigen
Entwickler bestimmen. In vielen Veranstaltungen rund um den Globus wird noch einmal der .NET-Geist beschworen, so auch
beispielsweise am 4.2. in Wien und am 13./14.2. in San Francisco. Auf diesen Veranstaltungen wird Gates auch eine
Keynote halten zur .NET-Revolution unter dem Motto: "Any Time, Any Where, Any Device". Mit Sicherheit kann man aber bereits
jetzt feststellen, dass das Interesse der Entwickler noch nie so groß war bezüglich neuer Technologien wie
jetzt mit dem Launch von .NET. Von daher kann man sicherlich einen Erfolg prophezeien.
Anmeldung und Näheres zur Wiener Veranstaltung in der Hofburg
|
 Meine Meinung - Überwachung total
Seit dem 11. September 2001 haben Neurotiker, Überwachungsfanatiker und die Feinde
der Demokratie wieder Hochkonjunktur. Jetzt sind die Strukturen geschaffen, um die Völker der westlichen
Welt komplett in den Staats-(Wirtschafts-)Zugriff zu bringen. Jeder, der dagegen Bedenken äußert, gerät
in den Dunstkreis des Terrorismus.
 Da trifft es
sich gut, dass man die Überwachung des Internets ja auch kommerzialisieren kann. Dies versucht beispielsweise
die Hamburger Firma Mediatime. Sie bringt ein Tool auf den Markt, das die Welt unbedingt noch gebraucht hat:
Gridpatrol, ein Suchroboter aus dem Dunstkreis der Uni Cambridge sucht im Internet nach Marken- und Logomissbrauch sowie Softwarepiraterie.
Gleichzeitig wird auch nach "Falschinformationen", Verleumdungen und übler Nachrede gefahndet, die vor allem für börsennotierte Unternehmen
relevant sind.
Diese Software wirft wieder eine Reihe von Fragen auf, so zum Beispiel - "wer beurteilt, ob eine Information falsch ist?".
Gridpatrol ist auch insofern bemerkenswert, da auch Newsgroups, P2P-Netze, FTP-Server und Chatkanäle durchsucht werden.
Im Überwachungsboot sitzen natürlich wieder die üblichen Verdächtigen, wie etwa die Phonographische
Industrie. Auch wenn unter dem Punkt "Referenzen" erstaunliche Zurückhaltung geübt wird, äußert man
sich doch vollmundig und ohne falscher Bescheidenheit. Bemerkenswert und hinterfragenswert ist der seltsame
Kommentar des Geschäftsführers von Mediatime: "Wir geben den Unternehmen ein Stück der Kontrolle über
das Internet zurück...".
Abgesehen davon, dass hier wieder einmal jemand das Wesen des Internets und auch die Funktionsweise so überhaupt
nicht verstanden hat, fragt sich auch, welche Kontrolle Unternehmen jemals über das Internet gehabt haben? Ja,
sicherlich: Die GEMA oder die Plattenindustrie, die beide immer noch nicht bemerkt haben, dass sie in der derzeitigen
Verfassung "Sterbevereine" sind, hätten schon ganz gerne die totale Kontrolle über das böse Medium
Internet.
Nur, spielen wirds dies auch nicht mit Gridpatrol. Und Terroristen lassen sich mit der Überwachung
des Internets von ihren Taten auch nicht abhalten. Zeitgleich werden dann schon mal die Anonymisierungsdienste wie
etwa von Zero Knowledge abgeschaltet. Bleibt die Frage, in wessen Interesse eigentlich die derzeitige
Kampagne von der totalen Regulierbarkeit des Internets denn liegt? Genau ...
Martin Kratschmer
see-programming
Home
Programmierung
Philosophie
Referenzen und Projekte
Kontakt
Newsletter
querdenker
Frühere Ausgaben
Impressionen - aus den Tiefen des Netzes
Impressum
Haftungsausschluss
|