Time-Independent Invocation(TII) and Interoperable Routing

Størrelse: px
Begynne med side:

Download "Time-Independent Invocation(TII) and Interoperable Routing"

Transkript

1 Time-Independent Invocation(TII) and Interoperable Routing Presentert av: Henning Kulander Eivind Mork Erlend Garberg

2 Introduksjon TII er en teknikk som muliggjør at forespørsler kan leve i nettet uten at klienten er tilkoblet. Utvider CORBA med Store-and-Forward funksjonalitet. En utvidelse av AMI.

3 Bakgrunn De tidligste CORBA-systemene baserte seg på synkron kommunikasjon. Eneste mulighet for asynkron kommunikasjon var oneway-kall og Deferred synchronous-kall. Problemene med disse var at man enten mangler garantier, eller at de vanskelige å bruke i applikasjonene.

4 Bakgrunn (2) Synkrone kall

5 Bakgrunn(3) Messaging spec Muliggjør applikasjoner med asynkrone metodekall. I tillegg kan man bruke tidsuavhengige metodekall, som vil si at et asynkront kall kan få svar også i en annen kjøring eller etter eventuelle nettavbrudd.

6 Bakgrunn(4) - TII 1. Forespørsel fra klient. 2. Ruter sender forespørsel videre til enderuteren. 3. Ruteren sender forespørselen til målobjektet. 4. Målobjektet behandler forespørselen. 5. Svar sendes tilbake til enderuteren. 6. Svaret sendes til klientruteren. 7. Applikasjonen mottar svaret.

7 AMI (Asynchronous method invocation) Nytt i CORBA Messaging Asynkronitet fører til mindre komplekse programmer, fordi man slipper å ha tråder. Med CORBA AMI slipper man å bruke one-way operasjoner som workaround. Tilbyr to modeller for asynkron metodeinvokering, Polling og Callback.

8 AMI(2) - Polling Ved metodekall får du et Pollerobjekt i retur. Klienten kan bruke pollerobjektet til å sjekke om det har kommet svar fra serveren, og også eventuelt blokkere i påvente av dette.

9 AMI(3) - Callback Her sendes en ReplyHandler som parameter i metodekallet. Når serveren sender svar blir det sendt som en forespørsel til ReplyHandleren. Mer effektiv, men gir økt kompleksitet i klienten.

10 Motivasjon for TII Mulighet for å køe opp meldinger når du ikke er online. Forespørselen vil ikke dø mens maskinen er avslått eller offline. Klient- og tjenerobjektet trenger ikke å endres for å ta i bruk TII. Interoperable Routing muliggjør forespørsler til maskiner du ikke har direkte tilgang til. (For eksempel bak en brannvegg)

11 Grunnleggende om TII Er essensielt en spesialisering av AMI. Brukes av applikasjoner som krever garantert levering av forespørsler selv om klient eller tjener midlertidig er avkoblet nettet. Sendes gjennom et nettverk av rutere fra klient til tjener. (Som SMTP i epost) Forespørslene kan lagres i ruterne, selv om klient og/eller tjener går ned.

12 TII i en aksjeapplikasjon Applikasjonen brukes til å kjøpe aksjer og hente aksjekurser over et WAN. Applikasjonen kjører på en laptop, som ikke alltid er oppkoblet mot nettet. Brukeren skal kunne bruke applikasjonen sømløst, selv om maskinen ikke er på nett. Dette nødvendiggjør bruk av TII, som bufrer forespørsler og svar i ruterne. Legg merke til at det finnes en ruter i CORBAmellomvaren på laptopen.

13 TII 1 Initiell forespørsel 1. Bruker klikker kjøp-knapp i GUI. 2. Applikasjonens ORB prøver å sende forespørselen direkte til server gjennom AMI. 1. Hvis maskinen er på nett, vil ORBen sende forespørselen og motta svar. 2. I vårt tilfelle vil dette feile, da maskinen ikke er på nett.

