Hva er nå web arkitektur?

Så går startskuddet for et storstilkt eksperiment, nemlig å få utviklere til å skjønne den arkitekturen som ligger til grunn for verdensveven. Sonen burde kanskje hete vevarkitektur for å ikke erte på seg språkrådet eller det frie språkrådet men la gå.

Jeg har ikke tenkt å kreve at alle setter seg ned og leser Roy T. Fielding sin doktoravhandling som virkelig vil kan gjerne gjøre det. Det er tungt materie men hvis du skjønner den kommer du langt.

Avhandlingen beskriver de veivalg som ble tatt da www ble laget, hvilke protokoller som kom før, og hvilke krav man hadde til et slikt distribuert system. For eksempel skulle systemet ikke dette sammen dersom en server gikk ned. Dette er jo selvfølgeligheter i dag men tilbake i 1992 fantes det ikke et client server program som var uavhengig av serveren. Tilsvarende måtte man minske antall “tur-retur” meldinger på nettet. Dette manifesterte seg i at en web samtale nå består av to meldinger: “request” (som oftest GET) og “response” (som oftest 200 OK).

Enkelthet var en annen målsetning. Innhold skulle være enkelt å skrive. Hypermedia (rik tekst med lenker til mer informasjon) ble valgt fordi det enkelt tillater uendelig komplekse vev av dokumenter. Protokollen forble tekstbasert fordi det skulle være enkelt for utviklere å lage server og browsere.

Alt innhold på web’en har også unike adresser. “Universal Resource Locator” ble omsider til “Uniform Resource Identifier” men fyller samme rolle. Alle web-sider har en URI. Du kan putte URIer i websider med a href tagger, og det funker utmerket. Du kan også skrive det på en gul lapp og henge det på kjøleskapet hjemme. en URI er universell og er lett gjenkjennelig.

Disse konseptene er det nok mange som skjønner men det som er problemet er kanskje setningen “Hypermedia as the engine of application state”. Vi får ta det senere!

Velkommen!

[Edit: title]

Kommentarer

Flott start!

Jeg vil gjerne bruke anledningen til å komme med et lite innspill om essensen i verdensveven, nemmelig hyperlinking. Som du skriver så har alle sider på verdensveven en unik adresse og ideén er at man skal kunne linke til all den informasjon man ønsker. Dette er kjærnen i veven som får ting til å fungere og henge sammen.

Men, det er ikke alle som deler den tanken at dette er en fin ting. Det finnes kilder der ute som faktisk jobber MOT at dette skal være så enkelt. Rundt 2002 var dette med dyplinking et veldig hett tema i et av våre naboland, Danmark, der Danske nyhetssider faktisk klarte å få igjennom en dom i det Danske rettsvesenet om at dyplinking er forbudt hvis man ikke først innhenter lovnad til å gjøre det fra den man linker til. Tenk deg å drive en søkemotor under slike regler f.eks…
Om dette er fortsatt gjeldende vet jeg ikke, men det er skremmende at det sitter organisasjoner og motarbeider det aller aller mest essensielle i verdensveven.

Derfor vil jeg svært gjerne si at denne type informasjon, om verdensveven, er veldig viktig å gjør lettfattelig for folk, organisasjoner og bedrifter. Vi som er opptatt av åpne standarder og måter å utveksle informasjon på gode og enkle måter bør hele tiden også ha i hodet at det ikke alltid er noen som er enige med oss. Hvorfor di ikke er det er det mange grunner og meninger om, men det kommer vi helt sikker til også.

Mer om dette.

Dyplenking – det vil si linking til undersider på et nettsted – må betraktes som et av de mest grunnleggende prinsipper knyttet til verdensveven. Hvis man ført publiserer innhold på web, har man også akseptert en lovlig tilgjengeliggjøring for allmennheten. Men dyplenking er ikke det samme som å gjenbruke selve innholdet på et nettsted – men kun en referanse til dette.

Norsk wiki-artikkel om temaet

I en dom fra februar 2006 bestemte den danske maritime og kommersielle rett i København at systematisk nettsøk, indeksering og dyplenking av portalnettsiden ofir.dk av eiendomsnettsiden Home.dk ikke var i konflikt med dansk lov eller EUs databsedirektiv. Denne står i kontrast til dommen fra 2002, som Trygve omtaler.

Noe ganske annet er direkte linking hvor innholdet på en side – eksempelvis et bilde – linkes til og direkte inngår som en del av selve innholdet på ens egen side, og hvor opphavsmannen ikke har gitt tillatelse til slik publisering. Dette bryter med opphavsrettslige bestemmer, og må derfor ikke forveksles med dyplenking. Åpne standarder kan ikke gå på bekostning av opphavsrett, heldigvis er det fortsatt slik at publisering på internett ikke er ensbetydende med å gi avkall på selve opphavsretten til innholdet. Dette er et prinsipp jeg mener vi alle som er opptatt av utviklingen på nettet, også må ha et bevisst forhold til. Og som bør predikes både titt og ofte til de generasjoner som kommer etter oss.

