Logo

Det siste innen web teknologi, HTML5, CSS3 og server JavaScripting med node.js

Ta en titt på denne YouTube videoen: HTML5: What's all the fuss about? Videoen som viser Googles Chrome Lab viser hvordan man ved å benytte ny teknologi som HTML5 og CSS3 kan oppnå samme effekt som ved å bruke flash. Teknologien er også mye enklere og selvsagt integrert med HTML tagging. HTML5 For mer informasjon se: Responsive web design

XML familien av teknologier vil revolusjonere web linking etc.

Under denne oveskriften skrev jeg i mai 2007 et innlegg på det internasjonale forumet WebProWorld (WPW) som gikk direkte til første side på Google sin resultatside for enkelte søk som for eksempel: Improving web linking using Xlink (se post nummer 2. Siden konkurransen om de første treffene i Google er beinhard, og det når denne artikkelen skrives er 4 oktober 2007, har ikke innlegget beholdt sin posisjon på søkesidene).

Denne korte artikkelen er en oppdatering av den neste artikkelen om XML som følger lenger nede på siden. Som innlegget på WPW viser, er det en fordel, men ingen nødvendighet med en viss bakgrunn for å starte med XML og ikke minst AJAX som også bruker XML teknologien som et sentralt element (X i AJAX står for XML).

Den opprinnelige lenke modellen på nettet med statiske en kilde et mål var meget viktig for å gi nettet den popularitet det raskt fikk. Men denne enkle modellen har (hadde) også sine sterke begrensninger hvor for eksempel markup språket HTML har statiske tagger med attributter etc. I XML kan man skrive sine egne tagger. Selv om man kan gjøre mye med iFrames og innerHTML er det egentlig XML med tilhørende teknologier som utgjør plattformen for det som går under betegnelsen Web 2. Ikke minst når det gjelder måten multimedia presenteres på, vil XML vise sin styrke og fleksibilitet med dets mange ulike teknologier som for eksempel

Man kan selvsagt alltid gå omveier og lage sine egne mer avanserte løsninger ved å benytte for eksempel JavaScript (se W3 Schools for ytterligere informasjon).

Vi avslutter med et meget enkelt eksempel (se kilden til denne siden for ytterligere dokumentasjon) på hvordan lenkingen for dem som ikke vil lære seg XLink kan forbedres ved hjelp av en enkel JavaScript funksjon:

	
function linker(linkname) { if (linkname=='search') { window.open("http://www.youtube.com/"); window.open("http://www.digg.com/"); window.open("http://www.flickr.com/"); window.open("http://www.stumbleupon.com/"); window.open("http://www.reddit.com/"); window.open("http://www.twitter.com/"); return false; } if (linkname=='xlinkinfo') { window.location = "http://www.w3.org/TR/xlink/"; return false; } }

Sofistikert lenking ved bruk av JavaScript

Du finner kildekoden i JavaSceipt flien linker.js som er inkludert på slutten av dette dokumentet. Slik virker det (forutsatt at du ikke har blokkert sprettoppvinduer) :

  1. Åpne 6 populære internet siter
  2. eller navigere bort fra denne siden til W3Cs XLink side. Du må bruke nettleserens tilbakeknapp for å returnere til DigitalLogistikk.no

Dette enkle eksempelet er hentet fra den glimrende boken til Wilde og Lowe (2003):

XPath, XLink, XPointer, and XML: A Practical Guide to Web Hyperlinking and Transclusion Addison Wesley ISBN: 0201703440

For ytterligere informasjon og oversikt over XML teknologiene, se: W3C Technical Reports and Publications. La ikke svermen av teknologier knekke deg. Har du problemer med å lese engelsk, er der norske oversettelser som for eksempel denne introduksjonen til XML og denne om Navnerom i XML. Søker du kun etter dokumenter på norsk i Google finner du nok av eldre dokumentasjon. Prøv for eksempel føgende nøkkelord i Google + dokumenter på norsk, XML, XPath, XPointer, XLink, XML Schema, XML XSL, XML XSLT, MathM, XBRL etc. De aller siste oppdateringene finner du på ovennevnte W3C link. Det kan lønne seg å ta en titt der med jevne mellomrom.

