Presentation laddar. Vänta.

Presentation laddar. Vänta.

Välkomna Per Ahlberg Johan Lindfors. Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna.

Liknande presentationer


En presentation över ämnet: "Välkomna Per Ahlberg Johan Lindfors. Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna."— Presentationens avskrift:

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

92


Ladda ner ppt "Välkomna Per Ahlberg Johan Lindfors. Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna."

Liknande presentationer


Google-annonser