Wielkość: px
Rozpocząć pokaz od strony:

Download "1968 1970 1974 1979 1995"

Transkrypt

1 Karty inteligentne

2 Wprowadzenie Karty tłoczone Karty magnetyczne Karty elektroniczne (inteligentne, smart card) Pamięciowe, mikroprocesorowe Stykowe, bezstykowe (contactless), hybrydowe

3 Historia 1968 (Jürgen Dethloff i Helmut Grötrupp, Niemcy) idea karty opartej na układzie elektronicznym, 1970 (Kunitaka Arimura, Japonia) 1974 (Roland Moreno, Francja) zastosowanie karty w systemie płatniczym 1979 pierwsza karta procesorowa 1995 szerokie wykorzystanie kart procesorowych

4 Obszary zastosowań Transakcje płatnicze Programy lojalnościowe Zapis danych biometrycznych (elektroniczny dowód osobisty) Infrastruktura klucza publicznego (podpis cyfrowy) System GSM

5 Budowa karty

6 Rodzaje kart inteligentnych Natywne COS (Card OS) EMV (EN1546) JavaCard (ISO 7816) MPCOS, Cryptoflex, GemClub 3GPP, GSM (GSM 11.11) small OS.NET smartcard

7 Polecenia systemu operacyjnego READ BINARY odczyt pliku, WRITE BINARY zapis do pliku, UPDATE BINARY modyfikacja pliku, ERASE BINARY czyszczenie pliku, READ RECORD odczyt rekordu, WRITE RECORD zapis rekordu, APPEND RECORD dodanie rekordu, UPDATE RECORD modyfikacja rekordu, GET DATA odczyt danych z pliku, PUT DATA zapis danych do pliku, SELECT FILE wybór pliku, VERIFY weryfikacja np. hasła, INTERNAL AUTHENTICATE uwierzytelnienie karty, EXTERNAL AUTHENTICATE uwierzytelnienie terminala, GET CHALLENGE generacja liczby pseudolosowej, MANAGE CHANNEL zarządzanie kanałami logicznymi, GET RESPONSE pobranie odpowiedzi od karty związanej z ostatnio wydanym poleceniem, ENVELOPE umożliwia np. przesyłanie danych, które będą interpretowane jako komenda

8 Architektura aplikacji z SC Aplikacja kliencka Aplikacja karty Interfejs współpracy z czytnikiem CT-API PC/SC OCF SATSA API SO Czytnik

9 Czytniki i terminale Czytniki transmisja szeregowa z terminalem (np. PC) Pasywne Aktywne Firmy Phoenix GemPlus

10 Komunikacja system-karta System zewnętrzny ATR APDU Smart Cart Transmisja szeregowa asynchroniczna Synchroniczna Protokoły T0 T15 norma ISO RAPDU APDU

11 ATR i APDU TS T0 TA1 TB1... T1 T2... TCK CLA INS P1 P2 Lc Data Le CLA 0x rozkazy zgodne z ISO elektroniczna portmonetka 8x rozkazy specyficzne dla aplikacji A0 aplikacja GSM

12 RAPDU Data Sw1 Sw2 Status (sw1) 61, 90- OK. 62, 63 rozkaz zakończony ostrzeżeniem 64, 65 błąd wykonania rozkazu 67, 6F błąd sprawdzenia rozkazu

13 Architektura JavaCard instancja 1 apletu instancja 1 apletu aplety (cardlets) dodatkowe API JavaCard API JavaCard VM System operacyjny

14 Ograniczenia JCVM brak typów danych: long, double, float, char, brak klasy java.lang.system (została zastąpiona przez javacard.framework.jcsystem), brak procesu garbage collection (ponadto w rzeczywistych kartach nie ma możliwości defragmentacji użytej pamięci), brak Security Manager, nie ma możliwości stosowania wątków, dynamicznego ładowania klas, klonowania obiektów oraz używania wielowymiarowych struktur danych,

15 JCDK java.sun.com/javacard JavaCard Development Kit (JCDK) J2SE OpenCard Framework (dla aplikacji klienckich)

