[RDF] [Fwd: Warum WRAF]
Jonas Liljegren
jonas@paranormal.se
Tue, 01 Aug 2000 13:22:44 +0200
This is a multi-part message in MIME format.
--------------B48B56D7D6BB8AF541EF3EB9
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
--
/ Jonas - http://jonas.liljegren.org/myself/en/index.html
--------------B48B56D7D6BB8AF541EF3EB9
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Envelope-to: jonas@paranormal.se
Received: from d1o963.telia.com ([195.67.214.241] ident=root)
by astral.paranormal.se with esmtp (Exim 3.12 #1 (Debian))
id 13JYpn-0004oF-00
for <jonas@paranormal.se>; Tue, 01 Aug 2000 11:59:39 +0200
Received: from c64.org (t3o963p74.telia.com [195.67.215.74])
by d1o963.telia.com (8.8.8/8.8.8) with ESMTP id LAA27629
for <jonas@paranormal.se>; Tue, 1 Aug 2000 11:57:21 +0200 (CEST)
Message-ID: <39869FB2.52757B45@c64.org>
Date: Tue, 01 Aug 2000 12:00:18 +0200
From: Stefan Andersson <stefan@c64.org>
X-Mailer: Mozilla 4.72 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
To: "Jonas Liljegren (E-mail)" <jonas@paranormal.se>
Subject: Warum WRAF
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by d1o963.telia.com id LAA27629
X-Mozilla-Status2: 00000000
Hall=E5, snygging!
Helt ur det bl=E5, t=E4nkte jag g=F6ra en seri=F6s anstr=E4ngning att f=F6=
rklara vad
'WRAF' g=E5r ut p=E5, i termer av nytta. Care to comment?
Problemet med att beskriva vad WRAF =E4r och varf=F6r det =E4r bra, grund=
as i
att WRAF har evolverat ur m=E5nga sinsemellan olika ambitioner. WRAF skal=
l
vara allt och inget. H=E4r =E4r en =F6versikt =F6ver n=E5gra av de saker =
WRAF =E4r
t=E4nkt att ber=F6ra och l=F6sa:
Semantisk webb:
Webben (Internetdistribuerade HTML-dokument) var ursprungligen t=E4nkt so=
m
en rymd d=E4r inte bara m=E4nniskor skulle kunna bearbeta information, ut=
an
d=E4r ocks=E5 maskiner (agenter) skulle kunna verka. Webben =E4r idag hel=
t
anpassad f=F6r m=E4nniska-m=E4nniska kommunikation. Detta d=E5 inneh=E5ll=
et =E4r
helt orienterat mot form och naturligt spr=E5k. Webben =E4r fattig p=E5
strukturerad metadata, d.v.s. data om hur inneh=E5llet skall tolkas.
XML =E4r en reaktion p=E5 detta. XML inneb=E4r ett steg tillbaka mot
ursprunget, SGML.
'Problemen' med XML =E4r dock flera:
* Uppdelningen i DTD och XML g=F6r att det blir on=F6digt komplicerat att
bygga schemamedvetna applikationer, d.v.s. applikationer som kan
'f=F6rst=E5' vad som =E4r vad i ett dokument.
* DTD:er talar dessutom bara om vad som =E4r ett v=E4lformat dokument, de=
n
ger ingen ledtr=E5d om vad de olika f=E4lten =E4r f=F6r n=E5got eller hur=
man
skall hantera dem.
* XML =E4r i sig inte en standard f=F6r hur data skall markeras upp. Det =
var
t=E4nkt att applikationsutvecklare skulle utveckla egna 'scheman' (DTD:er=
)
och utv=E4xla dessa sinsemellan. Brokers, som t.ex. BizTalk och andra
repositories var t=E4nkta att fungera som schema-resolvers. Detta verkar
inte ha slagit igenom, och det finns nu en m=E4ngd propriet=E4ra, sins
emellan inkomplatibla scheman och DTD:er. En del av problemet =E4r att XM=
L
och DTD inte har mekanismer f=F6r partiell substituering och =F6verlagrin=
g -
'arv'.
* XML klarar inte av att beskriva n=E4tverksstrukturer, utan =E4r i botte=
n
orienterad =E5t hierarkiska strukturer. Detta =E4r en allvarlig nackdel, =
d=E5
de flesta objektkluster till sin natur =E4r n=E4tverk.
L=F6sning:
Tanken =E4r allts=E5 att maskiner skall kunna kommunicera med varandra oc=
h
n=E5 en l=F6sning p=E5 en given uppgift utan att m=E4nniskor skall beh=F6=
va
=F6vervaka processen.
Man skall allts=E5 kunna fr=E5ga en generisk s=F6kmotor (inferensmaskin) =
om
den billigaste flygbiljetten mellan G=F6teborg och Tokyo tidigast datum x=
,
senast datum y, och den skall svara p=E5 ett f=F6r m=E4nniskor naturligt =
s=E4tt.
Likas=E5 att kunna se vad en viss f=F6rfattare har skrivit, och vad andra
har kommenterat om det f=F6rfattaren har skrivit. Eller en lista =F6ver a=
lla
fakturor en viss kund har utest=E5ende, komplett med produktinformation
tagen ifr=E5n leverant=F6rernas webbsajter. Eller sitta i Sverige och
konfigurera en bil enligt vad som finns tillg=E4ngligt i Belgien, och f=E5
priserna i dollar.
* RDF =E4r en =F6ppen standard f=F6r att beskriva distribuerade generella
n=E4tverksorganiserade resurser, med en standardiserad XML-serialisering
som universiellt utbytesprotokoll. Detta betyder inte att man m=E5ste
satsa p=E5 RDF. En liknande anstr=E4ngning =E4r t.ex. XML-Schema.
* RDF =E4r INTE ett s=E4tt att modellera eller g=F6ra inferensen. Detta m=
=E5ste
sk=F6tas av en applikation som f=F6rser Internet med 'intelligens'. Detta=
=E4r
en av komponenterna i WRAF. Ett fr=E5gespr=E5k (modellerat i RDF) och en
inferensmaskin kapabel att s=F6ka svar p=E5 fr=E5gan, och om den misslyck=
as,
f=F6rklara varf=F6r och be m=E4nniskan om kompletterande information.
Se
http://www.w3.org/DesignIssues/Semantic
Knowledge management/Content Management
* Dynamisk, flexibel renderering (serialisering) av objekt givet
kontext.
Ur arbetet med Lotus Notes, Skolverket och andra CM-uppdrag, har jag
dragit slutsatsen att man kan se p=E5 content ur tv=E5 synvinklar:
1. Som en avs=E4ndares presentation av ett objekt.
2. Som ett objekts presentation av sig sj=E4lv.
Den f=F6rsta approachen symboliseras av den klassiska brochyren.
Avs=E4ndaren best=E4mmer helt och h=E5llet formen, och n=E4r objektinform=
ationen
v=E4l konstruerats, finns det inte utrymme f=F6r att l=E4gga till eller d=
ra
ifr=E5n - push. D=E4remot har avs=E4ndaren full kontroll =F6ver form och
budskap, och v=E4ljer helt information och kontext.
Den andra approachen symboliseras av den klassiska databasen. H=E4r =E4r
avs=E4ndaren ett relativt neutralt datalager, som f=F6rv=E4ntar sig en fr=
=E5ga
innan ett svar kan konstrueras - pull. F=F6rdelen =E4r flexibilitet f=F6r
mottagaren, men i geng=E4ld en minskad kontroll hos avs=E4ndaren.
M=F6jligheten att f=F6rpacka budskapet vad g=E4ller l=E4slighet och
upplevelsem=E4ssigt och att styra kontexten =E4r begr=E4nsad.
Vad man egentligen vill ha =E4r en tredje metafor som fungerar som en
syntes av dessa tv=E5 - en metafor som l=E5ter avs=E4ndaren och mottagare=
n
konstruera upplevelsen tillsammans. Detta l=E5ter sig inte g=F6ras genom
simpla variabler och boolska villkorliga hopp. Vad man beh=F6ver =E4r en
standard f=F6r att modellera content och SERIALISERING (rendering) av
content.
Vad detta skulle ge, =E4r att alla tj=E4nster, inte bara de som
implementerat support f=F6r det, kunde f=F6rse kunden med den information=
en
kunden vill ha, p=E5 det s=E4ttet kunden vill ha den. En syntes av
avs=E4ndarens och mottagarens behov.
Om detta gjordes i t.ex. RDF som =E4r en distribuerad l=F6sning, skulle m=
an
kunna t=E4nka sig att anv=E4ndaren skickar med en URL till sin
definitionsfil. (Denna kan i sin tur best=E5 av en dynamisk servertj=E4ns=
t,
villig att lyssna p=E5 mottagaren - servertj=E4nsten kan vara en del av
anv=E4ndarens browser...) I definitionsfilen definieras anv=E4ndarens
preferenser, men inte bara i termer av variabler, utan i semantiskt rika
termer, d=E4r termerna i sin tur kan definieras av en tredje part.
Termerna KAN handla om preferenser, integritet och f=F6ruts=E4ttningar
(bandbredd, sk=E4rmstorlek, et.c.) men ocks=E5 om vilken information som
efterfr=E5gas, hur den skall prioriteras och presenteras. (Presentera
alltid personer med fullst=E4ndigt namn och bild om det finns n=E5gon
tillg=E4nglig. Placera alltid bilden till v=E4nster om fullst=E4ndigt nam=
n.)
D=E5 RDF underst=F6djer arv, skulle anv=E4ndare kunna =E4rva fr=E5n en gr=
undprofil
och f=F6r=E4ndra den efter hand.
En tj=E4nst som 'metacrawler', t.ex. skulle helt enkelt bli obsolet,
d=E4rf=F6r att alla s=F6kmaskiner skulle kunna s=F6ka i alla andra s=F6km=
askiner
och presentera resultatet p=E5 ett enhetligt, personifierat s=E4tt. De
skulle ocks=E5 kunna vara relativt simpla. Allts=E5 skulle man kunna ha e=
n
lokal s=F6kmaskin - agent - i klienten. Eller p=E5 den n=E4rmsta servern =
om vi
pratar tunna klienter.
En annan aspekt =E4r den rena administrationen av content. D=E4r finns
mycket att g=F6ra. M=E5let =E4r ju att content skall vara lika enkelt att
administrera som det =E4r att anv=E4nda en ordbehandlare. Detta kan
realiseras antingen genom ett intelligent, klientbaserat, gr=E4nssnitt -
en plugin till browsern - eller genom ett intelligent, serverbaserat
gr=E4nssnitt. I vilket fall beh=F6vs strukturer f=F6r metadata och arv - =
och
ett beskrivningsspr=E5k. Detta f=F6r att p=E5 ett enhetligt s=E4tt kunna
beskriva vilka operationer som =E4r till=E5tna var (p=E5 vilka objekt) - =
och
f=F6r vem. N=E4sta generations CM. N=E4r jag n=E4mner 'rekursion' sist i
dokumentet, menar jag t.ex. att definitionen av formul=E4ren skall ske
genom anv=E4ndande av formul=E4r. (som i sin tur definierats med formul=E4=
r
et.c.)
Dynamisk och snabb applikationsbyggnad:
Det finns ett antal irritationsmoment man r=E5kar ut f=F6r n=E4r man
programmerar webbapplikationer:
* Det =E4r ofta mycket struligt att l=E4gga till och ers=E4tta objekt und=
er
drift. Referenser blir ogiltliga och operativsystemet eller spr=E5kmotorn
blir konfys.
* Man implementerar samma funktionalitet g=E5ng p=E5 g=E5ng f=F6r olika
komponenter.
* Det blir allt mer uppenbart att den r=E5dande paradigmen med
programmering f=F6re anv=E4ndande i allt snabbare takt blir obekv=E4m. Va=
d man
vill kunna g=F6ra =E4r att l=E5ta slutanv=E4ndare bygga ut systemet. =C4v=
en med
komponenter som ingen systemutvecklare ens tittat p=E5. Exempelvis vill
man kunna l=E5ta ekonomiavdelningen l=E4gga till ett f=E4lt f=F6r 'andra
mobiltelefon' ist=E4llet f=F6r att beh=F6va skriva det i ett '=F6vrigt'-f=
=E4lt.
Det skall ocks=E5 kunna ske utan att beh=F6va v=E4nta p=E5 en systemutvec=
klare.
Det skall kunna ske genom att =E4rva fr=E5n redan etablerade applikatione=
r.
Se Lotus Notes, men t=E4nk l=E4ngre, mer extremt.
* N=E4r Operativsystem, plattform, applikation och data alla har olika
API, r=E5kar man dels ut f=F6r att det man vill g=F6ra ibland inte g=E5r =
eller
=E5tminstone =E4r l=F6jligt komplicerat - detta f=F6r att utvecklarna av
komponenterna valt att exponera olika funktionaliteter i olika niv=E5er
och med olika filosofier.
* Inom ASP och elektronisk distribution av applikationer, finns en hel
m=E4ngd problem vad g=E4ller licensiering. Om man s=E5g objektrymden som
best=E5ende av URI:er och cachade kopior av dessa URI:er, f=E5r man en
struktur som l=E4mpar sig mycket v=E4l f=F6r administration av denna type=
n av
distribuerade tj=E4nster.
Ambitionen =E4r att WRAF skall ha ett mycket moget cache-system d=E4r cac=
he
=E4r del av definitionen, inte bara f=F6r uppsnabbning, utan ocks=E5 just=
f=F6r
att sp=E5ra utnyttjande, f=F6r=E4ndringar och uppdateringar.
* Inom e-business har begreppet 'Trust' kommit att spela en nyckelroll.
Inte bara 'trust' mellan m=E4nniskor och tj=E4nster, utan mellan tj=E4nst=
er.
F=F6r att kunna g=F6ra det beh=F6vs ocks=E5 ett s=E4tt att kunna modeller=
a 'trust'
- vem som litar p=E5 vad i vilka avseenden och varf=F6r.
Alla dessa sv=E5righeter ser jag hur man skulle kunna l=F6sa smidigt geno=
m
en distribuerad applikationsarkitektur d=E4r objekten definieras i RDF oc=
h
accessas genom HTTP och serialiserad RDF. Det finns visserligen t.ex.
SOAP, men SOAP =E4r _en_ XML-baserad implementation, som man m=E5ste g=F6=
ra en
implementation f=F6r. SOAPs data och metadata =E4r inte utbyggbar, vilket=
=E4r
hela po=E4ngen med RDF. MS sitter p=E5 SOAP och dikterar riktningen. Med =
RDF
=E4r alla fria att expandera. I viss m=E5n p=E5 bekostnad av
interoperabilitet. Men genom RDF har man =E5tminstone M=D6JLIGHETEN att
avvika, och det =E4r relativt enkelt att bygga bryggor, om b=E5da partern=
a
pratar RDF. Speciellt d=E5 RDF som sagt =E4r rikt p=E5 metadata, och bygg=
t f=F6r
inferens...
Distribuerade objektanrop:
Visionen =E4r att en given webbapplikation skall kunna utnyttja hundratal=
s
andra webbapplikationer p=E5 olika servrar runt om i v=E4rlden f=F6r att =
g=F6ra
det den =E4r satt att g=F6ra. H=E4mta data s=E5v=E4l som utf=F6ra uppgift=
er. T=E4nk
t.ex. om en s=F6ktj=E4nst kunde sl=E5 i yahoo och dmoz f=F6r att f=E5 fra=
m andra
m=E4nniskors ranking och kombinera den med en maskinell ranking... Det
finns COM+, SOAP, CORBA och HTTP som protokoll, men inga av dessa
protokoll =E4r t=E4nkta att kunna g=F6ra n=E5got annat =E4n att vara bryg=
gor, och
=E4r d=E4rf=F6r slutna. COM/Corba =E4r ocks=E5 sv=E5ra att skriva f=F6r u=
tan kostsamma
utvecklingsmilj=F6er och utbildning. De har ocks=E5 begr=E4nsade m=F6jlig=
heter
till metadata, d=E4rf=F6r =E4r det sv=E5rt att g=F6ra l=F6sningar av type=
n 'leta upp
ett objekt som vet n=E5got om hundar och be den tala om allt om golden
retrievers'. Att kunna beskriva hundar och vad hundar inbegriper =E4r int=
e
en del av Corba, och kommer aldrig att vara det. Det finns ocks=E5 en
m=E4ngd katalogtj=E4nster med uppslagsspr=E5k, men de =E4r f=F6r inflexib=
la, f=F6r
dom=E4ncentrerade.
En annan aspekt av distribuerade objektanrop =E4r att man vill kunna
antingen skicka objektets svar (serversidefunktionalitet) eller sj=E4lva
objektet (klientsidefunktionalitet) beroende p=E5 uppgiftens resurstyngd,
resultatets storlek och tillg=E4nglig bandbredd. H=E4r kommer det jag skr=
ev
om ASP in... en ordbehandlare kan skickas objekt f=F6r objekt, anrop f=F6=
r
anrop, beroende p=E5 om servern eller klienten utf=F6r det snabbast givet
n=E4tets kapacitet. Och samtidigt kan licensieringen f=F6lja anv=E4ndning=
en...
Uniformitet + Rekursion =3D Exponentiell synergi
Och s=E5 slutkl=E4mmen d=E5. Det mesta som st=E5r d=E4r ovanf=F6r l=E5ter=
sig g=F6ras
med dagens plattformar och lite jobb. En del har gjorts m=E5nga g=E5nger,=
en
del finns inbyggt, andra saker finns inte =E4n. Oavsett vilket, s=E5 upps=
t=E5r
n=E5got spektakul=E4rt n=E4r alla dessa saker samlas under ett paraply. O=
m
detta paraplyet dessutom =E4r rekursivt, d.v.s. kan beskrivas genom sig
sj=E4lv, h=E4nder ytterligare n=E5got extraordin=E4rt. D=E5 kan man anv=E4=
nda
systemet f=F6r att manipulera systemet. RDF =E4r definierat i RDF. WRAF =E4=
r
skrivet i WRAF. Lite samma som om man skulle ha en C++ - kompilator
kapabel att skriva om sig sj=E4lv n=E4r ny funktionalitet beh=F6vs l=E4gg=
as till
spr=E5ket C++. I realtid.
L=E5ng rambling. Kan du hj=E4lpa mig extrahera huvudpunkterna, s=E5 jag k=
an
f=F6rklara detta p=E5 ett kortare s=E4tt n=E4sta g=E5ng? ;-D
/Stefan
--------------B48B56D7D6BB8AF541EF3EB9--