Mye er XML, som RSS, SMIL, XML Schema, XSLT etc. etc. Jeg har også skrevet en relatert artikkel på min engelskspråklige side MultiFinancIT.com på undersiden IT + Logistics under overskriften "Digital Logistics". Du

 

XML drevne nettsider.

Extensible Markup Language (XML) er en samling teknologier hvorav noen sentrale er :

Et XML dokument representeres som et datatre bestående av noder. Ikke alle, spesielt gamle, nettlesere støtter XML med tilhørende teknologier. Og et XML dokument kan presenteres ulikt av ulike nettlesere. Denne tvetydigheten kan reduseres. Ved hjelp av XSLT, kan XML dokumentet overesttes til (X)HTML og presenteres som en webside. Det innebærer at XSLT prosessoren oversetter XML treet til et annet node tre, for eksempel en HTML side som kan leses av de fleste nettlesere. En enhetlig standard for presentasjon av XML dokumenter hadde vært ønskelig. Skripting språk som PHP har egne funksjoner og / eller klasser for manipulering av XML dokumenter. Tegnsett er også viktig i XML og der finnes her to aksepterte standarder, henholdsvis ISO/IEC og unicode. ISO og IEC er to organisasjoner som har slått sammen sine ressurser på dette området. Du finner en beskrivelse av Unicode versjon 3.0 og oppover. Heldigvis er ikke disse to standardene så veldig forskjellige. Document Object Model DOM er en viktig relatert teknologi. Webapplikasjoner (se for eksempel neste artikkel nedenfor) vil bli viktigere i morgendagens nettsteder. XML er her et sentralt element. I Office 2007 har Microsoft benyttet OpenXML for sitt dataformat i Excel, Word og PowerPoint. Office 2007 dokumenter kan dermed lett transformeres til andre formater som PDF ved bruk av XSLT. Det innebærer at datalogistikken i Web 2.0 nettsteder for en stor del vil bli implementert som rene (mapper av) XML dokumenter eller XML dokumenter plukket fra en database. Dette viser hvor viktig denne teknologien er og vår påstand er at flere og flere nettsider vil bli rene XML sider som oversettes til standard format ve fremtidige nettlesre eller i det minste oversettes til ønskelig format ved XSLT. Vi avslutter denne korte artikkelen med noen andre kilder:

Den beste XML boken forfatteren av denne korte artikkelen vet om, finner du i øverste venstre hjørne på DigitalStart. Det kan lønne seg å starte med en enklere bok som for eksempel "No Nonsense XML Web Development With PHP"

Det kan lønne seg å følge med på de sidene på W3C som ble nevnt i innledningen til denne artikkelen og hvordan XML benyttes i nyere teknologier som AJAX.

Vi avslutter med et eksempel på hvordan tusenvis av favoritter (bokmerker) fort kan eksporteres til en XML fil med tilhørende XSL stilark. Du må ha en rask internettforbindelse for å laste inn XML filen som er på over 4 MB. Filene genereres automatisk med en WarpGear applikasjon, Favorez som man kan bruke gratis om man legger inn deres banner som reklame på siden. Applikasjonen benytter også en relatert XML teknologi, "The XML Bookmarking Language (XBEL)". Selv med en stor favorittsamling (XML fil på over 4 MB), er det fort gjort å lage de nødvendige filene som så kan lastes opp på nettet. Det hele er gjort på under 10 minutter. For at søkemotoren ikke skal bli for treg, bør XML filene splittes opp i mindre filer og integreres i et XML / PHP drevet CMS ("Content Mangement System"). Du finner et eksempel på hvordan dette gjøre i boken, "No Nonsense XML Web Development With PHP" av Thomas Meyer.

