DC XML & co Ontologier OWL Vokabulärer Topic Maps XML Semantic Web RDF Schema XSLT HTTP Web Services XHTML REST.NET SOA J2EE Gästföreläsning NADA, KTH, 2004-02-17 Pär Lannerö, par.lannero@metamatrix.se RSS FOAF Ni vet redan vad XML är html xml <FONT FACE= Arial COLOR= red > Storgatan 5 <BR> 123 45 Småstad </FONT> <address> <streetname>storgatan</streetname> <streetnumber>5</streetnumber><br> <zip>123 45</zip> <city>småstad</city> </address> Upplägg Men vet ni vad XMLism är? 1. XMLism 2. XML möjligheter 3. Det behövs helhetsgrepp för att realisera möjligheterna 4. Problem med XML 5. Två helhetsgrepp: + Semantic web + Web services Tanken att XML inte är ett nytt filformat, utan en familj av specifikationer som tillsammans lyfter upp basen för informationstekniken på en ny nivå 1
XMLism är En syn på informationens tillgänglighet: XMLism är... Begreppet Unknowns compatible Idag: databaser Före Internet: isolerade databaser åtkomliga via Internet Clip Snart: Internet blir en enda stor databas Du vet hur det ser ut, med mått och allt Informationen kan dyka upp på alla möjliga sätt Kan anpassas i viss mån: skärmstorlek, färg, teckensnitt... XMLism är... Begreppet Unknowns compatible Möjligheter med XML 1/5 Effektivt informationsflöde Mata in information bara en gång (eller ingen) Automatiskt utbyte av information mellan system Billigt flöde av information mellan organisationer XML 2
Möjligheter med XML 2/5 Flexibel presentation av information Parallellpublicering Enkelt anpassa till användare med speciella behov Enkelt presentera centrala data i olika språkgränssnitt Möjligheter med XML 4/5 Informationskvalitet Scheman och validering ger Korrekt Fullständig och Välstrukturerad information Referera istället för att kopiera en ögonblicksbild Aktuell information XML XML Möjligheter med XML 3/5 Lämpligt för långtidsförvaring Låser sig inte vid en viss leverantör Text-baserat Många verktyg att välja mellan Möjligheter med XML 5/5 Effektiv informationshantering Urval Sortering XML XML 3
Möjligheter med XML 5/5, illustration Möjligheter med XML 5/5, illustration Möjligheter med XML 5/5, illustration Möjligheter med XML 5/5, illustration Kan endast besvara frågan: Vilka dokument innehåller sök-orden? Kan besvara frågan: Vilka dokument innehåller sök-orden i ett specifikt element Kan sortera på valfritt element 4
Problem med XML?? Problem med XML Automatiska metadata ej direkt tillgängliga för sökning och sortering, eftersom de bakas in i binära format (.doc,.jpg...) Datering Upphovsman Titel ID3 Sökmotorer bryr sig inte om metadata, även i textformat (XHTML, HTML META, RSS etc.) Problem med XML Det behövs helhetsgrepp! Redan fullt accepterat som filformat, men filosofin XMLismen genomsyrar inte dagens programvara. T.ex: MS Office har funktioner för att läsa och skriva XML, men det är inte standardformatet! Sökmotorer på nätet bryr sig inte om DC, XHTML, RSS, FOAF...! Databaser drar inte nytta av flexibiliteten i XML (utom t.ex. Tamino som kostar 1 Mkr) Term- och begreppshanteringen ännu omogen Säkerhets- och integritetsfrågor... 5
Det behövs helhetsgrepp! Det behövs helhetsgrepp! W3C, WS-i... Nästan klart! W3C, WS-i... Nästan klart! Mjukvaruföretag Ditt företag eller din sektor detta är ett stort åtagande, om ej klart! Det behövs helhetsgrepp! Terminologier, ontologier W3C, WS-i... Nästan klart! Mjukvaruföretag -Verktyg finns i vissa branscher (t.ex. HR) men generellt är det en bit kvar 6
Varför är det så svårt med semantiken? Exempel: Ett system byggt för amerikanska förhållanden kan använda SSN för att identifiera personer. Ur SSN kan man utläsa födelse-stat men inte ålder. Ur ett personnummer kan man med en snabb blick utläsa personens ålder, och med litet kunskap även kön. Både SSN och personnummer fungerar bra, och i ett givet sammanhang är SSN bättre (inte lika integritetskänsligt t.ex.) och i ett annat sammanhang är personnummer bättre (rikare information) Det behövs helhetsgrepp! Kontrakt W3C, WS-i... Nästan klart! 999-04-1234 720221-0123 Mjukvaruföretag Ditt företag eller din sektor Regeringarna men är de med på tåget? Det behövs helhetsgrepp! Det behövs helhetsgrepp! Du! W3C, WS-i... W3C, WS-i... Kontrakt Nästan klart! Kontrakt Nästan klart! Mjukvaruföretag Ditt företag eller din sektor Mjukvaruföretag Ditt företag eller din bransch Regeringar 7
Det behövs helhetsgrepp! Helhetsgrepp finns inom vissa branscher, samt i två större sammanhängande generella teknologier som är på g: 1. Semantic Web 2. Web Services Semantic Web Ser till informationens minsta beståndsdel: påstående Ondskan är skriven av Jan Gulliou Semantic Web hanterar informationsposter inte dokument Semantic Web Strukturen hos ett påstående Resource Property Value Ondskan är skriven av Jan Gulliou 8
Semantic Web Entydighet genom URIer Resource Property Value Ondskan är skriven av Jan Gulliou ISBN://123456789-3 mailto:jg@pk.se http://purl.org/dc/elements/1.1/author Semantic Web Meningsfullt först när det finns många påståenden Ondskan är skriven av Jan Gulliou PK Har hemsida Jan Gulliou är ordförande i PK Ondskan Skrevs Ordförande måste vara medlem Är skriven av Samtidigt som Skrevs Medlem måste vara människa Är skriven av Har invers människa Är också Är däggdjur http://www... 1981 författare till däggdjur är aldrig fiskar Jan Gulliou är en fisk Semantic Web Entydighet genom URIer Semantic Web Meningsfullt först när det finns många påståenden Ondskan är skriven av Jan Gulliou ISBN://123456789-3 mailto:jg@pk.se http://purl.org/dc/elements/1.1/author Evil was written by Gulliou, Jan ISBN://123456789-3 mailto:jg@pk.se http://purl.org/dc/elements/1.1/author 9
Semantic Web Gör det möjligt för maskiner att resonera Ondskan är skriven av Jan Gulliou PK Har hemsida Jan Gulliou är ordförande i PK Ondskan Skrevs Ordförande måste vara medlem Är skriven av Samtidigt som Skrevs Medlem måste vara människa http://www... 1981 Semantic Web Kräver energi... människa Är också däggdjur Är skriven av Har invers Är författare till däggdjur är aldrig fiskar Jan Gulliou är en fisk t.ex. upptäcka motsägelser Semantic Web Gör det möjligt för maskiner att resonera Semantic Web...eller kanske lekfullhet? Upptäcka motsägelser Pröva hypoteser mot data: leta efter alla som är författare leta efter påståenden som säger att en av dem är fisk lägg till påståendet (hypotesen) ingen fisk kan vara författare om systemet varnar för motsägelse så är din hypotes troligen falsk Hitta alla som är medlem i PK Hitta böcker skrivna av svenskar på engelska......som kostar mindre än 40 yen...sortera böckerna efter förlag...rita ut förlagens kontor på en karta...sortera bort alla böcker vars förlag inte har ett kontor i Japan 10
Semantic Web Bara visionärerna tycks ha sett möljigheterna Web Services - översikt Vad är Web Services? Tre definitioner Upphov och status Exempel Vad använder folk WS till? Vilka web services borde finnas? Varför web services? 24-timmarsmyndigheten behöver ej fördjupa Argument Konkret hur det går till Exempel: Microsoft Visual Studio.NET Teknisk översikt Protokoll Utvecklingsverktyg Buzzword bingo Frågetecken kring Web Services XML Semantic Web Vad publicerar man? Hur publicerar man? Vad söka? Hur sortera? -översikt Web Sidor Redigera fritext + bilder Sidor Länkar Antal sidor Liknande sidor Relevans Skapat-datum Titel Semantic Web Påståenden Underhåll databaser, generera RDF Svar på godtycklig fråga Godtyckligt http://ftrain.com/google_takes_all.html 1) Tre definitioner XML Web services = XML in motion Edd Dumbill (xml.com) 11
2) Tre definitioner Web services is: IP-based network applications built with four emerging standards: Extensible Markup Language (XML) Simple object access protocol (SOAP) Universal description discovery and integration (UDDI) Web services description language (WSDL) Vad Web Services inte är Webben web Web browser Web That allows the applications to talk to each other no human intervention needed. What Web services is all about is interoperability of applications, be they written in Perl or Java or Windows or whatever. Ben Worthen (cio.com) server WS Godtycklig programvara Tre definitioner 3) Grundtanken är att varje del i ett IT-system enkelt ska kunna kopplas ihop med godtyckligt annat system Johan Porsby, Agero Vad Web Services inte är Semantic Web också för maskinläsning, men mer dataorienterad (WS är mer service-orienterat) Corba/COM/RMI/EDI också sätt att anropa tjänster/data på distans, men inte lika Internet-anpassade (men mer mogna) XML-RPC enklare men inte lika komplett Nödvändigtvis http-baserat kan även köras över SMTP eller liknande (Via mellanvara såsom MSMQ) En modefluga 12
Upphov och status Upphov och status Stor industriell uppbackning Har kommit igång, men inte hos alla Upphov och status Stor industriell uppbackning Exempel (publicerade på xmethods.org) Uppslagning av konstanta data Landnamn <-> ISO landkod ISBN -> Boktitel ZIP -> koordinater Uppslagsverk, t.ex. Medicinska Indexerad litteratur (Bibeln, Shakespeare, Koranen...) 13
Exempel (publicerade på xmethods.org) Uppslagningar av aktuella data ISBN -> Pris på Amazon/BN Valutakurser Börskurser Är en viss användare online? Befolkning i ett givet land Temperatur i en given stad Var befinner sig ett UPS-paket? Nyhetsrubriker Tidtabeller Exempel (publicerade på xmethods.org) Skicka meddelande SMS ICQ Epost Fax Exempel (publicerade på xmethods.org) Uträkningar Kan oftast med fördel utföras på klientsidan, men iallafall... Radie -> omkrets Formatering av datum till viss kultur (2004-10-21 -> 10/21/04) Exempel (publicerade på xmethods.org) Översättning Språk (Babelfish) Koder (romerska siffror <-> decimal) 14
Exempel (publicerade på xmethods.org) Konvertering HTML -> PDF Word -> HTML Exempel (publicerade på xmethods.org) Validering Är en given mailadress korrekt? Är ett bankkontonummer giltigt? Postnummer finns det? Exempel (publicerade på xmethods.org) Tjänster Spam-identifikation Rättstavning Eliza Avlägsning av röda ögon (HP) Färgkodning o indentering av programtext Exempel (tänkbara mellan betrodda parter) Beställningar av IRL-varor Avläsning av lagernivå, automatisk påfyllning Beställning från OLF-system (finns med äldre teknik (EDI), men troligen billigare göra med WS) Beställningar av IRL-tjänster Kontroll av lediga hotellrum (för försäljning av samarbetspartner, som del av paket) Bokning av hotellrum Taxi till koordinat baserat på mobil-position/kart-klick/knapptryck Kontroll av tillgång till konsertbiljetter (för försäljning av samarbetspartner, som del av paket) Beställning av konsertbiljetter 15
Exempel (möjliga om betalsystem finns) Sammansättning av Web Services E-brev Beställning av biljetter Blommogram Egen applikation (ev WS) Web Services ger programmeraren möjligheter! Metamatrix WS-önskelista Uppslagning av konstanta data Alla postorter och postnummer Sveriges kommuner Länen Länder och landsbeteckningar Valutabeteckningar (ISO 4217) Betygsskalor Namn på skolor och universitet Yrkestitlar Namn på myndigheter Bolagsformer SAB - bibliotekens klassificeringar EUs ordlistor FNs ordlistor, t.ex. ISIC rev3 Mycket av detta finns I Statskalendern, men inte refererbart från applikationer 16
Metamatrix WS-önskelista Uppslagning av aktuella data Basbelopp Diskonto Skattesats i kommun Gröna nyckeltal för kommuner Antal anställda/medlemmar i organisation Omsättning i organisation Antal invånare i region Åldersstruktur i kommun Arbetslöshets-statistik Lönestatistik Hälsotal Konsumentprisindex Mycket av detta finns på många format hos Svenska statistiknätet, men inte direkt refererbart från andra applikationer, utan som Excel/webb/txt Metamatrix WS-önskelista Beräkningar/tjänster Disponibel inkomst, givet lön, familjemedlemmars ålder, bosättningsort (baserat på bl.a. skattesatser annan ws) Års-återbetalningsbelopp CSN, givet år, lön, ålder, nuvarande skuld VAB-rapportering mellan företag och försäkringskassan Metamatrix WS-önskelista Beräkningar/tjänster Disponibel inkomst, givet lön, familjemedlemmars ålder, bosättningsort (baserat på bl.a. skattesatser annan ws) Års-återbetalningsbelopp CSN, givet år, lön, ålder, nuvarande skuld VAB-rapportering mellan företag och försäkringskassan Metamatrix WS-önskelista Varför? Det blir möjligt att direktkoppla applikationer till nyckeltal istället för att skriva in dem i.ini-filer Informationen blir mer tillgänglig för medborgare och organisationer Samarbete mellan myndigheter blir billigare Mindre trögt att få igång nya tjänster tack vare enhetligt gränssnitt 17
Metamatrix WS-önskelista Varför? Det blir möjligt att direktkoppla applikationer till nyckeltal istället för att skriva in dem i.ini-filer Informationen blir mer tillgänglig för medborgare och organisationer Samarbete mellan myndigheter blir billigare Mindre trögt att få igång nya tjänster tack vare enhetligt gränssnitt Kvalitetsökning Demokrati Ekonomi Flexibilitet Konkret! Hur det går till att använda web services 18
19
Varför Web Services? Affärs/verksamhetsmässiga fördelar Kan enkelt kombinera ihop ett informations/tjänsteflöde mha potentiellt många leverantörer Enkelt byta leverantör av information/tjänst > billigt Enkel systemintegration vid företagsköp/sammanslagningar/samarbeten Enkelt sätt att låta återförsäljare/partners integrera den egna informationen i sina system (-> ökad försäljning) Tjänster som är unika vill ett företag hantera själva, men sådana tjänstekomponenter som alla ägnar sig åt (t.ex. reseräkning-hantering) kan man ofta med fördel outsourca till specialister (resebyrå). WS underlättar detta! Billigare än SHS enl. CSN Varför Web Services? Trygghet i IT-investering Plattformsoberoende Leverantörsoberoende Modulär utveckling Enkelt sätt att inlänka data från befintliga system i nya Utvecklingstiden kortare (enl CSN) 20
Varför Web Services? Teknisk översikt WSDL Perfekt vid kommunikation i flera kanaler återanvända komponenter - samma bas i flera kanaler enhetlighet i gränssnitt gemensam statistik Web Service Description Language Standardiserat (XML-baserat) sätt att beskriva en tjänst. Två typer av beskrivning: Abstrakt människoläsbart Konkret maskinläsbart Tydligare kravspec kan man inte få Örjan Carlsson, chef IT-arkitektur CSN Teknisk översikt - SOAP Teknisk översikt UDDI Simple Object Access Protocol Standardiserat (XML-baserat) sätt att paketera åtkomst av en tjänst. Innehåller två delar: HEAD: administrativ info, t.ex. meddelandets giltighetstid BODY: själva det data som ska utbytas mellan applikationerna Kan transporteras över t.ex. HTTP eller SMTP Standardiserat av W3C Universal description discovery and integration Standardiserad katalog som innehåller beskrivningar av tjänster. Åtkomlig som WS! Två typer av beskrivningar: Gula sidor principbeskrivning av tjänster Vita sidor allt som behövs för att ansluta tekniskt 21
Utvecklingsverktyg Microsoft Visual Studio.NET Sun ONE Studio Novell xtend IBM WebSphere Att bygga in befintliga system 1. API 2. Bygga om 3. Screen-scraping 4. Bygga nytt WebMethods BEA WebLogic Hur bör WS konstrueras? Buzzword bingo Modul-tänkande! Varje logisk funktion som är meningsfull för sig bör exponeras som EN ws. Sammansatta tjänster kan konstrueras med hjälp av flera WS. På så vis kan nya tjänster återanvända moduler utan att de behöver förändras alls. Tänk efter vad som ska hända om en WS inte svarar på anrop! W B S S P W O O R C H E S T R A T I L F E W L S S T A G I L E O N 22
REST Representational State Transfer är en åsikt: Webbens struktur (tillståndslös, URLer, dokument) är nyckeln till dess framgång. Samma arkitektur bör användas för WS. http://www.xfront.com/ REST-Web-Services.html Problem med Web Services? Mer kod fler kopplingar och beroenden mer underhållsoch versionsfrågor Semantik Varje bransch behöver komma överens om begrepp och terminologi Kapacitet XML inte så kompakt.. Säkerhet WS innebär att man öppnar för systemanrop! Forts följer DLL WS DLL hell magnified Uppgraderar man en applikation så slutar flera andra att fungera The standards needed will be in place within 1,5 years Bob Sutor, IBM director of WS, I början av 2003 Service Oriented Architecture Funktion Beständighet Lång utvecklingstid Täta samarbeten Objektorienterat Process Föränderlighet Inkrementell utveckling Spontana samarbeten Meddelandeorienterat Wolfram Meyers, Microsoft Problem med Web Services? Tillit kan jag bygga ett system som är beroende av en web service som någon annan tillhandahåller? Vem litar du på? Långvarighet kan jag bygga ett system som är beroende av en web service som någon annan tillhandahåller? Alltför stor tilltro till automatisering? Mjukvaruleverantörer behöver inlåsning och öppenhet 23
Problem med Web Services? Komplexitet frestande men farligt överge webbens enkelhet! Transaktionshantering över flera WS-anrop Gamla system ofta inte byggda för alternativa gränssnitt Begränsad kunskap bara 14% av svenska IT-chefer känner till WS (CS) Legala konsekvenser har inte ens hunnit dyka upp! Politiska och affärsmässiga konsekvenser Web Services Slutsatser?? Redan ett bra verktyg för integration inom organisationer Extern integration börjar komma igång Integration med nya, okända partners kanske aldrig blir verklighet (kanske om 10 år, säger IDC) Hur gå vidare? Konkurrens? www.webservices.org Semantic Web Initiative Web Services www.swsi.org 24
Erfarenheter: Summering Erfarenheter: Summering SYNTAX (klart: XML, SOAP...) SEMANTIK (Många branscher har detta kvar!) Erfarenheter: Summering Erfarenheter: Summering MJUKVARA POLITIK KABLAR TEKNOLOGI 25
SLUT 26