Dagordningen. Internetprogrammering. Om talaren. Klient dynamik. Webbservrar och Active Server Pages



Relevanta dokument
Active Server Pages. Föreläsning 5. Exempel. Exempel. Exempel: Javascript. Klient- och serverscript. Active Server Pages (ASP)

Webbservrar, severskript & webbproduktion

Webbsidor och webbservrar

Lite mer om CGI-programmering

F8 Webbteknologier 1. Dynamiska webbsidor

Modul 6 Webbsäkerhet

Karlstads Universitet, Datavetenskap 1

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Statistik från webbplatser

ASP.NET Thomas Mejtoft

Statistik från webbplatser

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Webbprogrammering. Sahand Sadjadee

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

Inneh ll. CGI och CGI-programmering. Common Gateway Interface. Common Gateway Interface. Mera dynamisk WWW. Kompletterande l sningar

Web Services. Cognitude 1

JAVASCRIPT. Beteende

Avancerade Webbteknologier

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

Creo Customization. Lars Björs

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Introduk+on +ll programmering i JavaScript

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

PHP-presentation Dataföreningens Open Source-nätverk

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

1 Systemkrav avantraupphandling

Databaser på webben. Revision Johan Näsholm, johan@nasholm.com

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

E12 "Evil is going on"

Internationalisering/lokalisering på webben

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Webbprogrammering - 725G54 PHP. Foreläsning II

Säkra webbapplikationer. John Wilander, Omegapoint, KTH maj 2010

Användarhandledning Version 1.2

Introduktion HTML och PHP 732G16 Databaser design och programmering

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Modul 8 Hantering av indata

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Inledande programmering med C# (1DV402) Introduktion till C#

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Installationsguide, Marvin Midi Server

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Föreläsning 2. Operativsystem och programmering

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Björn Andersson Martin Meijer ASP och PHP En jämförelse mellan de båda teknikerna

<script src= "

INTRODUKTION TILL ANGULAR JS

Exemple på Tentauppgifter Webbprogrammering

Vad gör européer på dagarna? Anders Kraftling SAS-ansvarig Statistiska Centralbyrån

Komponenter med COM (och COM+/VC++ 7.0)

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Webbserver och HTML-sidor i E1000 KI

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

F9 Webbteknologier 1. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Datahantering vid dynamiska webbteknologier

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

ASP.NET Web Forms. Copyright Mahmud Al Hakim Vad är Web Forms?

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Belastningstester med Visual Studio Gränssnittet

Webbens grundbegrepp. Introduktion till programmering. Ytterligare exempel. Exempel på webbsida. Föreläsning 5

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

IT för personligt arbete F2

MVC med Javascript och Ajax. Filip Ekberg

Programmering B med Visual C

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Kunskapsbank ICARUS DB

Programbeskrivning. Chaos på Web. Version

Server-kod. TDDD80 Mobila och sociala applikationer

Modern webbutveckling. av Robert Welin-Berger

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Webbprogrammering grunder

Introduktion till programmering

Webbtjänster med API er

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

WSS F1. Elektronikcentrum i Svängsta Utbildning AB

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

Installationsmanual ImageBank 2

OWASP Topp De 10 allvarligaste riskerna i webbapplikationer OWASP East Sweden: Uppstartsmöte

Retrieve a set of frequently asked questions about digital loans and their answers

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Datasäkerhet och integritet

Nya webbservern Dvwebb.mah.se

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

PHP - Fortsättning. PHP och MySQL

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

ASP.NET Web Pages. Copyright Mahmud Al Hakim Först lite Classic ASP :-)

Transkript:

Dagordningen Internetprogrammering Webbservrar och Active Server Pages Webbserverteknik Historik Produkter Sessionshantering Ev. Gör din egen webbserver Serverside programmering ASP, COM, Kristalkulan om framtiden.net, ASP+ & SOAP Om talaren Tommy Palm Initiativtagare till kursen webbservertillämpningsprogrammering Jobbat som konsult i drygt 2 år e96:a Jadestone AB, http://www.jadestone.se E-mail: tommy@jadestone.se Klient dynamik genom Javascript, Applets, Flash, Shockwave, ActiveX, DHTML osv (mest för grafiker) Klient dynamik 1 2