16 JavaCard API java.lang zawiera podzbiór podstawowych klas języka Java przeznaczonych dla kart, java.io podzbiór tego pakietu związany z wyjątkami, java.rmi pakiet używany do definiowania zdalnego interfejsu karty czyli metod wywoływanych przez CAD (chip accepting device); pozwala to na tworzenie aplikacji terminalowej w architekturze RMI, javacard.framework dostarcza strukturę klas i interfejsów używanych przy tworzeniu i komunikowaniu się z apletami kartowymi, javacard.security zestaw klas i interfejsów związanych z bezpieczeństwem, javacardx.crypto zestaw dodatkowych funkcji kryptograficznych. javacard.framework.applet jest to abstrakcyjna klasa bazowa dla wszystkich apletów, javacard.framework.aid używana jest do przechowywania AID (application identifier) aplikacji; JCRE tworzy instancję tej klasy w celu zarządzania i identyfikacji apletu, javacard.framework.apdu wykorzystywana do przechowywania rozkazu albo odpowiedzi APDU; klasa zaprojektowana jest do obsługi APDU niezależnie od stosowanego protokołu, javacard.framework.util klasa zawiera zestaw przydatnych statycznych metod (kopiowanie i porównywanie tablic, konkatenacja i rozdzielanie bajtów), javacard.framework.ownerpin klasa przeznaczona do przechowywania i zarządzania kodem PIN właściciela karty javacard.framework.iso7816 zawiera zestaw predefiniowanych stałych javacard.security.key bazowy interfejs dla wszystkich klas reprezentujących klucze,

17 Architektura kardletu import javacard.framework.*; public class Purse extends Applet { protected Purse () { } public static void install(byte[] barray, short boffset, byte blength) throws ISOException { Purse applet = new Purse(); } public void process(apdu apdu) throws ISOException { byte buffer[] = apdu.getbuffer(); } } public void select() { } public void deselect() { }

18 Projekt Operacja CLA INS Parametry dane Odpowiedź CREDIT 0x80 0x50 - Kwota (2 bajty) Aktualne saldo (2 bajty) lub kod błędu BALANCE 0x80 0x52 - Aktualne saldo i status DEBIT 0x80 0x54 - Kwota (2 bajty) Aktualne saldo (2 bajty) lub kod błędu VER_PIN 0x80 0x56 P1 P2 0x01 (kod użytk) - 0x02 (kod właśc) Kod PIN Status (sw2 ilośc pozostałych prób) UPD_PIN 0x80 0x58 P1 P2 0x01 (kod użytk) - 0x02 (kod właśc) Kod PIN Status

19 Implementacja package frst; import javacard.framework.*; public class Purse extends Applet { private final static byte PURSE_CLA = (byte)0x80; private final static byte CREDIT_INS = (byte)0x50; private final static byte BALANCE_INS = (byte)0x52; private final static byte DEBIT_INS = (byte)0x54; private final static byte VERIFY_PIN_INS = (byte)0x56; private final static byte UPDATE_PIN_INS = (byte)0x58; private final static short SW_DEBIT_VALUE_TOO_HIGH = (short)0x9101; private final static short SW_CREDIT_VALUE_TOO_HIGH = (short)0x9102; private final static short SW_WRONG_PIN = (short)0x69c0; private OwnerPIN userpin; private final static byte USER_PIN_P2 = (byte)0x01; private OwnerPIN ownerpin; private final static byte OWNER_PIN_P2 = (byte)0x02; private short balance; private static final short maximumbalance = (short)30000;

20 Implementacja public static void install(byte[] barray, short boffset, byte blength) throws ISOException { // dlugosc AID byte aidlen = barray[boffset]; short aidoffset=(short)(boffset+1); boffset = (short)(boffset+aidlen+1); // dlugosc danych kontrolnych byte clen=barray[boffset]; boffset=(short)(boffset+clen+1); // dlugosc danych dla apletu byte alen=barray[boffset]; } // stworzenie instancji apletu Purse applet = new Purse(bArray, (short)(boffset+(short)2), barray[(short)(boffset+(short)1)], (short)(boffset+(short)3+(short)barray[(short)(boffset+(short)1)]), barray[(short)(boffset+(short)2+(short)barray[(short)(boffset+(short)1)])]);... return;

21 public void deselect() { ownerpin.reset(); userpin.reset(); } Implementacja

22 Implementacja public void process(apdu apdu) throws ISOException { byte buffer[] = apdu.getbuffer(); } else if (buffer[iso7816.offset_cla] == ISO7816.CLA_ISO7816) { if (buffer[iso7816.offset_ins] == ISO7816.INS_SELECT) { if (selectingapplet()) { apdu.setoutgoingandsend((short)0, (short)0);} else { ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); } } } if (buffer[iso7816.offset_cla] == PURSE_CLA) { switch (buffer[iso7816.offset_ins]) { case CREDIT_INS : processcredit(apdu); break; case BALANCE_INS : {...} case DEBIT_INS : {...} case VERIFY_PIN_INS : {...} case UPDATE_PIN_INS : {...} default: ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); break; } } else { ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);}

