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

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

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

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

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

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

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

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

Ć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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne

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

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

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

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

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

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

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Instrukcja instalacji i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager, obsługa aplikacji procertum CardManager w

Instrukcja instalacji i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager, obsługa aplikacji procertum CardManager w Instrukcja instalacji i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager, obsługa aplikacji procertum CardManager w systemach Linux wersja 1.0 Spis treści 1 WSTĘP...3 2 INSTALACJA

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 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

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU.01.04.SY5

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU.01.04.SY5 INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 Spis treści: 1. Wymagania systemowe...2 2. Parametry techniczne...2 3. Zestaw...2 4. Instalacja oprogramowania...3 4.1. Instalacja w systemie

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

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

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Java Platform Micro Edition

Java Platform Micro Edition Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html

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

Szablony klas, zastosowanie szablonów w programach

Szablony klas, zastosowanie szablonów w programach Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania

Bardziej szczegółowo

Instalacja i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager w systemach Mac OS X

Instalacja i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager w systemach Mac OS X Instalacja i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager w systemach Mac OS X wersja 1.0 Spis treści 1 WSTĘP... 3 2 INSTALACJA CZYTNIKÓW KART KRYPTOGRAFICZNYCH W SYSTEMACH

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

Instrukcja obsługi aplikacji epay

Instrukcja obsługi aplikacji epay Instrukcja obsługi aplikacji epay Teleserwis PayTel Comp SA, Teleserwis PayTel ul. Działkowa 115a 02-234 Warszawa telefon: 58 660 10 66 faks: 58 660 10 67 email: teleserwis@paytel.pl Dział Obsługi Kontrahenta

Bardziej szczegółowo

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r. Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)

Bardziej szczegółowo

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Tango-RedPitaya Tango device server for RedPitaya multi-instrument board Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Streszczenie Tango-RedPitaya jest serwerem urządzeń Tango sterującym płytką

Bardziej szczegółowo

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... Java niezbędnik programisty spotkanie nr 3 Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... 1 Definicja klasy [modyfikator] class nazwa_klasy { [modyfikator] nazwa_typu

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

Instrukcja aktywacji i instalacji Certum Code Signing

Instrukcja aktywacji i instalacji Certum Code Signing Instrukcja aktywacji i instalacji Code Signing S t r o n a 2 Spis treści 1 Opis produktu... 3 2 Instalacja certyfikatu... 3 2.1 Wymagania... 3 2.2 Aktywacja certyfikatu... 3 3 Wgrywanie certyfikatu na

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 6 Program wykładu Pojęcie interfejsu i implementacji Hermetyzacja Pakiety w Javie Składowe statyczne Kompozycja - korzystanie z gotowych

Bardziej szczegółowo

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie

Bardziej szczegółowo

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

wersja 3.0 Strona 1 z 9

wersja 3.0 Strona 1 z 9 System Ekstraklasa Karta kibica Wymagania dla systemów stadionowych Wersja dokumentu: 3.0 Status dokumentu: sprawdzony Data aktualizacji: 2009-12-15 Strona 1 z 9 Spis treści WPROWADZENIE... 3 SPECYFIKACJA

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo