|
|
- Ann-Sofie Sandberg
- för 7 år sedan
- Visningar:
Transkript
1 Förra föreläsningen: Olika nivåer av meddelanden. Från oblockad sändning till. RPC: Parameterpassning, registrering, felhantering, säkerhet, kompilering ONC RPC: XDR, portmapper Brandväggar, dynamisk brandväggskonfigurering, proxies, relays (vad behövs för att köra RPC genom en brandvägg?) Idag: RMI, CORBA 1
2 Tydlig parallell med Remote Procedure Call Men skillnaden finns där: RMI är objekt-orienterat. RMI bygger på JVM (Java Virtual Machine). Inget speciellt språk för datatypsdeklaration (som XDR). Använder -deklarationer istället. 2
3 Väldigt förenklat (på gränsen till lögn): Objektorienterat språk. Både kompilerat, och interpreterat. Interpretationen av den kompilerade koden,, sker i en miljö som heter JVM. Bytekoden är plattformsoberoende. Varje klass ligger normalt i en egen.java-fil. Vid kompileringen skapas en.class-fil som innehåller bytekoden. Länkning sker dynamisk och sker via inladdning av.classfiler. 3
4 Väldigt förenklat (på gränsen till lögn): Datatyperna är antingen primitiva (int, long, boolean, mfl), eller objektstyper (referenstyper). Storleken på de primitiva datatyperna är plattformsoberoende. Endast referenser lagras till objektstyperna. Automatisk minneshantering finns ( ) som rensar objekt utan referenser. Ett språk för Internet. anpassat för IP. Inbyggt stöd för trådar (inkl synkroniseringsmekanismer) 4
5
6 1. Dataöverföring och parameterpassning. RMI utnyttjar det faktum att JVM och Javas typer är binärkompatibla. Dataöverföringen bygger på att typer är. (java.io.serializable) Det finns tre typer av parameterpassning: Primitiva typer: Call-by-value Objekttyper: Call-by-copy (skiljer sig från Java) Fjärrobjekttyper: Call-by-reference (som Java). Deklararas som interface 6
7 2. Registrering Portmappern måste startas. I det här fallet: rmiregistry. Den opererar normalt på port Kommunikationen sker utanför rmiregistry. Servern: Binder ett objekt (av referenstyp) till ett namn (sträng) hos rmiregistry. Exempel: Naming.rebind( rmi://peppar/myserviceobject, object); Klienten hittar objektet med: Nåja, nästan. Naming.lookup( rmi://peppar/myserviceobject ); 7
8 3. Felhantering The OO way: Exceptions Vanligast: java.rmi.remoteexception. Kan vara exempelvis en ConnectException. Dessa tvingas man att ta hand om. (Bra) Snyggt är att Exception ärver av Throwable, som implementerar Serializable. Vad innebär det? Jo, man kan kasta alla Exceptions, även de egendefinierade. 8
9 4. Säkerhet Men, man kan byta ut kommunikationslagret mot sin egen SocketFactory. 9
10 5. Kompilering Vid överföring av referensobjekt (exemplevis det objekt man binder), krävs det att man: 1. Kompilerar interface-deklarationen, som ärver av java.rmi.remote. 2. Kör rmic för att generera stubbe och skelett. 3. Kompilerar implementationsklassen. För de andra typerna (primitiva och objektstyper), behöver man inte gör något särskilt (förutom att ärva java.io.serializable) 10
11 Två implementationer av den körkortsdatabas vi implementerade mha ONC RPC förra gången. En där vi helt enkelt frågar efter körkortet och får det returnerat (väldigt lika ONC RPC-exemplet) Och en där vi i stället för ett körkort får en referens till ett körkort. Och koden, den hittar ni under: och 2 * 1 0 /. +!-#!,, +*!''!) $ (' &% %!$ # #!" 11
12 Licens -databas. Fem klasser: License: Innehåller bara data, en konstruktor och en hjälpmetod. LicenseDatabase: Innehåller ett interface, som visar vad vi kan göra med databasen. LicenseDatabaseImpl: Implementationen av denna databas. LicenseServer: Enkel klass, som binder implementationen till namnet LicenseDatabaseService. LicenseClient: Hämtar en referens till databasen, genom att fråga efter LicenseDatabaseService, och ställer en fråga. 12
13 Servern registrerar LicenceDatabaseImpl som en LicenseDatabase LicenseDatabase rmiregistry. Klienten frågar efter LicenseDatabaseService, får en LicenseDatabase LicenseDatabase LicenseServer LicenseDatabaseImpl. Serverns LicenseDatabaseImpl får anropet, returnerar en License LicenseDatabase License. License överförs som vanligt (endast data) LicenseClient. Klienten anropar LicenseDatabase:ns getlicense med en int, som överförs som vanligt, tillsammans med en referens till LicenseDatabase. Klienten anropar License:ns mytostring, som ett vanligt, lokalt, metodanrop. 13
14 Starta tre X-fönster varav två på samma maskin. Gå till biblioteket med källkoden i alla fönster. Gör make. I fönster 1: /opt/jdk/1.2.2/bin/rmiregistry I fönster 2 (på samma dator som fönster 1): /opt/jdk/1.2.2/bin/java LicenseServer I fönster 3: /opt/jdk/1.2.2/bin/java LicenseClient Varför måste fönster 1 och 2 vara i på samma dator? 14
15 Sex klasser: LicenseDatabase, LicenseDatabaseImpl, LicenseServer, LicenseClient: som tidigare (fast med nya funktioner) License: Nu ett interface till en (fjärr)referensklass. LicenseImpl: Implementationen av License. Ett undantag: LicenceNotFound Nu måste vi köra rmic två gånger: En gång för License och en gång för LicenseDatabaseImpl. 15
16 9 : > =? < A. LicenseDatabase rmiregistry LicenseDatabase LicenseServer License LicenseDatabaseImpl License LicenseImpl String. LicenseDatabaseImpl får anropet, returnerar en License, som är en referens till en LicenseImpl. LicenseImpl får anropet, returnerar en String, som är en serialiserbar typ, och därför.... skickas den som vanligt data.. LicenseDatabase LicenseClient.. Licensereferensen överförs som referens. Klienten anropar mytostring på Licensen. Men eftersom det är en referens, så. skickas den tillbaka till servern. 16
17 Kraftfull modell, ger snygg transparens mellan lokala och perifera (centrala) objekt. Ger en delikat avvägning: Var ska egentligen objekten finnas? ( vilka objekt ska vara RemoteObjects och vilka ska vara Serializable?) Fördelar med lokala objekt: Snabb åtkomst. Fördelar med centrala objekt: Kan fungerar som referenser till databaser. Servern har fortfarande kontroll över vilken information som lämnas ut. 17
18 Servern kan utföra genom att klienten skickar över RemoteObjects som refererar till egna, lokala, objekt. Genom att servermetoden anropar metoder i dessa objekt, så kan klienten få information om framåtskridande, varningar mm. Hur kan klienten skicka - information till servern? Jo, genom att anropa ytterligare en metod! RMI implementerar en distributed garbage collection, DGC, som hanterar fjärreferenser till lokal objekt. (Varför? Och, vad händer om en klient dör?) RMI har stöd för automatisk distribution av klasser (kod)! Överkurs. 18
19 RMI är konstruerat med tanke på brandväggar: Endast en TCP-uppkoppling mellan datorerna används. Kommunikationen på den uppkopplingen. RMI kan operera via HTTP-protokollet. proxy http http säkerhetshål RMIklient webserver RMIserver 19
20 En snabb politisk överblick: OMG: Object Management Group. Grundades 1989 av 8 företag (bl a 3Com, HP, Philips, Sun). Hade 750 medlemmar 1997, världens största industrikonsortium. CORBA Common Object Request Broker Architecture: En specifikation för bland annat hur en ORB fungerar. 20
21 1. Dataöverföring och parameterpassning. CORBA är avsett för många plattformar. Vi kan därför inte utnyttja Javas binärkompabilitet på samma sätt som RMI gör. Nej, vi får ta till ett nytt språk: IDL, Interface Definition Language (jfr XDR). Språket innehåller allt man kan tänka sig: primitiva typer (hårt definierade), structar, unions, sekvenser, exceptions, moduler, osv. 21
22 1. Dataöverföring och parameterpassning. Koppling till Java görs med idltojava. Detta kommando skapar: Interface-deklarationer Stubbar Skelett Hjälpklasser (exvis Holders, för och - parametrar) Obs: Både case-sensitive och inte..! 22
23 2. Registrering CORBA klarar sig utan portmapper! Men, då får man lov att hitta en IOR (Interoperable Object Reference) till det objekt man vill komma åt. Givetvis finns det även sätt att registrera objekt. Det görs med Naming Service. Ett sådant program är tnameserv (Transient Name Server). (Detalj: defaultar till port 900, ändras med ORBInitialPort) 23
24 3. Felhantering CORBA använder undantag. Men man måste deklarera dem själv. CORBA-modulen självt använder av 26 standardundantag. Varje sådant undantag har en flagga, som sätts till något av COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE, tillsammans med en underkod. 24
25 4. Säkerhet CORBA Security Service: Identification and authentication Authorization and access control Auditing Communications security Nonrepudiation Administration of security policy Överkurs 25
26 5. Kompilering För Java: Skapa en IDL-fil med deklarationerna (med, säg klass ) och kör idltojava. Skapa klassen Impl (t ex) och utöka _ ImplBase. Skapa serverklass (med main) som skapar en ORB och en instans (objekt) av Impl och eventuellt binder objektet till ett namn. Servern ska sedan vänta. 26
27 5. Kompilering Skapa en klientklass (med main) som med hjälp av antingen en explicit IOR eller Naming Service, hittar ett org.omg.corba.object. Använd sedan narrow för att få en referens till en. 27
28 Två kommunikationsprotokoll finns specificerade: General Inter-ORB Protocol (GIOP) För kommunikation utan transportprotokoll. Specificerar bland annat. Men, det finns även funktioner för kommunikation genom HTTP-proxies. Internet Inter-ORB Protocol (IIOP) Specialisering av GIOP för kommunikation över TCP. 28
29 Tidigare sågs Java ORB och RMI som konkurrenter. Detta börjar lösas upp: RMI börjar stödja IIOP som transportprotokoll. OMG justerar sin object-by-value så att den är kompatibel med RMI. RMI blir till en speciell form av Java ORB som döljer IDL-skapandet för användaren. Finns fortfarande frågetecken. 29
30 java.sun.com can t live without it (och (Utdelad litteratur: 30
Johan.Sall.2535 Thomas.Wahlsten Distribuerade System HT 2002
Johan.Sall.2535 Thomas.Wahlsten.1711 Distribuerade System HT 2002 Sammanfattning Vår uppgift har varit att skriva en rapport om CORBA, en av de tidigaste och mest använda arkitekturerna för distribuerade
Läs merIntroduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Läs merLaboration 2: Ett kommunikationssystem
Laboration 2: Ett kommunikationssystem 1 Syfte Att arbeta ännu mer med OO-design och programmering, framför allt programmering mot gränssnitt. Undantag och felhantering. Parallellism 2 Uppgift Ni skall
Läs merDistribuerade system. CORBA eller RMI
Distribuerade system Java XII - 1 CORBA eller RMI Java XII - 2 Några motiv till distribuerade system kan vara att: Utjämna belastningen mellan olika maskiner i ett nätverk Utnyttja kapaciteten i en större
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merRepetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005
Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005 Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server
Läs merOOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs mer%M UQ(LGHUElFN 1. Internetprogrammering 1999, 2D4334-föreläsning10a. Nätverk av datorer. CORBA: vad, varför, hur? Internetprogrammering F 10a
previous : vad, varför, hur? Innehåll next Datornätverk Behov och krav Internetprogrammering F 10a Historik, principer, arkitektur och beståndsdelar Exempel i Java Läs också den utmärkta och konkreta tutorialen
Läs merDistribuerad programmering med CORBA Föreläsning CORBA: vad, varför, hur?
Distribuerad programmering med Föreläsning 16 16 : vad, varför, hur? Innehåll Datornätverk Behov och krav Historik, principer, arkitektur och beståndsdelar Exempel i Java Läs också den utmärkta och konkreta
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merIntroduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merImperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Läs merObjektorienterad middleware. OO-Middleware. Några centrala begrepp. Komponent vs objekt
Objektorienterad middleware OO-Middleware Datakom 2 DAVC03 Stefan Alfredsson material inspirerat av Annika Wennström, Sören Torstensson) Utökad mekanism för objekt Objekt består av data tillstånd) och
Läs merOO-Middleware. Objektorienterad middleware
OO-Middleware Datakom 2 DAVC03 Stefan Alfredsson (material inspirerat av Annika Wennström, Sören Torstensson) Objektorienterad middleware Utökad mekanism för objekt Objekt består av data (tillstånd) och
Läs merEn snabb titt på XML LEKTION 6
LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här
Läs merSockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.
Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern
Läs merObjektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
Läs merObjektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)
Objektorienterad programmering Föreläsning 15 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Grafiska användargränssnitt (GUI Graphical User Interface) Standardklassen (Control)
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs merSkriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12
LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-08-9 Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-2 kl. 8
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merProva på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Läs merEnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Läs merSkizz till en enkel databas
Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil
Läs merÖversikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Läs merHjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 7 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Konstanter och readonly Statiska klasser Standardklassen Math Parameteröverföring Referensen
Läs merEDA095 Nätverksprogrammering
EDA095 Nätverksprogrammering Projekt Checkers Grupp 8, 2008 Dag Wahlberg Leo Barnes Erik Wallenborg Ylva Mellbin
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merKopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Läs merLABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar
LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Laborant/er: Klass: Laborationsansvarig: Robin Cedermark Erik Gylemo Jimmy Johansson Oskar Löwendahl Jakob Åberg DD12 Martin Andersson Hans Ericsson
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merFör att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.
1 Inmatning och utskrift Inmatning från tangentbord och utskrift till skärm sker i java med hjälp av objekten System.out och System.in. Dessa båda objekt är exempel på strömmar. En ström är en typ som
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 19 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Konstruktion av egna grafiska komponenter Kontsruktion av egen komponent Att rita upp
Läs merJava, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
Läs merObjektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim
Objektorienterad programmering Föreläsning 12 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till Arv Superklasser och Subklasser Dolda medlemmar (new och base) Statisk
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs merUML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merAVCAD 4.0 for MS SQL-SERVER
SVENSK INSTALLATIONSANVISNING Innan du startar installationen, se till att du har minst 512 MB RAM (rek. 1GB) i din dator. Skärmstorleken bör vara minst 17 tum och upplösningen minst 1280x1024 punkter
Läs merHandbok Simond. Peter H. Grasch
Peter H. Grasch 2 Innehåll 1 Inledning 6 2 Använda Simond 7 2.1 Användarinställning.................................... 7 2.2 Nätverksinställning..................................... 9 2.3 Inställning
Läs merUMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02
UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap Grafproblem Laboration 4, Datastrukturer och Algoritmer VT02 Laboration 4 - grafproblem Förpackningsdatum: Denna lab-spec är senast ändrad:
Läs merInkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private
Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merOOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merBehörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det
Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande
Läs merHogia Administration AB bedriver kontinuerlig utveckling av programmen och reserverar sig för avvikelse mellan program och handbok.
Innehållsförteckning Systemkrav....................................3 Val av installation..............................12 Behörigheter..................................12 InstallationsCD................................13
Läs merEnterprise Java Beans Assignment 1
Enterprise Java Beans Assignment 1 Distribuerade System HT 02 Fredrik Lundgren Andreas Nyberg fredrikbjurefors@hotmail.com goca8363@student.uu.se frlu4469@student.uu.se andreas.nyberg@hushmail.com Innehållsförteckning
Läs merDistribuerade System, HT03
UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration Middleware Distribuerade System, HT03 Jini Namn: Anders Holm, c00asm@cs.umu.se Kjell Johansson, c00kjn@cs.umu.se
Läs merWeb Services. Cognitude 1
Web Services 1 Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.)
Läs merTDTS04: Ett chattsystem i java baserat på corba
18 January 2010 TDTS04: Ett chattsystem i java baserat på corba Juha Takkinen, Ph.D. IDA, Institutionen för datavetenskap 1.0 Översikt Labb 3 består av att utforma, implementera, testa och demonstrera
Läs merModeller, Objekt och Klasser
Modeller, Objekt och Klasser Bildserie 3 Objekt Orienterad Programmering OO-programmering bygger på att vi som människor uppfattar tillvaron i termer av objekt - Bastu, pizza, öl,... Det borde vara lättare
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merSubtyping och variance. Objekt-orienterad programmering och design Alex Gerdes, 2018
Subtyping och variance Objekt-orienterad programmering och design Alex Gerdes, 2018 Typer Java har två sorters typer primitiva typer och referens-typer. Primitiva typer är typer för värden: int, float
Läs merFöreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Läs merI STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else
Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,
Läs merTransport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP
F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs merÅtkomst och användarhandledning
Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...
Läs merInstallation av. Vitec Online
Installation av Vitec Online Innehållsförteckning Inledning... 3 Allmän konfiguration av router och brandvägg... 4 Installera Vitec Online Server... 6 Lösenord för inloggning i Mäklarsystemet... 9 Klientinstallation...
Läs merGrundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Läs merSmartair System. TS1000 Version 4.23
Smartair System TS1000 Version 4.23 Denna manual är ett komplement till: 2069-1001 Smartair System Installations och driftsättningsmanual version 4.20A Denna manual beskriver nyheter i Smartair TS1000
Läs merAllmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-06-13
Läs merArv. Objektorienterad och komponentbaserad programmering
Arv Objektorienterad och komponentbaserad programmering Arv Regel nr 1: Ett objektorienterat språk ska tillåta inkapsling av data Regel nr 2: Ett objektorienterat språk ska tillåta arv Regel nr 3: Ett
Läs merObjektorienterad Programkonstruktion. Föreläsning jan 2016
Objektorienterad Programkonstruktion Föreläsning 13 19 jan 2016 Tentamen Del I, E del Flervalsfrågor 20/25 krävs för godkänt, ger betyg E Upp till 7 möjliga bonuspoäng Del II, Högrebetygsdel Problemfrågor
Läs merPolymorfi. Objektorienterad och komponentbaserad programmering
Polymorfi Objektorienterad och komponentbaserad programmering Polymorfi, mångtydighet Polymorfi innebär att en viss konstruktion kan exekveras på olika sätt Överlagring av metoder ger ett polymorft beteende
Läs merFakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson
Fakulteten för ekonomi, kommunikation och IT Corba Datum: 2007-10-17 Namn: Kurs: Henrik Bäck Mathias Andersson DVGC02 Innehållsförteckning Implementation 3 IDL-fil 3 Server 3 Klient 3 Körning 3 Bilagor
Läs merPM 01 En jämförelse av två analysmodeller för val av komponentteknik
MÄLARDALENS HÖGSKOLA Institutionen för Ekonomi och Informatik v PM 01 En jämförelse av två analysmodeller för val av komponentteknik Eskilstuna, 2002-12-12 EI0230 Komponentbaserad applikationsutveckling
Läs merTentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merAtt bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.
Laboration 1 Avsikt Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Del 1 Ta fram dokumentet NetBeans5_5.pdf från kurssidan och arbeta med
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merObjekt, Klasser, Paket m. m.
Objekt, Klasser, Paket m. m. Bildserie 3 Objekt Ett objekt karakteriseras av - Identitet, det som gör det möjligt att särskilja objektet från andra objekt - Tillstånd, den data som finns i objektet - Beteende,
Läs merTentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2009-08-24 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merAlgoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Läs merHogia Transaktionsanalys Proffs
installationsanvisning Hogia Transaktionsanalys Proffs Du laddar ner programmet från vårt Kundtorg www.kundtorg.hogia.se under Hogia Transaktionsanalys Proffs Nedladdningar Aktuell version. Här finns olika
Läs merDesign och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Läs merDELPROV 1 I DATAVETENSKAP
Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer
Läs merNamn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-03-25
Läs merInnehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...
Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener ... 3 Typsnitt ... 3 Övergångar ... 4 Mall för slide ... 5 , ...
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merUtvärdering av protokollet SOAP
Utvärdering av protokollet SOAP Är SOAP framtidens kommunikationsprotokoll i distribuerade datorsystem över Internet? Evaluation of the SOAP protocol Is SOAP the future communication protocol in distributed
Läs merGrundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer
Läs merpublic och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Läs mer