Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avMagnus Lundqvist
1
Välkomna Per Ahlberg Johan Lindfors
2
Hur kan vi bli bättre... Era utvärderingar är viktiga! Betygsätt innehåll, talare, relevans Kommentera gärna Kommentarer förra året Bra nivå på materialet... Mer demonstrationer, mer kod, mindre sälj... För långa sessioner, fler korta pauser, heldag... ”Jag vill gå på både TAB och TCM!” Mer Visual Basic och C++
3
Vad har vi pratat om tidigare? Förra året... Windows Server 2003 Säkerhet i.NET Framework XML Web Services J2EE och.NET Java vs C# Smarta klienter .NET Compact Framework Office 2003
4
Vad kommer vi prata om... Idag... ASP till ASP.NET Nästa gång – slutet av November VB 6.0 till VB.NET Och gången därpå – mitten på Mars .NET för C++ utvecklare Och gången därpå – innan sommaren Det vet jag inte än...
5
Utbildning Kurser och litteratur PDC (Oktober,LA) Lokala utvecklarkonferenser Utvecklargrupper Programmering Arkitektur och design ”Regional Directors” Resurser för utvecklare
6
MSDN Prenumerationer Prioriterad tillgång till mjukvara Automatisk månadsvis uppdatering Library Operating Systems Professional Enterprise Universal
7
Empowerment – speciellt för ISV Vad får jag? Upp till fem licenser av Windows XP/2000 Professional Office XP/2000 Premium eller Developer En serverlicens och fem CAL Windows 2000/2003 Standard eller Enterprise Exchange 2002 Standard eller Enterprise SQL Server Standard eller Enterprise SharePoint Portal Server Fem stycken MSDN Universal-prenumerationer
8
Jag åtar mig att utveckla en produkt för Windows Server 2003, XP eller 2000 SQL Server 2000 Pocket PC eller Smartphone Vad kostar det? 750 USD Kontakta: evakan@microsoft.com www.microsoft.com/sverige/partner/Empower Empowerment – speciellt för ISV
9
PAG Prescriptive Architecture Guidance Relevanta tips Konkreta förslag Omfattande lösningar Tekniskt bevisade GRATIS att ladda hem!
10
Vilka är vi som är här idag?
11
Agenda Introduktion ASP vs ASP.NET IIS 6.0 Migrera ASP till ASP.NET Konvertering Datahantering Nya ASP.NET applikationer Säkerhet ASP.NET Starter Kits
12
Fördelar med ASP Enkel programmeringsmodell Tillgång till COM objekt ADO Filsystem Ingen kompilering, bara spara Stöd för flera scriptspråk Mixa HTML och kod VBscript – kunskaper i Visual Basic
13
Arkitekturen i ASP Internet Information Server ISAPI tillägg ASP.DLL ASP’s skriptmotor Exekvering av skript SkriptkodSkriptcache.ASP fil Begäran 1 23 4 5 Svar 6 7 8 9 10 ISAPI filter
14
Utmaningar med ASP Läsbarhet av kod, mycket kod! Komplex “PostBack”-hantering Återanvändning Prestanda Låsning av DLL’er Utrullning Sessioner Cachning
15
Nyheter i ASP.NET Ny arkitektur .NET Framework Web Forms, serverkontroller, Web Services Tillförlitlighet Konfigurering Tillståndshantering Säkerhet Cachning
16
ASP.NET HTTP Runtime ASPX motor Instans ”Page” ASP.NET sida Begäran 1 3 Svar 6 7 Moduler Klass ”Page” 5 4 9 Sidhanterare ”Page Handlers” 8 2 Arkitekturen i ASP.NET
17
Windows Server 2003 Windows.NET Framework 1.1 IIS 6.0 COM+ 1.5 MSMQ 3.0 NLBS Authorization Manager AD / ADAM
18
Basklasser Common Language Specification “Common Language Runtime” ADO.NET: Data och XML Visual Basic®C++C# Visual Studio.NET ASP.NET: “Web Services” och “Web Forms” JScript®… Windows Formulär.NET Framework
19
Basklasser Common Language Specification “Common Language Runtime” ADO.NET: Data och XML Visual Basic®C++C# Visual Studio.NET ASP.NET: “Web Services” och “Web Forms” JScript®… Windows Formulär.NET Framework
20
“Class Loader” JIT kompilator Kod- hantering Minnes- hantering SäkerhetsmotorDebuggningTypsäkerhetFelhanteringTrådhantering“COM Marshaler” Basklasser Common Language Runtime
21
Administration XML Metabase och WMI Skalbarhet HTTP.SYS och “Response cache” Tillgänglighet och tillförlitlighet Isolering av “Listener” Request Queuing Bakåtkompatibilitet Fokusområden för IIS 6.0
22
Administration XML Metabase Textbaserad XML-fil Editera trots exekvering Automatisk versionshantering och “rollback” Konfigurations-kloning WMI och ADSI Administration via CMD
23
Demonstration
24
Skalbarhet och tillgänglighet Skalbarhet HTTP.SYS exekverar i “Kernel-mode” “Response Cache” Flera isolerade processer “WP” Tillgänglighet Isolerad “Listener” funktion “Request Queue”
25
ASPNET_WP.EXE ASP.NET ASPNET_WP.EXE ASP.NET Metabase TCP/IP Filter INETINFO ASP.NET ASPNET_WP.EXE ASP.NET Processmodellen i IIS då…
26
Worker Process ASP.NET Filter Worker Process ASP.NET Filter Worker Process ASP.NET Filter HTTP.SYS WAS Worker Process ASP.NET Filter INETINFO Metabase Processmodellen i IIS nu…
27
Tillförlitlighet i IIS 6.0 Separera applikationer från INETINFO Automatisk periodisk återvinning Tidbaserad “Hits”-baserad Minnesbaserad Schemalagd Övervakning, återstartning Bättre debuggning
28
Demonstration
29
WebForms Filändelsen är.ASPX Nytt ”Page” direktiv WebForm är en objektmodell Händelsestyrt precis som.NET Exekveras både på klient och server
30
”Server Controls” HTML kontroller Mappar väl mot vanliga HTML-element Webb kontroller Rikare funktionalitet Objektmodell Valideringskontroller Mobila kontroller ”User Controls”
31
XML Web Services XML + HTTP = SOAP WSDL / UDDI Öppna standards Drivs av W3C, WS-I, hela marknaden WSE WS-Security WS-Policy
32
Demonstration
33
ASP.NET är inte ASP Ingen återanvändning av kod – koden måste skrivas om >10x fler funktioner än ASP Kompatibelt med ASP Tänkt att vara 100% kompatibelt I verkligheten är detta inte alltid möjligt Kom ihåg…
34
Agenda Introduktion ASP vs ASP.NET IIS 6.0 Migrera ASP till ASP.NET Konvertering Datahantering Nya ASP.NET applikationer Säkerhet ASP.NET Starter Kits
35
De dåliga nyheterna Migrering kommer alltid att kräva arbete Det finns inga magiska verktyg Enkla sidor är möjligen enkla I verkligheten: Det går inte att bara ändra filändelser Flera inkompabilitetsproblem
36
ASP.NET körs sida-vid-sida vid ASP Separata filändelser (.aspx vs.asp) Separata konfigurationer Inga förändringar i ASP.DLL ISAPI Utmaningar med integration Körs i samma kataloger, men… Helt egna applikationer Ingen delning av tillstånd De goda nyheterna
37
Alternativ för migrering Sida vid sida Använd både ASP och ASP.NET Separata applikationer Integration Använd både ASP och ASP.NET Med hjälp av gemensamma komponenter Gemensam applikation Omskrivning Flytta allt till ASP.NET
38
Migrering kommer att leda till ny arkitektur Nya logiska skikt Nya transportsätt (DCOM) Nya klasser! En förutsättning är en bra logisk arkitektur Nyckelfråga: Hyr flyttas data mellan olika skikt? Alternativ för migrering
39
Använder du flera fysiska skikt? ASP på en Webbserver Affärs logik på dedikerad applikationsserver Data på separat SQL-Server Vill du behålla denna infrastruktur? .NET Remoting eller XML Web Services “Serviced Components” kan använda DCOM
40
Migrera webbsidorna först Ersätt ASP sidorna WebForms + User Controls + Server Controls Webbkontroller ger Liknande kapacitet som ett Windows-formulär Utvecklaren behöver inte tänka på tillstånd Mycket kraftfullt Mycket kortare utvecklingstid för webbsidor Bättre återanvändning av kod
41
Skriva om ASP till en ASPX sida Målet är att separera kod från HTML Men du kan fortfarande ha kod i HTML I enklaste fallet: 1. Döp om sida, 2. Flytta VB-script koden till ”Code-behind” klassen 3. Ändra koden till VB.NET Oftast krävs det att logiken ändras Ibland även HTML koden
42
Demonstration Konvertering ASP till ASP.NET
43
Tillståndshantering I samma process Påminner om ASP Med ASP.NET tillståndstjänst Med hjälp av SQL Server
44
Dela tillstånd Dela med hjälp av Cookies Gömda fält URL ASP och ASP.NET har separata objekt Sessioner Applikations
45
Demonstration Tillståndsdelning mellan ASP och ASP.NET
46
Flytta data Hur flyttas data mellan olika skikt? Inte typsatta variabler(Variant, Object) Starkt typsatta variabler (String, Double, Record) XML Frånkopplade “ADO Recordset” Direkt åtkomst från ASP till data med ADO ...
47
Icke typsatta variabler bör ersättas Alla.NET klasser är starkt typsatta Med XML är det inget problem .NET använder en annan DOM än ASP/COM/MSXML Frånkopplade “ADO Recordset” bör ersättas med “ADO.NET DataSet” Direkt åtkomst från ASP till data via ADO eller ADO.NET är mycket dålig design Flytta data
48
Demonstration Skicka och ta emot XML
49
Migrera affärs/data logiken Två möjliga strategier: Ersätt VB6 komponenter direkt med VB.NET komponenter, horisontellt eller vertikalt Låt ASP.NET anropa Web Services som inkapslar affärskomponenter i VB6 Migrera sedan till.NET
50
ASP.NET kan anropa VB6 COM kod, men... Om dina affärs komponenter i VB6 skickar varianter Skriv startk typsatta mellankomponenter i.NET ASP.NET pratar med mellankomponenterna Mellankomponenterna hanterar datakonvertering Ersätt VB6 komponenter direkt
51
Kapsla VB6 komponenter Med XML Web Services Låt dina ASP.NET sidor anropa dessa Detta ger en enkel separation av fysiska skikt och logiska skikt .NET Remoting Kan vara ett bättre sätt... Om du behöver transaktioner mellan fysiska skikt, använd “Serviced Components (COM+)”
52
Demonstration VB6 wrapper med XML Web Services
53
Ersätt skikt för skikt Om din kod returnerar “ADO Recordset” Konvertera “ADO Recordset” till “ADO.NET DataSet” i affärslagret ASP.NET arbetar då endast med ADO.NET ASP.NET webbkontroller använder DataSet “ADO.NET DataSet” skickas effektivt mellan fysiska skikt – “Marshalling”
54
Ersätt skikt för skikt Migrera sen datalagret Returnera “ADO.NET DataSet” Ta bort Recordset DataSet konvertering från affärslagret För komponenter som du inte kan migrera, använd COM Interop
55
Demonstration ADO Recordset till ADO.NET DataSet
56
COM. NET COM.NET “COM Interop” .NET till COM COM till.NET
57
Använd COM komponenter i.NET Skapa en assembly som innehåller typ definitioner enligt COM för komponenterna Lägg till en referens i Visual Studio.NET Eller använd TLBIMP Definiera typerna manuellt! Använd som hanterade komponenter Skapa en instans med “new” Fånga fel Arv och utveckling
58
Använd.NET komponenter i COM Skapa “COM type library” Med hjälp av TLBEXP Eller med hjälp av Visual Studio.NET Installera och registrera assemblyn RegAsm GACUtil Sätt en referens till TLB om det behövs
59
Demonstration COM komponent i.NET
60
Att förbereda övergången... Använd “Option Explicit” och låtsas att du använder “Option Strict” Använd inte standardegenskaper Använd () och “Call” vid metodanrop Dim strText As String Recordsest.Fields(“field”).Value
61
Att förbereda övergången... Andra tips och tricks Skapa klasser i ASP redan nu - WSH Separera affärslogik och innehåll Inga “render”-funktioner Stäng och avallokera objekt Använd bara ett språk per sida
62
Agenda Introduktion ASP vs ASP.NET IIS 6.0 Migrera ASP till ASP.NET Konvertering Datahantering Nya ASP.NET applikationer Säkerhet ASP.NET Starter Kits
63
Nya ASP.NET lösningar Konfigurering Säkerhet Autentisering, auktorisering, identitet Cache Inbyggd, extern Dataåtkomst ASP.NET Starter Kits Tips & Tricks
64
Konfigurering Web.config Som en.ini-fil för din webbapplikation XML formaterad Utbyggbar Några inställningar Säkerhet Sessionshantering Lokalisering Debuggning
65
Demonstration
66
Webbserver Planera för säkerhet i ASP.NET IIS (inetinfo.exe) Autentisering Anonymous Basic Digest Integrated Certificate ASP.NET (aspnet_wp.exe) Autentisering Windows Forms Passport None Auktorisering Web/NTFS- rättigheter IP adress restriktioner Auktorisering Fil Url COM+ AM Lokal eller extern resurs Autentiserad användare eller IUSR_MACHINE Identitet ASP.NET Ursprungligt anrop Förutbestämd proxy HTTP begäran SSL Privat Integritet
67
Säkerhet i ASP.NET Autentisering Auktorisering Identitet Hemligheter Attacker!
68
Autentisering Windows IIS-baserad Formulär/cookie Passport Skräddarsydd Implementera i AuthenticateRequest(...)
69
Formulärbaserad autentisering Använder cookies Kan autentisera konton i... Active Directory SQL XML ASP.NET hanterar hänvisning <forms loginUrl="login.aspx“ name="AuthCookie“ protection=“All” timeout="60“ path="/">
70
Demonstration
71
Auktorisering COM+ roller URL auktorisering Authorization Manager Rollbaserad auktorisering Windows Server 2003 XML eller ActiveDirectory Skräddarsydd
72
Demonstration
73
Identitet Windows 2000 – IIS 5.0 Lokalt servicekonto – ASPNET Kan exekvera som annat konto Internet Information Server 6.0 Restriktivt konto – Network Service ”Impersonation” Kan iklä ASP.NET en klients identitet Kan användas för att efterlikna ASP
74
Hemligheter Lagra ”connection-strings” och annat web.config/machine.config UDL filer Registret COM+ katalogen DPAPI ”User store” ”Machine store”
75
Demonstration
76
Attacker! ”SQL injection” Förändra befintlig fråga eller skapa ny Använd lagrade procedurer med parametrar “Cross-site scripting” Script skickas till applikationen som input Validering och kodning “Buffer overflows” Ohanterad kod kan skapa utmaningar Validering på servern
77
Demonstration
78
Cache med ASP.NET Inbyggda mekanismer Hela sidor - OutputCaching Delar av sidor – User Controls Programmatisk ”Caching Application Block” Skapad för icke ASP.NET applikationer
79
Hanterar dynamiskt genererade sidor Sidan kompileras till IL och maskinkod Maskinkod cachas som Page klassen Uppdateras när ASP.NET sidan ändras eller vid “timeout” Kan användas på “User Controls” <%@ OutputCache Duration="sekunder" Location=“server..." VaryByControl="controlname" VaryByCustom="browser | customstring” VaryByHeader="headers" VaryByParam="parametrar" %>
80
Programmatisk cachning Lägga till element Hämta element Radera element Notifieringar Callback Cache.Add(...); Cache.Insert(...); Cache.Get(...); Cache.Remove(...);
81
Demonstration
82
PAG -.NET Application Blocks ”Best practices” Dataåtkomst Felhantering Asynkrona anrop Konfigurering Användargränssnitt Aggregation Applikationsuppdatering Cache
83
”Caching Application Block” ”Cache Manager” Hanterar och administrerar cachen Skapar de andra objekten ”Cache Service” Övervakar cachen och applicerar regler ”Cache Storage” SQL Server MMF ”Singleton” objekt
84
Demonstration
85
ASP.NET Starter Kits Väldokumenterade omfattande lösningar Portal E-handelsplats Rapportering Projekthantering ”Community” Kan användas för att komma igång snabbt Visual Basic.NET, C# eller J# Visual Studio.NET eller något annat verktyg
86
Demonstration
87
Tips & tricks Vid utveckling Uppladdning av filer Dynamisk generering av bilder XML-transformering Smart navigering Vid felhantering ”Tracing” Skräddarsydda fel
88
Demonstration
89
10 anledningar att älska ASP.NET 6.Inbyggd cachning för ökad prestanda! 7.Stöd för ett stort antal mobila enheter! 8.Använd vilket programspråk som helst! 9.Bygg och använd XML Web Services! 10.Objekt modell för webbsidor!
90
10 anledningar att älska ASP.NET 1.Det är mycket, mycket, mycket snabbt ! 2.Uppgradera applikationer i drift med XCOPY 3.Underbart verktygsstöd – RAD för webben 4.Strukturerad felhantering 5.Använd ”session state” på ”Web farms”
91
10 anledningar att älska ASP.NET 1.Det är mycket, mycket, mycket snabbt ! 2.Driftsätt eller uppgradera app. i drift med XCOPY 3.Underbart verktygsstöd – RAD för webben 4.Strukturerad felhantering 5.Enkelt att använda ”session state” på ”Web farms” 6.Inbyggd Cachning för att öka snabbheten 7.Stöd för ett stort antal mobila enheter 8.Använd vilket programspråk som passar dig! 9.Enkelt att bygga och använda web services 10.Enkel objekt modell för utveckling av webbsidor
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.