AJAX Grundlagen und Verwendung in .NET - Stichwort „ATLAS“


Seminararbeit, 2006

46 Seiten, Note: 1,7


Leseprobe


Inhaltsverzeichnis

Management Summary

Abbildungsverzeichnis

Tabellenverzeichnis

Abkürzungsverzeichnis

1 Einleitung
1.1 Ziel der Arbeit
1.2 Vorgehensweise

2 AJAX
2.1 Definition von AJAX
2.2 Bestandteile von AJAX
2.2.1 Das XMLHTTPRequest-Objekt
2.2.2 JavaScript
2.2.3 Das Document Object Model (DOM)
2.2.4 Beispiel für eine Vereinigung der Bestandteile
2.3 Nachteile von AJAX

3 .NET
3.1 .NET und das .NET-Framework 2.0
3.2 ASP.NET (Active Server Pages) 2.0

4 Microsoft ASP.NET AJAX
4.1 Definition und Ziele des Frameworks
4.2 Architektur von Microsoft ASP.NET AJAX
4.3 ASP.NET AJAX Client Framework und Services
4.4 AJAX ASP.NET Server Extensions
4.4.1 ScriptManager
4.4.2 ScriptManagerProxy
4.4.3 UpdatePanel
4.4.4 AsyncPostBackTrigger
4.4.5 Timer
4.5 ClientControls
4.6 Webservices mit JavaScript aufrufen

5 Fazit

Literaturverzeichnis

Anhang
Anhang 1 : Beispiel für Vereinigung der Bestandteile
Anhang 2 : ClientScript Person Mitarbeiter
Anhang 3 : Asynchroner Datenabruf
Anhang 4 : AsynchPostBackTrigger
Anhang 5 : TimerControl
Anhang 6 : ClientControl CollapsiblePanel
Anhang 7 : Webserviceaufruf aus JavaScript

Management Summary

Der von Jesse James Garrett verfasste Essay über AJAX – die Abkürzung für „Asynchronous JavaScript and XML“ - gilt bis heute als eine Revolution des Internets: Was vorher nur durch Frames oder iFrames möglich war, ist nun auch mittels der schon länger bestehenden Skriptsprache JavaScript möglich. JavaScript kann das vom Internet Explorer als ActiveXObject und von anderen Browsern bereits nativ unterstützte XMLHTTPRequest-Objekt instanziieren. Dieses Objekt ist in der Lage einen asynchronen Datenverkehr zwischen Client und Server herzustellen. Der Benutzer schickt eine Anfrage an einen Server, jedoch entfällt das sonst übliche Neuladen der kompletten Webseite. Stattdessen übernimmt das XMLHTTPRequest-Objekt die Kommunikation: Es initiiert die Anfrage und wartet bis der Server die angeforderten Daten wieder zurückschickt. Während des Wartens auf die Antwort wird der Benutzer in seinem Workflow nicht unterbrochen. Das Ergebnis kann dann von JavaScript über das DOM dynamisch in die Webseite geschrieben werden. Zu den Pionieren des Einsatzes von AJAX gehört die Firma Google, die beispielsweise mit googleSuggest sehr früh zeigen konnte, wie der asynchrone Datenaustausch zu Gunsten der Benutzerfreundlichkeit eingesetzt werden kann.

Zur Ausführung von AJAX-basierten Aufrufen ist ein aktiviertes JavaScript unerlässlich und der Browser muss das XMLHTTPRequest-Objekt unterstützen. Es ist darüber hinaus nicht möglich eine veränderte AJAX-Seite zu drucken, diese als Lesezeichen hinzuzufügen und per Zurück-Button des Browsers einen Schritt innerhalb des Workflows zurückzugehen. Seit der „Entdeckung“ von AJAX treten für alle Skript- und Programmiersprachen vermehrt Frameworks auf, die den Kern einer solchen asynchronen Kommunikation abstrahieren, so dass sich der Entwickler nicht um die Übertragungsschicht kümmern muss – ein solches Framework wurde Mitte Oktober 2006 auch von Microsoft in einer Beta-Version veröffentlicht. Mit diesem Framework ist es möglich eine neue AJAX-basierte Seite zu erstellen und bereits bestehende Seiten ohne großen Aufwand mit asynchronem Datenaustausch zu versehen. Ein so genannter ScriptManager ist für die Kommunikation zuständig. Dabei ist anzumerken, dass die Browserkompatibilitätsschicht dafür sorgt, dass ein solcher Austausch in verschiedene Browser (derzeit Internet Explorer, Mozilla Firefox und Apple Safari) ablaufen kann. Ergänzend dazu wirkt ein UpdatePanel als ein Teil der Seite, der asynchron aktualisiert werden kann. ASP.NET AJAX bringt zudem eine ClientScript-Bibliothek mit sich, die eine objektorientierte mit JavaScript ermöglicht und auch ein ControlToolkit, das bestehende Controls um clientseitige Features erweitert.

Abbildungsverzeichnis

Abbildung 1: Das traditionelle Modell für Webapplikationen (links) im Vergleich zum AJAX Modell (rechts)

Abbildung 2: Die Schnittstellenbeschreibung des XMLHTTPRequest-Objekts gemäß des W3C Standardisierungsvorschlages

Abbildung 3: Das DOM einer XHTML-konformen Webseite

Abbildung 4: Zusammensetzung WebForm

Abbildung 5: ASP.NET AJAX Architektur

Tabellenverzeichnis

Tabelle 1: Zustände für das XMLHttpRequest-Objekt

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

In diesem Kapitel wird die Zielsetzung der Arbeit, sowie die Vorgehensweise zum Vermitteln der Inhalte erläutert.

1.1 Ziel der Arbeit

Das von Jesse James Garrett geprägte Modewort „AJAX“ steht für „Asynchronous JavaScript and XML“ und eröffnet dem Benutzer und dem Entwickler von Webseiten neue Möglichkeiten. Dabei steht der Grundgedanke im Vordergrund, dem Benutzer einen komfortableren Umgang mit Webanwendungen zu ermöglichen. Ziel dieser Arbeit ist es einen Einblick in die Nutzung von AJAX in ASP.NET 2.0 anhand des von Microsoft herausgegebenen AJAX ASP.NET-Frameworks zu erhalten – ein grundlegendes Verständnis für die asynchrone Kommunikation und die Technologien, die zwischen Client und Server zum Einsatz kommen, bilden dazu die Grundlage der Arbeit.

1.2 Vorgehensweise

Die Grundlagen dieser Arbeit werden bei der Definition von AJAX und den einzelnen Bestandteile, die dieses Konzept ermöglichen, vermittelt. Im Mittelpunkt steht dabei nicht, ein lauffähiges Beispiel zu implementieren, sondern eher ein grundsätzliches Verständnis für den Ablauf der Kommunikation bei einem asynchronen Datenaustausch zu vermitteln. Der Einsatz von AJAX in Verbindung mit ASP.NET bedarf zudem einer Einführung in das Thema .NET, respektive ASP.NET, der Technologie zum Entwickeln von Webanwendung.

Kapitel 4 erläutert das ASP.NET AJAX-Framework mit seinen Bestandteilen und Möglichkeiten. Basierend auf ASP.NET 2.0 hat Microsoft Mitte Oktober 2006 ein erstes Release von ASP.NET AJAX veröffentlicht. Zwar steht dieses noch im Beta-Stadium, es lassen sich jedoch bereits jetzt neue, stabile Webanwendungen mit diesem Framework erstellen und bestehende Seiten um die Möglichkeit des asynchronen Datenaustauschs erweitern. Zudem trumpft Microsoft mit zwei weiteren Features in diesem Bereich auf: Es ist nun möglich JavaScript mit einem objektorientierten Ansatz zu programmieren und es können lokale Webservices aus diesem Script heraus aufgerufen werden. Zeitgleich entstand in Kooperation mit Codeplex eine Palette von ClientControls, die auf Benutzerseite ausgeführt werden und eine grafische und benutzerfreundliche Erweiterung von bestehenden Controls ermöglichen.

2 AJAX