Det skal ikke store fantasien til får å forstå at man kan lage en god "sosial søkemotor" om man har et system for å integrere favoritter fra n personer (famile eller venner). Indeksen til "søkemotoren" som består av en eller flere XML (database) filer kan oppdateres ukentlig, daglig eller enda hyppigere. Har man et globalt nettverk av personer, kan det fort bli en god nisje søkemotor som i tillegg, automatisk kan sjekke for brutte lenker. Man kan også videreutvikle det og rangere lenkene innen de ulike kategoriene etter hvor mange overlappinger man har, dvs. samme lenke fra flere personer. Hver person avgir da, helst uavhengig av hverandre, en stemme på de ulike lenkene. I tillegg kan de også rangeres etter dato og hvor grundig de er sjekket. Man må da ha et produksjonssystem for indeksen hvor personene i nettverket bruker en felles mal for favorittene samt at man benytter en felles manual for å vurdere og kvalitetssikre de ulike lenkene. Om 50 personer spredt over hele verden deltar i et slikt prosjekt, kan man fort få en god sosial søkemotor.

Den semantiske weben er en web av data og nettet er et informasjonsrom bestående av ulike ressurser URI's. Modellen for lenking mellom disse ressursene er ofte en enkel statisk lenke i et HTML dokument. Lenking i XML er mye mer og man kan forbedre den statiske lenkemodellen ved å benytte XLink. Oppsummert kan man si at XML med tilhørende teknologier har revolusjonert måten innhold kan behandles og presenteres på.

Øk brukervennlighet og funksjonalitet ved hjelp av AJAX.

AJAX (Asynchronous JAvaScript + Xml) er ikke ikke noe annet enn en moderne form for web interaktivitet. Selv om artikkelen inneholder en del omstridte elementer og der er en del unøyaktigheter, hevdes det at AJAX ble født da Jesse James Garrett 18 februar 2005 publiserte artikkelen: Ajax: A New Approach to Web Applications. AJAX teknologi er basert på JavaScript, DOM og XML og den såkalte AJAX motoren er bygget rundt XMLHttpRequest Objektet. Det er en minimalistisk teknologi som minimaliserer datautvekslingen og kommunikasjonen med webserveren. Teknologien er asynkron, da AJAX motoren fortsetter å jobbe uten å vente på svar fra serveren. Dermed økes hastigheten på siden samtidig som økt funsjonalitet og brukervennlighet oppnås. Google vare et av de selskapene som først tok teknologien i bruk ved Google suggest (som du oppdager hva innebærer når du skriver noe inn i søkefeltet) og Google maps. Andre viktige eksempler er Yahoo News hvor du noen gang ser at et lite felt som utdyper ord eller begreper dukker opp når du fører musen over en lenke. Amazon har lansert sin egen søkemotor, A9 også den basert på AJAX teknologi. Bitflux Blog sin LiveSearch er et annet kjent eksempel hvor AJAX teknologi benyttes. Som vi ser tilfører ikke bare AJAX en ekstra dimensjon i brukeropplevelse, men effektiviteten og hastigheten på sidene økes betydelig, da noe av prosseseringen fåregår i AJAX motoren. AJAX teknologien er også nært knyttet til den såkalte "hidden frame" og iframe teknologien. AJAX er i en viss forstand en utvidelse av JavaScript som kan benyttes sammen med server side skripting som PHP eller ASP. Da teknologien er nært knyttet til JavaScript, må JavaScript være aktivert i den nettleseren du benytter.

Konsumer eller lever web tjenester ved hjelp av PHP og MySQL

PHP er et relativt kraftig skripting språk med et økende antall brukere som uvikler seg raskt i mer og mer objektorientert retning. Ettersom versjon 5.1. har fått støtte for multippel arv, kan man hevde at PHP har tatt steget fullt ut og blitt et fullgodt objektorientert programmeringsspråk. Les mer om dette på OopSchool hvor der er lenker til en rekke avanserte emner. MySQL er en relasjonsdatabase, som sammen med PHP og XML gir et kraftig verktøy for utvikling av ("deployment") avanserte web tjenester som levering av finansiell informasjon, teletjenester, værmelding etc. etc. Les mer om dette under overskriften "Web Services providers and resources" på OopSchool. "Simple Object Access Control" (SOAP), er den protokollen som foretrekkes av flere og flere leverandører. Man kan abonnere på disse tjenestene eller man kan levere dem selv. I første tilfelle konsumerer man tjenesten, mens man i det andre tilfellet opptrer som utvikler og leverandør av tjenesten. Som konsument eller klient om du vil, kan man betrakte dette som råvarer som settes inn i produksjonen av innhold på ens eget nettsted. Gjøres det riktig, økes verdien av ens egen eEiendom.

