Web Service implementacja aplikacji klienta usługi

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

Download "Web Service implementacja aplikacji klienta usługi"

Transkrypt

1 Web Service implementacja aplikacji klienta usługi Marek Lewandowski, Paweł Kędziora Politechnika Poznańska

2 Spis treści: 1 Technologia Web Service Definicja Web Service Architektura Web Service Protokół SOAP Język WSDL Rejestr UDDI Przykładowa aplikacja Aplikacja standardowa Aplikacja klient Web Service Klient Web Service Środowiska wspierające tworzenie aplikacji klienta usług sieciowych Schemat postępowania Java Microsoft.NET Borland Delphi Oracle Forms Lotus Designer Borland C++ Builder Php C/C Ada Środowiska nie zapewniające wsparcia w procesie tworzenia aplikacji klienta usług sieciowych Rozwiązanie manualne Rozwiązanie półautomatyczne Podsumowanie Literatura:

3 1 Technologia Web Service 1.1 Definicja Web Service Web Service to zwarty, samodokumentujący się komponent programowy niezależny od platformy i implementacji dostarczający określonej funkcjonalności. Komponent ten może zostać opublikowany w sieci komputerowej przez swego autora, a następnie odnaleziony i wywołany w trybie zdalnego wykonania przez twórcę aplikacji konsumenckiej. Technologia Web Service wykorzystuje szereg rozwiązań informatycznych, m.in.: - SOAP służący do przekazywania zdalnych wywołań, - WSDL służący do dystrybucji parametrów połączeń sieciowych, - UDDI służący do rejestracji udostępnianych komponentów usługowych. 1.2 Architektura Web Service Idea działania usługi Web Service została przedstawiona na rysunku Zarówno aplikacja (Service Requester), żądająca wywołania kodu zdalnego modułu, jak i komponent Web Service (Service Provider) go udostępniający, pobierą interfejs kodu z określonego miejsca w sieci Internet (Service Broker). Zarówno żądanie wywołania zdalnej usługi jak i zwracany rezultat przekazywane są za pomocą komunikatu SOAP (patrz: 1.3 Protokół SOAP). Interfejs kodu przekazywany jest stronom z wykorzystaniem dokumentu WSDL (patrz: 1.4 Język WSDL), który przechowywany jest w bazie danych UDDI (patrz: 1.5 Rejestr UDDI). Rys. 1: Ogólna idea Web Service 3

4 1.3 Protokół SOAP SOAP (Simple Object/Open Access Protocol) jest protokołem opartym o XML (extensible Markup Language), umożliwiającym aplikacjom wymianę komunikatów poprzez protokół sieciowy - zazwyczaj HTTP (HyperText Transfer Protocol). W ogólności, aplikacje wykorzystujące SOAP mogą być zaimplementowane w różnych językach i pracować na różnych platformach. Komunikacja sieciowa może odbywać się na dwa sposoby: - w stylu RPC (Remote Procedure Call) - komunikacji dokumentowej Powyższe tryby komunikacji różnią się formą przekazywania parametrów: w trybie RPC komponentowi przekazywana jest lista parametrów wraz z ich bieżącymi wartościami, a w trybie komunikacji dokumentowej usługa otrzymuje tylko jeden parametr, którym jest dokument XML. Zazwyczaj tryb RPC korzysta z komunikacji synchronicznej, a tryb dokumentowy z komunikacji asynchronicznej. Schemat komunikacji w trybie dokumentowym przedstawiony został na rysunku 1.3.1: Rys. 2: Komunikacja SOAP w trybie dokumentowym. Wywołanie metody przez klienta jest konwertowane do dokumentu XML. Argumenty poddawane są serializacji (konwertowane do ciągu bajtów reprezentowanego heksadecymalnie). Tak zbudowany dokument XML nazywany komunikatem SOAP przekazywany jest z wykorzystaniem protokołu sieciowego do zdalnej usługi, która po deserializacji argumentów uruchamia żądaną metodę i analogicznym algorytmem przekazuje zwrotnie rezultat jej wykonania. 4

5 Komunikat SOAP składa się z następujących elementów: - element obowiązkowy <Envelope> - oznaczający, iż dokument XML jest komunikatem SOAP, - element opcjonalny <Header> - zawierający informacje nagłówkowe, - element obowiązkowy <Body> - zawierający informacje o żądaniu i odpowiedzi, - element opcjonalny <Fault> - zawierający opis błędów, jakie wystąpiły podczas przetwarzania komunikatu. Poniższy rysunek (rys ) zawiera przykładowy komunikat SOAP żądający wywołania komponentu o nazwie demo, zawierającego funkcję multiply (int val1, int val2). Przykład pokazuje przekazanie do funkcji dwóch parametrów multiply (val1 := 3, val2 := 2). Usługa zwraca odpowiedź, również w formacie komunikatu SOAP wynik iloczynu parametrów val1 i val2. Rys. 3: Przykładowy komunikat - żądanie SOAP. Rys. 4: Przykładowy komunikat odpowiedź SOAP. 5

