Web Services. Olav Lysne

Like dokumenter
Innføring i SOAP. Agenda

UDDI norsk katalog for registrering av tjenester (WMS, WFS, WCS, WS) i Norge digitalt

Pen- tes'ng av webservices. Asbjørn Reglund Thorsen Gruppe- og utviklingsleder UIO/FSAT

Distributed object architecture

GraphQL. Hva, hvorfor, hvordan

Distribuerte objekter og objekt-basert mellomvare

SAS IN A SOA WORLD MARIUS SOMMERSETH TEAM LEAD TECHNICAL ARCHITECTURE

Naming og trading INF5040. Foreleser: Olav Lysne. Ifi/UiO 1

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

Intro til WWW, HTML5 og CSS

1. XML Grunnlag

Kap 3: Anvendelser av Internett

Altinn II v1 - Integrasjon for tjenesteeiere v1.0. Hvorfor / Hva / Hvordan

Hva består Internett av?

Jini. Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong. Definisjon

Network Services Location Manager. Veiledning for nettverksadministratorer

Simple Object Access Protocol

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

CORBA Component Model (CCM)

Distributed object architecture

Vurdering av standarder fra NOSIP. Beslutningssak i det 25. standardiseringsrådsmøte

Standarder for integrasjonsarbeid

Grensesnittene mellom Legemiddelverket og de andre eresept-aktørene

Vurdering av standarder fra NOSIP. Oktober 2010

XML og Mobilt Internett

Veileder for harmonisering av geografiske data

Oppsummering og pensumkommentarer. INF5040 høst forelesere: Frank Eliassen, Olav Lysne. Innhold og mål

WCFService Balanse. Didde Christensen. Beskrivelse av datauttrekk fra balanseavregningen. C r a y o n A S

En beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Standarder for en tjenesteorientert arkitektur

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

Hovedprosjekt i data ved Høgskolen i Oslo våren 2007

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

IMATIS Integration Service

TTM4175 Hva er kommunikasjonsteknologi?

Systemarkitektur. INF1050: Gjennomgang, uke 07

6105 Windows Server og datanett

6105 Windows Server og datanett

NKKN typeforslag versjon Definisjon av grunntypene

Linked Open Data Kartverkets praktiske erfaringer

TTM4175 Hva er kommunikasjonsteknologi?

Grensesnitt DIFAS støttesystem og kortleverandørs produksjonssystem

Status for arbeidet med Referansemodell for elektronisk samhandling i og med offentlig forvaltning. Rammeverk for interoperabilitet

Internasjonal standardisering. Erlend Øverby

Android-Programmering. Vår 2017

Identitetshåndtering og Single Sign-On (SSO)

Microsoft.NET is software that connects information, people systems and devices.

NORSK BRUKERVEILEDNING

Grensesnittdokumentasjon for FEST

Semistrukturerte data og XML

Systemdokumentasjon ELRAPP Sømløst grensesnitt

INF5120 Oblig gjennomgang

Peer-to-Peer systemer

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

HØGSKOLEN I SØR-TRØNDELAG

Jini. Overblikk. Gruppe 1: Odd-Wiking Rahlff, Arnor Solberg og Finn Haukebøe

ephorte Integration Services (eis) produktbeskrivelse

Spredt spektrum. Trådløst Ethernet. Kapittel 2: Diverse praktisk:

6105 Windows Server og datanett

Bruk av komponenter i ADDML

6105 Windows Server og datanett

NORSK EDIEL BRUKERVEILEDNING. bruk av SMTP. for. Versjon: 1.0 Revisjon: E Dato: 3. Mars 2008

Veilederdokumentenes forankring <UTKAST>

2. HVA ER EN KOMPONENT?

Opprinnelig IP-pakke inneholder 4480 Byte data. Dette er inklusiv IPheader. Max nyttelast på EthernetRammen er 1500 oktetter.

Innocent Code Kapittel 1: The Basics Kapittel 2: Passing Data to Subsystems

NCE TOURISM FJORD NORWAY. FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012

Introduksjon til nettverksteknologi

COM. Hva er COM? The Component Object Model. Microsoft sitt rammeverk for å lage og bruke komponenter

UKEOPPGAVER 13: KONFIGURASJONSSTYRING

HØGSKOLEN I SØR-TRØNDELAG

6107 Operativsystem og nettverk

RM-ODP og Multimedia middleware (M3W):

Forelesning Oppsummering

Transkript:

Web Services Olav Lysne

Til nå har dere hørt om Mellomvare for objektbasert kommunikasjon brukes vanligvis i anvendelser som er innen én organisasjon, eller innen et tett konsortium av samarbeidende organisasjoner Hvilke enheter som deltar er oversiktlig Behov for standardisering av grensesnitt for generelle tjenester. WWW er en generell tjeneste, men er dårlig egnet for annet enn menneskestyrt interaksjon

Web services Tillater at en applikasjons-spesifik klient snakker med en tjeneste over et funksjonalitetsspesifikt grensesnitt Tillater et klientprogram i en organisasjon å snakke med et tjenerprogram i en annen Åpner for komplekse applikasjoner som integrerer tjenester fra forskjellige andre tjenester Generaliteten i interaksjonen gjør at web-services ikke kan aksesseres direkte av browsere.

