Querdenker - das Online-Magazin mit News zum Nachdenken
Nr. 7 - Januar/Februar/Maerz 2002 - Bedenkenswertes, Erlesenes und Quergedachtes
Linie horizontal

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:

Bildschirm-Ausgabe des Code Behind-Beispiels

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

Hammer 1

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.

Hammer 2

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

Hammer 3

see-programming

Home
Programmierung
Philosophie
Referenzen und Projekte
Kontakt
Newsletter

querdenker

Frühere Ausgaben

Impressionen - aus den Tiefen des Netzes

Impressum
Haftungsausschluss
Linie horizontal