6 1.4 Język WSDL WSDL (Web Service Description Language) jest opisem interfejsu komponentu Web Service. Klient usługi sieciowej może dokonać automatycznej transformacji tego opisu do kodu źródłowego obsługującego komunikację sieciową z komponentem Web Service Proxy w wybranym języku programowania. Opisywana transformacja może mieć charakter statyczny (dokonywana na etapie kompilacji) lub dynamiczny (dokonywana podczas wykonywania aplikacji klienta). WSDL jest językiem znaczników XML służącym do opisu technicznych parametrów połączenia sieciowego aplikacji klienta i komponentu Web Service. Strukturę znaczników dokumentu WSDL przedstawia rysunek 1.4.1: Rys. 5: Struktura znaczników dokumentu WSDL. Znaczniki w dokumencie WSDL: - <definitions> - otacza dokument, - <service>, <port> - definiują adresy punktów dostępowych dla usługi, - <porttype> - deklaracja funkcji biznesowych oferowanych przez usługę, - <binding> - określają metody kodowania parametrów wywołania i parametrów zwrotnych usługi. 6

7 1.5 Rejestr UDDI UDDI (Universal Description, Discovery and Integration) jest specyfikacją bazy danych dostępnych komponentów Web Service. UDDI ma na celu uproszczenie procesu dystrybucji dokumentów WSDL i semantyki komponentów usługowych. Taka baza danych przeszukiwana jest przez autorów aplikacji klientów w celu odnalezienia żądanych komponentów. Bazy danych UDDI deklarują dostępne usługi posługując się trzema poziomami opisu: - White Pages podstawowe dane kontaktowe dostawcy usługi, - Yellow Pages lokalizacja usługi w taksonomiach kategoryzacyjnych, - Green Pages techniczny opis usługi i jej semantyki, wskaźnik do pliku WSDL. Rysunek przedstawia cykl życia usługi Web Service z punktu widzenia jej deklaracji w UDDI: Rys. 6: Cykl życia usługi Web Service. Cykl życia usługi Web Service: - implementacja komponentu i jego rejestracja w UDDI, - wyszukanie opisu komponentu i implementacja aplikacji klienta, - uruchomienie aplikacji klienta i zdalne wywołanie usługi. 7

8 2 Przykładowa aplikacja 2.1 Aplikacja standardowa Punktem wyjścia do dalszej analizy jest przykładowa aplikacja (formularz rejestracji wniosku o przyznanie zaliczki alimentacyjnej), której główną formatkę przedstawia poniższy rysunek: Rys. 7: Formularz wprowadzania danych osobowych przykładowej aplikacji. Użytkownik, chcąc poprawnie wypełnić wniosek, wprowadza wymagane dane dotyczące wnioskodawcy. Wsparcie ze strony systemu ogranicza się do udostępnienia użytkownikowi list wyboru z predefiniowanymi wartościami dla pewnych pól 8

9 (np. obywatelstwo, stan cywilny). Osoba obsługująca program nie ma możliwości weryfikacji poprawności wprowadzanych danych. Nie jest dostępne również ułatwienie polegające na przykład na uzupełnianiu brakujących wartości pól formularza, po wprowadzeniu danych jednoznacznie identyfikujących wnioskodawcę (np. PESEL). 2.2 Aplikacja klient Web Service Postanowiono rozszerzyć funkcjonalność przykładowej aplikacji o rozwiązania ułatwiające pracę użytkownikowi. Zaimplementowano trzy usługi Web Service: - Weryfikacja danych osobowych bez przekazywania poprawnych danych celem jest weryfikacja poprawności danych osobowych przekazanych przez użytkownika. Usługa wskazuje jedynie, które informacje nie są poprawne. - Weryfikacja danych osobowych z przekazaniem poprawnych danych - celem jest weryfikacja poprawności danych osobowych przekazanych przez użytkownika. Usługa wskazuje, które informacje nie są poprawne oraz podaje poprawne wartości błędnych danych. - Uzupełnianie danych osobowych celem jest dostarczenie nowych, nieznanych użytkownikowi wartości danych osobowych. Użytkownik przekazuje dane niezbędne do identyfikacji wnioskodawcy, a usługa wypełnia wszystkie brakujące pola formularza poprawnymi wartościami. Jeżeli identyfikacja wnioskodawcy nie będzie pełna (kilka osób spełniających kryteria wyszukiwania), użytkownikowi zostaną zaprezentowane wszystkie wyniki. Jako przykładowe rozwiązanie zaimplementowano aplikację udostępniającą formularz do wprowadzania danych osobowych oraz zawierającą wywołania powyżej opisanych usług Web Service: Rys. 8: Formularz wprowadzania danych przykładowej aplikacji wykorzystującej usługi Web Service. 9

10 Rys. 9: Weryfikacja poprawności wprowadzanych danych bez przekazywania poprawnych wartości (pola z błędnymi danymi podświetlone kolorem czerwonym). Rys. 10: Weryfikacja poprawności wprowadzonych danych z przekazaniem poprawnych wartości (pola z błędnymi danymi podświetlone kolorem czerwonym, poprawne wartości wpisane w pola). Rys. 11: Uzupełnianie danych osobowych (formularz z uzupełnionymi danymi; weryfikacja niejednoznaczna: kilka osób spełniających wyniki zapytania aktywny przycisk następna strona, wciśnięcie którego powoduje prezentację użytkownikowi danych kolejnej osoby). 10

11 3 Klient Web Service 3.1 Środowiska wspierające tworzenie aplikacji klienta usług sieciowych Schemat postępowania Wiele środowisk programowania zapewnia programistom wsparcie w procesie tworzenia klientów usług sieciowych (w postaci kreatorów generujących klasy pieńki usług i klasy proxy odpowiedzialne za komunikację z dostawcą Web Service, lub w postaci gotowych bibliotek umożliwiających wywoływanie zdalnych usług i prezentację ich rezultatów). Programista może się więc skoncentrować na tworzeniu interfejsu użytkownika i logiki biznesowej aplikacji. Złożony proces implementacji komunikacji z usługą sieciową spoczywa na środowisku programistycznym. Rys. 12: Kolejne kroki tworzenia i działania klienta Web Service w przypadku środowiska z kreatorem szkieletu aplikacji. W poniższych podrozdziałach zaprezentowano kolejne kroki procesów tworzenia klientów usług sieciowych w różnych środowiskach i językach programowania. 11

12 3.1.2 Java Język Java, najpowszechniej używany i intensywnie rozwijany, zapewnia bardzo dobre wsparcie korzystania z usług Web Service. Aby ułatwić implementację obsługi protokołu SOAP można skorzystać z biblioteki JAX-RPC (Java API for XML-based RPC). Biblioteka ta zapewnia narzędzie (wscompile), które znajduje i odczytuje dokument WSDL, a następnie generuje pieniek (ang. stub) po stronie klienta. Wygenerowane pieńki są klasami i interfejsami języka JAVA, które będą mogły być wywoływane przez programistę. Pieniek stanowi interfejs pomiędzy aplikacją klienta a serwerem jeśli usługa Web Service znajdująca się na serwerze oferuje metodę filling(), to wygenerowany pieniek, również będzie zawierał metodę o takiej nazwie. Programista chcąc skorzystać z metody filling() usługi sieciowej, wywołuje metodę filling() swojego pieńka, który przejmuje przekazane mu parametry funkcji i zamienia je na żądanie wysyłane do komponentu Web Service. Żądanie wysyłane jest za pomocą protokołu HTTP z wykorzystaniem opisanego wcześniej protokołu SOAP. Tworzenie aplikacji klientów usług Web Service jest bardzo dobrze wspierane przez praktycznie wszystkie środowiska stworzone dla języka Java (m.in. Eclipse, JDeveloper, NetBeans). Każde z tych środowisk wyposażone jest w kreator tworzenia pieńka usługi Web Service, który krok po kroku przeprowadza programistę przez cały proces: od znalezienia dokumentu WSDL, poprzez generowanie klas i interfejsów usługi zdalnej, aż do stworzenia szkieletu aplikacji klienta. Poniższe ilustracje pokazują przykładowy scenariusz utworzenia klienta usługi Web Service w środowisku JDeveloper. Rys. 13: Wybór Business Tier -> Web Services -> Java Web Service Proxy z menu kontekstowego nowego projektu. 12

13 Rys. 14: Wskazanie pliku WSDL i pliku mapowań. Rys. 15: Zakończenie pracy kreatora: lista metod udostępnianych przez komponent. 13

14 Rys. 16: Ostateczna lista plików i pakietów stworzonych podczas generowania klienta usługi Web Service z wykorzystaniem dostępnego pliku WSDL. 14

15 Rys. 17: Przykładowa funkcja wywołująca (za pomocą pieńka web) zdalną metodę. Wywołanie funkcji filling, wypełniającej dane osobowe w formularzu użytkownika, znajduje się w linii: response = (port.filling(request)); Obiekt port jest instancją klasy WSPServicePortClient, która w swoim konstruktorze (pośrednio tworząc również kilka innych obiektów) tworzy pieniek usługi sieciowej: public class WSPServicePortClient { private project1.wspservice_porttype _port; public WSPServicePortClient() throws Exception { ServiceFactory factory = ServiceFactory.newInstance(); _port = ((project1.wspservice_service)factory.loadservice(project1.wspservice_service.c lass)).getwspserviceport(); }... } public interface WSPService_Service extends javax.xml.rpc.service { public project1.wspservice_porttype getwspserviceport() throws javax.xml.rpc.serviceexception; } public class WSPService_Service_Impl extends oracle.j2ee.ws.client.basicservice implements project1.wspservice_service { public project1.wspservice_porttype getwspserviceport() { String[] roles = new String[] {}; HandlerChainImpl handlerchain = new HandlerChainImpl(getHandlerRegistry().getHandlerChain(ns1_WSPServicePort_ QNAME)); handlerchain.setroles(roles); project1.proxy.runtime.wspservicebinding_stub stub = new project1.proxy.runtime.wspservicebinding_stub(handlerchain); try { stub._initialize(super.internaltyperegistry); 15

16 } catch (JAXRPCException e) { throw e; } catch (Exception e) { throw new JAXRPCException(e.getMessage(), e); } return stub; } } Obiekt pieńka zajmuje się wywołaniem funkcji serializujących i deserializujących (przygotowanie i konsumpcja komunikatów SOAP zawierających rezultat działania usługi): { QName type = new QName(" "filling"); CombinedSerializer serializer = new project1.runtime.filling_literalserializer(type, DONT_ENCODE_TYPE); registerserializer(mapping,project1.filling.class, type, serializer); } public Filling_LiteralSerializer(QName type, boolean encodetype) { super(type, true, encodetype); setsoapversion(soapversion.soap_11); } Wynik działania przypisywany jest zmiennej response: response = (port.filling(fill)).getresult(); Przykładowy kod odpowiedzialny za konsumpcję rezultatu działania usługi Web Service (wypełnienie odpowiednich pól formularza i, jeśli to wskazane, aktywacja przycisków umożliwiających wyświetlenie danych osobowych większej liczby osób): response = p.filling(); Consument c = new Consument(this); c.filling_consume(resp, turn); public void filling_consume(wspmultiresponsevo response, Integer turn) { handlemultistatus(response, turn); } private void handlemultistatus (WSPMultiResponseVO response, Integer turn) { switch (response.getstatus()) { case 1: panel.getfield("error_field").settext("wsp_filling_unauthorized"); break; case 2: panel.getfield("error_field").settext("wsp_filling_invalid"); break; case 3: panel.getfield("error_field").settext("wsp_filling_unauthorized_atr"); break; case 0: getallattrvalues(response.getattributes(), turn); break; default: panel.getfield("error_field").settext("unknown_error: "+response.getstatus()); } } 16

17 private void getallattrvalues(attrvalarrayvo[] attrvalarrayvos, Integer turn) { try { if (turn >= attrvalarrayvos.length turn < 0) { return; } panel.next_page.setenabled(true); panel.prev_page.setenabled(true); for (int j=0; j<(attrvalarrayvos[turn].getattributes()).length; j++) { String name = new String(); String value = new String(); name = (attrvalarrayvos[turn].getattributes())[j].getattrname(); value = (attrvalarrayvos[turn].getattributes())[j].getattrval(); JTextField field = panel.getfield(name); field.settext(value); } ++turn; if (turn.equals(attrvalarrayvos.length)) { panel.next_page.setenabled(false); } --turn; if (turn<=0) { panel.prev_page.setenabled(false); } } catch (Exception e) { System.out.println(e.getMessage()); } } Microsoft.NET Środowisko.NET firmy Microsoft, podobnie jak opisane w punkcie 2.1 środowiska stworzone do kodowania w języku Java, również bardzo dobrze wspiera programistę podczas tworzenia aplikacji wykorzystujących usługi Web Service. Ogólna idea tworzenia aplikacji klienta jest bardzo podobna do rozwiązania znanego z Javy (użycie kreatora, odnalezienie dokumentu WSDL, oprogramowanie aplikacji klienta, itd). Środowisko.NET umożliwia tworzenie aplikacji klientów we wszystkich (ponad 20) wspieranych przez siebie językach (m.in. Visual C#, Visual Basic, Visual C++, Visual J#). 1 Komponent, do którego programista się odwołuje, został napisany w języku Visual Basic. Udostępniona metoda filling() nie przyjmuje parametrów wejściowych, zwraca typ złożony DataSet i wygląda następująco: 1 Oprócz wspomnianych również: APL, Fortran, Pascal, Haskell, Scheme, Curriculum, Mondrian, Perl, Pyton, COBOL, Microsoft JScript, SmallTalk, Eiffel, Oberon, RPG, Component Pascal, Merkury, Nemerle, Standard ML, Forth, Oz. 17

18 Rys. 18: Funkcja filling() komponentu Web Service w języku Visual Basic. Poniższe rysunki pokazują przykładowy scenariusz tworzenia klienta usługi Web Service za pomocą języka Visual Basic. Rys. 19: Utworzenie nowego projektu. 18

19 Rys. 20: Stworzenie formatki. Rys. 21: Wybór opcji WebService Proxy Generator z menu Tools w zakładce Code formatki. 19

20 Rys. 22: Wskazanie lokalizacji pliku WSDL. Rys. 23: Zakończenie generowania usługi klienta. Rys. 24: Kod wywoływany po wciśnięciu przycisku na formatce w aplikacji klienta. Wywołanie funkcji filling() komponentu Web Service Borland Delphi 20

21 Środowisko Delphi firmy Borland umożliwia, podobnie jak wcześniej omawiane Java i Microsoft.NET, zarówno manualne jak i automatyczne tworzenie aplikacji klienta korzystającej z usług Web Service. Aby automatycznie wygenerować klienta usługi sieciowej Web Service należy posłużyć się wbudowanym w środowisko Delphi programem WSDL Importer, który krok po kroku przeprowadzi programistę przez wszystkie etapy tworzenia aplikacji korzystającej z komponentu Web Service. Poniższe rysunki pokazują przykładowy scenariusz tworzenia usługi Web Service za pomocą programu WSDL Importer: Rys. 25: Utworzenie nowego projektu typu Web Service (File New Other zakładka WebServices opcja WSDL Importer). Rys. 26: Wskazanie pliku WSDL. 21

22 Rys. 27: Podgląd wygenerowanego kodu. Po udanym wykonaniu powyższych kroków należy stworzyć klienta, który będzie korzystał z funkcji komponentu, którego dokument WSDL został zaimportowany. Należy stworzyć nową aplikację, dodać do niej elementy: memo, button oraz edit box. Następnie, z zakładki Web Services, należy przeciągnąć na formatkę komponent HTTPRIO. Rys. 28: Wygląd formatki. Komponent HTTPRIO (Remote Invokable Object over an HTTP connection) posiada cztery własności: - URL - Service - WSDLLocation 22

23 - Port Należy wypełnić tylko pierwszą, bądź pozostałe własności. Poprawne wartości własności zostaną użytkownikowi podpowiedziane (zostały zapamiętane podczas importu dokumentu WSDL). Tak utworzony komponent HTTPRIO zawierać będzie wszystkie metody udostępniane przez usługę Web Service, można zatem przystąpić do etapu programowania z wykorzystaniem zdalnych metod. Zaproponowany scenariusz pokazuje, że automatyczne budowanie klienta usług sieciowych w środowisku Delphi jest nieco bardziej skomplikowane niż wykonywanie analogicznego działania w środowiskach języka Java lub za pomocą platformy.net firmy Microsoft. Niemniej jednak, jeśli wziąć pod uwagę możliwość manualnego pisania warstwy importującej dokument WSDL i zapewniającej komunikację z usługa sieciową, to wykorzystanie załączonego programu (WSDL Importer) nieporównywalnie usprawnia i ułatwia pracę programisty. Korzystanie z Web Service możliwe jest tylko od wersji Delphi Oracle Forms Środowisko Oracle Forms pozwala na stosunkowo łatwą (jak podaje producent) integrację istniejącej aplikacji Forms z usługą sieciową dzięki użyciu importera Java. Aby wywoływać metody usług sieciowych z aplikacji Forms należy przeprowadzić dwuetapowe postępowanie: utworzyć pieniek usługi Web Service, a następnie wywołać funkcje pieńka z poziomu aplikacji Forms. Poniższe rysunki pokazują kolejność postępowania podczas tworzenia pieńka usługi Web Service za pomocą środowiska JDeveloper: 23

24 Rys. 29: Wybór Business Tier -> Web Services -> Java Web Service Proxy z menu kontekstowego nowego projektu. Rys. 30: Wskazanie pliku WSDL i pliku mapowań. 24

25 Rys. 31: Zakończenie pracy kreatora: lista metod udostępnianych przez komponent. Rys. 32: Spakowanie plików projektu do archiwum.jar 25

26 Należy wykorzystać stworzony pieniek w aplikacji Oracle Forms. Poniższe rysunki wskazują kolejne kroki niezbędne do wykorzystywania usług Web Service w aplikacji Forms: Należy dodać do zmiennej systemowej PATH pełną ścieżkę dostępu do archiwum.jar utworzonego w poprzednim kroku (tworzenie pieńka usługi Web Service za pomocą środowiska JDeveloper): Rys. 33: Modyfikacja zmiennej systemowej PATH. Należy uruchomić środowisko Oracle Forms, stworzyć nowy formularz, oraz wybrać opcję importu klasy Java i zaimportować niezbędne klasy (wcześniej utworzoną klasę pieńka usługi Web Service, java.lang.float oraz Exception). Kolejnym krokiem jest dodanie przycisku do kanwy i zaprogramowanie wyzwalacza uruchamianego zdarzeniem wciśnięcia przycisku kodem wywołującym metodę usługi Web Service: 26

27 Rys. 34: Import klasy Java z Oracle Forms. Rys. 35: Dodanie przycisku do kanwy i uruchomienie okna edycji procedury wyzwalanej uruchamianej zdarzeniem wciśnięcia przycisku. 27

28 Rys. 36: Kod procedury wyzwalanej wywołującej metodę udostępnianą przez usługę Web Service. Korzystanie z usług sieciowych możliwe jest w Oracle Forms od wersji 9i wzwyż. Użytkownik korzystający z Oracle Forms 4.5 oraz Oracle Forms 6i muszą dokonać migracji do wersji Oracle Forms 9i Lotus Designer W środowisku Lotus Designer firmy IBM aplikacja klient usługi sieciowej Web Service może zostać stworzona jako agent oprogramowany w języku Java bądź LotusScript. Środowisko Lotus Designer (w standardowej wersji) nie posiada wbudowanego mechanizmu umożliwiającego programiście konsumpcję usług Web Service (tworzenie i publikacja usług jest jednak możliwa!). Przed stworzeniem klienta komponentu Web Service należy dodatkowo zainstalować: - Java Software Development Kit (JDK) - Apache Axis framework Po zainstalowaniu powyższych elementów należy odnaleźć interesujący dokument WSDL i wskazać go Apacze Axis aby wygenerował pieniek (w języku Java) usługi Web Service. W tym celu należy, w linii poleceń, wpisać następującą komendę: C:\java\consumer>wsd12java.bat 28

29 Spowoduje to wygenerowanie plików.java, które następnie należy zaimportować do projektu w środowisku Lotus Designer. W celu zaimportowania klas, należy stworzyć bibliotekę Java (Java Library) w sekcji Script Libraries, będącej elementem podrzędnym w stosunku do elementu Shared Code: Rys. 37: Umiejscowienie sekcji Script Libraries w menu bazy danych test_ws w Lotus Domino Designer. Rys. 38: Przyciski tworzenia nowych bibliotek różnych typów w sekcji Script Libraries. Rys. 39: Przycisk Edit Project otwierający okno wyboru klas do zaimportowania. 29

30 Rys. 40: Okno importu klas (w ogólności: plików). Po udanym imporcie plików należy stworzyć nowego agenta. Nowotworzony agent powinien wykorzystywać klasy klienta Apache Axis, które wchodzą w skład Apache framework i stamtąd powinny być zaimportowane. Należy włączyć do projektu cały plik - archiwum JAR, znajdujący się w katalogu Axis. Należy ponadto skopiować pliki commons-discovery-0.2.jar, commons-logging jar z katalogu.\axis\lib do katalogu.\jvm\lib\ext w katalogu Lotus. Aby wprowadzone zmiany zaczęły obowiązywać, należy ponownie uruchomić klienta Lotus. Ostatnim krokiem jest oprogramowanie agenta, np. w następujący sposób: 30

31 Rys. 41: Przykładowy kod Java agenta Lotus. Zaprezentowane powyżej rozwiązanie dostępne jest dla środowiska Lotus od wersji 7. Użytkownik dysponujący wcześniejszymi wersjami powinien dokonać migracji do najnowszej wersji. Jeśli tego nie dokona, będzie musiał kodować komunikację protokołem SOAP manualnie Borland C++ Builder Środowisko C++ Builder firmy Borland dostarcza użytkownikowi program WSDL Importer, który wygląda i działa dokładnie tak samo jak jego odpowiednik wbudowany w środowisko Delphi tego samego producenta (patrz: punkt 2.3 Delphi). Program WSDL Importer dostępny jest od C++ Builder w wersji 6. 31

32 3.1.8 Php Php (Hypertext Preprocessor / Personal Home Page) nie dostarcza niestety wbudowanego mechanizmu obsługi protokołu SOAP, należy więc zainstalować moduł, który umożliwi aplikacji komunikację za pomocą SOAP. Programista ma do wyboru następujące moduły: - PEAR::SOAP, - NuSOAP, - PHP-SOAP. Pierwsze dwa udostępniają więcej możliwości, lecz są całkowicie napisane w php, a zatem są wolniejsze. PHP-SOAP jest w całości napisany w C, zatem jest najszybsze, lecz PEAR::SOAP jest najprostsze w instalacji i w zupełności wystarczające dla zdecydowanej większości zastosowań. Poniższy przykład prezentuje aplikację korzystającą z dokumentu WSDL udostępnionego przez internetowy sklep amazon.com i wyszukującą książki spełniające odpowiednie kryteria: 1. require_once 'SOAP/Client.php'; 2. $wsdl_url = ' 3. $WSDL = new SOAP_WSDL($wsdl_url); 4. $client = $WSDL->getProxy(); 5. $params = array( 6. 'PESEL' => " ", 7. 'IMIE1' => 'Edgar', ); 10. $result = $client->filling($params); Objaśnienia: - linia 1 - dołączenie klas z modułu PEAR::SOAP, - linia 2 wskazanie adresu dokumentu WSDL, - linia 3 inicjalizacja obiektu SOAP_WSDL poprzez przekazanie mu adresu dokumentu z linii 2, - linia 4 funkcja getproxy() zwracająca obiekt klienta, - linie 5-9 uzupełnienie parametrów, - linia 10 wywołanie funkcji Web Service. Po wywołaniu funkcji cała inicjatywa przekazywana jest do PEAR::SOAP, który konwertuje przekazywane atrybuty do komunikatu SOAP zapisanego w XML i wysyła żądanie do serwera. Zwracana przez komponent wartość konwertowana jest z SOAP do php i zapisywana w zmiennej $result. 32

33 3.1.9 C/C++ Pracę z usługami Web Service dla języków C/C++ umożliwia pakiet gsoap dostępny w ramach licencji Open Source. Po zainstalowaniu pakietu programista ma do dyspozycji dwa narzędzia: - wsdl2h parser WSDL - soapcpp2 kompilator pieńka i szkieletu aplikacji Parser wsdl2h konwertuje dokument WSDL do pliku nagłówkowego gsoap specyfikującego usługę sieciową. Specyfikacja ta daje zrozumiały dla C/C++ widok funkcjonalności serwera. Plik nagłówkowy jest następnie przetwarzany przez soapcpp2, który generuje kod pieńka i szkielet aplikacji odwołujących się do usługi Web Service. Schemat działania pakietu gsoap dla klienta usługi Web Service przedstawia poniższy rysunek: Rys. 42: Schemat działania pakietu gsoap dla klienta usługi Web Sercive. Aby uzyskać plik nagłówkowy z dokumentu WSDL, należy wpisać w linii poleceń poniższą komendę: wsdl2h -o outfile.h infile.wsdl gdzie infile.wsdl jest adresem dokumentu WSDL, a output.h to ścieżka do pliku wynikowego. Wygenerowanie pieńka i szkieletu aplikacji odbywa się poprzez wpisanie w linii poleceń poniższej komendy: 33

34 soapcpp2 -c outfile.h gdzie outfile.h jest plikiem powstałym w wyniku działania wsdl2h. Użycie przełącznika -c powoduje, że wygenerowany zostanie kod w czystym języku C. Dalszy rozwój aplikacji nie powinien już nastręczać programiście większych trudności chcąc wywołać funkcję zdalnego komponentu Web Service, wywołuje od odpowiednią metodę wygenerowanego wcześniej pieńka. Wszystkimi trudnościami związanymi z protokołem SOAP oraz komunikacją z usługą zajmuje się gsoap. Pakiet gsoap może być stosowany zarówno przez użytkowników systemów operacyjnych z rodziny Windows, jak i Linux Ada W celu implementacji klienta usług Web Service w języku Ada można skorzystać z biblioteki AWS (Ada Web Server), rozwijanej przez grupę GNAT i udostępnianej w ramach licencji GNU. Pierwszym krokiem do utworzenia klienta jest wygenerowanie pieńka zawierającego interfejs funkcji usługi sieciowej Web Service, za pomocą funkcji wsdl2aws, której składnia wywołania wygląda następująco: wsdl2aws [options] <file URL> na przykład: $ wsdl2aws -noskel Przełącznik noskel wskazuje, iż ma zostać wygenerowany tylko pieniek, bez szkieletu aplikacji. Pełna lista przełączników znajduje się w dokumentacji technicznej biblioteki AWS (patrz: 18 pozycja w rozdziale Literatura). Funkcja wsdl2aws generuje stosunkowo dużą liczbę plików, wśród których znajduje się, najbardziej programistę interesujący, plik pieńka usługi Web Service, a w nim: function filling (parametry) return zwracany_typ; -- Raises SOAP.SOAP_Error if the procedure fails 34

35 Chcąc wywołać metodę usługi sieciowej, programista wywołuje funkcję pieńka: with Ada.Text_IO; with WSPServicePortClient.Client; procedure filling is use Ada; package LFIO is new Text_IO.Float_IO (Long_Float); begin Text_IO.Put_Line ("Wynik dzialania funkcji filling: "); LFIO.Put (WSPServicePortClient.Client.filling (parametry), Aft => 2, Exp => 0); end filling; 3.2 Środowiska nie zapewniające wsparcia w procesie tworzenia aplikacji klienta usług sieciowych Rozwiązanie manualne Rys. 43: Kolejność postępowania w procesie tworzenia aplikacji klienta usługi Web Service w przypadku korzystania ze środowiska bez kreatora szkieletu aplikacji. 35

36 Manualna implementacja klienta usługi sieciowej, bez żadnego wsparcia ze strony środowiska programistycznego, jest procesem żmudnym, lecz jak najbardziej wykonalnym. Programista, korzysta ze zbioru definicji zawartych w dokumencie WSDL. Usługi zdefiniowane są z użyciem sześciu głównych elementów: - types definicja typów danych używanych do opisu wymienianych komunikatów, - message abstrakcyjna definicja wymienianych danych, - porttype zbiór abstrakcyjnych operacji, z których każda związana jest z komunikatem wchodzącym i komunikatem (komunikatami) wychodzącymi, - binding specyfikuje protokół i format danych dla operacji i komunikatów poszczególnych elementów porttype, - port specyfikuje adres wiązania (binding), przez co tworzy pojedynczy punkt docelowy (endpoint), - service scala zbiór odpowiadających portów. WSDL może opisywać cztery podstawowe możliwości transmisji, które są wspierane przez punkt docelowy (endpoint): - one-way punkt docelowy otrzymuje komunikat, - request-response punkt docelowy otrzymuje komunikat i wysyła związaną z nim odpowiedź, - solicit-response punkt docelowy wysyła komunikat i otrzymuje związaną z nim odpowiedź, - notification punkt docelowy wysyła komunikat. Zalecane jest korzystanie z pierwszych dwóch transmisji (zdefiniowane są dla nich wiązania) w dokumencie WSDL odwołanie do nich następuje za pomocą elementu operation. Fragment przykładowego dokumentu WSDL z opisem poszczególnych elementów: <complextype name="wsprequestvo"> <sequence> <element name="attributes" nillable="true" type="tns:attrvalarrayvo"/> <element name="n" type="int"/> </sequence> </complextype> <complextype name="attrvalarrayvo"> <sequence> <element maxoccurs="unbounded" minoccurs="0" name="attributes" nillable="true" type="tns:attrvalvo"/> </sequence> </complextype> <complextype name="attrvalvo"> <sequence> <element name="attrname" nillable="true" type="string"/> <element name="attrval" nillable="true" type="string"/> </sequence> </complextype> <complextype name="filling"> <sequence> 36

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie 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ółowo

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services Wykład 6 Wprowadzenie do Web Services wykład prowadzi: Maciej Zakrzewicz Web Services 1 Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język

Bardziej szczegółowo

Dostęp do komponentów EJB przez usługi Web Services

Dostę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ółowo

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

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

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie 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ółowo

1 Wprowadzenie do J2EE

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

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania Standardy w Rodzaje Przykłady Politechnika Wrocławska Wydział Informatyki i Zarządzania 17 marca 2009 Standardy w Rodzaje Przykłady Plan prezentacji 1 Wstęp 2 Standardy w 3 4 Rodzaje 5 Przykłady 6 Standardy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury 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ółowo

Programowanie współbieżne i rozproszone

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

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje 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ółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Wywoływanie metod zdalnych

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

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane 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

Programowanie Komponentowe WebAPI

Programowanie 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ółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Plan 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: 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ółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane 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ółowo

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Budowa 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ółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie 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ółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane 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ółowo

Wywoływanie metod zdalnych

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

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Remote Method Invocation 17 listopada 2010

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy 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ółowo

Web Services (SOAP) Ćwiczenie 1

Web Services (SOAP) Ćwiczenie 1 Web Services (SOAP) Ćwiczenia dotyczące platformy Java EE zostały przygotowane z myślą o środowisku NetBeans w wersji 8.x (do pobrania z http://www.netbeans.org/). Do wykonania ćwiczeń dotyczących platformy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

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

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

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

Bardziej szczegółowo

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

public 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ółowo

Podejście obiektowe do budowy systemów rozproszonych

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

Bardziej szczegółowo

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services Web Services Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 2 grudnia 2005 roku Wstęp Oprogramowanie napisane w różnych językach i uruchomione na różnych platformach może wykorzystać

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Katalog książek cz. 3: Web Service

Katalog 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ółowo

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

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

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Rozproszone 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ółowo

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

1. 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ółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie

Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie Tematy: Oprogramowanie Tworzymy usługę sieciową Tworzymy aplikację kliencką Podsumowanie Tematem tego rozdziału są usługi sieciowe XML, a dokładniej ich implementacja w PHP. Ponieważ PHP jest językiem

Bardziej szczegółowo

Integracja Obieg Dokumentów - GiS Spis treści

Integracja Obieg Dokumentów - GiS Spis treści Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1 1. Opis

Bardziej szczegółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

1. 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ółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami

Bardziej szczegółowo

Aplikacje RMI Lab4

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

Bardziej szczegółowo

Rozproszone systemy internetowe

Rozproszone systemy internetowe Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie

Bardziej szczegółowo

Załącznik 1 instrukcje instalacji

Załącznik 1 instrukcje instalacji Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych

Bardziej szczegółowo

Nexto.API. Przykładowy klient Java 1.6 do systemu zamówień NextoAPI. Przygotował Rafał Ozga 2004-2015 e-kiosk S.A. Maj 2015,

Nexto.API. Przykładowy klient Java 1.6 do systemu zamówień NextoAPI. Przygotował Rafał Ozga 2004-2015 e-kiosk S.A. Maj 2015, Nexto.API Przykładowy klient Java 1.6 do systemu zamówień NextoAPI Przygotował Rafał Ozga 2004-2015 e-kiosk S.A. Maj 2015, Maj 2015, Wersja: 1.5 strona 1 Historia zmian Lp. Data Zmiany 1 28/05/15 Zmiana

Bardziej szczegółowo

Java jako język programowania

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

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. SOAP i alternatywy 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. 1 WSDL WSDL (Web Services Description Language) jest standardem

Bardziej szczegółowo

ZAPOZNANIE SIĘ Z TWORZENIEM

ZAPOZNANIE SIĘ Z TWORZENIEM LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4 Instrukcja pobrania i instalacji certyfikatu Microsoft Code Signing wersja 1.4 Spis treści 1. WSTĘP... 4 2. TWORZENIE CERTYFIKATU... 4 3. WERYFIKACJA... 9 3.1. WERYFIKACJA DOKUMENTÓW... 9 3.1.1. W przypadku

Bardziej szczegółowo

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services Web Services Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski Web Services Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język opisu

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie

Bardziej szczegółowo

Programowanie komponentowe

Programowanie komponentowe Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 25 października 2014 WebService, (usługi sieciowe) - komponenty aplikacji webowych, zawierające logike biznesową.

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Simple Object Access Protocol

Simple Object Access Protocol Simple Object Access Protocol Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 grudnia 2005 roku Czym jest SOAP? Akronim SOAP oznacza Simple Object Access Protocol. SOAP jest

Bardziej szczegółowo

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,

Bardziej szczegółowo

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe laboratorium Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana

Bardziej szczegółowo

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

Bardziej szczegółowo

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Remote 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ółowo

Analiza i projektowanie aplikacji Java

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

Bardziej szczegółowo

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Wstęp. Opisane poniżej zmiany wprowadzają modyfikacje platformy e-giodo w zakresie

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse Laboratorium 11 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 podanych

Bardziej szczegółowo

Konspekt pracy inżynierskiej

Konspekt pracy inżynierskiej Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

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

Bardziej szczegółowo

Usługi sieciowe (Web Services)

Usługi sieciowe (Web Services) Usługi sieciowe (Web Services) Karol Kański Seminarium Systemy Rozproszone 14 października 2010 Agenda 1. Idea i historia usług sieciowych 2. Różne podejścia do tworzenia usług sieciowych 3. Języki opisu

Bardziej szczegółowo

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo