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.

Slides:



Advertisements
Liknande presentationer
Sweden SharePoint User Group Wictor Wilén
Advertisements

Snabbguide och tips.
Migrera befintliga system till Windows Azure
Page 1 GADD Software en introduktion Publik version, September 2013, gaddsoftware.com.
system för handläggarstöd
Några moln tillgängliga gratis på Internet
Att söka och förvalta kunskap
Göran Husman Office 365 MVP / HumanData AB
Programmering B PHP Lektion 1
Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors.
”Ett sätt att distribuera Business Objects via webben”
Enkel dator teknik Tips och tricks.
Sweden SharePoint User Group WictorWilén
Inmatning till databaser
Pontus Abrahamsson Joakim Örnstedt Startbild Systemkonsult
Bo Linde Solution Specialist EPM Microsoft AB Project Server.
Ajax Dynamiska webbsystem. AJAX och web 2.0 Web 2.0 är egentligen bara ett ”buzzword” för en modern webbsajt. Innehållet skulle till exempel vara: Rich.
Arv.
Programmering II C#, ID1304.
Polymorfism.
MIIS 2003 – User Identity Lifecycle Management
Säkerhet i praktiken – med Windows Server 2003 och XP! Marcus Thorén, MCT, MCSE+Security Security Consultant Nexus Security Consultants Technology Nexus.
MOM - HUR DU FÅR FULL KONTROLL MED PROAKTIV ÖVERVAKNING Nicklas Axelsson Konsult Qbranch.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2.
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Från design till dynamisk webbplats | 2 Palle Zingmark  Webbkonsult på Hallvarsson & Halvarsson  Specialist på gränssnittsutveckling  Senior.
ASP.NET MVC4 + NoSQL = Major Awesomness. IoC Container.
Picsara DICOM Modulen Från Picsara Picsara DICOM Modulen Från Picsara 10.1.
Introduktion till DITA
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
En effektiv IT-struktur med en gemensam standardarbetsplats
Projekt och Arkitektur
1. En infrastruktur för programutveckling
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
A Beginner's Guide to SharePoint 2013 REST API [Rest/Odata/Json]
A Federation-Ninja’s warstories from the field…
ASP.NET 2.0 André Henriksson Developer Evangelist Microsoft AB.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord “Det verkar alltid omöjligt tills dess att det är gjort” Nelson Mandela.
Välkommen till Sommarkollo Windows Presentation Foundation och Expression Blend Robert FolkessonJohan Lindfors
XHTML & CSS Introduktion Erik Nahkala
WIPCORE PRESENTATIONSMALL  TEXT: Förutom de element som redan är stylade (t.ex. versala rubriker) finns det ett par andra riktlinjer. –Ord du vill markera.
Per Ahlberg Developer Evangelist, DPE Microsoft AB
Microsoft Dynamics AX (fd Axapta)
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Joachim Nässlander IT-Expert, Knowledge Factory. Joachim Nässlander IT-Expert på Knowledge Factory MVP File Systems & Storage.
ISV Community Day Till sist Per Ahlberg Developer Evangelist Developer & Platform Evangelism Microsoft Sweden.
Kontextuell ärendehantering
… för utvecklare! Johan Lindfors. Webbläsare Applikationsserver Webbserver Dynamisk HTML motor Affärslogik RDBMS Applikationsserver?
1.1. TechNet Security Summit 2004 Security Framework ”Introduktion av ”Security in Depth” Marcus Murray.
Security Management John Laerum Instruktör Upprätthålla säkerhetsnivån Group Policies i Active Directory IIS Lockdown tool och IIS 6 VPN karantän i RAS.
SSCLI (Rotor) - Shared Source Common Language Infrastructure Johan Lindfors Microsoft.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2 Äshur Ashore Azzuure.
Rikare webb med AJAX, Microsoft Silverlight, WPF och Expression Studio Robert Folkesson
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Windows Server Agenda Hanterbarhet  Server Manager  Powershell Säkerhet  Server Core  Brandväggen och Ipsec Prestandaförbättringar  Virtualisering.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Moderna affärssystem - Systemutvecklarens roll -
SharePoint 2007 André Henriksson – Utvecklarevangelist Pontus Haglund – Produktspecialist Microsoft AB.
ISV Community Day Till sist Per Ahlberg Developer Evangelist Developer & Platform Evangelism Microsoft Sweden.
Välkommen till Sommarkollo Expression Studio, verktyg för designers Juli 2007 Robert Folkesson Developer Evangelist Microsoft Johan Lindfors.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.
HSA Integration.
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
Introduktion till SAML federation Varför använda SAML federation för elektronisk legitimering och underskrift Stefan Santesson Martin Lindström.
 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.
Webben – en sammanfattning Sista föreläsningen i kursen Produktion för tryckta medier och webb.
Presentationens avskrift:

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  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++

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

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...

 Utbildning  Kurser och litteratur  PDC (Oktober,LA)  Lokala utvecklarkonferenser  Utvecklargrupper  Programmering  Arkitektur och design  ”Regional Directors” Resurser för utvecklare

MSDN Prenumerationer  Prioriterad tillgång till mjukvara  Automatisk månadsvis uppdatering  Library  Operating Systems  Professional  Enterprise  Universal

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

 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: Empowerment – speciellt för ISV

PAG  Prescriptive Architecture Guidance  Relevanta tips  Konkreta förslag  Omfattande lösningar  Tekniskt bevisade  GRATIS att ladda hem!

Vilka är vi som är här idag?

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

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

Arkitekturen i ASP Internet Information Server ISAPI tillägg ASP.DLL ASP’s skriptmotor Exekvering av skript SkriptkodSkriptcache.ASP fil Begäran Svar ISAPI filter

Utmaningar med ASP  Läsbarhet av kod, mycket kod!  Komplex “PostBack”-hantering  Återanvändning  Prestanda  Låsning av DLL’er  Utrullning  Sessioner  Cachning

Nyheter i ASP.NET  Ny arkitektur .NET Framework  Web Forms, serverkontroller, Web Services  Tillförlitlighet  Konfigurering  Tillståndshantering  Säkerhet  Cachning

ASP.NET HTTP Runtime ASPX motor Instans ”Page” ASP.NET sida Begäran 1 3 Svar 6 7 Moduler Klass ”Page” Sidhanterare ”Page Handlers” 8 2 Arkitekturen i ASP.NET

Windows Server 2003  Windows.NET Framework 1.1  IIS 6.0  COM+ 1.5  MSMQ 3.0  NLBS  Authorization Manager  AD / ADAM

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

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

“Class Loader” JIT kompilator Kod- hantering Minnes- hantering SäkerhetsmotorDebuggningTypsäkerhetFelhanteringTrådhantering“COM Marshaler” Basklasser Common Language Runtime

 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

Administration  XML Metabase  Textbaserad XML-fil  Editera trots exekvering  Automatisk versionshantering och “rollback”  Konfigurations-kloning  WMI och ADSI  Administration via CMD

Demonstration

Skalbarhet och tillgänglighet  Skalbarhet  HTTP.SYS exekverar i “Kernel-mode”  “Response Cache”  Flera isolerade processer “WP”  Tillgänglighet  Isolerad “Listener” funktion  “Request Queue”

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å…

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…

Tillförlitlighet i IIS 6.0  Separera applikationer från INETINFO  Automatisk periodisk återvinning  Tidbaserad  “Hits”-baserad  Minnesbaserad  Schemalagd  Övervakning, återstartning  Bättre debuggning

Demonstration

WebForms  Filändelsen är.ASPX  Nytt ”Page” direktiv  WebForm är en objektmodell  Händelsestyrt precis som.NET  Exekveras både på klient och server

”Server Controls”  HTML kontroller  Mappar väl mot vanliga HTML-element  Webb kontroller  Rikare funktionalitet  Objektmodell  Valideringskontroller  Mobila kontroller  ”User Controls”

XML Web Services  XML + HTTP = SOAP  WSDL / UDDI  Öppna standards  Drivs av W3C, WS-I, hela marknaden  WSE  WS-Security  WS-Policy

Demonstration

 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…

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

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

 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

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

 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

 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

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

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

Demonstration Konvertering ASP till ASP.NET

Tillståndshantering  I samma process  Påminner om ASP  Med ASP.NET tillståndstjänst  Med hjälp av SQL Server

Dela tillstånd  Dela med hjälp av  Cookies  Gömda fält  URL  ASP och ASP.NET har separata objekt  Sessioner  Applikations

Demonstration Tillståndsdelning mellan ASP och ASP.NET

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 ...

 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

Demonstration Skicka och ta emot XML

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

 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

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+)”

Demonstration VB6 wrapper med XML Web Services

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”

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

Demonstration ADO Recordset till ADO.NET DataSet

COM. NET COM.NET “COM Interop” .NET till COM  COM till.NET

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

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

Demonstration COM komponent i.NET

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

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

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

Nya ASP.NET lösningar  Konfigurering  Säkerhet  Autentisering, auktorisering, identitet  Cache  Inbyggd, extern  Dataåtkomst  ASP.NET Starter Kits  Tips & Tricks

Konfigurering  Web.config  Som en.ini-fil för din webbapplikation  XML formaterad  Utbyggbar  Några inställningar  Säkerhet  Sessionshantering  Lokalisering  Debuggning

Demonstration

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

Säkerhet i ASP.NET  Autentisering  Auktorisering  Identitet  Hemligheter  Attacker!

Autentisering  Windows  IIS-baserad  Formulär/cookie  Passport  Skräddarsydd  Implementera i AuthenticateRequest(...)

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="/">

Demonstration

Auktorisering  COM+ roller  URL auktorisering  Authorization Manager  Rollbaserad auktorisering  Windows Server 2003  XML eller ActiveDirectory  Skräddarsydd

Demonstration

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

Hemligheter  Lagra ”connection-strings” och annat  web.config/machine.config  UDL filer  Registret  COM+ katalogen  DPAPI  ”User store”  ”Machine store”

Demonstration

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

Demonstration

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

 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" %>

Programmatisk cachning  Lägga till element  Hämta element  Radera element  Notifieringar  Callback Cache.Add(...); Cache.Insert(...); Cache.Get(...); Cache.Remove(...);

Demonstration

PAG -.NET Application Blocks  ”Best practices”  Dataåtkomst  Felhantering  Asynkrona anrop  Konfigurering  Användargränssnitt  Aggregation  Applikationsuppdatering  Cache

”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

Demonstration

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

Demonstration

Tips & tricks  Vid utveckling  Uppladdning av filer  Dynamisk generering av bilder  XML-transformering  Smart navigering  Vid felhantering  ”Tracing”  Skräddarsydda fel

Demonstration

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!

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”

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