1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja
|
|
- Łucja Duda
- 8 lat temu
- Przeglądów:
Transkrypt
1 Bezpieczeństwo 1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja mechanizmów bezpieczeństwa w Jboss 3. Java Authentication and Authorization Service. uwierzytelnianie, autoryzacja. 1
2 Bezpieczeństwo Aplikacje biznesowe zwykle musz ą zapewnić odpowiedni poziom bezpieczeństwa, korzystającym z nich użytkownikom. Specyfikacje JEE i EJB udostępniaj ą podstawowy zakres usług bezpieczeństwa: uwierzytelnianie (authentication) sprawdzenie tożsamości użytkownika, autoryzacja (authorization) określenie praw użytkownika do realizacji odpowiednich zada ń i korzystania z określonych zasobów, poufność (confidentality) ochrona przed podsłuchem i podmian ą przekazywanych informacji. 2
3 Uwierzytelnianie Specyfikacja EJB nie określa w jaki sposób ma si ę odbywać uwierzytelnianie, pomimo i ż specyfikuje propagacj ę tych informacji od klienta do serwera. Z tego powodu producenci serwerów aplikacji często stosuj ą określone technologie do realizacji tego zadania (np. JAAS). Często uwierzytelniania dokonuje si ę w momencie uzyskiwania dostępu do zasobów poprzez usług ę JNDI. properties.put(context.security_principal, username); properties.put(context.security_credentials, userpassword); InitialContext ctx = new InitialContext(properties); Object ref = jndicontext.lookup("travelagent"); TravelAgentRemote remote = (TravelAgentRemote) PortableRemoteObject.narrow(ref, TravelAgentRemote.class) 3
4 Autoryzacja: użytkownicy i role użytkownicy: Tomasz role: Administrator Alicja Joanna Menadżer Janusz Michał Pracownik Użytkownicy s ą przypisani do jednej lub kilku ról. Uprawnienia s ą określone na poziomie ról za pomoc ą adnotacji lub deskryptora wdrożenia: ejb-jar.xml. 4
5 Przydzielanie uprawnie ń metodom... domyślna dla // wszystkich metod public class ProcessPaymentBean implements ProcessPaymentRemote, ProcessPaymentLocal // wszyscy uwierzytelnieni public boolean bycash(customer customer, double amount) throws // zaufani agenci public boolean bycheck(customer customer, CheckDO check, double amount) throws PaymentException{... // zautoryzowani agenci - domyślnie public boolean bycredit(customer customer, CreditCardDO card, double amount) throws PaymentException{
6 Przydzielanie uprawnie ń metodom <ejb-jar version="3.0"> <assembly-descriptor> <security-role> <description>zautoryzowani</description> <role-name>authorized_merchant</role-name> </security-role> <security-role> <description>zaufani</descripton> <role-name>check_fraud_enabled</role-name> </security-role> <method-permission> <role-name>authorized_merchant</role-name> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycredit</method-name> </method> </method-permission> 6
7 Przydzielanie uprawnie ń metodom <method-permission> <role-name>check_fraud_enabled</role-name> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycheck</method-name> </method> </method-permission> <method-permission> <unchecked/> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycash</method-name> </method> </method-permission> </assembly-descriptor> </ejb-jar> 7
8 Identyfikowanie metod w XML'u Określając metody możemy używać wyraże ń wieloznacznych, np: <method> <ejb-name>processpaymentbean</ejb-name> <method-name>*</method-name> </method> oznacza wszystkie metody w komponencie ProcessPaymentBean. <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycheck</method-name> </method> oznacza wszystkie metody w komponencie ProcessPaymentBean o nazwie public interface ProcessPaymentLocal { boolean bycheck(customer cust, CheckDO check, double amount); boolean bycheck(double[] amounts); boolean bycheck( ); 8
9 Identyfikowanie metod w XML'u - parametry Precyzyjne określenie powyższych metod uzyskujemy korzystając z elementu <method-params>: <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycheck</method-name> <method-params> <method-param>com.titan.domain.customer</method-param> <method-param>com.titan.processpayment.checkdo</method-param> <method-param>double</method-param> </method-params> </method> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycheck</method-name> <method-params></method-params> </method> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycheck</method-name> <method-params>double[]</method-params> </method> 9
10 Identyfikowanie metod w XML'u - interfejsy Interfejs zdalny/lokalny określamy następująco: <method> <ejb-name>processpaymentbean</ejb-name> <method-name>*</method-name> <method-intf>remote</method_intf> </method> Wewną trz <method-intf> dopuszczalne s ą następujące wartości: Remote, Home, LocalHome, Local, ServiceEndpoint. Aby wykluczyć dostęp do metody można uż yć lub wpisać j ą na list ę <exclude-list>: <assembly-descriptor> <exclude-list> <method> <ejb-name>processpaymentbean</ejb-name> <method-name>bycash</method-name> </method> </exclude-list> </assembly-descriptor> 10
11 Role komponentów Komponenty EJB równie ż mog ą występować w określonych rolach. Aby zdefiniować takie zachowanie korzystamy z public class TravelAgentBean implements TravelAgentRemote{... lub z deskryptora wdrorzenia: <ejb-jar version="3.0"> <enterprise-beans> <session> <ejb-name>travelagentbean</ejb-name> <security-identity> <run-as> <role-name>authorized_merchant</role-name> </run-as> </security-identity> </session> </enterprise-beans> </ejb-jar> 11
12 Role komponentów Komponenty sesyjne stanowe mog ą dodatkowo używać roli korzystającego z nich klienta. <enterprise-beans> <entity> <ejb-name>employeeservice</ejb-name> <security-identity> <user-caller-identity/> </security-identity> </entity> </enterprise-beans> 12
13 Korzystanie z mechanizmów bezpieczeństwa Komponenty EJB posiadaj ą dostęp do informacji o uprawnieniach klienta. Przykładem mog ą być metody interfejsu EJBContext. getcallerprincipal() - zwraca obiekt implementujący interfejs java.security.principal opisujący klienta: Principal caller = ctx.getcallerprincipal( ); String travelagent = caller.getname( ); iscallerinrole(string) sprawdza, czy klientowi jest przypisana odpowiednia rola. if (amount > maximumjuniortrade && ctx.iscallerinrole("junior_travel_agent")) throw new PaymentException("Brak uprawnien"); Rola wykorzystywana w kodzie komponentu musi być wcześniej zadeklarowana. 13
14 Korzystanie z mechanizmów bezpieczeństwa... import javax.ejb.*; import javax.annotation.*; public class ProcessPaymentBean implements ProcessPaymentLocal SessionContext ctx;... private boolean process(...) throws PaymentException { if (ctx.iscallerinrole("junior_travel_agent")) throw new PaymentException("Brak uprawnien");... 14
15 Korzystanie z mechanizmów bezpieczeństwa Alternatywnie, rola może zostać zadeklarowana w deskryptorze wdrożenia: <ejb-jar version="3.0"> <enterprise-beans> <session> <ejb-name>processpaymentbean</ejb-name> <security-role-ref> <role-name>junior_travel_agent</role-name> </security-role-ref> </session> </enterprise-beans> </ejb-jar> 15
16 Konfiguracja bezpieczeństwa w JBoss Na wstępie należy utworzyć domen ę bezpieczeństwa ( security domain). JBoss obsługuje trzy sposoby konfiguracji domen: LDAP, bazy danych oraz plik conf/login-config.xml. <application-policy name="titanidentitydb"> <authentication> <login-module code="org.jboss.security.auth.spi.usersrolesloginmodule" flag = "required"> <module-option name="usersproperties"> users-titan.properties </module-option> <module-option name="rolesproperties"> roles-titan.properties </module-option> </login-module> </authentication> </application-policy> 16
17 Konfiguracja bezpieczeństwa Pliki users-titan.properties i roles-titan.properties musz ą znajdować si ę na scieżce klass aplikacji. Przykładowa zawartość: users-titan.properties michal=alamakota tomasz=tomasz123 alicja=rty!#@ad4 roles-titan.properties michal=user tomasz=user, ADMINISTRATOR alicja=manager, ADMINISTRATOR w JBoss fragment aplikacji klienckiej (autoryzacja poprzez JNDI): public Context getinitialcontext( ) throws Exception { Properties env = new Properties( ); env.setproperty(context.security_principal, user); env.setproperty(context.security_credentials, password); env.setproperty(context.initial_context_factory, "org.jboss.security.jndi.jndilogininitialcontextfactory"); return new InitialContext(env); 17
18 JBoss i JAAS JAAS (Java Authentication and Authorization Service) jest specyfikacj ą umożliwiając ą zarządzanie bezpieczeństwem z poziomu Języka Java. Od wersji 1.4 JAAS zostało włączone do j2sdk (Java 2 Standard Developer Kit). Serwer JBoss podczas przeprowadzenia uwierzytelniania i autoryzacji korzysta z infrastruktury omówionej w ramach JAAS. 18
19 JAAS - przykład package sample; import java.io.*; import java.util.*; import javax.security.auth.login.*; import javax.security.auth.*; import javax.security.auth.callback.*; public class SampleAcn { public static void main(string[] args) { LoginContext lc = null; try { lc = new LoginContext("Sample", new MyCallbackHandler()); catch (Exception ex){ex.printstacktrace();system.exit(-1); try { lc.login(); catch (Exception ex){ex.printstacktrace();system.exit(-1); System.out.println("Authentication succeeded!"); 19
20 JAAS kontekst logowania Kontekst logowania potrzebuje informacji o: - klasie odpowiedzialnej za komunikacj ę z użytkownikiem, implementującej interfejs CallbackHandler (MyCallbackHandler). Sun dostarcza dwie klasy, które można wykorzystać we własnych aplikacjach: TextCallbackHandler i DialogCallbackHandler. - klasie implementującej wymagany sposób uwierzytelniania implementującej sample_jaas.config): LoginModule (plik konfiguracyjny Sample { sample.module.sampleloginmodule required debug=true; ; 20
21 JAAS - CallbackHandler class MyCallbackHandler implements CallbackHandler { public void handle(callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] instanceof TextOutputCallback) { // display the message according to the specified type TextOutputCallback toc = (TextOutputCallback)callbacks[i]; switch (toc.getmessagetype()) { case TextOutputCallback.INFORMATION: System.out.println(toc.getMessage()); break; case TextOutputCallback.ERROR: System.out.println("ERROR: " + toc.getmessage()); break; case TextOutputCallback.WARNING: System.out.println("WARNING: " + toc.getmessage()); break; default: throw new IOException("Unsupported message type: " + toc.getmessagetype()); 21
22 JAAS - CallbackHandler else if (callbacks[i] instanceof NameCallback) { NameCallback nc = (NameCallback)callbacks[i]; System.err.print(nc.getPrompt()); System.err.flush(); nc.setname((new BufferedReader (new InputStreamReader(System.in))).readLine()); else if (callbacks[i] instanceof PasswordCallback) { // prompt the user for sensitive information PasswordCallback pc = (PasswordCallback)callbacks[i]; System.err.print(pc.getPrompt()); System.err.flush(); pc.setpassword(readpassword(system.in)); else { throw new UnsupportedCallbackException (callbacks[i], "Unrecognized Callback"); // Czyta haslo z podanego strumienia private char[] readpassword(inputstream in) throws IOException {... 22
23 JAAS - LoginModule Kontekst logowania tworzy nowy pusty obiekt Subject reprezentujący uwierzytelnianego użytkownika lub usług ę, oraz moduł logujący LoginModule. Wywołanie metody login() powoduje uwierzytelnienie, utworzenie jednego lub wielu obiektów implementujących Principal (prawa dostępu) oraz dodanie ich do obiektu Subject. Gotowy zbiór modułów logowania (com.sun.security.auth.module): JndiLoginModule uwierzytelnianie poprzez JNDI, KeyStoreLoginModule alias zapisany w keystore, Krb5LoginModule uwierzytelnianie za pomoc ą protokołu Kerberos, NTLoginModule uwierzytelnianie poprzez Windows NT UnixLoginModule systemy UNIX 23
24 JAAS - LoginModule package sample.module; import... public class SampleLoginModule implements LoginModule { // stan początkowy private Subject subject; private CallbackHandler callbackhandler; private Map sharedstate; private Map options; // opcje private boolean debug = false; // status uwierzytelniania private boolean succeeded = false; private boolean commitsucceeded = false; // użytkownik i haslo private String username; private char[] pass // przykładowy Principal private SamplePrincipal userprincipal; 24
25 JAAS - LoginModule public void initialize(subject subject, CallbackHandler callbackhandler, Map sharedstate, Map options) { this.subject = subject; this.callbackhandler = callbackhandler; this.sharedstate = sharedstate; this.options = options; // initialize any configured options debug = "true".equalsignorecase( (String)options.get("debug")); public boolean login() throws LoginException { // przygotowanie - prośba o login i hasło if (callbackhandler == null) throw new LoginException("brak CallbackHandler'a "); Callback[] callbacks = new Callback[2]; callbacks[0] = new NameCallback("login: "); callbacks[1] = new PasswordCallback("haslo: ", false); 25
26 JAAS - LoginModule try { callbackhandler.handle(callbacks); username = ((NameCallback)callbacks[0]).getName(); char[] tmppass = ((PasswordCallback)callbacks[1]).getPassword(); if (tmppass == null) tmppass = new char[0]; pass = new char[tmppass.length]; System.arraycopy(tmpPass, 0, pass, 0, tmppass.length); ((PasswordCallback)callbacks[1]).clearPassword(); catch (Exception ex) { throw new LoginException(ex.toString()); boolean buser = false, bpass = false; if (username.equals("testuser")) buser = true; if (buser && pass.length==12 && pass[0]=='t' &&... ){ bpass = true; succeeded = true; return true; else { // zły login/hasło succeeded = false; username = null; password = null; if (!buser) throw new FailedLoginException("Zły login"); else throw new FailedLoginException("Złe hasło"); 26
27 JAAS - LoginModule public boolean commit() throws LoginException { if (succeeded == false) return false; else { // przypisujemy użytkownikowi obiekt Principal userprincipal = new SamplePrincipal(username); if (!subject.getprincipals().contains(userprincipal)) subject.getprincipals().add(userprincipal); // porządki username = null; password = null; commitsucceeded = true; return true; public boolean abort() throws LoginException { if (succeeded == false) return false; else if (succeeded == true && commitsucceeded == false){ // logowanie pomyślne ale brak uwierzytelnienia succeeded = false; username = null; password = null; userprincipal = null; else { // inny problem logout(); return true; 27
28 JAAS - LoginModule public boolean logout() throws LoginException { subject.getprincipals().remove(userprincipal); succeeded = false; succeeded = commitsucceeded; username = null; password = null; userprincipal = null; return true; Metody initialize(), login(), commit(), abort() i logout() nale żą do interfejsu LoginModule. 28
29 JAAS - Autoryzacja Kolejnym etapem po sprawdzeniu tożsamości użytkownika (uwierzytelnieniu) jest autoryzacja (określenie i nadanie właściwych uprawnie ń). W tym celu należy: określić uprawnienia dla odpowiednich obiektów Principal, związać obiekt Subject z aktualnym kontekstem kontroli dostępu. 29
30 JAAS - Autoryzacja package sample; import... public class SampleAzn { public static void main(string[] args) { LoginContext lc = null; try { lc = new LoginContext("Sample", new MyCallbackHandler()); lc.login(); catch (Exception ex) {... Subject mysubject = lc.getsubject();... // wywołanie przykładowej akcji PrivilegedAction action = new SampleAction(); Subject.doAsPrivileged(mySubject, action, null); System.exit(0); 30
31 JAAS przykładowa akcja package sample; import java.io.file; import java.security.privilegedaction; public class SampleAction implements PrivilegedAction { public Object run() { System.out.println("\njava.home = " + System.getProperty("java.home")); System.out.println("\nuser.home = " + System.getProperty("user.home")); File f = new File("plik.txt"); System.out.print("\nplik.txt "); if (!f.exists()) System.out.print("nie "); System.out.println("istnieje."); return null; 31
32 JAAS polisa /* prawa dla LoginModule */ grant codebase "file:./samplelm.jar" { permission javax.security.auth.authpermission "modifyprincipals"; ; grant codebase "file:./sampleazn.jar" { permission javax.security.auth.authpermission "createlogincontext.sample"; permission javax.security.auth.authpermission "doasprivileged"; ; /* Określenie prawd dostępu do SampleAction */ grant codebase "file:./sampleaction.jar", Principal sample.principal.sampleprincipal "testuser" { ; permission java.util.propertypermission "java.home", "read"; permission java.util.propertypermission "user.home", "read"; permission java.io.filepermission "foo.txt", "read"; 32
33 JAAS przygotowanie i uruchomienie jar -cvf SampleAzn.jar sample/sampleazn.class sample/mycallbackhandler.class jar -cvf SampleAction.jar sample/sampleaction.class jar -cvf SampleLM.jar sample/module/sampleloginmodule.class sample/principal/sampleprincipal.class java -classpath SampleAzn.jar:SampleAction.jar:SampleLM.jar -Djava.security.manager -Djava.security.policy==sampleazn.policy -Djava.security.auth.login.config==sample_jaas.config sample.sampleazn 33
34 Podsumowanie Specyfikacja JEE określa sposób zarządzania bezpieczeństwem poprzez określenia uprawnie ń dla ról, do których mog ą być przypisywani użytkownicy. Sposób uwierzytelniania jest zależny od kontenera EJB. Najpopularniejsz ą usług ą realizując ą te zadania w świecie Javy jest JAAS. 34
Komponenty sterowane komunikatami
Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty
Bardziej szczegółowoBezstanowe komponenty sesyjne i zdarzenia zwrotne
Bezstanowe komponenty sesyjne i zdarzenia zwrotne 1. Zdarzenia zwrotne. klasy nasłuchujące, klasy nasłuchujące a dziedziczenie. 2. Bezstanowe komponenty sesyjne. interfejsy: bazowy, zdalny i lokalny, obiekty
Bardziej szczegółowoUsługa TimerService ejbtimeout() @javax.ejb.timeout
TimerService i JNDI 1. Usługa TimerServiece, interfejsy TimedObject, TimerService, Timer, TimerHandle transakcje, zastosowanie usługi w komponentach EJB, cykl życia EJB, problemy. 2. Zasoby JNDI i wstrzykiwanie,
Bardziej szczegółowoStanowe komponenty sesyjne
Stanowe komponenty sesyjne 1. Porównanie komponentów stanowych i bezstanowych. 2. Cykl życia stanowego komponentu sesyjnego, 3. Komponenty sesyjne a kontekst utrwalania, 4. Zagnieżdżanie komponentów sesyjnych,
Bardziej szczegółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoJava wybrane technologie
Java wybrane technologie spotkanie nr 14 Bezpieczeństwo Podstawowe pojęcia uwierzytelniania (authentication) autoryzacja (authorization) atrybuty bezpieczeństwa informacji integralność danych (data integrity)
Bardziej szczegółowoEnterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.
1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja
Bardziej szczegółowopublic interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }
Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoWprowadzenie do Enterprise JavaBeans 2.0
71 Wprowadzenie do Enterprise JavaBeans 2.0 Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 72 Wprowadzenie do EJB Rodzaje komponentów Zdalny
Bardziej szczegółowoObiektowe 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ółowoO autorach... 11 Wprowadzenie... 13 Rozdział 1. Instalacja i kompilacja serwera JBoss... 23
Spis treści O autorach... 11 Wprowadzenie... 13 Rozdział 1. Instalacja i kompilacja serwera JBoss... 23 Pobranie plików binarnych... 24 Warunki instalacji... 24 Instalacja serwera przy użyciu pakietu zawierającego
Bardziej szczegółowoZdalne 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ółowoOprogramowanie 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ółowoProgramowanie 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ółowoAplikacje 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ółowoKurs 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ółowoAplikacje 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ółowoProjektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług
Wzorce projektowe warstwy usług Wzorce projektowe warstwy usług Service Locator Ułatwia wyszukanie komponentów usługowych Service Activator Umożliwia asynchroniczne przesyłanie żądań do komponentów biznesowych
Bardziej szczegółowo1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu
Transakcje 1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu utrwalania. 3. Izolacja typowe problemy,
Bardziej szczegółowoJBoss 4.0. Podrêcznik administratora
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE
Bardziej szczegółowoBezpieczne 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ółowoProgramowanie 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ółowoWywoł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ółowoKatedra 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ółowoSWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.
SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoPodejś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ółowoJava 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ółowoJava wybrane technologie
Java wybrane technologie spotkanie nr 7 Enterprise Java Beans Zagadnienia dotyczące systemów rozproszonych Zdalne wołanie metod (ang. Remote Method Invocation) Wielowątkowość (ang. Threading) Współpraca
Bardziej szczegółowoBudowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Bardziej szczegółowoPlan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów
Bardziej szczegółowoRMI-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ółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoPlatforma J2EE i EJB. Oprogramowanie systemów równoległych i rozproszonych Wykład 9. Rola EJB na platformie J2EE. Dr inż. Tomasz Olas olas@icis.pcz.
Platforma J2EE i EJB Oprogramowanie systemów równoległych i rozproszonych Wykład 9 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Platforma
Bardziej szczegółowoJava 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ółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoTworzenie 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ółowoProgramowanie 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ółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoWykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System
Bardziej szczegółowoJAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html
JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowo2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK
Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty
Bardziej szczegółowoTechnologie internetowe laboratorium nr 4. Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS
Technologie internetowe laboratorium nr 4 Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS 1. Wprowadzenie i konfiguracja Celem niniejszego laboratorium jest zainstalowanie i uruchomienie
Bardziej szczegółowoSposoby 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ółowo1. 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ółowoJę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ółowoSystemy 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ółowoProgramowanie 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ółowoPodejś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ółowoRemote 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ółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowoWywoł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ółowoWykł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ółowoWykł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ółowoLaboratorium 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ółowoRemote 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ółowoWykł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ółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowoAplikacje 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ółowoWykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 4 Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Protokół SSL do zabezpieczenia aplikacji na poziomie protokołu transportowego
Bardziej szczegółowoRemote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1
P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoProgramy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy
Bardziej szczegółowoTechnologie internetowe laboratorium nr 5. Zabezpieczanie usług sieciowych z wykorzystaniem HTTP Basic Authentication oraz HTTPS
Technologie internetowe laboratorium nr 5 Zabezpieczanie usług sieciowych z wykorzystaniem HTTP Basic Authentication oraz HTTPS 1. Wprowadzenie Pawe ł Czarnul, KASK, WETI, Politechnika Gdańska pczarnul@eti.pg.gda.pl
Bardziej szczegółowoInstrukcja 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ółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowosieć 4) Mechanizm RMI jest zazwyczaj wykorzystywany w rozwiązaniach typu klient-serwer.
RMI (Remote Method Invocation) zdalne wywołanie metod Część 1 1) RMI jest mechanizmem, który pozwala danej aplikacji: wywoływać metody obiektów zdalnych oraz uzyskać dostęp do obiektów zdalnych (np. w
Bardziej szczegółowoĆ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ółowoSTRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.
Bardziej szczegółowoBudowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz
Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie
Bardziej szczegółowoPlan 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ółowoJava: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Bardziej szczegółowo(Pluggable Authentication Modules). Wyjaśnienie technologii.
Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie
Bardziej szczegółowoJava programowanie w sieci. java.net RMI
Java programowanie w sieci java.net RMI Programowanie sieciowe OSI WARSTWA APLIKACJI (7) WARSTWA PREZENTACJI(6) WARSTWA SESJI (5) WARSTWA TRANSPORTU (4) DoD Warstwa aplikacji (HTTP) Transport (gniazdka)
Bardziej szczegółowo1 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ółowoLaboratorium 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ółowoWieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:
Bardziej szczegółowoEJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek
Enterprise JavaBean EJB 2.x oraz zmiany w standardzie dla EJB 3.0 Michał Stanek Plan prezentacji Czym jest EJB Architektura aplikacji J2EE oraz kontener EJB Typy komponentów JavaBean EJB 1.0, EJB 2.x Wady
Bardziej szczegółowoWprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/
1 Wprowadzenie do J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji
Bardziej szczegółowoRola EJB na platformie Java EE. Enterprise JavaBeans (EJB)
Wielowarstwowe aplikacje internetowe Plan wykładu Enterprise JavaBeans (EJB) Wprowadzenie do technologii EJB Typy komponentów EJB Klienci dla komponentów EJB Transakcje w EJB JavaServer Faces (JSF) Enterprise
Bardziej szczegółowoBudowa komponentów Enterprise JavaBeans
VII Seminarium PLOUG Warszawa Marzec 2003 Budowa komponentów Enterprise JavaBeans Maciej Zakrzewicz, Marek Wojciechowski mzakrz, marek@cs.put.poznan.pl Politechnika Poznañska Instytut Informatyki Streszczenie
Bardziej szczegółowoNarzę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ółowo1 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ółowoBudowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
Bardziej szczegółowoJakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,
1 Jakarta POI Jakarta POI (http://jakarta.apache.org/poi/index.html) jest zbiorem narzędzi umożliwiającym prace z dokumentami zapisanymi w formatach wspieranych przez Microsoft. W skład POI wchodzą następujące
Bardziej szczegółowoJAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK
Bardziej szczegółowoEnterprise Java Beans Narzędzia i Aplikacje Java EE
Enterprise Java Beans Narzędzia i Aplikacje Java EE Michał Piotrowski Michał Wójcik Waldemar Korłub Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika
Bardziej szczegółowoJava 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ółowo1. Co można powiedzieć o poniższym kodzie?
1. Co można powiedzieć o poniższym kodzie? void m(int a) { int m(string s){return Integer.parseInt(s); String m(int a){ return Integer.toString(a); a) Jego kompilacja powiedzie się b) Jego kompilacja nie
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)? public class A { public int i; { i++; System.out.print(i); public static void main(string[] args) { A a1
Bardziej szczegółowo