AFI-föreläsningen om flerskikt

Affärsobjekt med mera
• Konfigurering
• Webbhotell
• OOP
• Affärsobjekt
•Xhtml, css, layout m.m.
Konfigurering i web.config





Enklast med web.config
Icke läsbar från webben
xml-form
Lätt att ändra
Konfigurerar en hel del…
Web.config hanterar:





Sökvägar
Textsträngar
Rättigheter
Felhantering
Metod för autentisering
Konfigurering av IIS





Applikation/inte applikation (börja här!)
Namn på startfil
Autentisering, visa IE-inloggning för
internwebb
Felmeddelanden
m.m.
IIS
IIS
IIS
IIS
IIS
IIS
Webbhotell





Asp.net kräver lite mer än andra
applikationer av webbservern
Man kan inte alltid ändra rättigheter
själv
Var ”smart” då platsen konfigureras
Var ”smart” vid revidering. De kommer!
Testa på ett bra sätt! Meddela korrekta
felmeddelanden till system-admin.
Webbhotell
Webbhotell
Webbhotell
Webbhotell – att flytta en
applikation
Webbhotell – att flytta en
applikation, vad ska med?
• Observera att detta gäller tom .net 2003.
Resonera för VS2005, 2008, 2010
• Bin-katalogen
• Alla aspx och ascx-filer.
• Css-filer
• web.config (Obs! Är annorlunda på hotellet.)
• Global asax
• Alla kataloger med bilder…
• Inte .cs eller .vb-filer
Flerskiktade system
Presentation
Logik
Datasamling
OOP – objekt och programmering
Uppenbara fördelar:
 Samma kod utnyttjas i flera filer, rationellt!
 Vedertagna principer
 Klasser som är testade
 Tydligt yttre gränssnitt och ”dolt” innanmäte encapsulation
 Arbetsroller kan (ska) fördelas
 Arv av andra klasser kan förekomma –
inheriance – återanvändning av kod
OOP – objekt och programmering
Uppenbara nackdelar:
 Tar längre tid att komma till första
fungerande sidan…
 Kan upplevas svårt, kräver bra
dokumentation
 Alla tekniker stödjer inte objektorientering
OOP – objekt och programmering
Plattformar:
 Tre stora: j2ee, php och asp.net (kolla gärna
jobb på http://www.ams.se)
 J2ee – java2plattformen
 Asp.net, gärna i kombination med sqlserver
 PHP har numera möjligheter till treskiktade
lösningar
 Ruby on rails?
OOP i webbsammanhang





Affärsobjekt, affärslager, buissnes object,
buissness layer, logiklager…
Javabönor
Objekt
Klasser
…
OOP i webbsammanhang






Kompilerad kod?
Java?
Asp.net – kompilerat till MSIL med metadata.
Kompileras sedan av en JIT-kompilator, CLR,
till körbar kod.
MSIL Microsoft Intermediate Language
JIT – Just in time
CLR – Common Language Runtime
OOP i asp.net



Gör vanliga klasser i projektet, använder
dessa i projektet
Lägg till en referens i projektet (man lägger
då till en komponent). Då använder man en
dll som någon gjort tidigare.
Importera ett äldre com-objekt, se t.ex. 21dagarsboken
Exempel på objekt, klasser





En
En
En
En
En
databasklass
userdetails, det kommer på labben
usermethod, det kommer på labben
nyhet
kommentar
Persistens – en nödvändighet
Persistens – hur objekt överlever mellan olika
webbsidor
 Dolda fält: LabelHidden.text = minUser.id
 Viewstate – fungerar på en sida:
ViewState(”user”) = minUser.id
 Session – lever så länge som läsaren är uppe:
Session(”user”) = minUser.id
 Kakor – ligger kvar hos klient:
Cokkies…
I andra änden av projektet

Genererad html-kod, kontrollera!
Följ standards: CSS2, XHTML, WAI,
WCAG …
 24-timmarswebben
 Tillgänglighet - accesssability

Html - xml

html:







html 4.01, xhtml
doctype, xml-taggar
webbläsare
webbläsare – quirks, läs ALA
html – semantiska taggar
håll koll på taggar som ska bort
”layouta” med <div> och <span>
css

Ger allt utseende :







Lär dig detta från grunden!
Klasser, id, boxmodell …
Bättre sidor med stil
Lättare html
Struligt innan man hittar rätt
Hjälpmedl: Firefox + Developer tool +
FireBug
Resurser: w3schools, ALA, mayerweb,
webbdsignskolan eller nåt…
Bra html + bra css
Det finns ett antal fördelar:




Bättre träffar hos sökmotorer.
Bättre koll på utseende i olika läsare.
Tillgängligt.
Asp-net – tillgänglighet?