23 Implementacja [PURSE_CLA] [CREDIT_INS] 0x00 0x00 0x02 [CREDIT_VAL_1] [CREDIT_VAL_2] 0x02 0x80 0x50 0x00 0x00 0x02 0x00 0x01 0x02 private void processcredit(apdu apdu) { if (!ownerpin.isvalidated()) ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED); // odebranie danych przeslanych w komendzie APDU byte[] buffer = apdu.getbuffer(); byte datalength = buffer[iso7816.offset_lc]; //0x02 if (datalength!=2 datalength!=apdu.setincomingandreceive()) { ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);} short amount = (short)(((buffer[iso7816.offset_cdata+1] ) & (short)0x00ff) ((buffer[iso7816.offset_cdata] << 8) & (short)0xff00)); } if (((short)(balance + amount) > maximumbalance) (amount <= (short)0)) ISOException.throwIt(SW_CREDIT_VALUE_TOO_HIGH); else { balance += amount;} buffer[0] = (byte)(balance >> 8); buffer[1] = (byte)balance; apdu.setoutgoing(); apdu.setoutgoinglength((short)2); apdu.sendbytes((short)0, (short)2);

24 Kompilacja Przykład App/kardlet.java javac g classpath <> -target 1.1 App/kardlet.java kardlet.class

25 Konwersja out EXP JCA CAP exportpath. applet 0xa0:0x0:0x0:0x0:0x62:0x0:0x0:0x0:0x2:0x1 App.kardlet App 0xa0:0x0:0x0:0x0:0x62:0x0:0x0:0x0:0x2 1.0 converter config plik.opt weryfikacja

26 Emulacja App 0xa0:0x0:0x0:0x0:0x62:0x0:0x0:0x0:0x2 com.sun.javacard.samples.wallet.wallet \ 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6:0x1 JCDWE cref

27 Architektura aplikacji z SC Aplikacja kliencka Aplikacja karty Interfejs współpracy z czytnikiem CT-API PC/SC OCF SATSA API SO Czytnik

28 OpenCard Framework W odróżnieniu od innych API, podstawowym celem OCF było uniezależnienie się od Producentów czytników kart (CardTerminal) SO karty (CardService) Dostawców aplikacji kartowych (ApplicationManagementCardService)

29 Architektura aplikacji z OFC

30 Konfiguracja opencard.properties #wysylanie APDU OpenCard.services = opencard.opt.util.passthrucardservicefactory # wirtualny terminal cref OpenCard.terminals=com.ibm.opencard.terminal.ibm5948.IBMCardTerminalFactory cref CREF localhost:9025 #com.isun.javacard.crefterminal.crefcardterminalfactory cref CREF localhost :9025 # sledzenie przebiegu aplikacji OpenCard.trace = opencard:3 com.sun:3 OpenCard.services.override = true OpenCard.terminals.override = true OpenCard.trace.override = true