Server dynamik Databasförfrågningar Räknare Beräkningar Registreringar Realtidsuppdatering Aktiekurser Övervakningssystem Vad är en webbserver? Vad är en webbserver? Ett program som lyssnar på port 80 Och komunicerar vanligtvis med HTTP (eller HTTPS) Dessutom brukar programmet ha tjänster för: Mappa virtuella bibliotek mot filsystemet Generera statistik över antal besökare Stöd för diverse tillläggstjänster CGI, JSP, ASP, EJB, OSV Samt: 404-hantering, administration, MIME-inställningar Webbservrarnas top 5 lista Automatgenererad gif HTML-tabel med 1 pixel stora, utsträckta gif:ar 3 4

Webbservrar (fort.) MS IIS (fort...) Apache gratis MS IIS med OS Weblogic från Bea kostar 129 000 kr per processor! Server okt-00 Antal Apache 59.67% 13295499 Microsoft-IIS 20.16% 4491609 Netscape-Enterprise 6.74% 1500988 WebLogic 3.05% 680332 Zeus 2.77% 616200 Rapidsite 1.52% 339379 thttpd 1.01% 225175 AOLserver 0.68% 151948 WebSitePro 0.47% 105112 tigershark 0.46% 102850 Källa: http://www.netcraft.co.uk/survey MS IIS Personal Web Server (IIS) Microsofts Internet Information Server Kommer med Windows 2000 som version 5.0 Inbyggt stöd för Active Server Pages Finns som bantad version till NT4 workstation, win98 och -95 heter då Personal Web Server (PWS) 5 6

3-Tier system Tier 1: Presentationslagret Användargränsnitt för tillämpningen Tillhandahåller en view av T:s data Tier 2: Applikationlagret data representation logiken Get metoden http://www.jadestone.net/login.html Æ GET /login.html HTTP/1.0 User-Agent: Mozilla/4.02 [en] (win 95; I) Accept: image/gif, image/jpeg, image/pjpeg, */* GET skickar ingen information i body:n. Parametrar skickas som del av metoden Tier 3: Datalagringslagret Beständig datalagring DB Webbgrunder Uniform Resource Locator (URL) Protokoll://värd[:port]/sökväg Ex. http://localhost:8080/pong.jsp (127.0.0.1) Hypertext Transfer Protocol (HTTP) Tillståndslöst, TCP/IP baserat 1. Öppna en anslutning, port 80 2. Klienten skickar en förfrågan Ex. Get 3. Server skickar ett svar 4. Server stänger anslutningen GET (fort...) <html><head><title>login</title> </head> <body bgcolor="#ffffff"> <p>välkommen!</p> <form method="get" action="login.jsp"> Användare: <input type="text" name="namn"> Lösenord : <input type="password" name="losen"> <input type="submit > </form> </body> </html> 7 8

Post metoden Session fort... Informationen i body:n Informationen inte synlig i URL:en Inte lika lätt att fuska Ingen storleksbegränsning POST /login.html HTTP/1.0 User_Agent: Mozilla/4.02 [en] (win95; I) Accept :image/gif, image/jpg, image/pjpg, */* Session Ibland vill man följa en användares handlingar under vistelsen på sajten. Ex. En kundvagn eller mailkonto på nätet Eftersom HTTP inte stöder minne för tidigare transaktioner har man skapat ett alternativt tillvägagångs sätt. Användaren får ett id nummer som sparas i en cookie eller i URL:n Man sparar sedan information på servern om användaren Session (fort..) Det finns alternativa tillvägagångssätt Bland annat att ID sparas i URL:en http://www.jadestone.se/sessionid/123443/hello.html Servern analyserar url:n Gömda variabler <INPUT TYPE= HIDDEN NAME= color VALUE= blue 9 10

MyWebbserver Bildbutiken Demo Demo Tommy programmerar LIVE en webbserver!!! Active Server Pages (ASP) Principen Grunderna Vanliga begrepp Klient Webb Browser HttpRequest HTML sida Webbserver programfil 1. Filen laddas 2. Innehållet interpreteras 3. Resultatet inkluderas i en HTML fil ASP-Objekt Scriptelement inuti HTML-koden + Enkelt och lätt att lära sig - Snabbt grötigt, inte MVC 11 12

Active Server Pages Sidorna ska sluta på.asp Ska ligga i en virtuell katalog, åtkomstbar utifrån Betraktas via en browers, inte via filsystemet Skrivna i ett scriptspråk, vanligtvis VBScript eller möjligtvis JavaScript Koden som skall köras på servern skrivs innanför <%... %> taggar Exempel Vad skickas till klienten? <HTML> <HEAD><TITLE>Example</TITLE></HEAD> <BODY> Helllo. It is now 10:42:43 on the server </BODY> </HTML> Exempel <HTML> <HEAD><TITLE>Example</TITLE></HEAD> <BODY> <% Comments goes here strgreetingmsg = Hello. It is now _ & Time() & on the server. Response.Write strgreetingmsg %> </BODY> </HTML> Indikerar för interpretatorn att koden fortsätter på nästa rad Skillnaden mellan klient och serverscript Klientscript Något som finns på HTML-sidan och kan verka interaktivt mot användaren Användaren kan se koden under View source i sin browser Klientscript brukar typiskt användas till felkontrol Finns det ett @-tecken i den angivna emailadressen? Är alla obligatoriska fält i formuläret i fyllt? Hur många tecken finns det kvar att skriva i mitt SMSmedelande 13 14

Skillnaden mellan klient och server-script (forts...) Serverscript Körs på server innan resultatet skickas till klienten Är inte synligt för användaren Används vanligtvis för databasinteraktion och skapar HTML-sidorna därefter Klient script (fort...) <HTML> <HEAD><TITLE>...</TITLE> <SCRIPT LANGUAGE = JavaScript > <!-- function AlertJS() { alert( Hello there! ); } --> </SCRIPT> </HEAD> <BODY> <INPUT TYPE= button VALUE= Knapp OnClick= AlertJS() > </BODY> </HTML> Klientscript <SCRIPT LANGUAGE = JavaScript > <!-- function AlertJS() { alert( Hello there! ); } --> </SCRIPT> <SCRIPT LANGUAGE = VBSCRIPT > <! sub AlertVBS() MsgBox Hello there! end sub --> </SCRIPT> Active Server Pages (ASP) Grunderna Vanliga begrepp ASP-Objekt 15 16

Component Object Model (COM) COM definierar ett binärt gränssnitt mellan objekt, dvs hur objekt kommunicerar med varandra Distributed COM (DCOM) motsvarigheten till Javas RMI eller CORBA dvs ett sätt att göra objekten tillgängliga från andra datorer. Man kan använda COM objekt från sin ASP-kod för att på så sätt inte vara begränsad av scriptspråk Internet Server Application Programming Interface (ISAPI) ISAPI löste ett av problemen med CGI CGI startade en ny process för varje anrop ISAPI använder sig av DLL och använder samma minnesutrymme som Webbservern ASP.DLL är ett ISAPI filter Dynamic Link Library (DLL) Ett bibliotek med funktioner istället för en exe-fil Fler program kan använda samma DLL Sparar utrymme Uppdatera funktionaliteten utan att ändra applikationen Ett exempel är DirectX Server Side Include (SSI) Inkludera filer i din HTML för att exempelvis standardisera layout LQ OXGHYLUWXDO P\/LEILOHLQ! HOOHU LQ OXGHILOH ILOHLQ! 17 18

Active Server Pages (ASP) Grunderna Vanliga begrepp ASP-Objekt Request objektet Request objektet är inkapsling av den HTTP-förfrågan man skickar när man anropar en URL Där finns alltså metoder för att hitta de eventuella parametrar som skickas från formulär ASP objektmodell Sex objekt i ASP.DLL Request Response Viktigast för förståelsen, de vanligast Session objekten. Application; ASP tillämpningen själv ObjectContext; Del av MTS; finns bara som interface i ASP Server Ger tillgång till webbservern. Används för att instansiera objekt CreateObject och HTMLEncode Header HTTP Request En HTTP request utan någon cookie* POST /cgi-win/hello.exe HTTP 1.0 Accept: image/gif, image/jpeg, */* User-Agent: Mozilla/2.0N (Windows; I; 32Bit) Content-type: application/x-www-form-urlencoded Content-length: 14 [Obligatorisk blank rad] name=jane+doe Å Body (*Det brukar finnas med minst en cookie som visar användarens session ID) 19 20

Att läsa parametrarna Att läsa parametrarna från en request kan se ut på följande sätt: Namn.html <html> <head> <title> Ditt namn! </title> </head> <body> <form action= hello.asp" method="post > Skriv ditt namn: <input type= text name= name > <br> <input type= Submit value= Submit > </form> </body> </html> hello.asp <html> <head> <title> Välkommen <%=Request.form( namn )%>! </title> </head> <body> Hej <%=Request.form( namn )%>! </body> </html> Request objektet (fort...) <% strfirstname = Request.QueryString( name )%> eller <% strfirstname = Request( name )%> Den sista varianten söker i tur och ordning i 1. QueryString Parametrar från get 2. Form Parametrar från post 3. Cookies 4. ClientCertificate Har med säkerhet att göra 5. ServerVariabler Se nästa bild Properties TotalByte Collections QueryString Form Cookies ClientCertificate ServerVariables Metoder BinaryRead Request objektet Read-only Collection är en typ av dynamisk array med 0 eller flera namn/värde par Request objektet (fort...) ServerVariables Fördefinerade variabler <% strvar = Request.ServerVariables(key) %> Key kan bland annat vara REMOTE_HOST Ex. blue04.nada.kth.se LOGON_USER Ex. d97-tpa REQUEST_METHOD Ex. POST eller GET HTTP_USER_AGENT Ex. Mozilla/2.0N Bra för att ta hand om för gamla browsers 21 22

Request exempel RequestDemo.asp <HTML> <HEAD><TITLE> ASP Demo </TITLE></HEAD> <BODY> <% Set uagent = _ Request.ServerVariables(= HTTP_USER_AGENT ) if instr(uagent, 4.0 ) >= 0 Then Response.Redirect( scr40.htm ) else kod för att hantera gamla browsers end if %> </BODY> </HTML> Request exempel (fort...) scrres.asp <HTML> <HEAD><TITLE> ASP Demo </TITLE></HEAD> <BODY> <% str = Klientens upplösning = str = str & Request.QueryString( w ) & x str = str & Request.QueryString( h ) Response.write(s) %> </BODY> </HTML> Request exempel (fort...) scr40.htm <HTML> <HEAD><TITLE> ASP Demo </TITLE></HEAD> <BODY> <SCRIPT LANGUAGE=JavaScript> s=?w= +screen.width+ &h= +sceen.height location.href= scrres.asp +s </SCRIPT> </BODY> </HTML> Response objektet Response objektet är inkapsling av det HTTP-svar användaren får tillbaka Där finns bland annat metoder för att infoga html, skicka nya cookies till användaren eller att skicka användaren till en annan sida. 23 24