Fra tid til annen registrerer jeg holdninger som peker i motsatt retning. Selv om opphavsbeskyttet materiale er blitt lettere tilgjengelig på nettet, innebærer ikke dette at ulovlig bruk er blitt mindre ulovlig. Nettet gjør det enklere og mer fristende å bryte opphavsrettslige regler for mange. Men det meste av innhold som produseres har en opphavsmann, og er opphavsrettslig beskyttet i et land som Norge. Uavhengig av om det publiseres på døde trær eller i en nettleser.

Mitt inntrykk er at diskusjonene om dyplenking med tiden også har minsket i omfang og temperatur. I nettets barndom var det mange som koblet feil når grensene for opphavsrettslige prinsipper skulle trekkes for innhold på nett. Det skjedde gjerne i tradisjonelle og konservative nyhetsmedier, som like tradisjonelt har stått høyt på banen for å forsvare opphavsretten gjennom mange generasjoner. Det mange av disse ikke helt fikk med seg, er at internett bygger på noen grunnleggende prinsipper som må aksepteres av de som opererer på verdensveven. Et av disse prinsippene er bruken av hypertekstlinker. I ettertid tror jeg de fleste ser at forbud mot dyplenking ikke har annen effekt enn at man svekker egen posisjon, og at det av den grunn ikke er forenlig fungerende forretningsmodeller på nett.

Ikke uenig med noe av det Trygve skriver, men vil likevel understreke at vi også må heve fanen høyt for opphavsretten når essensen av verdensveven skal beskrives.

Lenking er en av grunnstenene i www ja. Tenk deg veven uten universell adresserbarhet! En blogger som skal fortelle om noe stort ville måtte forklare i prosa hvordan man kommer seg til saken han omtaler. Gå til domenet “www.eksempel.no” og klikk på nyheter, så på innenriks, og der står saken på forsiden, overskriften er som følger! Kort tid etter må hun skrive om beskrivelsen fordi nyheten ligger i arkivet: gå til arkivet, velg oktober i år.

Hvis disse danskene faktisk ikke ønsker å tillate dyplenking kan de jo bare bytte ut alle URIene sine hver time… De fleste CMSer er jo bygget på tesen om at en sak har en URI som ikke forandrer seg så det kan bli vanskelig å implementere.

Men den debatten er vel død IMHO. Dansk rett og sunn fornuft tilsier det.

Jeg, og resten av Bengler, var på RailsConf i Berlin i sommeren som gikk, der bla. Roy Fielding hadde en keynote (slides). Presentasjonen hans var aningen for akademiskt for min smak (ref. hans doktorsavhandling), men en av de morsommere ting jeg fikk med mig var at han angrer litt på at HTTP protokollet er så pass verbost; fra begynnelsen var det tenkt at kunne leses (og underforstått brukes) aktivt av brukere, men idag er det stort sett bare maskiner og geeks som leser de, så han nevnte kort (og som et veldigt oskyldigt) at kanske protokollet burde ha vært mer maskin- enn menneske-lesbart.
Nu husker jeg litt dåligt og han sa det mest som en sidespor-vits, men for min del liker jeg den menneskelige enkelheten i protokollet (av samme grunner jeg liker tex. yaml bedre enn xml), og det har jo gett inspiration til mange andre protokol. Att det tillater dålige implementationer er en annen sak, men det hadde sikkert kommit oavsett.

Den siste tiden har jeg blitt veldig glad i de ting som prokollet faktiskt tillbyr, som har blitt ignorert allt for lenge men som endelig får litt ny oppmerksomhet takk være hele “REST bevegelsen”, metoder som PUT og DELETE er ikke så dumt tenkt, at implementere ordentlig støtte for cache-control headerne i sine klient (skripts) gjør underverk.

Fielding hater jo at hans doktoravhandling har fått så mye omtale. Som han sier selv hadde han brukt seks-syv år på å skrive en avhandling om arkitekturen bak webben at han hadde bare lyst til å krype under en stein. Så var det folk som Paul Prescod og likesinnede som begynte å spre det glade budskap om REST. Jeg er enig i at HTTP er akkurat passe lesbart; jeg tror aldri at brukere noen gang vil være interessert i å bruke en protokoll, uansett hvor tekstbasert den er. Hvor mange “brukere” skriver f.eks. SQL? Makroer i Excel er vel det nærmeste man kommer et språk som brukes av store masser av ikke-geeks.

Annonse