31 Aplikacja OCF // uruchomienie uslugi SmartCard.start(); // oczekiwanie na karte CardRequest cr = new CardRequest(); cr.setwaitbehavior(cardrequest.anycard); SmartCard sc = SmartCard.waitForCard(cr); // identyfikator karty System.out.println(sc.getCardID()); ptcs=(passthrucardservice)sc.getcardservice(passthrucardservice.class, true); // wybranie apletu elektronicznej portmonetki final byte[] SELECT_PURSE={ (byte)0x00, (byte)0xa4, (byte)0x04, (byte)0x00, (byte)0x0a,(byte)0xd2, (byte)0x76, (byte)0x00, (byte)0x01, (byte)0x25, (byte)0x00, (byte)0x01,(byte)0x00, (byte)0x05, (byte)0x01, (byte)0x00}; // przeslanie komendy CommandAPDU apdu = new CommandAPDU(SELECT_PURSE); ResponseAPDU rapdu = ptcs.sendcommandapdu(apdu); if (rapdu.sw1()!=(byte)0x90) throw new Exception("Brak apletu PURSE w karcie!");

32 Karty.NET Dla systemów przed Vistą należy zainstalować uaktualnienie CSP (Cmar Card Crypotgraphic Service Provider) Do zarządzania certyfikatami używa się Certificate Lifecycle Manager.

33 Cykl życia karty implementacja proces w którym tworzona jest aplikacji zgodna z.net np. w języku C# lub VisualBasic.NET. Po tym jak aplikacja jest zapisana przeprowadzany jest proces kompilacji do kodu pośredniego CIL / MSIL. W normalnym środowisku aplikacja w postaci skompilowanego kodu CIL jest tłumaczona na kod maszynowy poprzez maszynę wirtualną CLR. W przypadku karty elektronicznej przed załadowaniem aplikacji na kartę, kod aplikacji tłumaczony jest na.net Smart Card Framework card-resident format binarny, który wielokrotnie pomniejsza rozmiar końcowego pliku. Każdy plik w postaci binarnej ładowany na kartę musi być podpisany elektronicznie tak aby można było zweryfikować jego pochodzenia / autora.

34 instalacja po załadowaniu pliku binarnego na pamięć karty, wywoływana jest główna metoda aplikacji: public static int Main. Powoduje to rozpoczęcie instalacji tj. zarejestrowania zdalnych typów, aby umożliwić klientom zdalne wywoływanie metod aplikacji znajdujących się na karcie elektronicznej

35 wykonywanie aplikacji Framework elektronicznej karty.net cechuje model relacji typu klient serwer. Za serwer przyjmuje się kartę elektroniczną, na której aplikacje są uruchamiane zdalnie poprzez terminal (klienta). Stan wykonania aplikacji na karcie jest ciągle utrwalany co w przypadku awarii zasilania lub wysunięcia w nieodpowiednim momencie karty pozwala na przywrócenie stanu aplikacji z przed zdarzenia

36 terminacja aplikacji (zakończenie jej działania) aplikacja działająca na serwerze (karcie elektronicznej), przestaje działać w momencie jej wyrejestrowania. Można to uczynić programowo lub poprzez narzędzie Card Explorer. Po wyrejestrowaniu usługi (aplikacji) instancja aplikacji zostanie usunięta a zarezerwowane obszary pamięci zwolnione poprzez automatyczny proces garbage collector.

37 Usunięcie aplikacji z karty aby usunąć aplikację z karty elektronicznej (wymazać pliki) należy w pierwszej kolejności wyłączyć serwis. Dopiero gdy instancja aplikacji zostanie wymazana, może nastąpić fizyczne usunięcie jej z pamięci karty elektronicznej

38 Architektura karty.net System operacyjny, Aplikacje, Środowisko uruchomieniowe., Loader czyli komponent softwarowy odpowiedzialny za pobieranie aplikacji wysyłanej do karty. Jest on odpowiedzialny za: sprawdzenie czy aplikacja w języku pośrednim IL jest bezpieczna, sprawdzenie czy aplikacja (plik) jest odpowiednio cyfrowo podpisany, upewnienie się, że wszystkie typy używane w aplikacji są obecna na karcie.