Header HTTP Response Ett HTTP Response utan cookies HTTP/1.0 200 OK Date: Thursday, 02-Nov-95 08:44:52 GMT Server: WebSite/1.1 Last-Modified: Wednesday, 01-Nov-95 02:04:33 GMT Content-Type: text/html Content-length: 8151 [Obligatorisk blank rad] <HTML><HEAD> <TITLE>... Body Response objektet Properties (bland annat) Buffer ContentType Collections Cookies Metoder (bland annat) Redirect Write End Flush Response objektet Att använda sig av Response objektet kan se ut på följande sätt: <!-- Example 1 --> <% For intloop = 1 to 6%> The number is: <%= intloop %> <P> <% Next %> Ger samma resultat Response -Buffer Avgör om allt innehåll ska skickas på en gång eller om det ska skickas rad för rad allt efter det processas. Response.Buffer [ = true [false]] <!-- Example 2 --> <% For intloop = 1 to 6 stroutput = The number is: & intloop & <P> Response.write(strOutput) Next %> 25 26

Response Buffer (fort...) <%@ LANGUAGE = VBScript %> <%Response.Buffer = True %> <HTML> <% On Error Resume Next Kod som hämtar värden från databas If Err.Number <> 0 Then Response.Clear Response.Write Följande SQL genererade fel: Response.Write strsql Response.End End if %> Response Cookies En cookie är lite information som Webbservern sparar hos klienten (max 4k per cookie) Ett namn/värde par cookies laddas ner till browserns minne Om cookie är långlivad sparas den som textfil HTTP header syntax för en cookie Set-Cookie: <NAMN> = <VÄRDE>; expires=<datum>; domain =<DOMÄN>; path=<bibliotek>; secure Response Cookies <% reponse.cookies( somecake ) = yummie %> Om man inte sätter en tid kommer cookien försvinna när browsern stängs response.cookies( somecake ).expires =#7/5/2001_ 00:00:00# Response Cookies (fort...) HTTP/1.0 200 OK Server: Netscape-Enterprise/2.01 Content-Type: text/html Content-Length: 87 Set-Cookie: customerid=1234; domain=acme.com; path=/orders Returneras vid varje förfrågan till domänen 27 28

Session objektet Ett session objekt är ett objekt som automatiskt tillfaller och följer varje användare Det är till för att lagra information om användaren, vanlig är t.ex. att hålla reda på om vederbörande är inloggad eller inte Session objektet (fort...) Ett exempel på hur man använder ett session objekt kan se ut så här: <H3>sessionID = <%= session.sessionid%> </H3> <H3>timeout = <%= session.timeout%> </H3> <P> Du har har besökt den här sidan <% session( intsessionobjvisit )%> den här I den här sessionen </P> <% session( intsessionobjvisit )_ =session( intsessionobjvisit ) + 1 %> Session objektet (fort...) Properties (bland annat) SessionID // read only Timeout // i minuter default 20 Collections Contents // Se Application StaticObjects // -- -- Metoder Abandon // Omedelbar timeout Events Session_OnStart Session_OnEnd Databashantering En av det vanligast anledningarna att använda ASP är att det är så enkelt att använda databaser från sin kod. 29 30

Databas koppling <% Set objdbconn = Server.CreateObject( ADODB.Connection ) objdbconn.open ( MyDB ) Använder System DNS Set ors = objdbconn.execute( SELECT * FROM... ) %> Vanliga metoder i Connection Open Close Execute BeginTrans Commit/RollbackTrans Under Kontrollpanelen,,ODBC Properties Inga Collections Contents StaticObjects Metoder Lock Unlock Event OnStart OnEnd Application objektet Application objektet är samma för alla användare och kan användas för t.ex. statistik Databas Recordset <ol> <% ors.movefirst inget måste Do while Not ors.eof Response.Write( <li> & _ ors.( Name )) ors.movenext Loop %> </ol> Tommy Tjodolf Erik Peter Application -Contents <% For Each strkey in _ Application.Contents %> The next item in Application s Contents collection <BR> has <%= strkey %> as its key and <% Application.Contents(strKey) %> as its value. <% Next %> 31 32

Application StaticObjects Statiska objekt som definerats i GLOBAL.ASA på följande sätt: <OBJECT RUNAT = Server SCOPE= Application ID=AppInfo2 PROGID= MSWC.MyInfo </OBJECT> Lock Låser alla Contents variabler för andra klienter Application (fort...) OnEnd Triggas när servern stängs av. Håller till i GLOBAL.ASA <SCRIPT LANGUAGE= VBScript RUNAT=Server> Sub Application_OnEnd Set filsysobj1 = _ CreateObject( Scripting.FileSystemObject ) Set tsobj1 = _ filsysobj1.createtextfile( c:\usrcount.txt,true) tsobj1.writeline(application.contents( UserCount )) tsobj1.close End sub </SCRIPT> Exemplet illustrerar hur man sparar antalet användare när webbservern stängs ner. Att spara på fil görs via ett COM objekt som medföljer miljön Application Lock <% Application.Lock intnumvisits = _ Application.Contents( UserCount ) intnumvisits = intnumvisits +1 Application.Contents( UserCount ) _ = intnumvisits Application.Unlock %> Exemplet illustrerar hur man kan räkna antal användare på sin site För att inte få ett sk Race Condition låser man objektet medans man förändrar det OnStart Application (fort...) <SCRIPT LANGUAGE= VBScript RUNAT=Server> Sub Application_OnStart Set filsysobj1 = _ CreateObject( Scripting.FileSystemObject ) Set tsobj1 = _ filsysobj1.opentextfile( c:\usrcount.txt,true) Application.Contents( UserCount ) = ts1obj1.readall ts1obj.close End sub </SCRIPT> För att läsa in siffran vid start gör man på detta vis 33 34

GLOBAL.ASA I roten av det virtuella biblioteket av tillämpningen Deklaration av objekt, variabler och event handlers dvs Session/Application_OnStart & Session/Application_OnEnd Session eller Application räckvidd Förändringar kräver omstart ASP vs JSP När Sun insåg att ASP var en bra idé gjorde Sun en motsvarighet med Java Java Server Pages & J2EE Effektivare att kompliera istället för interpretera Snabbare Mindre jobb för servern Skalar bättre, klarar fler användare Mer modulariserat Enkelt att använda egna Java klasser Inte byggt på scriptspråk Färre begränsningar Alla fördelar med objektorientering Soon on a Webb Server near You Visual Interdev Microsofts utvecklingsverktyg för ASP-utveckling. Ett måste för den intresserade Microsoft (MS) är inte kända för att ge upp 80% av MS utvecklingsresurser går åt till att utveckla.net.net är nästa generation av webbbyggmaterial SOAP ASP+ 35 36

.NET.net är en helomvändning för MS och hela windowsplattformen All kod kommer att exikveras på en virtuell maskin (fast MS kallar det inte för det, common runtime ) I nästa version av Visual studio*, som heter Visual Studio.net kommer det inte finnas fortsatt stöd för t.ex. Visual Basic 6.0 Det kommer även att bygga på ett gemensamt klassbibliotek (luktar det Java?) *MS utvecklingsverktyg SOAP Simple Object Access Protocol Microsofts vision om att varje webbserver ska vara ett objekt som man skall kunna interagera var som helst ifrån. Exempelvis skall man kunna fråga Amazon frågor av typen Vad kostar den här boken hos er? Man slipper alltså ta hand om massor med presentionslager ASP+ ASP innefattas också av denna upprensning I fortsättningen kommer det vara ASP+ som gäller ASP+ har Stöd för vilket språk som helst (utom Java naturligtvis) Resurser Den här presentationen + kodexempel: http://www.jadestone.se/kth Bra lektionsmaterial på svenska om ASP http://www.idg.se/webstudio/asp En bra bok om ASP Professional ASP 3.0 från WROX Kursen Webbservertillämpningsprog. http://www.nada.kth.se/kurser/kth/2d1482 Mer om.net http://www.mircosoft.com/net 37 38