14 TII 2 Valg av ruter 1. Siden bruk av AMI feilet, leter klient-orben etter en ruter som kan behandle forespørselen. 1. Hvordan ORBen finner ruteren er implementasjonsspesifikt, for eksempel kan den lokale CORBA-ruteren brukes. 2. CORBA-ruteren identifiseres med en vanlig CORBA objektreferanse, siden den implementerer standard CORBA Messaging IDL.

15 TII 3 Sending av forespørsel Sendingen av forespørselen kan skje ved to ulike modeller, avhengig om du har valgt Callback eller Polling i klienten. Dersom klienten bruker Callbacks, benytter ORBen Router-interfacet til MessageRoutermodulen, dersom klienten bruker Polling, benyttes PersistentRequestRouter-interfacet i stedet.

16 TII 3 Callbacks module MessageRouting { struct RequestInfo { /* described below */ }; typedef sequence<requestinfo> RequestInfoSeq; interface Router { // Send one request to a server. void send_request (in RequestInfo req); // Send multiple requests to a server. void send_multiple_requests (in RequestInfoSeq req_seq); }; };

17 TII 3 Callbacks (2) Ved Callbacks brukes Router-interfacet når man sender meldinger. Interfacet bruker send_request() til å sende en forespørsel, og send_multiple_requests() for å sende flere. Som parameter(e) sendes en eller flere RequestInfo-structer. RequestInfo-structen inneholder informasjon ruteren bruker til å sende forespørselen.

18 TII 3 Callbacks (3) module MessageRouter { interface Router; // Defined above typedef sequence<router> RouterList; struct RequestInfo { // List of routers visited thus far. RouterList visited; // List of routers remaining to visit. RouterList to_visit; // Object we re invoking our request upon. Object target; }; // Index of IOR profile being used to send // this request. unsigned short profile_index; // Location where the reply should return to. ReplyDestination reply_destination; // Quality of service parameters. Messaging::PolicyValueSeq selected_qos; // Contents of the message. RequestMessage payload;

19 TII 3 Callbacks (4) module MessageRouting { enum ReplyDisposition { TYPED, UNTYPED }; struct ReplyDestination { ReplyDisposition handler_type; Messaging::ReplyHandler handler; sequence<string> typed_excep_holder_repids; }; }; For å bruke en applikasjonsspesifikk ReplyHandler, settes handler_type feltet til TYPED av klient-orben. UNTYPED feltet brukes mellom rutere, siden de ikke kan vite om datatypene til operasjonene.

20 TII 3 Polling module MessageRouting { //... RequestInfo og Router som vist tidligere. // Forward declaration. interface PersistentRequest; interface PersistentRequestRouter { PersistentRequest create_persistent_request(in unsigned short profile_index, in RouterList to_visit, in Object target, in CORBA::PolicyList current_qos, in RequestMessage payload); }; };

21 TII 3 Polling (2) Ved Polling brukes PersistentRequestRouterinterfacet når man sender meldinger. Interfacet bruker create_persistent_request() til å sende en forespørsel, og får tilbake et PersistentRequest objekt, som klient-orben kan bruke til å sjekke om det har kommet svar og eventuelt hente svaret.

22 TII 3 Polling(3) module MessageRouting { interface PersistentRequest { readonly attribute boolean reply_available; GIOP::ReplyStatus get_reply(in boolean blocking, in unsigned long timeout, out MessageBody reply_body) raises (ReplyNotAvailable); attribute Messaging::ReplyHandler associated_handler; }; };

23 TII 3 Polling (4) PersistentRequestobjektet som returneres av create_persistent_request() implementeres av ruteren selv, og brukes av klient-orben til å sjekke etter tilgjengelig svar med reply_available() og å hente svaret med get_reply(). Attributtet associated_handler er nil dersom klienten bruker polling. Klienten kan skifte fra polling til callback ved å la associated_handler peke på en ReplyHandler som kan ta imot svaret.

24 TII 3 Polling (5) module MessageRouting { interface UntypedReplyHandler : Messaging::ReplyHandler { void reply(in string operation_name, in GIOP::ReplyStatus reply_type, in MessageBody reply_body); }; }; Dersom klienten bruker Polling-modellen, etablerer ruteren seg som reply target ved å implementere UntypedReplyHandler interfacet. Målobjektet sender svaret til ruteren gjennom dette interfacet.

25 TII 4 Målruteren Forespørselen ender opp i en ruter som kan kontakte målobjektet. Denne ruteren fungerer som en proxy for klienten. Forespørselen fra ruteren til objektet skjer synkront, som for en vanlig forespørsel.

26 TII 5 Behandling av svar Målruteren omgjør svaret til en forespørsel, enten ved å kalle en annen ruters send_request() eller ved å kontakte ReplyHandler-objektet direkte. Vitsen med å ikke levere direkte, er at ruteren ikke nødvendigvis har direkte tilgang til ReplyHandler-objektet, for eksempel pga en brannmur.

27 Konklusjon TII er en spesialisering av AMI som støtter Store-and-forward semantikken. TII-forespørsler kan overleve klientprosessen, noe som betyr at svaret kan bli behandlet av en helt annen applikasjon. TII krever ingen endringer i allerede eksisterende klient- og tjenerobjekter som bruker AMI.

CORBA Objektmodell (Java RMI)

CORBA Objektmodell (Java RMI) CORBA Objektmodell (Java RMI) IN-ODP høst 2002 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming

Detaljer

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Gruppe 11. Frank Petter Larsen Vegard Dehlen qoskets Gruppe 11 Frank Petter Larsen Vegard Dehlen Problematikk Dagens mellomvare for objektbaserte distribuerte systemer har ikke innebygget støtte for å spesifisere, overvåke og kontrollere tjenestekvalitet

Detaljer

CORBA Component Model (CCM)

CORBA Component Model (CCM) CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva

Detaljer

Hentet fra Suns Totorial:

Hentet fra Suns Totorial: Sun s Hello-eksempel Hentet fra Suns Totorial: http://java.sun.com/j2se/1.4.2/docs/guide/idl/gshome.html Andre nyttige URIer: Java IDL documentation: http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

CORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA

CORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA CORBA & Java RMI & J2EE & CORBA CCM IN-ODP høst 2001 foreleser: Frank Eliassen Frank Eliassen, Simula RL &Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner

Detaljer

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:

Detaljer

INF329,HØST

INF329,HØST TTHROUGH THROUGH THE FIREWALL KAPITTEL 16 BUILDING SECURE SOFTWARE INF329,HØST 2005 Isabel Maldonado st10900@student.uib.no 1 Innledning Kort om firewall Hva er det som foresaker at en brannmur blokkerer

Detaljer

6105 Operativsystem og nettverk

6105 Operativsystem og nettverk 6105 Operativsystem og nettverk Leksjon 6b Nettverkslaget: Ruting og ICMP-protokollen Rutere, ruting, videresending og hopp Rutingtabeller Fragmentering av IP-pakker ICMP-protokollen, ping og traceroute

Detaljer

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

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Antagelser og forutsetninger Implementasjonseksemplet kompileres og kjøres på Java SDK 1.4.2 Dokumentasjon

Detaljer

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter DCOM Distributed Component Object Model Almir Delkic og Frank Jensen Institutt for Informatikk, Universitetet i Oslo, oktober 2003 Introduksjon Utvikling av distribuerte applikasjoner Utvidelse av COM

Detaljer

Tjenestebeskrivelse Internett Ruter Innhold

Tjenestebeskrivelse Internett Ruter Innhold Tjenestebeskrivelse Internett Ruter Innhold Internett Ruter... 2 Enkel brannmur... 2 Dual-stack IPv4 og IPv6... 2 IPv4 NAT... 2 DHCP tildeling av IPv4 adresser i LAN... 2 SLAAC tildeling av IPv6 adresser

Detaljer

OOT Seminar H-97 CORBA. Praktisk del

OOT Seminar H-97 CORBA. Praktisk del OOT Seminar H-97 CORBA Praktisk del Valg av ORB implementasjon Har valgt å bruke Visigenic sin ORB implementsjon ORB en er 100% Java kodet Bygger på OMG sin IDL to Java language mapping fra Jun 97 Gratis

Detaljer

Java RMI. Introduksjon. Markus Foss Hans-Gunnar Vold

Java RMI. Introduksjon. Markus Foss Hans-Gunnar Vold Java RMI Markus Foss Hans-Gunnar Vold Introduksjon Java Remote Method Invocation Tillater metodekall mellom Java virituelle maskiner Introdusert i Java 1.02 Javas svar på RPC, men er objekt orientert,

Detaljer

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent?

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent? DCOM 21. oktober 2004 Mai et al. Komponent Hva er egentlig en komponent? En komponent er et programvareobjekt, ment å samvirke med andre komponenter, og tilbyr en gitt funksjonalitet. En komponent har

Detaljer

Bruk av Spark. ikke til dytting og sitting. Universitetet i Tromsø 22. mars Torbein Kvil Gamst Bruk av Spark, Side 1

Bruk av Spark. ikke til dytting og sitting. Universitetet i Tromsø 22. mars Torbein Kvil Gamst Bruk av Spark, Side 1 Bruk av Spark ikke til dytting og sitting Universitetet i Tromsø 22. mars 2010 Torbein Kvil Gamst Bruk av Spark, Side 1 Direktemelding, eller instant messaging (IM) Direktemelding, eller instant messaging

Detaljer

E-post fra Aditro Lønn

E-post fra Aditro Lønn Innhold E-post fra Aditro Lønn... 2 SMTP protokollen... 2 Aktivering av SMTP på e-post tjener... 2 Innstillinger i Neptune Meny... 2 Innstillinger i Aditro Lønn... 3 Kontroll av innstillinger... 4 Endring

Detaljer

INF1010 - Seminaroppgaver til uke 3

INF1010 - Seminaroppgaver til uke 3 INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Vanlige spørsmål om Teletopia SMS Gateway

Vanlige spørsmål om Teletopia SMS Gateway Vanlige spørsmål om Teletopia SMS Gateway Dette dokumentet er ment å gi svar på noen av de vanligste spørsmålene i forbindelse med etableringen av SMS tjeneste via Teletopia SMS Gateway. Dokumentet er

Detaljer

Objekt-interaksjon i objektbasert mellomvare:

Objekt-interaksjon i objektbasert mellomvare: Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan CORBA objektmodell Java RMI Prinsipper for realisering av fjernmetodekall

Detaljer

Installasjonsveiledning

Installasjonsveiledning Finale Systemer as Installasjonsveiledning FINALE Årsoppgjør FINALE Rapportering FINALE Konsolidering FINALE Driftsmidler FINALE Avstemming NARF Avstemming FINALE Investor Versjon 22.0 Definisjoner...3

Detaljer

6105 Operativsystem og nettverk

6105 Operativsystem og nettverk 6105 Operativsystem og nettverk Leksjon 6b Nettverkslaget: Ruting og ICMP-protokollen Rutere, ruting, videresending og hopp Rutingtabeller Fragmentering av IP-pakker ICMP-protokollen, ping og traceroute

Detaljer

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon

Detaljer

INF1010. Stein Michael Storleer (michael) Lenkelister

INF1010. Stein Michael Storleer (michael) Lenkelister INF1010 Stein Michael Storleer (michael) Lenkelister Lenke Datastrukturen lenkeliste class { = null ; foran foran = new () ; class { = null ; foran foran = new () ; foran. = new () ; class { = null ; foran

Detaljer

JAVA Oppsummering for IS-102. Even Åby Larsen

JAVA Oppsummering for IS-102. Even Åby Larsen JAVA Oppsummering for IS-102 Even Åby Larsen even.larsen@hia.no 26. april 2010 Innhold 1 Innledning 3 2 Hva er et Java program 4 2.1 Kjøring av java programmer................. 4 3 Grammatikk for Java

Detaljer

Test 2 OOP. - Prøveeksamen

Test 2 OOP. - Prøveeksamen Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.

Detaljer

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:

Detaljer

Lagene spiller sammen

Lagene spiller sammen Lagene spiller sammen Dere har lært om lagene, men hvordan virker dette i praksis? Utgangspunkt i Ethernet/IP/TCP/Applikasjonslag Trafikkpolitiet i Internett (ISP og congestion control) Hvordan oversettes

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Labøving: TCP/IP verktøy i Windows Introduksjon I denne øvingen vil du lære Windows kommandoer som brukes mye i nettverksadministrasjon og feilsøking. Kommandoene kjøres

Detaljer

KTN1 - Design av forbindelsesorientert protokoll

KTN1 - Design av forbindelsesorientert protokoll KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere

Detaljer

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2) Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2) Iskra Fadzan og Arianna Kyriacou 25.mars 2004 Innhold 1 Hovedmål 2 2 Mål 2 3 Bakgrunn 3 4 Krav 4 1 1 Hovedmål I dette prosjektet skal vi se nærmere

Detaljer

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

Innledende Analyse Del 1.2

Innledende Analyse Del 1.2 Innledende Analyse Del 1.2 Arianna Kyriacou 1. juni 2004 Innhold 1 Spesifikk beskrivelse 2 1.1 Hovedmål............................... 2 1.2 Mål (mer konkret).......................... 2 1.3 Krav..................................

Detaljer

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden. En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden. La meg med en gang si at jeg er rimelig grønn i Linux verden så dere får bære over med meg

Detaljer

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk 6107 Operativsystemer og nettverk Labøving 6ab TCP/IP-verktøy og IPv4-protokollen Introduksjon Øvingen er skrevet for Linux, men vil også fungere fra Mac OSX eller Windows. Kommandoene som brukes finnes

Detaljer

TTM4175 Hva er kommunikasjonsteknologi?

TTM4175 Hva er kommunikasjonsteknologi? 1 TTM4175 Hva er kommunikasjonsteknologi? Del 3 Bjørn J. Villa Stipendiat Institutt for Telematikk, NTNU bv@item.ntnu.no 2 Innhold Begrepet «Kommunikasjonsteknologi» Definisjon, historikk og en liten refleksjon

Detaljer

Innføring i SOAP. Agenda

Innføring i SOAP. Agenda Innføring i SOAP Mari Svalastog (mariss@ifi.uio.no) Joakim Blomskøld (joakimbl@ifi.uio.no) Erlend Nilsen (erlend@ifi.uio.no) Sten Amundsen (stena@simula.no) Dato: 28 oktober 2003 Agenda Motivasjon og oversikt

Detaljer

Objekt-interaksjon i objektbasert mellomvare:

Objekt-interaksjon i objektbasert mellomvare: Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!CORBA objektmodell!java RMI!Prinsipper for realisering av fjernmetodekall

Detaljer

Web Services. Olav Lysne

Web Services. Olav Lysne 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

Detaljer

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

Detaljer

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL 9.4.2 databasesystem.

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL 9.4.2 databasesystem. Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL 9.4.2 databasesystem. Konfigurere server er en oppgave for administrator. All installasjon og konfigurasjon må utføres ved å kjøre

Detaljer

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

INF1010 MVC i tekstbaserte programmer

INF1010 MVC i tekstbaserte programmer INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest

Detaljer

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten

Detaljer

Android- Programmering. Våren 2016

Android- Programmering. Våren 2016 Android- Programmering Våren 2016 Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser Long-running operasjoner Hva mener vi med

Detaljer

TTM4175 Hva er kommunikasjonsteknologi?

TTM4175 Hva er kommunikasjonsteknologi? 1 TTM4175 Hva er kommunikasjonsteknologi? Del 3 Bjørn J. Villa PhD, Senior Engineer, UNINETT AS bv@item.ntnu.no // bv@uninett.no 2 Innhold Begrepet «Kommunikasjonsteknologi» Definisjon, historikk og en

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt

Detaljer

Obligatorisk oppgave 5: Labyrint

Obligatorisk oppgave 5: Labyrint Obligatorisk oppgave 5: Labyrint INF1010 Frist: mandag 24. april 2017 kl. 12:00 Versjon 1.0 (1709ba6 ) Innhold 1 Innledning 2 2 Notasjon og terminologi 3 2.1 Formelle definisjoner.........................

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Labøving: TCP/IP verktøy i Windows Introduksjon I denne øvingen vil du lære Windows kommandoer som brukes mye i nettverksadministrasjon og feilsøking. Kommandoene kjøres

Detaljer

DDS-CAD. Oppsett av student-/demolisens

DDS-CAD. Oppsett av student-/demolisens S DDS-CAD Oppsett av student-/demolisens Bruk av DDS-CAD er lisens beskyttet. Dette er fysiske USB nøkkel som inneholder kryptert lisensinformasjon. Programvaren er dermed beskyttet for å sikre legitim

Detaljer

Objekt-interaksjon. INF 5040 høst 2006

Objekt-interaksjon. INF 5040 høst 2006 Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Prinsipper for realisering av fjernmetodekall (RMI) Objekt-tjenere CORBA RMI Java RMI Fler-trådede objekt-tjenere Frank

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

Arv. Book book1 = new Book(); book1. title = Sofies verden class Book { String title; } class Dictiona ry extends Book { Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister

Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister Dagens tema Signaturer Typekonvertering Pekere og vektorer struct-er Definisjon av nye typenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 2005 Ark 1 av 20 Signaturer I C gjelder alle deklarasjoner

Detaljer

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,

Detaljer

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte

Detaljer

Hvordan sende lønnsslipper pr. e-post til de ansatte direkte fra HogiaLønn

Hvordan sende lønnsslipper pr. e-post til de ansatte direkte fra HogiaLønn 10.11.2015 Hvordan sende lønnsslipper pr. e-post til de ansatte direkte fra HogiaLønn 2 Innhold Hvordan sende lønnsslipper pr. e-post til de ansatte direkte fra HogiaLønn... 1 LØNNSSLIPPER PR. E-POST...

Detaljer

Obligatorisk oppgave 4: Lege/Resept

Obligatorisk oppgave 4: Lege/Resept Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister

Detaljer

Products Solutions Services. Nye muligheter, nye opplevelser. Personlig og digital. Mitt Endress+Hauser.

Products Solutions Services. Nye muligheter, nye opplevelser. Personlig og digital. Mitt Endress+Hauser. Products Solutions Services Nye muligheter, nye opplevelser. Personlig og digital. Mitt Endress+Hauser. Nye muligheter, nye opplevelser. Personlig og digital. Mitt Endress+Hauser. 2 Nye muligheter, nye

Detaljer

Del 3: Evaluere uttrykk

Del 3: Evaluere uttrykk Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret

Detaljer

Objekt-interaksjon. Plan. INF 5040 høst 2005

Objekt-interaksjon. Plan. INF 5040 høst 2005 Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!Prinsipper for realisering av fjernmetodekall (RMI)!Objekt-tjenere!CORBA RMI!Java RMI!Fler-trådede objekt-tjenere Frank

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

1. INNHOLDSFORTEGNELSE

1. INNHOLDSFORTEGNELSE 1. INNHOLDSFORTEGNELSE 1 INNHOLDSFORTEGNELSE...2 2 OM BRUKERMANUALEN...3 2.1 Kapittel beskrivelse...3 3 INTRODUKSJON...4 4 OVERSIKT...5 5 BESKRIVELSE AV FUNKSJONER...6 5.1 GetCategory...6 5.2 GetCategoryType...6

Detaljer

IN1010 V18, Obligatorisk oppgave 5

IN1010 V18, Obligatorisk oppgave 5 IN1010 V18, Obligatorisk oppgave 5 Innleveringsfrist: Tirsdag 17.04. kl 10:00 Versjon 1.3 (12.04.2018) Sist modifisert av Silje Merethe Dahl. Innledning I denne oppgaven skal du bruke rekursjon til å lage

Detaljer

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent Feilsøking i BO Olav Syse, konsulent Jan Terje Hansen, service manager Hovedfokus: Business Intelligence 900 ansatte i Norge, Sverige, Danmark, Finland, Estland, Latvia, Litauen og Polen 135 ansatte i

Detaljer

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

Detaljer

GUI («Graphical User Interface») del 2

GUI («Graphical User Interface») del 2 GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/

Detaljer

Installasjonsveiledning. Phonzoadapter

Installasjonsveiledning. Phonzoadapter Installasjonsveiledning Phonzoadapter Side 1av 8 Copyright Phonzo AS Installasjonsveiledning Phonzoadapter Dato: 08.02.2006 Versjon 2.0 Innhold 1 INTRODUKSJON... 2 2 DERSOM DU HAR LEDIG NETTVERKSKONTAKT...

Detaljer

Velkommen til Pressis.

Velkommen til Pressis. 1 Velkommen til Pressis. Dette er et veiledende dokument med linker i innledningen. Veiledningene vil ta deg igjennom de forskjellige tilkoblings muligheter du har med oss. Hvis du bare har behov for en

Detaljer

Hvordan sende lønnsslipper per e-post til de ansatte direkte fra HogiaLønn

Hvordan sende lønnsslipper per e-post til de ansatte direkte fra HogiaLønn Hvordan sende lønnsslipper per e-post til de ansatte direkte fra HogiaLønn Lønnslipper per e-post I denne veiviseren beskriver vi hva du må gjøre i HogiaLønn for å kunne sende lønnsslipper per e-post til

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden):

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Rekursjon. Binærsøk. Hanois tårn.

Rekursjon. Binærsøk. Hanois tårn. Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF5120, Modellbasert Systemutvikling Eksamensdag: torsdag 1. juni, 2006 Tid for eksamen: 0900-1200 Oppgavesettet er på

Detaljer

Hva består Internett av?

Hva består Internett av? Hva består Internett av? Hva er et internett? Et internett = et nett av nett Ingen sentral administrasjon eller autoritet. Mange underliggende nett-teknologier og maskin/programvareplatformer. Eksempler:

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

Dato Versjon Endring/status Utført av 2006-07-01 0.1 Første versjon Asgeir Husum 2006-08-23 0.2 Lagt til beskrivelse av postlevering Lars Myrås

Dato Versjon Endring/status Utført av 2006-07-01 0.1 Første versjon Asgeir Husum 2006-08-23 0.2 Lagt til beskrivelse av postlevering Lars Myrås UDE Konfigurasjon av Microsoft Outlook Dato Versjon Endring/status Utført av 2006-07-01 0.1 Første versjon Asgeir Husum 2006-08-23 0.2 Lagt til beskrivelse av postlevering Lars Myrås 2006-08-24 1.0 Endelig

Detaljer

Huldt & Lillevik Ansattportal 2009-10-20. Ansattportal. Versjon 3.1.23

Huldt & Lillevik Ansattportal 2009-10-20. Ansattportal. Versjon 3.1.23 Ansattportal Versjon 3.1.23 Innhold Hva er nytt i denne versjonen... 2 1 Oppdatere til 3.1.23... 2 1.1 Oppdatere versjon via Internett...2 1.2 Oppdatere versjon via CD...3 2 Arbeidsflyt i Ansattportalen...

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup 1 Systemkrav ADSL eller minimum ISDN via router. Ved automatisk backup: Min. Windows XP / 2000 / 2003 (pga. Service) Ved manuellt system: Min. Windows 98 SE NotaPlan Backup bør installeres på den/de maskiner

Detaljer

Veiledning i bruk av Fjernaksess

Veiledning i bruk av Fjernaksess Veiledning i bruk av Fjernaksess Fjernaksess-tjenesten er til for å kunne benytte sykehus-pcer fra andre lokasjoner, f.eks. hjemmefra eller når du er på reise. Merk! - FØR du tar PCen med deg hjem, må

Detaljer

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; } Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Nye muligheter! Fjernlån med Oria og Alma Fjernlån 2015, 2. oktober Thon Hotell Opera

Nye muligheter! Fjernlån med Oria og Alma Fjernlån 2015, 2. oktober Thon Hotell Opera Nye muligheter! Fjernlån med Oria og Alma Fjernlån 2015, 2. oktober Thon Hotell Opera Hvem er jeg? Asbjørn Risan Produkteier, Oria Produkteiergruppen Masterutdannet bibliotekar ved Høgskolen i Oslo med

Detaljer