HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture)
|
|
- Anneli Ada Sipilä
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture) Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/36
2 Missä mennään Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h) 5. Soketit (3h) 6. RMI ja J2EE (2h) 7. RPC (1h) 8. WWW-sovellustekniikoista (2h) 9. Pilvialustat (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) + 1h pelivaraa HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.2/36
3 Remote Procedure Call, RPC Birrell & Nelson (1984) (vaikka keskusteltu jo aiemmin kirjallisuudessa). RFC 1057 (vähän ympäripyöreä). RPC:n (Remote Procedure Call) idea on välittää (UDP:n tai TCP:n avulla) verkon yli proseduurin kutsu(ja) argumentteineen ja palauttaa takaisin etäällä suoritetun proseduurin tulos. Syy irrottaa proseduuri etäproseduuriksi liittyy yleensä työmäärään tai keskitettyyn suureen tietomäärään (jota ei ole järkevä kopioida moneen paikkaan). RPC:ssä, etäproseduurin kutsu näyttää ohjelmassa tavalliselta metodin kutsulta. Toteutus (kommunikointi verkon yli) on näkymätön ohjelmoijan kannalta. C-pohjainen ei olioita kuten RMI:ssä. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.3/36
4 RPC:n toteutus Paikallinen RPC-kutsu näyttää normaalilta kutsulta. Jotta tämä olisi mahdollista, todellista proseduuria vastaten pitää määrittää rajapinta ja sille toteutus paikalliseen koneeseen. Jokainen paikallinen RPC-kutsu on edustaproseduurin (client stub) kutsu, joka hoitaa kommunikoinnin etäkoneen kanssa. Etäkoneessa (palvelimessa) on etäkutsupalvelin (server stub), joka odottaa etäkutsun tiedot sisältäviä viestejä. Palvelin tulkitsee viestin ja suorittaa muistiavaruudessaan vastaavaan etäproseduurin palauttaen tuloksen takaisin. (Stub = tynkä) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.4/36
5 RPC-kutsu käytännössä 1. Kutsuva ohjelma kutsuu edustaproseduuria kuten muitakin paikallisia proseduureja. 2. Edustaproseduuri koodaa parametrit viestiin ja lähettää viestin. 3. Etäkutsupalvelin ottaa viestin vastaan, purkaa sen ja kutsuu vastaavaa etäproseduuria. 4. Etäkutsupalvelin koodaa tuloksen viestiin ja lähettää sen takaisin. 5. Paikallinen edustaproseduuri ottaa viestin vastaan, purkaa tuloksen ja palauttaa sen paikalliselle ohjelmalle. 6. (Edellisessä: synkroninen RPC-kutsu.) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.5/36
6 Parametriongelmia Etäproseduurikutsujen toteuttaminen olisi helppoa, jos kaikki parametriarvot olisivat skalaariarvoja ja molemmat RPC-järjestelmät olisivat samoja. RPC-toteutukset perustuvat usein alla olevaan käyttöjärjestelmään ja siinä tiedon esitysmuoto voi vaihdella. Parametrien koodauksen (mashalling) täytyy ottaa tämä huomioon. (XDR) Jotkin paikalliset parametrit voivat olla viiteparametrejä. Jos sallittua, marshallointi tarkoittaa viitatun rakenteen kopiointia. Tulisiko muutosten heijastua takaisin? Mahdollista! Copy/restore-parametrit! HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.6/36
7 Kohti RPC-sovelluksia Koneessa pitää olla RPC:n toteutus. Useita saatavilla. (Kokeile esim. Unixissa man rpcgen.) Helpoin tapa tehdä RPC-sovellus on käyttää rajapintakieltä Interface Definition Language (IDL), jonka avulla määritellään kutsuttavien etäproseduurien muoto. Järkevää, koska IDL kuvausta käyttäen voidaan generoida edustaproseduuri ja etäkutsupalvelin (+muuta)!! rpcgen: ei IDL vaan RPC Language kuvaus rajapinnasta. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.7/36
8 Esimerkki: DCE RPC Open Software Foundation (OSF) on tehnyt RPC-toteutuksen nimeltä Distributed Computing Environment useille käyttöjärjestelmille. DCE RPC tarjoaa välikerroksen käyttöjärjestelmän ja hajautettujen sovellusten välille. Seuraavan kalvon kuva näyttää, miten tehdä DCE RPC-sovellus käytännössä (asiakas- ja palvelinpää). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.8/36
9 DCE RPC Uuidgen Interface definition file IDL compiler Client code Client stub Header Server stub Server code #include #include C compiler C compiler C compiler C compiler Client object file Client stub object file Server stub object file Server object file Linker Runtime library Runtime library Linker Client binary Server binary HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.9/36
10 DCE RPC-sovellusten tekeminen IDL description + client code + server code = app. Rajapintakuvaus on kirjoitettu IDL-kielellä ja kuvaus on kaikkia yhteensitova liima. Jokaisella kuvauksella tulee olla yksikäsitteinen tunnistenumero. Asiakas sidotaan etäkutsupalvelimeen hakemistopalvelun avulla. Palvelimessa on käynnissä DCE daemon, joka tunnistaa sisääntulevat RPC-viestit ja välittää ne oikealle prosessille. Varsinainen RPC-kutsun toteutus on normaali: koodaus, viestin lähettäminen, purkaminen, prosessointi, (tuloksen) koodaus, lähettäminen, purkaminen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.10/36
11 Sun RPC-esimerkki Ei ilmeisesti ole aivan samanlainen kuin DCE RPC. Esimerkki (dice.x, dice_prog.c, rdice.c) on kurssin kotisivulla. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.11/36
12 Miten käyttää esimerkkiä Generoi rajapinnat rpcgen dice.x Käännä client gcc rdice.c dice_clnt.c -o dice_client -lnsl Käännä server gcc dice_prog.c dice_svc.c -o dice_server -lnsl Serverin käynnistys./dice_server Clientin käynnistys./dice_client staff.cs.utu.fi 10 HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.12/36
13 dice.x /* dice.x: Remote random dice protocol */ program DICEPROG { version DICEVERS { int GETDICE(string) = 1; } = 1; } = 0x ; HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.13/36
14 Palvelimeen: dice_prog.c /* * dice_proc.c: implementation of the * remote procedure "getdice" */ #include <stdio.h> #include "dice.h" /* dice.h generated by rpcgen */ #define RANDOM random long random(); int * getdice_1_svc(char **who, struct svc_req *req) { static int result; /* must be static! */ result = (unsigned long int)(random()%6) + 1; printf("sending %d back to %s\n", result, *who); return (&result); } HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.14/36
15 Asiakas: rdice.c 1/3 /* * rdice.c: main program for getting random dice numbers */ #include <stdio.h> #include "dice.h" /* dice.h generated by rpcgen */ main(int argc, char **argv) { CLIENT *clnt; int *result; char *server; int howmanytimes,i; if (argc!= 3) { fprintf(stderr, "usage: %s host number\n", argv[0]); exit(1); } HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.15/36
16 Asiakas: rdice.c 2/3 server = argv[1]; sscanf(argv[2],"%d",&howmanytimes); if (howmanytimes < 1) howmanytimes = 1; // Create client "handle". clnt = clnt_create(server, DICEPROG, DICEVERS, "tcp"); if (clnt == (CLIENT *)NULL) { // No connection established clnt_pcreateerror(server); exit(1); } HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.16/36
17 Asiakas: rdice.c 3/3 // Call the remote procedure for (i=0; i<howmanytimes; i++) { result = getdice_1(&server, clnt); printf("got %d \n", *result); } } printf("dice asking from %s done.\n", server); clnt_destroy( clnt ); exit(0); HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.17/36
18 Huomioita RPC:stä RPC:n viestin voi tehdä itse. RPC:n kirjasto tarjoaa suuren määrään proseduureja asiakkaita ja palvelimia varten. Parametrien koodausstandardi: XDR (external Data Representation). Asiakkaan ja palvelimen voi tehdä alusta alkaen itse tai ne voi toteutusympäristöstä riippuen osittain generoida. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.18/36
19 Huomioita RPC:stä (jatkoa) IDL-kieli on kohtuullisen rikas. DCE RPC:n IDL-kieli on toiminut pohjana Microsoftin COM:n (ja DCOM:n) IDL-kielelle (lähes identtinen). Kutsun ei tarvitse olla synkroninen kutsuja voi jatkaa suoritustaan ja kun kutsu on valmis, kutsujalle ilmoitetaan. TCP:n tilalla voi olla jokin muu kuljetusmekanismi (XML-RPC: HTTP). RPC ei ole vain C-kielisille ohjelmille esim. XML-RPC toteutuksia on useille kielille: Java, C/C++, Perl, PHP, Python. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.19/36
20 Corba CORBA (Common Object Request Broker Architecture) on RMIn tapaan arkkitehtuuri hajautetuille järjestelmille. Useita toteutuksia: Sunin J2SE:n mukana tulee Corban toteutus. Katsaus Yleistä Esimerkkejä Corban muita ominaisuuksia HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.20/36
21 Corba yleiskatsaus CORBA (Common Object Request Broker Architecture) on ryhmän nimeltä OMG (Object Management Group) määrittelemä. OMG perustettu ( Tavoitteena on mahdollistaa hajautettujen järjestelmien kehittäminen kieliriippumattomuutta tukien. Ensimmäinen versio Versio 2.0 vuonna 1996 ja versio 3.0 vuonna Määrittely on n sivua. Tehty ennen RMI:tä ja Javaa. RMI:tä laajempi. Soveltuu myös muille kuin OO-kielille. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.21/36
22 jatkuu... CORBAn ydin on ORB (Object Request Broker), joka on alustaja kieliriippumaton taso etäkutsujen tekemiseksi. Huolehtii mm. marshalloinnista. Sovelluksissa olevat ORBit keskustelevat GIOP:llä (General Inter-ORB Protocol). Sen TCP/IP-mukaelma on IIOP (Internet Inter-ORP Protocol). Asiakas/palvelin rajapinnat kuvataan Corbassa IDL:llä (Interface Description Language). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.22/36
23 IDL esimerkki module Bank { interface Account { typedef double Amount; readonly attribute Amount balance; exception InsufficientFunds { Amount overdraft; }; void withdraw(in Amount x) raises (InsufficientFunds); }; }; HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.23/36
24 Noppa.idl interface Noppa { void setseed( in long long l ); void setmax( in long m ); void setmin( in long m ); readonly attribute long next; oneway void shutdown(); }; HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.24/36
25 Corba havainnollistus Client machine Client application Server machine Object implementation Static IDL proxy Dynamic Invocation Interface ORB interface Object adapter Skeleton Dynamic Skeleton Interface ORB interface Client ORB Local OS Server ORB Local OS Network HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.25/36
26 Corba havainnollistus (2) Interface repository IDL compiler Implementation repository CLIENT operation OBJECT DII IDL stub IDL skel. DSI ORB interface object adaptor GIOP/IIOP ORB CORE HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.26/36
27 CORBA:n keskeiset osat Edustaolio (client object) kutsuu jotain palvelimessa olevan etäolion (server object, servant) metodia ORBin kautta. Muita komponentteja: IDL (Interface Definition Language) on RPC:n IDL-kieltä muistuttava kieli (yhteyksiä C++:aan ja Javaan). Sillä kuvataan etäolioiden rajapinnat (metodit, attribuutit) mutta ei toteutusta. IDL-kuvauksesta voidaan generoida asiakas- ja palvelintyngät. Asiakastynkä (IDL stub) on etäolion edustaolio. Asiakastyngät ovat kieliriippuvaisia. Kielestä riippuen näyttää metodin tai proseduurin kutsulta. Palvelintynkä (IDL skeleton) on palvelinpuolen osuus, joka kykenee toteuttamaan kutsun palvelimessa. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.27/36
28 Jatkoa DII (Dynamic Invocation Interface) on vaihtoehtoinen käyttötapa (korvaa asiakastyngän). Joskus staattista IDL-kuvausta (ja siten asiakastynkää) ei ole saatavilla, ja DII:n avulla kutsu voidaan rakentaa dynaamisesti (vertaa Javan reflektioon). DSI (Dynamic Skeleton Interface) on palvelinpuolen vastine DII:lle. Object Adapter kuuntelee verkkoa (kutsuja) ja välittää kutsun palvelintyngälle. (Tukee turvallisuutta, palvelun aktivointia ja deaktivointia.) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.28/36
29 Edelleen jatkoa Rajapintavarasto (Interface Repository) on rajapintakuvausten tietokanta, johon voi tehdä hakuja suoritusaikana (DII:n kautta käyttäminen). Toteutusvarasto (Implementation Repository) on edellisen vastine palvelinpuolella sisältäen toteutuskoodia erilaisille etäolioille. IOR (Interoperable Object Reference). IOR on yksikäsitteinen, globaali tunniste, joka jokaisella CORBA-oliolla on. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.29/36
30 Python: Client esim. import CORBA, Bank orb = CORBA.ORB_init() # Read the IOR written by the server ior = open("/tmp/orbit-python.ior").readline() account = orb.string_to_object(ior) print "Current balance:", account.balance try: account.withdraw(30.00) print "New balance:", account.balance except Bank.Account.InsufficientFunds, data: print "Withdraw failed: overdrawn by", data.overdraft HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.30/36
31 Python: Server esim. import CORBA, Bank, Bank POA class Account(Bank POA.Account): def init (self): self.balance = def withdraw(self, amount): if self.balance - amount < 0: d = Bank.Account.InsufficientFunds() d.overdraft = amount - self.balance raise Bank.Account.InsufficientFunds, d else: self.balance = self.balance - amount orb = CORBA.ORB_init() poa = orb.resolve_initial_references("rootpoa") ref = Account()._this() # implicit activation # Write the IOR to a file to be read by the client open("/tmp/orbit-python.ior", "w").write(orb.object_to_string(ref)) poa._get_the_poamanager().activate() HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.31/36
32 Java esimerkkejä HelloWorld; ks. docs/guide/idl/jidlsamplecode.html Tehdään RMI-esimerkistä Noppa Corba-sovellus... (rmic -idl + idlj -fall + client + server) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.32/36
33 Nimeäminen CORBAssa CORBAssa viitteet etäolioihin esitetään IOR-muodossa (Interoperable Object Reference): Tagged Profile Interoperable Object Reference (IOR) Repository identifier Profile ID Profile IIOP version Host Port Object key Components POA identifier Object identifier Other serverspecific information HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.33/36
34 Nimipalvelu Toimiakseen CORBA vaatii nimipalvelun (kuten RMI), joka kuvaus symbolisista nimistä IOR-muotoon. RMI:n tapaan nimipalvelu tarjoaa rekisteröinti- ja hakupalvelun. Koodissa käytetään/muodostetaan symbolisia nimiä IOR-muotoisten sijaan. Java: orb toteuttaa CORBA-nimipalvelun. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.34/36
35 Muita CORBAn ominaisuuksia Tukee lukkoja ja transaktioita. Tukee replikointia (ja cachea). Tukee vikasietoisuutta. Tukee kryptausta, autentikointia, paljon muuta. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.35/36
36 Lopuksi RPC on esitelty välitystekniikkana. Sovellusten tekemisen problematiikka samanlaista kuin RMI:n kohdallakin. Etäproseduurit eivät ole mitään aktiivista, vaan passiivisia palveluita. Ja yleisemmin monisäiesovellusten ongelmat koskien tiedon samanaikaista käsittelyä ovat myös RPC-sovellusten ongelmia. Corba hyvin samanlainen kuin RMI, mutta yleisempi. Kaikkia ominaisuuksia ei kaikissa toteutuksissa. RMI:n ja RPC:n ja samanaikaisuuden ongelmat ovat myös CORBAn ongelmia. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.36/36
HSMT J2EE & EJB & SOAP &...
HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotHOJ Kertausluento. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58
HOJ Kertausluento Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
LisätiedotHOJ J2EE & EJB & SOAP &...
HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotHajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin
Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:
LisätiedotIntegrointi. Ohjelmistotekniikka kevät 2003
Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri
LisätiedotORB CORBA 101. Palvelinolio. Asiakasolio. Yleistä. Toiminta ja arkkitehtuuri. CORBA 101 Graafisten käyttöliittymien ohjelmointi 2000
GKO 16.11.2000 MIT Jyväskylän yliopisto CORBA 101 Jonne Itkonen jonne.itkonen@sonera.com Software Architectures Laboratory Mobile & Media Research Sonera (2004-8-6: Ylläoleva osoite ei enää toimi, enkä
LisätiedotSovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
LisätiedotRPC. Luku Taustaa. 7.2 Sovelluksen rakentaminen. - TODO: write as text (not just list of items)
Luku 7 RPC - TODO: write as text (not just list of items) Seuraavassa käsitellään RPC:tä (Remote Procedure Call), joka on ilmeisesti vanhin sokettien päälle rakennettu tapa tehdä hajautettuja sovelluksia.
LisätiedotHOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10
HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
LisätiedotEtäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?
Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotEtäproseduurikutsu. Etäproseduurikutsu, Remote Procedure Call (RPC)
Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotEtäproseduurikutsu. RPC Toteutus Virhesemantiikka. Andrews 8.1, 10.3, Stallings 13.3
Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotHajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä
Hajautettujen järjestelmien rakentaminen - Jini Ohjelmistotuotantovälineet-seminaarin esitelmä Anu K. Leponiemi (anu@lepo.net) Helsingin yliopisto Tietojenkäsittelytieteen laitos Helsinki 2000 SISÄLLYSLUETTELO
LisätiedotTietojärjestelmäarkkitehtuurit
Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit
LisätiedotVerkko-ohjemointia. TCP vs. UDP Socket, ServerSocket Datagrammit RMI
15.3.2005 Verkko-ohjemointia TCP vs. UDP Socket, ServerSocket Datagrammit RMI 1 Javaa verkossa Sovelmat - appletit ajetaan www-selaimessa peritään jawa.awt.applet tai javax.swing.japlet (vrt. JFrame) http://java.sun.com/docs/books/tutorial/applet/
LisätiedotJavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko
JavaRMI 1 JAVA RMI Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 2 Table of Contents...1 JAVA RMI...1 Yleistä...4 Arkkitehtuuri...5 Java RMI kerrosarkkitehtuuri...5
LisätiedotSisältöä luento 18. Hajautettu prosessointi. Stallings, Luvut Esimerkkejä: homogeenisia hajautettuja arkkitehtuureja
LUENTO 18 Sisältöä luento 18 Hajautettu prosessointi Stallings, Luvut 13-14.3 Hajautuksesta yleensä Tietoliikenne -pikakertaus TCP/IP-pino Pistokkeet LINUX ja TCP/IP Asiakas / palvelin malli Etäproseduurikutsu
LisätiedotHajautettu prosessointi. Stallings, Luvut Sisältöä luento 18
LUENTO 18 Hajautettu prosessointi Stallings, Luvut 13-14.3 1 Sisältöä luento 18 Hajautuksesta yleensä Tietoliikenne -pikakertaus TCP/IP-pino Pistokkeet LINUX ja TCP/IP Asiakas / palvelin malli Etäproseduurikutsu
LisätiedotOHJ-5010 Hajautettujen järjestelmien perusteet
OHJ-5010 Hajautettujen järjestelmien perusteet Arkkitehtuureista (1/2) Kari Systä Kari.systa@tut.fi 1 Yleistä Uusimman tiedon mukaan ensimmäinen tentti on 19.5.2012 kello 09-12. Kurssin kotisivuilla http://www.cs.tut.fi/~hajap/
LisätiedotHSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32
HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
LisätiedotVisma Software Oy
pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna
LisätiedotDistribution issues, global state, clusters, CORBA, etc. Distributed objects
WEEK 10 Distribution issues, global state, clusters, CORBA, etc Stallings, Chapters 14 & 15 + Appendix B Prev. edition; Chapters 13&14 1 Distributed objects client invokes a method client machine client
LisätiedotHarri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy
Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Oracle10 g Web Services Sisältö Service Oriented Architecture (SOA) Web Services Service Oriented Architecture Service Oriented
LisätiedotVisma Nova Webservice Versio 1.1 /
Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun
LisätiedotDTEK1047: Hajautet ohjelmistojärjestelmät (HOJ)
DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ) Johdatus kurssiin Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/15 HOJ (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot: Ville
LisätiedotEtäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?
Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:
LisätiedotKertaus on opintojen äiti: OSI malli. Oliokeskeiset välikerrokset. Transmission Control Protocol (TCP) Kuljetus eli transport kerros
2 1 2 2 Kertaus on opintojen äiti: OSI malli Oliokeskeiset välikerrokset Application Presentation Session Transport Network Data link Physical 2 3 2 4 Kuljetus eli transport kerros Kerros 4 OSI-mallissa.
LisätiedotWeb Service torilla tavataan!
Web Service torilla tavataan! Jari Putula Avarea Oy COPYRIGHT BY AVAREA 2009 1 Google Trends COPYRIGHT BY AVAREA 2009 2 1 1. Mahdollistajat 2. Web service? 3. KISS 4. Miksi? 5. Analogia 6. Ajax 7. Esimerkki
LisätiedotTIETORAKENTEET JA ALGORITMIT
TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle
LisätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
LisätiedotStallings, Luvut Appendix B
LUENTO 19 Hajautetut oliot, väliohjelmisto, ryväät Stallings, Luvut 14.2-14.8+ Appendix B 1 Sisältöä luento 19 Hajautettu olio Väliohjelmisto ja CORBA Ryväät / Klusterit Windows Cluster ja Sun cluster
LisätiedotSisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä
Hajautetut oliot, väliohjelmisto, ryväät Stallings, Luvut 14.2-14.8+ Appendix B LUENTO 19 Sisältöä luento 19 Hajautettu olio Väliohjelmisto ja CORBA Ryväät / Klusterit Windows Cluster ja Sun cluster Beowulf
LisätiedotHOJ RMI = Remote Method Invocation
HOJ RMI = Remote Method Invocation Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/37 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotJärjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
Lisätiedotin condition monitoring
Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä
LisätiedotOhjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien
LisätiedotPalveluperustaiset arkkitehtuurityylit
Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit
LisätiedotCh [Stal 05] Ch , [Tane 01] Ch 20.7 [DDC 04] Ch [Stal05]
WEEK 9 Linux: ext2fs & ext3fs, Windows NTFS Distributed Processing Ch 12.8-9 [Stal 05] Ch 10.6.4, 11.6-7 [Tane 01] Ch 20.7 [DDC 04] Ch 13 14.3 [Stal05] 1 Shared file Hard link Direct link from several
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Useampitasoiset ADT:t Käytetään esimerkkiohjelmaa Ratkaisuyritys 1 Ratkaisuyritys 2 Lopullinen ratkaisu Lopullisen ratkaisun toteutusyritys Lopullisen ratkaisun oikea toteutus
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotOSI ja Protokollapino
TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
Lisätiedot7. Oliot ja viitteet 7.1
7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Aliohjelmat, foreign function interface Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 3. 2013 Sisältö 1 Aliohjelmien käyttäminen
LisätiedotTeemat. Järjestelmätarpeet. Distributed object model. Väliohjelmistot /04/2004. Objekti- ja komponenttiväliohjelmistot. Objektijärjestelmät
Objekti- ja komponenttiväliohjelmistot Teemat Järjestelmämallin tarpeet Palvelut ja rajapinnat Sisärakenteet networking and interoperability server control system administration infrastructure Sovellustilanteen
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä
812347A Olio-ohjelmointi, 2015 syksy 2. vsk X Poikkeusten käsittelystä Sisältö 1. Yleistä poikkeusten käsittelystä 2. Poikkeuskäsittelyn perusteita C++:ssa 3. Standardissa määritellyt poikkeukset 4. Poikkeusvarmuus
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Olioiden toteuttaminen Riku Saikkonen 28. 11. 2011 Sisältö 1 Miten oliot ja metodikutsut toimivat? 2 Oliot Minkä luokan metodia kutsutaan? Python-esimerkki
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotStallings, Luvut Appendix B
LUENTO 19 Hajautetut oliot, väliohjelmisto, rypäät Stallings, Luvut 14.2-14.8+ Appendix B 1 Sisältöä luento 19 Hajautettu olio Väliohjelmisto ja CORBA Rypäät / Klusterit Windows Cluster ja Sun cluster
LisätiedotLab SBS3.FARM_Hyper-V - Navigating a SharePoint site
Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.
LisätiedotJUnit ja EasyMock (TilaustenKäsittely)
OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip
LisätiedotOhjelmistoarkkitehtuuri. Verkotettu multimedia. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.
1 Ohjelmistoarkkitehtuuri Verkotettu multimedia Johdanto Selain-ohjelmistoarkkitehtuuri Hajautetut ohjelmistot Palvelimet Verkko Päätelaiteet Käyttöliittymä Middleware Tietoliikenne Verkotetulla multimedialla
LisätiedotTietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava
LisätiedotOliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
Lisätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
LisätiedotTietoliikenne II (2 ov)
Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotTIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
LisätiedotSisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä
Hajautetut oliot, väliohjelmisto, rypäät Stallings, Luvut 14.2-14.8+ Appendix B LUENTO 19 Sisältöä luento 19 Hajautettu olio Väliohjelmisto ja CORBA Rypäät / Klusterit Windows Cluster ja Sun cluster Beowulf
LisätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
Lisätiedot.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
LisätiedotSAP. Lasse Metso 14.1.2011
SAP Lasse Metso 14.1.2011 Toiminnanohjausjärjestelmä engl. Enterprise Resource Planning, ERP Integroitu tietojärjestelmä joka palvelee kaikkia yrityksen osastoja. Tuotantoyrityksistä liikkeelle lähtenyt
LisätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
Lisätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
LisätiedotOhjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri
Ohjelmistoarkkitehtuuri Verkotettu multimedia Käyttöliittymä Middleware Tietoliikenne 1 2 Multimedian vaikutukset Mediavirtojen puskurointi 3 4 Ohjelmointi Selain-ohjelmistoarkkitehtuuri 5 6 WWW-arkkitehtuuri
LisätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotTaustaa. CGI-ohjelmointi
Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotSecurity server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotCommon Language Runtime
hyväksymispäivä arvosana arvostelija Common Language Runtime Jukka Katajisto Helsinki 16.4.2005 Ohjelmointikielten kääntäjät -kurssin seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö
LisätiedotSisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä
Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.
LisätiedotTIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
LisätiedotHELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu
HELIA 1 (19) Luento 10 Sovelluksen hajauttamisesta 2 Mitä kaikkea voi hajauttaa / keskittää? 2 Miksi hajauttaa / keskittää? 2 Hajautuksen edellytys: modulaarisuus 3 Hajautuksen mahdollisia toteutustapoja
LisätiedotSisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2
6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotMicrosoft Visual J++ ohjelmointiympäristö
Microsoft Visual J++ ohjelmointiympäristö Ohjelmistotuotantovälineet seminaarin alustus Raine Lehto Helsingin yliopisto Tietojenkäsittelytieteen laitos 08.11.2000 Helsinki Sisällys 1 Johdanto...2 2 Sovelluskehys
Lisätiedot812336A C++ -kielen perusteet, 21.8.2010
812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys
LisätiedotSecurity server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
LisätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
LisätiedotSisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen
Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät
LisätiedotRutiinin muodostaminen. 2. Rutiinin muodostaminen. specification) Määrittely (specification( Määrittelyn osapuolet. Hyvän ohjelman tunnusmerkit
2. Rutiinin muodostaminen Rutiinin muodostaminen roolit 1. Rutiinin määrittely 2. Sopimuspohjainen ohjelmointi 3. Määrittelyjen kirjoittaminen 4. Erikoistilanteiden hallinta analysointi luokat rutiinit
LisätiedotWeb Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
LisätiedotLisenssin hakeminen PTC:n verkkosivun kautta
10.4.13 (rev. 2) Lisenssin hakeminen PTC:n verkkosivun kautta Kun haetaan ensimmäisen kerran Mathcad-lisenssi, sen voi tehdä PTC: kotisivulta. Kun konetta vaihdetaan, voi Mathcadin lisenssin voi käydä
Lisätiedot