| Dragning för IT-huset (2000-11-10) |
| Intro |
| Vilka är ni, vad vill ni höra? |
| frågor till deltagarna |
| hur många känner igen XML-syntax? |
| hur många använder XML i något projekt? |
| hur många arbetar med någon XML-standard som inte är riktigt klar? |
| Det finns inte tid för någon grundkurs... |
| så vi kommer att skumma på ytan idag |
| Den här presentationen ligger redan på Nätet! |
| här finns en HTML-version |
| programvaran jag använder heter Radio Userland - den är gratis! |
| sök gärna efter ord jag talade om på min hemsida |
| Editthispage erbjuder fria hemsidor av mycket hög kvalitet |
| Vem är jag? |
| Mini CV |
| Stockholms Universitet 1982-1986 |
| Systemvetenskap, AI-kurser |
| Forskningsprojekt: Kommunikation i nya medier |
| MU Data 1986-1994 |
| FoU: kunskapssystem för offentlig förvaltning |
| expertssystem |
| prototyper, användargränssnitt |
| Smalltalk |
| projektledning |
| små och stora konsultuppdrag |
| databasutveckling, multimedia, mac-programmering |
| Indra Information 1995-2000 |
| få och stora kunder |
| projektledning, analys&design, programmering och research |
| mycket Delphi |
| en del web-utveckling |
| alltmer XML |
| Mina erfarenheter av XML |
| utvecklat bl a |
| parser |
| rendering av RTF |
| arkitektur för metadata |
| stream-protokoll |
| dynamisk GUI |
| WYSIWYG-editor |
| utvärderat ett antal produkter |
| varit teknisk rådgivare för flera projekt |
| samarbetar med andra utvecklare via Nätet |
| XML brukade vara enkelt... |
| 1998 |
| minimal syntax och en simpel DTD. |
| de flesta exempel hade en enkel struktur och handlade om att märka upp och arbete med en textfil i taget. |
| få brydde sig om att det är svårt att göra en bra DTD |
| XSL kändes lite komplicerat - men var häftigt att visa upp |
| så här mycket förstår numera ganska många! |
| men det dök upp några förkortningar till |
| mest omtalade 1999 |
| DOM vs SAX |
| Arbeta med hela dokumentet i minnet eller strömma delar? |
| XML Schema |
| bättre än DTD: XML-syntax, datatyper... |
| Namespaces |
| unika identifierare för flera och/eller stora dokument |
| XLink |
| mer avancerade länkar än i HTML |
| XPath |
| sökuttryck för att hitta en del av ett XML-dokument |
| RDF |
| avancerade xml-syntax för meta-data |
| XSLT |
| ta en xml-fil och gör om den till en annan fil |
| XSL:FO |
| avancerad sidlayout-beskrivning för XML |
| CSS level 1 |
| mindre avancerat sidlayout-språk (bäst för HTML) |
| hetast år 2000 |
| Microsoft använder fortfarande sitt eget XDR-format istället för XML Schema |
| CSS level 2 - om den var implementerad i alla browsers (eller åtminstone någon) |
| XHTML är en striktare form av HTML. |
| SOAP - skickar XML över HTTP |
| NET är storslagen hype! Men inte alla är imponerade. |
| mer dokumentation |
| ta ett bokmärke på Cafe con leche! Dagliga nyheter och en bra snabböverblick över spec:ar och verktyg |
| xml.com är en stor och bra site. Här finns hur mycket som helst. Lite av en uppslagsbok. |
| Zvon Project har några bra och visuellt tilltalande tutorials |
| min personliga hemsida - pröva search-funktionen |
| Teaterviskning: utan en bra uppkoppling kommer du inte vidare! |
| XML är en Internet-standard, definierad av W3C |
| all kunskap om XML - och alla spännande människor - finns på Nätet |
| att utveckla XML utan att vara uppkopplad är hopplöst! |
| Två världar möts: dokument vs data |
| kort-kort historia |
| SGML har en tung förhistoria inom dokumenthantering. Man löste svåra problem hos stora kunder... men det tog ofta åratal. |
| HTML var ett simpelt hack som spred sig som ett virus |
| XML skulle bli den perfekta kombinationen... vi får väl se! |
| två olika synsätt möts ständigt |
| XML handlar om att få bättre dokument! |
| Intrikat modellering utgår från mycket komplexa dokument och kryddar med diverse "knowledge engineering" |
| Försök att tala om datatyper leder till djupa filosofiska spörsmål |
| filer och dokument är viktiga... begreppet "dokument" är centralt. |
| utskrifter är svårhanterliga men viktiga |
| Nej! Egentligen handlar det bara om att skicka data! |
| modellering bygger på objekt och/eller data |
| olika former av nätverks-protokoll är centrala |
| utskrifter vill man helst inte tänka på... |
| båda sätten är berättigade och har sina tillämpningar |
| men det uppstår ofta konflikter |
| olika behov |
| olika sorters människor |
| olika sätt att modellera |
| t o m olika tidsperspektiv |
| Många kommande XML-standarder handlar om att kunna använda XML som data |
| Fallstudie: jakten på den perfekta editorn |
| många människor har letat förgäves efter den perfekta xml-editorn |
| jag har själv försökt bygga en skräddarsydd editor för politiska dokument |
| här är liten Powerpoint-presentation (som jag skrev för en konferens om datorstöd för europeiska parlament) |
| första versionen var ett utdraget men intressant misslyckande |
| svåra förutsättningar |
| extremt ambitiös målsättning |
| krav på integration med ännu ej designade "framtida system" |
| fler-användarstöd |
| Word-kompatibelt användargränssnitt |
| få utvecklare arbetade mycket hårt under lång tid |
| svårt få tillgång till rätt användare |
| diverse besvärliga projektlägen (som vi inte ska fördjupa oss i) |
| en lyckad arkitektur... |
| stenhårt skiktad |
| få beroenden mellan olika delar av systemet |
| lågnivå-moduler med inköpt funktionalitet |
| relativt lättviktigt applikationslager |
| metadata för ökad flexibilitet |
| enkelt, IP-baserat nätverksprotokoll |
| som vi lyckades implementera! |
| men projektet lades ändå på is |
| varför? |
| användargränssnittet var buggigt och inte tillräckligt intuitivt! |
| lösbara problem - men krävde resurser som för att bygga en produkt |
| slutsats: bättre att köpa en produkt som hanterar användargränssnittet - vi väntar in marknaden! |
| men nästa version kommer att ha mycket gratis! |
| Några olösta gåtor |
| "Vi kommer att anpassa oss efter den kommande standarden..." |
| W3C får kritik för nästan alla standarder: det går för långsamt! |
| Under tiden försöker Microsoft, Sun och många andra hitta på egna grejer |
| Utvecklare tvingas fatta samma sorts beslut gång på gång |
| följer vi standarden? |
| går det att undvika proprietära utvidgningar? |
| kan vi hålla oss till minsta gemensamma nämnare? |
| och hoppas att kunderna vet vad de gör |
| vad finns det för infrastruktur? |
| är plattformsoberoende viktigt? |
| hur uppdateras klienter? |
| krävs integration med andra system? |
| etc, etc |
| "Men hur skriver man ut då?" |
| XSLT + CSS2 fungerar bra ihop och duger för skärmen |
| men stylesheets kräver (precis som HTML) mycket manuell disciplin om de ska gå att underhålla |
| och räkna inte med några tryck-original från HTML-träsket! |
| men det finns ännu ingen användbar standard för XML-baserad sidlayout |
| XSL-FO blir en allt bättre spec - men ingen har orkat implementera |
| CSS är tänkt för websidor och slår lätt i taket |
| PDF är något av en nödlösning men fungerar ibland bra |
| det finns olika sätt att gå från XML till PDF - men ingen riktig standard |
| är det lätt att distribuera objekt med SOAP? |
| ja, för enkla scenarion kan det vara det |
| men många scenarion täcks inte av SOAP |
| t ex säkerhet, affärsregler, kryptering... |
| SOAP var aldrig avsett att täcka upp alla luckor i HTTP eller XML-standarder! |
| det finns ett antal andra protokoll |
| behoven är många och dessutom slåss leverantörerna |
| nyhetsgruppen xml-dist-app handlar om distribuerade protokoll: här diskuterades t ex SOAP innan spec:en var klar |
| många API:er som krävs för distribuerade applikationer är än så länge leverantörs-specifika |
| MSXML ska t ex gå över till XML Schema - men oklart när |
| W3C Dom level 3 kommer att innehålla en del av det som idag inte är standardiserat |
| öppna och spara dokument och delar av dokument |
| hitta schema och validera vid behov |
| hur modellerar man XML? |
| de generella problemen påminner lite om objekt-relations mappning |
| man vill hantera lagring och dataöverföringar så automatiskt som möjligt |
| leverantörer försöker sälja in olika Case-verktyg |
| det går att mappa XML till UML - men är inte alltid självklart hur |
| Xml-element kan svara direkt mot objekt - men vilka objekt? |
| Xml-attribut kan motsvara egenskaper hos objekt - men vilka egenskaper, med villka datatyper? |
| Xml-element är oftast delar av en hierarki - finns motsvarande relationer mellan objekt? Och hur ska objektrelationer mappas? |
| alla vill såklart modellera allt på sitt sätt - kanske är det en dålig idé? |
| objektmodeller och dokumentmodeller är normalt sett ganska olika |
| görs av olika människor |
| ändras olika ofta |
| används för olika saker |
| men båda behövs i många större system! |
| Jakten på den perfekta editorn, del 2 |
| vad gör en slutanvändare som bara vill skriva (men spara i XML-format)? |
| stora, dyra dokumenthanterings-koncept |
| har sällan bra och användarvänliga editorer, trots priset och allt snack! |
| fristående editorer av olika slag |
| Word saknar riktigt XML-stöd! |
| Tredjeparts-editorer som försöker efterlikna Word |
| stora, komplexa och svårunderhållna kodbaser |
| kräver stor egen kompetens |
| kan var besvärligt att få support |
| låg mariginalnytta: till synes triviala funktioner tar evigheter att testa |
| Dynamisk HTML och redigering i browsern |
| förföriskt enkelt att göra en häftig demo |
| men se upp! |
| funktionaliteten slår snabbt i taket |
| dåliga prestanda |
| många problem med gränssnitts-komponenterna |
| Microsoft-specifika |
| buggiga |
| dåligt supportade |
| svåra att driftsätta |
| spännande, men svårt att hitta en bra långsiktig strategi |
| XML-baserade editorer som renderar HTML |
| fungerar hyfsat för utvecklare |
| men nästan omöjliga att göra intutiva för en slutanvändare |
| XMetal verkar vara närmast just nu |
| Marknadsföra bör man, annars... |
| hype: "XML ändrar allt!" |
| vissa vill höra sådant - behovet av buzzwords tycks omättligt |
| men för utvecklare är XML är ett bra buzzword |
| tekniken är begriplig och ganska enkel |
| mycket fungerar på riktigt |
| efterfrågan är stor på både vägledning och utveckling |
| priset för djupare kompetens är relativt högt |
| möjligt att sälja in roliga pilot-projekt |
| dessutom är XML är kompatibelt med andra buzzwords |
| DCOM och Corba lär inte försvinna... men ibland är XML ett enklare alternativ |
| Java eller .NET? båda använder XML på många olika sätt |
| mer nyanserat sätt att påstå samma sak |
| potentiellt kan alla lager i en flerskiktsarkitektur använda XML |
| datalagring |
| nätverksprotokoll |
| användargränssnitt |
| presentation |
| alltfler företag levererar XML-baserade produkter och tjänster |
| sannolikt god efterfrågan på djupare kompetens |
| Roligaste tillämpningarna just nu: nya sätt att samarbeta |
| P2P är ett ganska färskt buzzword |
| Napster skapade debatt |
| Gnutella fick många efterföljare |
| Radio Userland - outsider med många fördelar för utvecklare |
| Groove: skaparen av Lotus Notes försöker igen. Kan bli jättestort... värt att titta på |
| Analys: ny marknad ger många lägen för små och oberoende företag |
| beprövad strategi för större företag: allomfattande koncept, dyra produkter och onödiga tjänster |
| förra årets strategi: bygg helt nya tjänster och bli rik! |
| försiktig strategi för mindre företag: sälj konsulttid och fyll i större företags koncept |
| kaxigare strategi för oberoende företag: sälj den enklaste lösningen som fungerar! |
| vad krävs? |
| ständigt färska kunskaper |
| surfa mycket |
| utveckla egna lösningar |
| använd xml-lösningar själv - "ät din hundmat!" |
| goda tekniska instinkter |
| se när halvfärdiga standarder duger för en kund |
| sålla bort dåliga leverantörer och produkter |
| snabbt förstå vad som är användbart i stora ramverk |
| uppskatta enkla lösningar |
| berättar-talang |
| kunna berätta bra historier som kunder förstår |
| Så vad ska vi göra nu? |
| surfa lite mer, läsa några böcker |
| leka med andra utvecklare |
| hitta roliga projekt och tänja på gränserna |
| XML är kul! |