Eksempel fra boken flight booking a flight booking b Client Travel Agent Service hire car booking a hotel booking a hotel booking b hire car booking b

Brukes dette? Mange velkjente websteder tilbyr et Webservices grensesnitt til sine tjenester Boken nevner Amazon, Yahoo, Google, ebay

Hovedforskjeller fra distribuerte objekter Mye er likt, men Objektbegrepet finnes ikke, Kan ikke instansiere fjerne objekter Søppeltømming irrelevant Remote Object References trengs ikke (men i stedet trengs noe annet )

Men hvordan henger WS sammen? WSDL Beskrivelsesspråk for en tjeneste URI URN og URL Sammen med DNS identifiserer de og gir lokasjon til en tjeneste. XML Beskrivelse av meldingsinnhold SOAP (alternativt REST) Enkelt innkapslings-rammeverk for meldinger i XML HTTP Transportprotokollformat (går over TCP)

WSDL beskrivelse Beskrivelse av en tjeneste definitions types message interface bindings services target namespace document style request-reply style how where abstract concrete

WSDL Types Navn og Typer på verdiene som blir utvekslet (analogt til varaibeldeklarasjoner). Messages (operasjoner) Identifiserer typen og formatet av meldinger som skal utveksles. Interface Binding Samling av operasjoner In-Out, In-Only, Out-In, Out-only Sier noe om formater på meldingene. vanligvis SOAP, HTTP og MIME, men kan også være annet (GIOP for å snakke med Corba f. eks). Services Sier HVOR tjenesten befinner seg URL for oppslag via DNS, eller URN for bruk sammen med en navnetjeneste

URI Uniform Resource Identifier Kan være en URL Oppslag via DNS Delvis lokasjonsavhengig (I alle fall avhengige av domenenavnet på maskinen). URN (Uniform Resource Names) er en annen mulighet som er lokasjonsuavhengig. Denne er avhengig av en Directory Service Universal Directory and Discovery Service UDDI

XML Extensible Markup Language Et språk for beskrivelse av meldingsformater, og hvordan de skal parseres UNICODE basert Lesbart for både mennesker og maskiner Ineffektivt plasskrevende Et språk som er egnet til å representere en hierarkisk datastruktur på en flat UNICODEbasert form.

XML definition eksempel <person id="123456789"> <name>smith</name> <place>london</place> <year>1934</year> <!-- a comment --> </person >

Namespace i Person strukturen <person pers:id="123456789" xmlns:pers = "http://www.cdk4.net/person"> <pers:name> Smith </pers:name> <pers:place> London </pers:place > <pers:year> 1934 </pers:year> </person>

Skjema for Personstrukturen <xsd:schema xmlns:xsd = URL of XML schema definitions > <xsd:element name= "person" type ="persontype" /> <xsd:complextype name="persontype"> <xsd:sequence> <xsd:element name = "name" type="xs:string"/> <xsd:element name = "place" type="xs:string"/> <xsd:element name = "year" type="xs:positiveinteger"/> </xsd:sequence> <xsd:attribute name= "id" type = "xs:positiveinteger"/> </xsd:complextype> </xsd:schema>

SOAP Definerer hvordan XML skal brukes til å representere innholdet i meldinger. Definerer hvordan et par av meldinger kan kombineres til et request/reply mønster Reglene for hvorledes mottakere av meldinger skal prosesere de XML-elementene de inneholder Hvordan HTTP (eller SMTP) skal brukes til å kommunisere SOAP meldinger.

En SOAP melding Envelope, Header og Body envelope header header element header element body body element body element

SOAP-melding uten header env:envelope xmlns:env =namespace URI for SOAP envelopes env:body m:exchange xmlns:m = namespace URI of the service description m:arg1 Hello m:arg2 World

SOAP-response env:envelope xmlns:env = namespace URI for SOAP envelope env:body m:exchangeresponse xmlns:m = namespace URI for the service description m:res1 World m:res2 Hello

Eksempel på SOAP melding inne i HTTP POST /examples/stringer endpoint address Host: www.cdk4.net Content-Type: application/soap+xml Action: http://www.cdk4.net/examples/stringer#exchange action HTTP header <env:envelope xmlns:env= namespace URI for SOAP envelope > <env:header> </env:header> <env:body> </env:body> </env:envelope> Soap message

Infrastruktur og komponenter - oppsummering Applications Directory service Security Choreography Web Services Service descriptions (in WSDL) SOAP URIs (URLs or URNs) XML HTTP, SMTP or other transport

Web-services hovedpunkter Baserer navningen sin på DNS, som er skalerbar og global Referansebegrepet URI er enklere enn ROR er for fjerne objekter Enkelt å bruke Baseres bare på HTTP og XML infrastrukturer som allerede er på plass i de fleste eksisterende operativsystemer Meldingene er lesbare for mennesker Trenger bare et praktisk API for SOAP Ikke veldig effektivt Lange meldinger som er tunge å parse. Opp mot 1000 ganger tregere enn CORBA er rapportert