Der Begriff „AJAX“ wurde von Jesse James Garrett in seinem Essay „Ajax: A New Approach to Web Applications“[1] Mitte Februar des Jahres 2005 das erste Mal öffentlich geprägt. Dieser Beitrag wird bis heute als eine Art „Geburtsstunde“ von AJAX angesehen. Eine Definition von AJAX, den Bestandteilen, die dieses Konzept ermöglichen, sowie Beispiele für die Einsatzgebiete von AJAX werden in den folgenden Kapiteln gegeben.

2.1 Definition von AJAX

„AJAX beschreibt eine Technologie, mit der Daten zwischen Client und Server … ausgetauscht werden können, ohne dass die gesamte Web-Seite neu geladen werden muss.“ [2] Zu verdanken ist dieses Verfahren den einzelnen Bestandteilen von AJAX, aus denen sich auch das Akronym zusammen­setzt: So kommen bei diesem Konzept „Asynchronous JavaScript a nd X ML“[3] zum Einsatz. Diese einzelnen Techno­logien ermöglichen es, eine Webseite wie eine Applikation aussehen zu lassen und zu bedienen, indem das sonst übliche Neuladen einer Seite - beispielsweise auf Benutzer­eingaben hin - entfällt.

Quelle: adaptive path

Abbildung 1: Das traditionelle Modell für Webapplikationen (links) im Vergleich zum AJAX Modell (rechts)

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 zeigt den Unterschied zwischen einer traditionellen HTTP-Anfrage (oben im Bild) und wie die Ajax-Engine sich zwischen den Client und den Server klinkt (unten im Bild), um einen asynchronen Auf- und Abruf von Daten zu ermöglichen. Unter asynchroner Kommunikation versteht man das zeitlich versetzte Senden und Empfangen von Daten, ohne eine Antwort des Empfängers abwarten zu müssen, was den Workflow des Benutzers normalerweise blockieren würde.[4]

Zu den Vorreitern im Einsatz von AJAX zählt die Firma Google, die mit googleSuggest und googleMaps als Erster wirklich zeigen konnten, was sich hinter dieser Möglichkeit verbirgt und wie sie gezielt eingesetzt werden kann.

2.2 Bestandteile von AJAX

Wie im vorigen Kapitel beschrieben, handelt es sich bei AJAX nicht um eine eigenständige Technologie, sondern vielmehr um ein Zusammenspiel bereits länger existierender Technologien. Die folgenden Punkte geben einen kurzen Überblick über diese Technologien, ohne aber auf syntaktische Hintergründe genauer einzugehen. Ein Grundverständnis wird somit für das anschließende Codebeispiel vorausgesetzt.

2.2.1 Das XMLHTTPRequest-Objekt

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Die Schnittstellenbeschreibung des XMLHTTPRequest-Objekts gemäß des W3C Standardisierungsvorschlages.

Quelle: W3C

Das XMLHTTPRequest-Objekt bildet die Basis von AJAX, in dem es „…den Datenaustausch mit einem Webserver ermöglicht, jedoch ganz ohne den gefürchteten „Page Refresh“ (dem Neuladen und vor allem dem Neuaufbau der Seite)“[5]

Das mittels JavaScript zu instanziierende XMLHTTPRequest-Objekt stellt eine Schnittstelle zur Erzeugung von HTTP-Transaktionen auf der Seite des Clients bereit und ist bei einer asynchronen Transaktion der Initiator der Anfrage an den Server.[6] Für den Request kann sich das XMLHTTPRequest-Objekt unterschiedlicher Anfragemethoden bedienen, unter anderem GET und POST.[7] Liefert der Server auf eine Anfrage hin XML-Daten aus, so kann das aufrufende XMLHTTPRequest-Objekt diese wahlweise als Klartext oder DOM-Struktur zurückliefern.[8] Dabei ist zu beachten, dass „…it (das XMLHTTPRequest-Objekt; A.d.V.) is not limited to being used with XML, it can request or send any type of document, although dealing with binary streams can be problematical in javascript.“[9] Der Aufbau des XMLHTTPRequest-Objekts ist bis heute nur ein de facto-Standard; es liegt jedoch beim W3C[10] ein Standardisierungsvorschlag vor, der in Abbildung 2 zu sehen ist.

Bis zur Einführung dieses Objektes „Ende der 90er Jahre…“[11] durch Microsoft, „...behalf man sich mit unsichtbaren Frames und iFrames, die – unbemerkt vom Rest der Seite – permanent neu geladen werden konnten.“[12] Microsoft führte dieses Objekt vor allem für die Nutzung in einer neuen Version von Outlook Web Access ein[13] - es wurde „…im Internet Explorer 5 für Windows als ActiveX-Objekt implementiert.“[14] Anders hingegen sieht es bei den übrigen Browsern aus: „other browsers such as Firefox, Safari, and Opera implement it (das XMLHTTPRequest-Objekt; A.d.V.) as a native JavaScript object.“[15], auch die „Version 7.0 des Internet Explorer … soll das XMLHttpRequest-Objekt nativ unterstützen.“[16]. Nach einer plattformunabhängigen Instanziierung des XMLHTTPRequest-Objekts, sind „die verschiedenen Implementierungen … zueinander kompatibel“[17], so dass danach gleichermaßen mit dem Objekt gearbeitet werden kann.

2.2.2 JavaScript

Als die Skriptsprache JavaScript 1995 von Netscape für dessen Browser-Version 2.0 eingeführt wurde, war das W3C noch weit davon entfernt „webweit“ als Standardisierungsgremium akzeptiert zu werden.[18] Dennoch wollte Netscape seiner Skriptsprache den Rang eines Standards verleihen und schaltete die ECMA ein – seitdem ist JavaScript unter der Bezeichnung ECMA-262 als Industriestandard definiert.[19] JavaScript bietet unter anderem folgende Möglichkeiten:

- Dynamischer Manipulation von (X)HTML-Inhalten über das DOM
- Interaktion mit dem Nutzer durch Event-Handling wie beispielsweise der Event-Handler onmouseover um Rollover-Grafiken zu ermöglichen
- Validierung von Formulareingaben auf der Seite des Clients vor dem Absenden des Formulars
- Die Instanziierung des XMLHTTPRequest-Objekts, das zum asynchronen Datenaustausch benötigt wird, erfolgt auch per JavaScript

JavaScript wird meist clientseitig implementiert, was wiederum bedeutet, dass es dem Browser zufällt, den hinterlegten Code zu interpretieren[20] – vorausgesetzt der Browser ist dazu in der Lage und der Benutzer hat JavaScript aktiviert.[21]

2.2.3 Das Document Object Model (DOM)

Klassische Webseiten werden regelmäßig mit neuem HTML-Code von Seiten des Servers bedient und können somit nach jeder Aktualisierung der Seite in einem neuen Layout erscheinen.[22] Hingegen entfällt bei Seiten, die AJAX benutzen, diese komplette Aktualisierung; um dennoch auf einzelne Elemente innerhalb der Seitenstruktur zugreifen und dieses ändern zu können, bedient man sich des DOMs.[23]“Das DOM ist ... ein vom W3-Konsortium entwickelter Standard“[24] und stellt eine „Schnittstelle für Programmiersprachen zur Verfügung, um auswählbare Einzeldaten oder Datengruppen in XML-Dokumenten lesen, ändern und löschen zu können, um ihnen Style-Definitionen aus Sprachen wie CSS und XSLT zuordnen zu können und um Ereignisse zu behandeln, die mit diesen Daten geschehen können.“[25] Dabei begreift das DOM eines XML- oder HTML-Dokuments die gesamte Beschreibung als eine Hierarchie von Knotenpunkten (engl. nodes)[26], ebenso kann man an dieser Stelle auch von einer Baumstruktur sprechen.

Abbildung in dieser Leseprobe nicht enthalten

Quelle: Teialehrbuch

Abbildung 3 zeigt das DOM einer Webseite: Das „html“-Element bildet die Wurzel (Root) des Baums, davon gehen einige Äste wie in erster Instanz das „head“- und das „body“-Tag aus. Das unter dem „body“-Tag angesiedelte „p“-Tag bildet aus Sicht des „body“-Tags einen so genannten Kindknoten (child); das „body“-Tag wiederum fungiert für das „p“-Tag als Elternknoten (parent). Nach diesem Schema kann man ein DOM-konformes Dokument durchwandern. Für das Ansprechen eines bestimmten Knotens wird dem Element ein dokumentenweit eindeutiges Attribut in Form einer ID mitgegeben, beispielsweise <p id=“header“></p>. „Das Ausgangsobjekt für den Zugriff auf einzelne Bestandteile des Markup und des Inhalts ist das document-Objekt.“[27] Somit kann mittels der JavScript-Funktion document.getElementByID("header") das obige Element angesprochen und verändert werden.[28]

2.2.4 Beispiel für eine Vereinigung der Bestandteile

Das folgende Beispiel instanziiert zuerst ein XMLHTTPRequest-Objekt. Dabei ist zu beachten, dass erst geprüft wird, ob es sich um ein ActiveXObject (Internet Explorer bis Version 6) oder ein natives XMLHTTPRequest-Objekt handelt. Abhängig davon wird die Membervariable xmlHttpRequest instanziiert:

Abbildung in dieser Leseprobe nicht enthalten

Nach dieser Instanziierung kann gleichermaßen mit dem Objekt gearbeitet werde – unabhängig um welchen Browser es sich handelt. Der Eigenschaft onreadystatchange des Objekts wird eine Methode zugewiesen, die aufgerufen wird, sobald sich der readyState ändert – eine Auflistung der verschiedenen Zustände während der Datenübertragung ist in Tabelle 1 zu finden.[29] Die Methode open() des XMLHTTPRequest-Objekts erwartet drei Argumente:

- Der erste Parameter gibt den HTTP-Anforderungstyp an.
- Der zweite Parameter eine URL, die angefragt werden soll
- Der dritte Parameter ist ein boolean, der angibt ob der Aufruf asynchron erfolgen soll.

Diese Methode sendet noch keinerlei Informationen an den Server. Erst die Methode send() führt diesen Request aus – sie erwartet einen Parameter, der bei einem Versand per POST an die URL angehängt werden würde. Für dieses Beispiel ist dies jedoch nicht notwendig, daher wird hier ein null-Wert übergeben.

Im Folgenden wird die dem Attribut onreadystatechange übergebene Funktion deliverData() gelistet. Der Inhalt der übertragenen Datei wird in ein fiktives Element ausgabe eingetragen, nachdem sichergestellt wurde, dass die Anfrage vollständig ist.

Abbildung in dieser Leseprobe nicht enthalten

Die Funktion könnte beispielsweise bei einer onclick()-Methode eines Buttons ausgelöst werden. Eine Auflistung des gesamten Codes ist in Anhang 1 : Beispiel für Vereinigung der Bestandteile zu finden.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 1: Zustände für das XMLHttpRequest-Objekt

Quelle: Wenz (2006)

2.3 Nachteile von AJAX

In den vorigen Kapiteln wurden die Vorteile beziehungsweise Möglichkeiten von AJAX erläutert. Neben bestimmten Voraussetzungen, die erfüllt sein müssen, um dieses Verfahren nutzen zu können, bringt es auch Nachteile mit sich, die hier gelistet werden:[30]

- Die Grundvoraussetzung für AJAX ist ein aktiviertes JavaScript im Browser. Nicht jeder Benutzer hat dieses aktiviert oder die Umstände, beispielsweise Firmenvorgaben, lassen dies nicht zu. Zumal sind Seiten mit JavaScript nicht barrierefrei.
- Im Internet Explorer muss ActiveX-Unterstützung aktiviert sein. Erst im Internet Explorer 7 wird das XMLHTTPRequest-Objekt nativ unterstützt.
- Suchmaschinen stehen bei interaktiven Elementen vor dem Problem, dass sie diese nicht indizieren können – ihnen sollte eine statische Alternative geboten werden.
- Das Hinzufügen einer Seite als Lesezeichen bringt den Benutzer bei erneutem Aufruf immer wieder an die Ausgangsposition. Zudem funktioniert der Zurück-Button im Browser nicht für jeden Schritt, sondern bringt den Benutzer wieder auf die Startseite.

3.NET

Das erste Release des von vielen Entwicklern mit Spannung erwarteten .NET-Frameworks wurde am 16. Januar 2002 in einer E-Mail von einem .NET Project Manager bei Microsoft wie folgt angekündigt[31]: „We are releasing tonight…just thought you might like to know. WOHOHOO!! :-)“[32]

Was genau sich hinter dem Schlagwort „.NET“ verbirgt und was es mit ASP.NET auf sich hat, wird in folgenden Kapiteln geklärt werden.

3.1 .NET und das .NET-Framework 2.0

Unter .NET versteht man keineswegs ein Produkt, sondern vielmehr eine einheitliche Basis für Entwicklungen (von Windows- und Webanwendungen; A.d.V.) unter Windows und in naher Zukunft möglicherweise auch unter anderen Betriebssystemen (Stichwort: Mono(http://www.mono-project.com/)).[33] Es gibt mehrere Gründe, weshalb Microsoft 2002 die .NET-Ära einläutete: Zum einen hatte Microsoft das Gefühl, SUNs plattformunabhängiges Java würde ihre Dominanz im Bereich der PC-Kerntechnologien gefährden, zudem hatten Microsoft auf dem Markt der auf dem Markt der mobilen Kleingeräte bis dato noch nicht Fuß fassen können.[34] Auf der anderen Seite gibt es auf dem Computermarkt eine allzeit wachsende Entropie und die zwei bis dahin verwendeten Bausteine der Windowsprogrammierung (Windows API und COM) gerieten an ihre Grenzen – ganz abgesehen von den zahlreichen Problemen und der Komplexität dieser Grundpfeiler.[35] Somit schuf man mit .NET eine zukunftssicher Grundlage für die Programmierung, die die vorherrschenden Probleme ausmerzen sollte.

Die technologische Ausprägung von .NET ist das so genannte .NET-Framework. „Dabei handelt es sich nicht nur um eine besondere Laufzeitumgebung, die die Ausführung von Programmen ermöglicht.“[36], sondern vielmehr um eine sehr umfangreiche Klassenbibliothek – in der aktuellen Version des Frameworks 2.0 besteht diese aus über 4600 Klassen, welche wiederum in verschiedene Namensräume (Namespaces) aufgeteilt sind.[37] „It includes technologies for Web services and Web applications (ASP.NET), data access (ADO.NET), smart client applications (Windows Forms)...”[38]

Der Unterschied zwischen Java und .NET kommt ganz deutlich beim Betrachten der Laufzeitumgebungen der beiden Technologien zum Vorschein: Jede der unter .NET verwendbaren Sprachen (beispielsweise C# oder VB.NET) besitzt einen eigenen Compiler, der den Code in eine Zwischensprache, die Microsoft Intermediate Language, übersetzt.[39] Dieser Code ist vergleichbar mit dem Bytecode in Java; die MSIL ist noch lesbar und theoretisch ist es möglich, direkt auf dieser Ebene zu programmieren.[40] Der Code Manager der CLR (Common Language Runtime) von .NET sorgt mittels eines JITters (Just-InTime-Compiler) dafür, dass der in IL vorliegende Code in das native Format überführt wird.[41] Dabei werden aber nur sukzessive Teile des Codes kompiliert, der gerade benötigt werden; falls der benötigte Code bereits in kompilierter Form vorliegt, so kann er direkt aus dem In-Memory-Cache abgefragt werden.[42] Liegt er noch nicht vor, so wird er kompiliert und im Speicher abgelegt. ­Um ein auf .NET basierendes Programm ausführen zu können, bedarf es des frei erhältlichen .NET-Frameworks, das die CLR enthält.

3.2 ASP.NET (Active Server Pages) 2.0

ASP.NET ist eine auf dem .NET-Framework basierende Technologie zum Erstellen von leistungsfähigen, dynamischen Webanwendungen, die den IIS (Internet Information Service) als Plattform benutzen.[43] Microsoft schuf damit eine Möglichkeit, Web-Anwendungen ähnlich einfach zu realisieren, wie es auch bei Desktopanwendungen der Fall ist.[44] Im Gegensatz zum Vorgänger von ASP.NET, ASP, wird der generierte Code nun nicht mehr zeilenweise interpretiert, sondern genau wie bei Desktopanwendungen auch erst in IL-Code kompiliert und danach mittels der auf dem Server liegenden CLR in Maschinencode umgewandelt und ausgeführt.

„Zu den wesentlichen Merkmalen von ASP.NET gehören“[45]:

- Ein aus Webformularen bestehendes rationalisiertes Programmiermodell, das Webformulare enthält – diese bestehen aus zwei Dateien: zum einen eine .aspx-Datei für das Erscheinungsbild einer Webseite, zum anderen eine .aspx.cs-Datei, die die Geschäftslogik innehält (s. Abbildung 4). Webformulare werden zur Leistungsverbesserung auf dem Webserver kompiliert.
- Serversteuerelemente unterstützen serverseitige Ereignisse, werden aber zwecks Browserdarstellung in Form von HTML dargestellt. Microsoft hat darüber hinaus mit ASP.NET 2.0 neue und aktualisierte Steuerelemente eingeführt, die dem Programmierer viel Arbeit ersparen und somit effizienter entwickeln können.
- Erweiterte und vereinfachte Speicherung von Sitzungszuständen auf Client- oder Serverseite.[46]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Zusammensetzung WebForm

Quelle: Microsoft – Introduction to WebForms

4 Microsoft ASP.NET AJAX

In Zeiten der Wiederverwendung von Komponenten, bedarf es meist keiner Neuerfindung des Rades, sondern vielmehr einer Recherche nach einem geeigneten Framework. Kurz nach der Entdeckung von AJAX tauchten vermehrt Frameworks für fast alle webbasierten Programmier- und Skriptsprachen auf. Unter einem Framework versteht Torsten Horn „eine systematische Sammlung von Tools oder Kombination von Klassenbibliotheken und Verbindungs-/Kommunikationsmechanismen.“[47] Auch für ASP.NET gibt es derer bereits einige – laut ajaxpatterns.org[48] sind es derzeit genau 16 - und wer weiß um die Erweiterung seiner eigenen Technologie besser Bescheid als Microsoft selbst: Sie schufen mit ASP.NET AJAX Codename „ATLAS“ ein Framework, das dem Entwickler die Möglichkeit gibt neue AJAX-basierte Anwendungen zu erstellen, aber auch vorhandene Anwendungen um benutzerfreundliche Elemente zu erweitern. Es besteht derzeit aus insgesamt aus drei Teilen:

- ASP.NET AJAX 1.0 Beta: Es bildet die Grundlage für ASP.NET AJAX-Anwendungen und muss als erstes installiert werden. Für dieses Paket wird es nach der Veröffentlichung eines stabilen Releases auch Support von Microsoft geben.
- ASP.NET AJAX CTP Beta: Dieses Packet erweitert das derzeitige Beta-Release um weitere Funktionalitäten und agiert zusammen mit dem Kern von ASP.NET AJAX.
- ASP.NET AJAX ControlToolkit: Bietet eine clientseitige Erweiterung bestehender Steuerelemente und ist in Kooperation der Codeplex-Gemeinschaft und Microsoft entstanden.

Das folgende Kapitel wird einen Einblick in dieses Framework anhand von Definitionen und Beispielen geben.

4.1 Definition und Ziele des Frameworks

Microsoft selbst definiert ASP.NET AJAX als „a free framework for quickly creating a new generation of more efficient, more interactive and highly-personalized Web experiences that work across all the most popular browsers.“[49] Es baut auf dem .NET-Framework 2.0 auf und ermöglicht mit neuen Features eine verbesserte Nutzung von clientseitigem JavaScript und dem XMLHTTPRequest-Objekt.[50]

[...]


[1] Vgl.: WWW, adaptive path, 08.10.2006

[2] WWW, GetTheCode – Was ist AJAX?, 08.10.2006

[3] Gibbs (2006), S.30.

[4] Vgl.: WWW, Wikipedia – Asynchrone Kommunikation, 08.10.2006

[5] Wenz (2006), S.14.

[6] Vgl.: WWW, Teialehrbuch – XMLHttpRequest, 09.10.2006

[7] Vgl.: WWW, Wikipedia – XMLHttpRequest, 09.10.2006

[8] Vgl.: WWW, Wikipedia – XMLHttpRequest, 09.10.2006

[9] WWW, Using the XML HTTP Request object, 10.10.2006

[10] Vgl.: WWW, W3C – The XMLHttpRequest Object, 10.10.2006

[11] Wenz (2006), S.14.

[12] Wenz (2006), S.14.

[13] Wenz (2006), S.14.

[14] WWW, ZDNet – AJAX und Microsofts Engagement, 09.10.2006

[15] Asleson, Schutta (2006), S. 23.

[16] Wenz (2006), S.16.

[17] Wenz (2006), S.19.

[18] Vgl.: Münz (2005), S.308.

[19] Vgl.: Münz (2005), S.308.

[20] Vgl.: WWW, Wikipedia – JavaScript, 15.10.2006

[21] Vgl.: Koch (2003), S.13f.

[22] Vgl.: Crane, Pascarello (2006), S.45.

[23] Vgl.: Crane, Pascarello (2006), S.45.

[24] Münz (2005), S. 309.

[25] Münz (2005), S. 309.

[26] Vgl.: Münz (2005), S.376.

[27] Münz (2005), S.376.

[28] Vgl.: Münz (2005), S.376.

[29] Vgl.: Perry (2006), S. 4

[30] Vgl.: WWW, GetTheCode – AJAX – Vorteile und Probleme, 09.10.2006

[31] Vgl.: Lorenz (2002), S. 21.

[32] Lorenz (2002), S. 21.

[33] Vgl.: Lorenz (2002), S. 45.

[34] Vgl.: WWW, Wikipedia - .NET, 18.10.2006

[35] Vgl: Eller (2006), S. 26.

[36] Eller (2006), S. 25.

[37] Vgl.: Eller(2006), S. 25ff.

[38] WWW, Microsoft - .NET Glossary abgerufen am 18.10.2006

[39] Vgl.: Eller (2006), S. 37.

[40] Vgl.: Eller (2006), S. 37.

[41] Vgl.: Eller (2006), S. 33.

[42] Vgl.: Eller (2006), S. 33.

[43] Falz, Samaschke (2004), S.19.

[44] Vgl.: WWW, sigs-datacom – Ein neues Programmiermodell für Web-Anwendungen, 22.10.2006

[45] Sharp (2006), S. 492.

[46] Vgl.: Sharp (2006), S. 492

[47] WWW, Torsten Horn – Internet-Glossar, 23.10.2006

[48] Vgl.: WWW, DotNet Ajax Frameworks – Ajax Patterns, 23.10.2006

[49] WWW, Microsoft – AJAX ASP.NET Home, 23.10.2006

[50] Vgl.: Gibbs (2006), S. 30.

Ende der Leseprobe aus 46 Seiten

Details

Titel
AJAX Grundlagen und Verwendung in .NET - Stichwort „ATLAS“
Hochschule
Hochschule Heilbronn Technik Wirtschaft Informatik
Veranstaltung
Seminar E-Businesstechnologien
Note
1,7
Autor
Jahr
2006
Seiten
46
Katalognummer
V75293
ISBN (eBook)
9783638809429
ISBN (Buch)
9783638810692
Dateigröße
689 KB
Sprache
Deutsch
Schlagworte
AJAX, Grundlagen, Verwendung, Stichwort, Seminar, E-Businesstechnologien
Arbeit zitieren
Daniel Amruth (Autor:in), 2006, AJAX Grundlagen und Verwendung in .NET - Stichwort „ATLAS“, München, GRIN Verlag, https://www.grin.com/document/75293

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: AJAX Grundlagen und Verwendung in .NET - Stichwort „ATLAS“



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden