Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
|
|
- Dominika Krajewska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Kedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych INSTALACJA USŁUG SIECIOWYCH Z WYKORZYSTANIEM WSDD, DEFINIOWANIE PROCEDUR OBSŁUGI, PRZETWARZANIE WIADOMOŚCI W SYSTEMIE AXIS, SERIALIZACJA 1. WSTĘP i KONFIGURACJA LABORATORIUM 4 Temem niniejszego labororium jest konfiguracja zaawansowanych elementów serwera AXIS oraz instalacja i uruchamianie usług sieciowych z wykorzystaniem deskryptorów WSDD. Przed przystąpieniem do niniejszego labororium, należy zapoznać się z następującą literurą: 1. Instrukcje do labororium 2 oraz User s Guide systemu AXIS. guide.html 3. Architecture Guide systemu AXIS Reference Guide systemu AXIS Przykłady dostarczone z systemem AXIS. Kalog samples/userguide/example*. Na potrzeby tego labororium zakładamy, że pracujemy jako użytkownik student z kalogiem domowym /home/student. Zakładamy, że treść pliku ~/.bashrc zawiera konfigurację dla AXIS 1.4 i Javy (należy zmienić kalog na dystrybucję Javy jeśli jest inna). export JAVA_HOME=/usr/local/jdk1.5.0_07 export AXIS_HOME=/home/student/axis 1_4 export AXIS_LIB=$AXIS_HOME/lib export AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/axis ant.jar: $AXIS_LIB/commons discovery 0.2.jar:$AXIS_LIB/commons logging jar:\ $AXIS_LIB/jaxrpc.jar:$AXIS_LIB/saaj.jar:$AXIS_LIB/log4j jar: $AXIS_LIB/wsdl4j jar export CLASSPATH=$CLASSPATH:$AXISCLASSPATH
2 export PATH=$JAVA_HOME/bin:$PATH Zakładamy ponadto, że serwer Tomc został zainstalowany w kalogu /home/student/apache tomc jak również podkalog webapps/axis dystrybucji AXIS został skopiowany do kalogu webapps serwera Tomc. Kompilacja i uruchomienie przykładów dostarczonych z Tomcem (prz poniżej na przykład dostarczony do tego labororium) wyglądają następująco (jeśli CLASSPATH nie zawiera $AXISCLASSPATH należy dodać opcję cp $AXISCLASSPATH:. Zarówno do kompilacji jak i uruchomienia): 1. Kompilacja klienta, usługi sieciowej oraz pliku procedur(y) obsługi: javac...*.java np.: javac samples/userguide/example4/*.java 2. Umieszczenie kodu na serwerze: cp../axis 1_1beta/samples/userguide/example4/*.class webapps/axis/web INF/classes/samples/userguide/example4/ 3. Uruchomienie serwera Tomc z zainstalowanym AXISem: startup.sh w kalogu bin kalogu głównego serwera Tomc. W kalogu, w którym uruchamiany jest serwer, znajdą się ewentualne pliki zapisywane przez procedurę obsługi. 4. Zainstalowanie procedury obsługi wraz z usługą: java org.apache.axis.client.adminclient samples/userguide/example4/deploy.wsdd 5. Uruchomienie klienta: java samples/userguide/example4/client 2. PRZETWARZANIE WIADOMOŚCI, PROCEDURY OBSŁUGI AXIS jest narzędziem, które służy przetwarzaniu wiadomości. Ścieżka przetwarzania wiadomości na serwerze wygląda następująco: 1. TransportListener nasłuchuje na przyjście wiadomości, następnie tworzy obiekt MessageContext, który jest przekazywany do przetwarzania serwerowi AXIS. Nasłuchiwanie może odbywać się na porcie 80, ale może również polegać na sprawdzeniu pojawienia się pliku o określonej nazwie w kalogu i przekzaniu jego zawartości do przetwarzania przez serwer. 2. W ramach AXIS Engine, wiadomość może być przetwarzana przez łańcuchy procedur obsługi, zarówno przed wywołaniem właściwej metody usługi sieciowej jak i po. Etapy, na których procedury obsługi (handlers) mogą być wywołane są następujące: a. Warstwa transport dla specyficznego protokołu b. Global dla wszystkich wiadomości c. Service dla konkretnej usługi sieciowej. d. Wywołanie właściwej metody usługi sieciowej e. Service
3 f. Globar g. Warstwa transport Odpowiednia konfiguracja usługi sieciowej wraz z procedurami obsługi, które mogą być zainstalowane na poszczególnych etapach, opisana jest w: 1. dokumentacji AXIS przykładzie w instrukcji użytkownika AXIS. Instalacja usługi sieciowej z dodkowymi procedurami obsługi, wywoływanymi przed lub po wywołaniu właściwej metody usługi sieciowej, polega na zdefiniowaniu odpowiedniego deskryptora WSDD (Web Service Deployment Descriptor), który pozwalana zdefiniowanie: 1. usługi sieciowej element service wraz z: a. nazwą, b. klasą zawierającą implementację: <parameter name="classname" value=" "/> c. listą metod, które można wywołać w usłudze sieciowej <parameter name="allowedmethods" value="*"/> wszystkie metody d. procedurami obsługi (handlers) lub łańcuchami (ciągi procedur obsługi), które mogą być wywołane dla danej usługi sieciowej przed lub po wywołaniu właściwej metody usługi sieciowej: i. element requestflow przed wywołaniem usługi ii. element responseflow po wywołaniu usługi Elementy te, zdefiniowane wewnątrz elementu service tyczą się danej usługi sieciowej, mogą być również zdefiniowane globalnie (element GlobalConfigurion, dotyczą wówczas wszystkich wywołań możliwe jest również użycie elementów requestflow oraz responseflow dla warstwy transport element transport ( Elementy requestflow oraz responseflow mogą zawierać łańcuchy oraz procedury obsługi, wywołane zostaną zgodnie z kolejnością, w której zostały wyspecyfikowane. Procedury obsługi lub łańcuchy przywoływane są po nazwie, zdefiniowane mogą być poza elementem service. Procedury obsługi mogą czytać argumenty w postaci pary nazwa, wartość, wyspecyfikowane w deskryptorze WSDD. Przykład:
4 <handler name="acceptreject" type="java:deadlinehandler"> <parameter name="deadline" value="7"/> </handler> W powyższym przykładzie, który może być fragmentem usługi sieciowej, ww. procedura obsługi może być pierwszym etapem na drodze do sprawdzenia czasu wywołania usługi. Procedura obsługi może sprawdzać czy wywołanie następuje przed czy po wyznaczonym terminie. Termin ten zdefiniowany jest w parametrze o nazwie deadline, który kod procedury obsługi może odczytać. Fragment kodu odpowiedniej procedury obsługi mógłby wyglądać następująco: public class DeadlineHandler extends BasicHandler { public void invoke(messagecontext msgcontext) throws AxisFault { try { Calendar cal = new GregorianCalendar(); // Get the components of the time int hour = cal.get(calendar.hour_of_day); String deadline = (String)getOption("deadline"); if (Integer.valueOf(deadline).intValue()<hour) throw new AxisFault("Deadline passed", "Deadline passed!", null, null); cch (Exception e) { throw AxisFault.makeFault(e); Dane o żądaniu, w szczególności informacje czy procedura obsługi znajduje się za właściwą metodą usługi sieciowej czy po, dostęp do właściwych danych żądania itp. można uzyskać poprzez obiekt MessageContext ( Przykładowo, poniższy kod sprawdza czy procedura znajduje się przed czy po wywołaniu właściwej metody usługi sieciowej: if (msgcontext.getpastpivot()) writer.println("yes");
5 Wiele informacji uzyskać można poprzez wywołanie metody getproperty obiektu MessageContext. Możliwe do wykorzystania nazwy rybutów znaleźć można np. w s.html. Należy pamiętać o dołączeniu właściwej linijki import do kodu procedury obsługi. Referencję do obiektu MessageContext można pobrać z argumentu metody invoke procedury obsługi bądź też wywołując styczną metodę MessageContext.getCurrentContext(). W ten sposób, z wykorzystaniem procedur obsługi, można zaimplementować przetwarzanie zgłoszenia publikacji: 1. Procedura obsługi sprawdzanie terminu zgłoszenia 2. Procedura obsługi sprawdzanie długości zgłoszenia itp. 3. Właściwa metoda usługi sieciowej zapis publikacji do bazy danych 4. procedura obsługi wysłanie a do zgłaszającego publikację, iż została przyjęta do recenzji. Implementacja taka pozwala na uniknięcie błędów poprzez implementację mniejszych modułów, polepsza konfigurowalność aplikacji poprzez definiowanie parametrów dla procedur obsługi (serwis może być wykorzystany na różnych konferencjach z różnymi parametrami jak da zgłoszenia, maksymalny rozmiar itp.) oraz możliwość wykorzystania pojedynczych procedur w różnych usługach sieciowych (np. procedura sprawdzająca termin zgłoszenia). Procedura obsługi może również wygenerować wyjątek. Dla przykładu, dzielenie przez 0, a więc kod procedury obsługi: int a=2/0; writer.close(); cch (Exception e) { throw AxisFault.makeFault(e); pokaże po stronie klienta: java samples/userguide/example4/client Mapping Exception to AxisFault AxisFault faultcode: { faultstring: java.lang.arithmeticexception: / by zero
6 faultactor: null faultdetail: stacktrace: java.lang.arithmeticexception: / by zero samples.userguide.example4.loghandler.invoke(loghandler.java:105) Artykuł dostępny pod adresem ibm.com/developerworks/xml/library/x tipsoap.html pokazuje w jaki sposób można użyć nagłówków SOAP w celu implementacji priorytetów wywołań usług sieciowych i ewentualnego opóźnienia usług o niższym priorytecie. Klient, przy wywołaniu usługi sieciowej określa jej priorytet, jest on następnie odczytywany przez procedurę obsługi, która wprowadza dodkowe opóźnienie w zależności od zadanego priorytetu. 3. KOMPLETNY PRZYKŁAD W poniższym przykładzie zakładamy usługę analogiczną do tej testowanej w labororiach 2 i 3, a więc zdalnego wywołania aplikacji (proszę zwrócić uwagę na nieco inny URL usługi w kliencie). Dodkowo implementujemy procedurę obsługu, która pobiera parametr w postaci godziny, po której wywołanie nie będzie uruchamiane. Procedura wywołana będzie przed wywołaniem faktycznej usługi. Aplikacje kompilujemy za pomocą javac *.java a następnie kod (pliki *.class) usługi jak i procedury obsługi powinny znaleźć się w kalogu: /home/student/apache tomc /webapps/axis/WEB INF/classes/ Następnie po uruchomieniu serwera (startup.sh w kalogu serwera Tomc) wdrażamy usługę na serwerze. Powinna być wówczas widoczna w głównej konsoli AXIS widocznej przez przeglądarkę internetową. Wdrożenie następuje przez wywołanie: java org.apache.axis.client.adminclient deploy.wsdd W dalszej kolejności, po skompilowaniu, można wywołać program klienta: java RunTaskClient emacs W przypadku gdy termin został przekroczony, otrzymujemy następujący kompunik: Exception in thread "main" AxisFault faultcode: { passed faultsubcode: faultstring: Deadline passed! faultactor: faultnode: faultdetail: {
7 Deadline passed! org.apache.axis.message.soapfaultbuilder.creefault(soapfaultbuilder.java:222 ) org.apache.axis.message.soapfaultbuilder.endelement(soapfaultbuilder.java:12 9) org.apache.axis.encoding.deserializioncontext.endelement(deserializioncontext.java:1087) com.sun.org.apache.xerces.internal.parsers.abstractsaxparser.endelement(abstra ctsaxparser.java:633) com.sun.org.apache.xerces.internal.impl.xmlnsdocumentscannerimpl.scanendele ment(xmlnsdocumentscannerimpl.java:719) com.sun.org.apache.xerces.internal.impl.xmldocumentfragmentscannerimpl$frag mentcontentdispcher.dispch(xmldocumentfragmentscannerimpl.java:1685) com.sun.org.apache.xerces.internal.impl.xmldocumentfragmentscannerimpl.scan Document(XMLDocumentFragmentScannerImpl.java:368) com.sun.org.apache.xerces.internal.parsers.xml11configurion.parse(xml11confi gurion.java:834) com.sun.org.apache.xerces.internal.parsers.xml11configurion.parse(xml11confi gurion.java:764) com.sun.org.apache.xerces.internal.parsers.xmlparser.parse(xmlparser.java:148) com.sun.org.apache.xerces.internal.parsers.abstractsaxparser.parse(abstractsax Parser.java:1242) javax.xml.parsers.saxparser.parse(saxparser.java:375) org.apache.axis.encoding.deserializioncontext.parse(deserializioncontext.java: 227) org.apache.axis.soappart.getassoapenvelope(soappart.java:696) org.apache.axis.message.getsoapenvelope(message.java:435) org.apache.axis.handlers.soap.mustunderstandchecker.invoke(mustunderstandche cker.java:62) org.apache.axis.client.axisclient.invoke(axisclient.java:206) org.apache.axis.client.call.invokeengine(call.java:2784) org.apache.axis.client.call.invoke(call.java:2767)
8 org.apache.axis.client.call.invoke(call.java:2443) org.apache.axis.client.call.invoke(call.java:2366) org.apache.axis.client.call.invoke(call.java:1812) RunTaskClient.main(RunTaskClient.java:47) Kod usługi: import java.io.*; public class RunTaskServerDeployed { public int RunTask(String taskname) { try { Process p = Runtime.getRuntime().exec(taskname); cch (IOException e1) { System.err.println(e1); System.exit(1); return 0; Kod procedury: import org.apache.axis.axisfault; import org.apache.axis.handler; import org.apache.axis.messagecontext; import org.apache.axis.handlers.basichandler; import java.io.fileoutputstream; import java.io.printwriter; import java.util.de; import java.util.gregoriancalendar; import java.util.calendar; public class DeadlineHandler extends BasicHandler { public void invoke(messagecontext msgcontext) throws AxisFault { try { Calendar cal = new GregorianCalendar(); // Get the components of the time int hour = cal.get(calendar.hour_of_day);
9 String deadline = (String)getOption("deadline"); if (Integer.valueOf(deadline).intValue()<hour) throw new AxisFault("Deadline passed", "Deadline passed!", null, null); cch (Exception e) { throw AxisFault.makeFault(e); kod klienta: // Autor: Paweł Czarnul, KASK, WETI, Politechnika Gdańska // pczarnul@eti.pg.gda.pl import org.apache.axis.client.call; import org.apache.axis.client.service; import org.apache.axis.encoding.xmltype; import org.apache.axis.utils.options; import javax.xml.rpc.parametermode; public class RunTaskClient { public stic void main(string [] args) throws Exception { Options options = new Options(args); String endpoint = " + options.getport() + "/axis/services/runtaskserverdeployed"; args = options.getremainingargs(); String method = "RunTask";
10 String s1 = new String(args[0]); Service service = new Service(); Call call = (Call) service.creecall(); call.settargetendpointaddress( new java.net.url(endpoint) ); call.setoperionname( method ); call.addparameter( "op1", XMLType.XSD_STRING, ParameterMode.IN ); call.setreturntype( XMLType.XSD_INT ); Integer ret=(integer) call.invoke( new Object [] { s1 ); System.out.println("Got result : " + ret); Kod pliku wdrożeniowego deploy.wsdd: <deployment xmlns=" xmlns:java=" <! define the logging handler configurion > <handler name="acceptreject" type="java:deadlinehandler"> <parameter name="deadline" value="7"/> </handler> <! define the service, using the log handler we just defined > <service name="runtaskserverdeployed" provider="java:rpc"> <requestflow> <handler type="acceptreject"/> </requestflow> <parameter name="classname" value="runtaskserverdeployed"/> <parameter name="allowedmethods" value="*"/> </service>
11 </deployment> 4.STYLE PRZETWARZANIA WIADOMOŚCI W AXIS AXIS pozwala na przetwarzanie wiadomości w różnych stylach, z których najpopularniejszym jest RPC, polegający na wykorzystaniu usług sieciowych, protokołów SOAP np. z http jako implementacji zdalnego wołania procedur. Z tego punktu widzenia, usługi sieciowe są w dużej mierze równoważne technologiom CORBA itp., z wyjątkiem użycia innych protokołów i szczegółów implementacyjnych. Z drugiej strony, oprócz stylów dokument i wrapped ( AXIS umożliwia przetwarzanie wiadomości na poziomie protokołu SOAP, metoda usługi sieciowej może mieć więc dostęp do poszczególnych elementów wiadomości w formacie XML. Metody obsługujące po stronie serwera mogą mieć następujące sygnury ( public Element [] method(element [] bodies); public SOAPBodyElement [] method (SOAPBodyElement [] bodies); public Document method(document body); public void method(soapenvelope req, SOAPEnvelope resp); AXIS można więc wykorzystać jako serwer przetwarzający dokumenty XML. 5. SERIALIZACJA AXIS umożliwia automyczną serializację i deserializację, a więc i przezroczyste dla programisty przesyłanie typów prostych, ale również klas, które zgodnie z wymaganiami dla JavaBeans zawierają metody set i get. Dla takich klas, wystarczy w deskryptorze WSDD wyspecyfikować nazwę klasy: <beanmapping qname="ns:local" xmlns:ns="somenamespace" languagespecifictype="java:nazwaklasy"/> Dla klas, które nie są zgodne z wymaganiami dla JavaBeans, należy dostarczyć kod serializujący i deserializujący kod danej klasy oraz zapisać powiązanie w elemencie deskryptora WSDD w sposób następujący: <typemapping qname="ns:local" xmlns:ns="somenamespace"
12 languagespecifictype="java:nazwaklasy" serializer="serializor" deserializer="deserializor" encodingstyle="
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ół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ół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ół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ół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ółowoWprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii
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ół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ółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
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ół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ół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ół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ółowoAXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Ustawienie zmiennych środowiskowych Przed rozpoczęciem pracy z pakietem AXIS należy ustalić
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ół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ół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ół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ół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ółowoSpring Web MVC, Spring DI
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie / narzędzia będące
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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoSOAP. Autor: Piotr Sobczak
SOAP Autor: Piotr Sobczak AGENDA: Trochę o Web Services Wprowadzenie do SOAP Anatomia komunikatu SOAP Wysyłanie i otrzymywanie komunikatu SOAP oraz API Javy w przykładach SOAP z załącznikami SOAP-RPC Obsługa
Bardziej szczegółowoKatalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
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ół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 zespołowe
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne
Bardziej szczegół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ółowo1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.
Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.
Bardziej szczegółowoInterfejsy w Javie. Przykład zastosowania interfejsów:
1 Plan wykładu 1. Interfejsy w Javie. 2. Zdalne wywołanie metod (Remote Method Invocation). interfejsy w RMI, architektura RMI, przykładowa aplikacja korzystająca z RMI, przekazywanie parametrów, dystrybucja
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ółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
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 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ółowoJAVA. 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ół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ółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoPrzykł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ółowoJava 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ół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ółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowoWzorce prezentacji internetowych
Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.
Bardziej szczegółowoDostęp do komponentów EJB przez usługi Web Services
243 Dostęp do komponentów EJB przez usługi Web Services Mikołaj Morzy Mikolaj.Morzy@cs.put.poznan.pl http://www.cs.put.poznan.pl/mmorzy/ Plan rozdziału 244 Wprowadzenie do usług sieciowych Architektura
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoKatalog książek cz. 3: Web Service
Katalog książek cz. 3: Web Service Przygotowanie usługi sieciowej (web service) 1) Uruchom Netbeans, otwórz projekt przygotowany w ramach poprzednich zajęć. W kolejnych krokach przerobimy klasę BookManager
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 Integracja usług w Internecie LABORATORIUM
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ółowoJę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ółowoGit, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Bardziej szczegółowoRozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury
Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2 Co będzie
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ółowoZaawansowane 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Ć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ół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ółowoJAX-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ółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoSystemy rozproszone. Dr inż. L. Miękina. Department of Robotics and Mechatronics AGH University of Science and Technology 1/1
1/1 Systemy rozproszone Dr inż. L. Miękina Department of Robotics and Mechatronics AGH University of Science and Technology Marzec, 2013 RMI - zdalne wywołanie metod Rozproszone obiekty Stan obiektu składa
Bardziej szczegółowoProgramowanie 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ółowoZaawansowane 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ółowoGoogle Web Toolkit Michał Węgorek ZPO 2009
Google Web Toolkit Michał Węgorek ZPO 2009 Plan prezentacji Czym jest GWT? Co daje GWT motywacja Po co tłumaczyć Javę do JavaScriptu? - AJAX niebezpieczeństwa - Przewaga GWT nad AJAX - RPC - Utrzymywanie
Bardziej szczegółowoMichał Jankowski. Remoting w.net 2.0
Michał Jankowski Remoting w.net 2.0 Co to jest? Remoting jest zbiorem funkcji pozwalającym na komunikacje miedzy aplikacjami zarówno w obrębie jednego komputera jak i poprzez sieć Pozwala na komunikację
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
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ół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ółowoDokumentacja 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ółowoAKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki Computer Games Poker Bot - komunikacja Dokumentacja Wersja z dnia 01.01.2012 Zespół: Kamil Mazurek Tomasz Kruczkowski
Bardziej szczegółowoLaboratorium 10 - Web Services
Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
Bardziej szczegółowoNS-2. Krzysztof Rusek. 26 kwietnia 2010
NS-2 Krzysztof Rusek 26 kwietnia 2010 1 Opis ćwiczenia Symulator ns-2 jest potężnym narzędziem, szeroko stosowanym w telekomunikacji. Ćwiczenie ma na cele przedstawić podstawy symulatora oraz symulacji
Bardziej szczegółowoPlatformy Programistyczne Zagadnienia sieciowe i wątki
Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura
Bardziej szczegółowoZaawansowane 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ół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ół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ół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ółowoProgramowanie 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ółowoJava JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG
Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku
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ół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ółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
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ółowoDokumentacja końcowa projektu z ZPR
Dokumentacja końcowa projektu z ZPR Temat projektu: Prowadzący projekt: Zespół projektowy: Losowe przeszukiwanie stanów dr inż. Robert Nowak Piotr Krysik Kamil Zabielski 1. Opis projektu Projekt ma za
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
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ółowoProgramowanie 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ółowoWprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz, PLOUG mzakrz@cs.put.poznan.pl Streszczenie Web Services to technologia implementacji rozproszonych komponentów programowych
Bardziej szczegółowoprepared by: Programowanie WWW Servlety
Programowanie WWW Servlety Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt) Klasa Kredyt
Bardziej szczegółowoWprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014
Bardziej szczegółowo