Du kan også lage din egen SOAP server. Vi gjengir her et eksempel hentet fra de glimrende bøkene av Harry Fucks (2005) "The PHP Anthology: Object Oriented PHP Solutions" volum II kapittel 2. Resultatet ser man her:

Merk at disse artiklene er hentet fra en MySQL database og parset til en XML fil som leverer tjenesten direkte på nettet. Vi har altså demonstrert hvordan SOAP serveren (egentlig en PEAR klasse) leverer tjenesten som konsumeres av en annen side på dette nettstedet. For de som er interessert i kildekoden, er den riktige lagt ut her, da der er en feil i eksemplet som følger med boken.

Som vi ser, er koden ganske kompakt og den benytter klassebibliotket SPLIB som følger med boken samt noen PEAR klasser. Blant annet noterer vi at klassen SOAPArticleServer tar et objekt av typen MySQL som argument i sin konstruktør. MySQL er en databasetilkoblingsklasse som sies å aggregerer server klassen, SOAPArticleServer, ved følgende kall:

$db=& new MySQL($host,$dbUser,$dbPass,$dbName);

$server= new SOAPArticleServer($db);

Pear er et PHP klassebibliotek som først ble utviklet av nordmannen Stig Bakken og som i dag videreutvikles og vedlikeholdes av blant annet "The PEAR Group".

Egentlig er ikke dette noe annet enn en avansert, skreddersydd og fleksibel syndikering av innhold til eller fra et nettsted ved hjelp av RSS (XML). Det nye er at SOAP serveren tar denne prosessen til et høyere nivå ved å levere de klasser eller grensenitt (API) som trengs. SOAP har også en støtteteknologi kalt "Web Service Description Language" (WSDL). WSDL er en spesifikasjon som gjør at en XML-basert protokoll som SOAP kan beskrives på en måte som er direkte relatert til det objektorienterte paradigmet. Dette er en av grunnene til at SOAP av mange foretrekkes fremfor konkurrerende teknologier som XML-RPC. Her er noen relevante W3C lenker for den som vil sette seg grundigere inn i standarden og protokollen:

Logistikk er å transportere, på riktig tid, noe fra et sted til et annet.

En kelner som bringer mat og drikke ut til bordene på en restaurant er en transportarbeider. På nettet er det mange auksjoner som selger digitale og fysiske varer. Digitale data, informasjon eller kommunikasjon er ikke noe annet. En lærer som underviser deg i et virtuelt datarom leverer en tjeneste, digital undevisning. Det dreier seg om transport av informasjon fra lærer til elev, men det dreier seg også om kommunikasjon.

På nettet er det viktiger enn noe sted å kommunisere klart, servere den informasjonen brukerne ønsker og benytte en informasjons og dataplattform som er enkel med konsistent utforming og klar navigasjon. Rådene man kan få i boken "Information Rules: A Strategic Guide to the Network Economy" av Carl Shapiro, Hal R. Varian er det verdt å studere nøye. Det er ikke alle som kjenner de kreftene som driver den digitale markedsplassen

Podcasting, "Sound + portable player + RSS + management tools = podcasting" er det siste innen kommunikasjon på nettet. PodCasting er ikke kringkasting ("broadcasting") i vanlig betyning av ordet, men snarere "narrowcasting." Her er noen aktuelle lenker:

SEO ("Search Engine Optimization") og SEM ("Search Engine Marketing") dreier seg om å bli synlig i cyberrommet. Flere og flere benytter PPC ("Pay Per Click") markedsføring, hvorav Google AdWords er den best kjente kampanjen. Det er ikke bare å velge nøkkelord, beløp etc. og tro at man lykkes med PPC. Der er skrevet en god bok om dette, "Winning Results with Google AdWords" av Andrew Goodman. Boken er ikke bare begrenset til Google Adwords, men relevant for alle PPC kampanjer.

Denne korte artikklen er syndikert ut til MultiFinansIT, en annen side under DigitalPunkt.no. Om du ønsker å avertere på nettet kan det være meget nyttig å lese Jakob Nielsen's artikkel "The Most Hated Advertising Techniques".