39 Ważną cechą elektronicznej karty.net jest zdolność do uruchamiania aplikacji jako część pewnego większego programu, systemu za pomocą mechanizmu zdalnego Remoting. Mechanizm ten umożliwia komunikację między procesami uruchomionymi na komputerze oraz karcie elektronicznej np. na tym samym komputerze lub dwóch połączonych siecią

40 .NET Remoting Dzięki metodzie RemotingServices.Marshal, która w celu umożliwienia komunikacji między procesami, tworzone jest specjalne PROXY dla obiektu serwera. W ten sposób uzyskujemy dostęp do metod oraz typów poprzez protokół transportowy ISO Komunikacja miedzy wieloma procesami aplikacji ma miejsce poprzez wcześniej ustanowione kanały dzięki klasom APDUSerwerChannel oraz APDUClientChannel odpowiedzialne za udostępnienie API dla programisty

41 .NET Remoting Aby wskazać zdalny obiekt należy wpisać jego ścieżkę URL komputera, na którym się znajduje oraz URI do którego procesu się odwołujemy np: apdu://gemalto Reflex USB v2:2222/cardservice Aby skomunikować się z kartą którą chcemy wybrać listy musimy użyć nazw zastrzeżonych : selfdiscover, promptdialog. Dzięki temu na ekranie komputera otrzymamy okienko z możliwością wyboru uruchomionego serwisu na zdalnej maszynie (karcie.net) do której próbujemy się połączyć

42 Podsumowanie Karty współpracujące z.net JavaCard Next Nowa generacja kart (z serwerem www) PRECYZYJNE KODOWANIE i TESTOWANIE!

43 Literatura i Linki W. Effing, W. Rankl. Smart Card Handbook, 2000, John Wiley & Sons M. Molski, M. Glinkowska, Karta elektroniczna - bezpieczny nośnik informacji, 2002, Mikom home.elka.pw.edu.pl/~pnazimek alt.technology.smartcards alt.satellite.tv.europe

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Karty inteligentne - programowanie i zastosowania. Piotr Nazimek

Karty inteligentne - programowanie i zastosowania. Piotr Nazimek Karty inteligentne - programowanie i zastosowania Piotr Nazimek Instytut Informatyki Politechniki Warszawskiej Warszawa 2005 Plan seminarium karty elektroniczne - wprowadzenie komunikacja protokoły czytniki

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775) Nowe mechanizmy w wersji 3 Java Card Mateusz LESZEK (138775) Plan prezentacji 1. Java Card 3 2. Nowe mechanizmy w Java Card 3.X 3. Edycje Java Card 3.X Classic vs Connected Karty inteligentne wprowadzone

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne. 2008 Oberthur Technologies

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne. 2008 Oberthur Technologies Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne I Krajowa Konferencja Użytkowników Systemów Elektronicznej Legitymacji Studenckiej Poznań 12.06.2008 2008 Oberthur Technologies Plan prezentacji

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

Michał Jankowski. Remoting w.net 2.0

Michał Jankowski. Remoting w.net 2.0 Michał Jankowski Remoting w.net 2.0 Co to jest? Remoting jest zbiorem funkcji pozwalającym na komunikacje miedzy aplikacjami zarówno w obrębie jednego komputera jak i poprzez sieć Pozwala na komunikację

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems www.cs.agh.edu.pl/~slawek/zrodla_rmi2.zip Kilka pytań Co mamy? rok 2005-ty, gotową wersję 2 programu NoteBoard.

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Programowanie rozproszone w języku Java

Programowanie rozproszone w języku Java Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Poszczególne kroki wymagane przez normę ISO 7816-11 celem weryfikacji tożsamości użytkownika

Poszczególne kroki wymagane przez normę ISO 7816-11 celem weryfikacji tożsamości użytkownika Poszczególne kroki wymagane przez normę ISO 7816-11 celem weryfikacji tożsamości użytkownika Klasyfikacja metod weryfikacji biometrycznej: 1. Statyczna: wymaga prezentacji cech fizjologicznych osoby autoryzowanej

Bardziej szczegółowo

Enkapsulacja, dziedziczenie, polimorfizm

Enkapsulacja, dziedziczenie, polimorfizm 17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Szczegółowy opis przedmiotu zamówienia

Szczegółowy opis przedmiotu zamówienia Szczegółowy opis przedmiotu zamówienia Zadanie nr 1: Dostawa blankietów Elektronicznych Legitymacji Studenckich (ELS), Elektronicznych Legitymacji Doktoranta (ELD), Elektronicznych Legitymacji Pracowniczych

Bardziej szczegółowo

Wprowadzenie do języka Java

Wprowadzenie do języka Java WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

Systemy Rozproszone - Ćwiczenie 6

Systemy Rozproszone - Ćwiczenie 6 Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez

Bardziej szczegółowo

Karta kibica - wymagania dla systemów stadionowych Strona 1 z 9

Karta kibica - wymagania dla systemów stadionowych Strona 1 z 9 System Ekstraklasa Karta kibica Wymagania dla systemów stadionowych Wersja dokumentu: 2.1 Status dokumentu: sprawdzony Data aktualizacji: 2009-09-14 Strona 1 z 9 Spis treści 1 WPROWADZENIE... 3 2 SPECYFIKACJA

Bardziej szczegółowo

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA PROFESJONALNE USŁUGI BEZPIECZEŃSTWA Instalacja i konfiguracja ActivCard Gold i Entrust/PKI w środowisku Microsoft Active Directory Przygotował: Mariusz Stawowski Entrust Certified Consultant CLICO Sp.

Bardziej szczegółowo

Bezpieczne uruchamianie apletów wg

Bezpieczne uruchamianie apletów wg Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,

Bardziej szczegółowo

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

Obiekty w plikach wykonywalnych, marshaling

Obiekty w plikach wykonywalnych, marshaling Obiekty w plikach wykonywalnych, marshaling Komponent w pliku exe Odczyt IClassFactory komponencie umieszczonym w pliku dll ładowanym w przestrzeń adresową klienta następuje poprzez wywołanie eksportowanej

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne

Bardziej szczegółowo

Elektroniczna Legitymacja Studencka

Elektroniczna Legitymacja Studencka II Krajowa Konferencja Użytkowników Systemów Elektronicznej Legitymacji Studenckiej Elektroniczna Legitymacja Studencka Na czym polega bezpieczeństwo ELS? Marek Gosławski Elektroniczna Legitymacja Studencka

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada 2010 Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3(); 1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1] JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Programowanie kart elektronicznych. wykład 9: Polecenia - część 1

Programowanie kart elektronicznych. wykład 9: Polecenia - część 1 Programowanie kart elektronicznych wykład 9: Polecenia - część 1 dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 POLECENIA wybór pliku, zapis i odczyt, wyszukiwanie, operacje

Bardziej szczegółowo

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

PROJEKT I IMPLEMENTACJA UNIWERSALNEJ APLIKACJI DO OBSŁUGI KART ELEKTRONICZNYCH

PROJEKT I IMPLEMENTACJA UNIWERSALNEJ APLIKACJI DO OBSŁUGI KART ELEKTRONICZNYCH INSTYTUT INFORMATYKI WYDZIAŁ INFORMATYKI POLITECHNIKA POZNAŃSKA MAGISTERSKA PRACA DYPLOMOWA PROJEKT I IMPLEMENTACJA UNIWERSALNEJ APLIKACJI DO OBSŁUGI KART ELEKTRONICZNYCH inż. Mateusz LESZNER Promotor:

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Podstawowe części projektu w Javie

Podstawowe części projektu w Javie Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych

Bardziej szczegółowo

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

Bardziej szczegółowo

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1 Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony

Bardziej szczegółowo

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo