Service Discovery Chau Bui Tuan Pham Marie Fuglesang Bent Erik Skogstad Hong Nhung thi Vo
Hva er Service Discovery? Service Discovery er at en mobil bruker kan finne tjenester og utstyr som er tilgjengelige ved besøkende sted, og kunne bruke dem uten involvering av dataadministrator på stedet.
Tema Web Services JINI UPnP Salutation
Web Services
Programvare som kan brukes fleksibelt på tvers av nettsteder og andre tjenester. Programvaren går på en internettserver og utfører bestemte operasjoner. Modulære applikasjoner som kan beskrives, publiseres, lokaliseres og kalles over et nettverk Basert på standard Internett-teknologier og XML
Roller i arkitekturen 3 roller: Service Provider Service Requester Service Broker 3 operasjoner: Publish Find Bind
3 typer Service Discovery Register I statiske, kontrollerte omgivelser hvor endringer forekommer sjeldnere Indeks I situasjoner med god skalering Peer-to-peer I dynamiske omgivelser
Teknologier XML- (Extensible Markup Language)- språk for strukturerte dokumenter SOAP (Simple Object Access Protocol)- en måte å kommunisere på WSDL (Web Services Description Language)- en måte å beskrive tjenester UDDI (Universal Description, Discovery, and Integration)- navne- og directoryserver
Fordeler Lettere samspill mellom service provider og service requester– plattform- og språkuavhengige Muliggjør dynamisk samarbeid Reduserer kompleksitet ved innkapsling Muliggjør sømløs integrasjon mellom systemer
Jini network technology
Mål for Jini Få til et nettverk med tjenester der man kan koble seg til å få tilgang til disse tjenestene når som helst og hvor som helst. Gjøre nettverket fleksibelt og lett å administrere.
Hva er Jini? “Jini network technology is an open software architecture that enables the creation of network-centric solutions which are highly adaptive to change”.
Hva er Jini? Lett for klienter å lokalisere og bruke tjenester som er tilgjengelig i nettet, uten å rekonfigurere. ”Network plug-and-play” Discovery/join med objekter og Java RMI som kjernemekanismer. Tjenester kan være aksess til informasjon, beregninger, lagring, software, hardware enheter osv. Jini er gratis. Sun tilbyr gratis tilgang til kildekode. Jini står ikke for noe, men noen mener at det er forkortelse for ”Jini is not initials”.
Jini arkitektur Bygd på Java plattform. Jini systemet består av klienter og tjenester som kommuniserer vha Jini protokoller. Ofte er dette applikasjoner skrevet i Java som kommuniserer ved Java RMI. Selv om Jini er skrevet i ren Java, trenger verken klienter eller tjenester å være i ren Java.
Jini arkitektur Lookup service: oversikt over tilgjengelige tjenester. Jini service: er registrert i lookup service, kan bli kalt med Java RMI. Jini client: software som forespør en tjeneste.
Hvordan fungerer Jini?
Fordeler med Jini Ingen pre-konfigurasjon Reduserer system administrasjon Klienter kan bruke tjenester uten å vite noe om implementasjonen Økt produktivitet, kostnadssparende, lett å bruke
UPnP Universal Plug and Play
Universal Plug and Play Utviklet av UPnP Forum (opprettet oktober 1999) ”Universal”: Ingen enhetsdrivere – bruker bare vanlige protokoller Uavhengig av media Enheter kan implementeres med ethvert programmeringsspråk og på alle operativsystem
Protokollstakk
Komponenter Kontrollpunkter Enheter Tjenester
0. Adressering IP-adressering Hver enhet må ha en DHCP-klient, og søker etter en DHCP-server når enheten kobles til nettverket Dersom DHCP ikke er tilgjengelig benyttes Auto-IP Sjekker periodisk for DHCP
1. Discovery Kontrollpunkter kan finne en enhet på to måter: Enheten annonserer sine tjenester til kontrollpunkter i nettverket Kontrollpunktene søker etter enheter/tjenester Kontrollpunktene mottar en discovery message, som inneholder f.eks. type, id, peker til mer informasjon Simple Service Discovery Protocol (SSDP) General Event Notification Architecture (GENA)
1. Discovery
2. Description Kontrollpunktene henter en enhets beskrivelser fra en URL gitt i discovery message Beskrivelsene er i XML-format Enhetsbeskrivelse: Modellnavn og –nr., serienr., produsent osv. Tjenestebeskrivelse: Liste med handlinger og tilhørende argumenter, i tillegg til liste med tilstandsvariabler
2. Description
3. Control Kontrollpunktene sender en kommando til en enhet: Handlinger Polle tjenestene for verdier på tilstands-variabler Simple Object Access Protocol (SOAP)
3. Control
4. Eventing Evented variables: Tjenesten publiserer oppdateringer når disse variablene endres, og et kontrollpunkt kan abonnere på denne informasjonen General Event Notification Architecture (GENA)
4. Eventing
5. Presentation Et kontrollpunkt kan hente en side fra en URL for presentasjon som er angitt i enhetsbeskrivelsen Kontrollpunktet kan via dette grensesnittet styre enheten og se enhetsstatus
5. Presentation
Salutation
Salutation En åpen standard som tar seg av Service Discovery og utnyttelse av tjenester og fasiliteter i et domene. Uavhengig av OS, transportlaget og hardware plattform. Utviklet av Salutation Consortium.
Arkitektur
Arkitektur (2) Salutation Manager (SLM) sammen med Transport Manager (TM) fungerer som en tjeneste-megler (service broker). Hver SLM har en unik SLM-ID (16 oktett lang streng). TM innført for å gjøre SLM transportlagets uavh. TM oppdager/finner alle SLM og lagrer deres SLM-ID hos lokal SLM
Hvordan TM oppdager andre SLM? TM har en statisk tabell over adresse til fjerne SLM. TM kringkaster en forespørsel for å finne de andre SLM vha Salutation Manager Protocol. TM kan bruke Service Location Protocol (SLP) til å kontakte en sentral server som har oversikt over alle/mange SLM i domenet. Klienten selv kan spesifisere adressen til en ønsket SLM gjennom SLM-API.
Service Broker’s oppgaver Service Registry SLM har et register som inneholder info om tjenester/service providers. Service Discovery Foretar en sammenligning av etterspurte tjenestestyper med tilgjengelige tjenestestyper. Service Availability SLM sjekker periodisk om en tjeneste fortsatt er oppe Service Session Management SLM oppretter en virtuelt datakanal mellom klienten og server, også kalt Service Session. Data og meldinger gjennom denne kanalen er def etter Personality protocols
Service Records 3 typer service records: Service Description Record: brukt i 3 kontekst Registered Service Description Record Requested Service Description Record Reply Service Description Record Functional Unit Description Record Attribute Record
Salutation Manager Protocol Meldinger er kategorisert i følgende funksjonelle grupper: Get Minor Version SLM-ID Exchange Capability Exchange Service Request Availability Check
Local SLM in a Query Capability
Remote Service Discovery
User identification and Authentication Opsjonelt, avhenger av hva slags tjenester det er. 2 parameter: Credential: identifiserer en bestem bruker, bestå av 2 felter: authentication flavor og Null/brukernavn Verifier: autentiserer credential-parameteret, bestå av 2 felter: authentication flavor og Null/passord
Oppsummering Tjenester må annonseres Selvkonfigurerende Reduserer administrasjon Tilpasser seg til endringer i nettet
Spørsmål?