Budowa aplikacji sieciowych. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole

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

Download "Budowa aplikacji sieciowych. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole."

Transkrypt

1 Sieci Komputerowe Budowa aplikacji sieciowych. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole

2 Zagadnienia Obiektowe technologie programowania rozproszonego: DCOM, Java RMI, Corba. Interfejs programowy Winsock. Przykład programu klient-serwer UDP Echo (język C,C++). Środowisko.Net, interfejs programowy Winsock. Przykład programu klient-serwer UDP Echo (język C#). Komunikacja z bazami danych, obiekty ADO. Przykład programu: SqlQuerry (język ASP). Usługi WWW (web servcies). Standard Corba.

3 Co to jest COM+? COM+ jest rozszerzeniem technologii komponentowej COM, umoŝliwiającą budowę usług z wykorzystaniem Microsoft Transaction Server (MTS). Obiekty COM+ słuŝą do: - buforowania danych (resource pooling), - rozłączania aplikacji, - publikowania zdarzeń (event publication), - obsługa transakcji rozproszonych. Typy aplikacji COM+: serwer. proxy (klient). biblioteka. W środowisku.net obiekty COM+ są zdefiniowane w obszarze nazw System.EnterpriseServices. 3

4 Co to jest COM+? MTS słuŝy od kolejkowania wiadomości, zarządzania pamięcią, zarządzania wątkami, zarządzania zdarzeniami. Usługi COM+: Automatic Transaction Processing BYOT (Bring Your Own Transaction), usługa pozwala na definiowanie dziedziczenia między transakcjami. Just-in-Time Activation, usługa aktywuje obiekt, gdy ten wywołuje metodę, deaktywuje go gdy metoda zwróci wartość. Loosely Coupled Events, usługa słuŝy do zarządzania zdarzeniami (manages object-based events). Object Construction, usługa przekazuje wartość typu string do tworzonego obiektu. Object Pooling, usługa kolejkuje obiekty (provides a pool of ready-made objects). Private Components, chroni komponenty przed wywołaniem przez zewnętrzne procesy (protects components from out-of-process calls). Queued Components, odpowiada za asynchroniczne kolejkowanie wiadomości (provides asynchronous message queuing). Role-Based Security. SOAP Service. Synchronization, zarządza procesami współbieŝnymi. Services without Components, pozwala aplikacjom korzystać z usług COM+ które nie mają zaimplementowanych ServicedComponent object lub nie mają skonfigurowanego katalogu COM+.

5 Co to jest Distributed Component Object Model (DCOM)? DCOM model, technologia firmy Microsoft słuŝąca do budowy systemów rozproszonych (distributed systems). Obiekty DCOM mogą komunikować się między sobą poprzez sieci internetowe. DCOM jest rozszerzeniem modelu COM. Technologia COM/DCOM jest niezaleŝna od języka implementacji. Język i kompilator MIDL (Microsoft Interface Definition Language) słuŝy do specyfikowania interfejsów między serwerem a klientem, definiowania metod i obiektów COM/DCOM. Podstawowe pojęcia technologii COM/DCOM: klient serwer - program który wywołuje metody na serwerze COM/DCOM. program który udostępnia obiekty COM/DCOM klientowi. interfejs wskazuje na grupę funkcji które są wywoływane za pomocą obiektów COM/DCOM. klasa COM/DCOM (zwana ko-klasą) definiuje obiekt który implementuje interfejsy COM/DCOM. obiekt COM/DCOM instancja ko-klasy (klasa COM/DCOM). marshaling przekazywanie danych (parametrów) między klientem a serwerem COM/DCOM. Marshaling mechanizm zbierania i formatowania danych w celu przesłania ich do innego procesu.

6 Co to jest Distributed Component Object Model? Klient przekazuje (marshals) i odbiera (un-marshals) dane za pomocą obiektu proxy. Obiekt proxy dostarcza te same interfejsy co COM/DCOM serwer ale ich nie implementuje (implementacja jest na serwerze). Serwery są komponentami pasywnymi, tzn. odpowiadają tylko na Ŝądania klienta. Klient: uruchamia, aktywuje serwer, Ŝąda obiektu DCOM i interfejsu (podaje CLSID, IID). wywołuje metody na serwerze. zwalnia interfejsy, moŝe zamknąć lub zdeaktywować serwer.

7 Co to jest Distributed Component Object Model? Obiekty COM/DCOM muszą być unikalne w skali świata. Liczby słuŝące do numerowania obiektów COM/DCOM nazywają się UUID, Universally Unique Identifier (Open Software Foundation). GUID, Globally Unique Identifier (Microsoft). GUID jest liczbą z zakresu 0-2^128. Przykład GUID'a zapisanego w układzie szesnastkowym " F93A-11D0-BCE4-204C4F4F5020". PoniewaŜ, GUID jest 128 bitowym typem danych, w języku C++ do zapisu GUID ów stosuje się strukturę typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8]; } GUID;

8 Co to jest Distributed Component Object Model? Do identyfikacji klas i interfejsów stosuje się róŝne typu GUID ów: CLSID, Class ID, GUID jednoznacznie identyfikujący klasę DCOM którą klient chce uŝyć. IID, Interface ID, GUID identyfikujący interfejs. Program słuŝący do generowania GUID ów nazywa się guidgen.exe. Program słuŝący do rejestrowania obiektów COM/DCOM w rejestrach nazywa się regsvr32. Przykład: rejestracja komponentu proxy stub marshalserverps.dll \> regsvr32 marshalserverps.dll

9 Co to jest Distributed Component Object Model? Komponenty biorące udział w komunikacji między klientem a serwerem DCOM. Komponenty DCOM do komunikacji wykorzystują protokół RPC (Remote Procedure Calls). Komponenty COM do komunikacji wykorzystują protokół LPC (Local Procedure Calls). Service Control Manager (SCM) - słuŝy do odnajdywania komponentów DCOM, uruchamia i zatrzymuje serwer COM/DCOM, wywołuje Interfejsy COM/DCOM, zarządza komunikacją między procesami. Np. SCM wykorzystuje do uruchomienia serwera interfejs IremoteActivation, wywołując na serwerze funkcje RPC RemoteActivate().

10 Co to jest Java RMI? Java RMI jest technologią pozwalającą na budowę aplikacji rozproszonych. Technologia Java RMI została opracowana tak, aby budowa aplikacji była podobna do budowy aplikacji niesieciowych, posługiwania się lokalnymi obiektami Javy, obowiązywała ta sama składnia i semantyka. Istotą technologii RMI jest to, Ŝe interfejsy określają zachowanie obiektów a klasy definiują implementację. W Java RMI definicja zachowania systemu w procesie generowania usługi sieciowej (remote service) jest określona za pomocą interfejsów Javy (Java interface). Implementacja zachowania systemu i usługi jest zapisana w klasie i wykonywana na serwerze.

11 Co to jest Java RMI? W Java RMI istnieją dwa typy klas które mogą implementować interfejs. Pierwszy typ implementuje zachowanie interfejsu, wówczas program wykonywalny jest uruchamiany na serwerze. Drugi typ klasy implementuje interfejs jako klasa proxy, klasa uruchamiana jest na hoście klienta.

12 Co to jest Java RMI? Implementacja Java RMI zbudowana jest na trzech warstwach (abstraction layers): - warstwa Stub and Skeleton. W tej warstwie przechwytywane są metody wywołane przez klienta i przekierowywane do serwera (remote RMI service). - warstwa zdalnej referencji (Remote Reference Layer). W tej warstwie odbywa się interpretacja i zarządzanie referencjami do obiektów serwera utworzonymi przez klineta, budowane jest połączenie unicastowe (1-1). Aktywowanie nieaktywnych (uśpionych/) obiektów serwera następuje za pomocą ROA (Remote Object Activation). - warstwa transportowa, obsługa połączenia TCP między wirtualnymi maszynami Javy. Ponad protokołem TCP RMI stosuje protokół JRMP (Java Remote Method Protocol). Opracowywana wersja RMI-IIOP implementuje protokoły OMG stosowane w Corbie Internet Inter-ORB Protocol i IIOP. W tej warstwie moŝe teŝ być zaimplementowana transmisja bezpołączeniowa w protokole UDP.

13 Co to jest Java RMI? Szablon proxy. Interfejs jest implementowany jako stub (klasa typu proxy) uruchamiany na hoście klienta, RealSubject jest klasą implementującą usługę na serwerze. Skeleton jest klasą pomocniczą, słuŝy obsługi komunikacji między stubem a obiektami serwera. Klient odnajduje uslugi (serwer) za pomocą standardowych usług katalogowych lub usług - Java Naming and Directory Interface. - RMI Registry, port 1099.

14 Co to jest WinSock? Windows Sockets jest implementacja gniazd BSD (University of California-Berkeley Sockets API) edycja WinSock wersja WinSock wersja 2.0. Windows Sockets jest interfejsem programowym warstwy transportowej modelu OSI pozwalającym budować aplikacje sieciowe oparte o protokoły rodziny TCP/IP. Windows Sockets 2 definiuje interfejsy komunikacyjne do obsługi wielu standardów i usług: DNS, NetWare Service Advertising Protocol (SAP) name provider, standard X.509 (PKI) Quality of service transmisji w trybie multicast, multipoint.

15 Co to jest WinSock? W skład specyfikacji WinSock2 wchodzą: - WinSock 2 API (budowa aplikacji) - WinSock 2 Service Provider Interface (udostępnianie interfejsów WinSock 2 róŝnym protokołom transportowym). Komponenty Windows Open System Architecture (WOSA): - WinSock Service Provider Interface (SPI), nazwy funkcji zaczynają się od WSP - WinSock Provider Upcall, nazwy funkcji zaczynają się od WPU. Nazwy funkcji Windows Sockets 2 zaczynają się do WSA. Przykład: WinSock 1.1: connect() WinSock 2.0: WSAConnect().

16 Co to jest WinSock? Przykładowe funkcje WinSock API: WSAStartup() - funkcja inicjuje uŝycie przez proces biblioteki WS2_32.DLL. socket() - funkcja tworzy gniazdo o określonym typie. gethostbyname() - funkcja pobiera nazwę hosta z bazy hosta. connect() - funkcja buduje połączenie do określonego gniazda. send() funkcja wysyła dane do połączonego gniazda. sendto()- funkcja wysyła dane do konkretnego odbiorcy. closesocket() funkcja zamyka gniazdo. WSACleanup() funkcja kończy uŝycie biblioteki WS2_32.DLL. bind() - funkcja kojarzy adres lokalny hosta z gniazdem. recvfrom() - funkcja odbiera datagramy i przechowuje adres nadawcy WSAGetLastError()- funkcja zwraca status błędu ostatniej nieudanej operacji. Struktury WinSock API: WSADATA - struktura zawiera informacje o implementacji gniazd (Windows Sockets). sockaddr_in - struktura zawiera adres IP i numer portu odbiorcy danych. hostent - struktura jest uŝywana przez funkcje do przechowywania informacji o hoście.

17 1. Instrukcje preprocesorowe: Co to jest WinSock? Aplikacja UdpEchoClient. Język C, C++. #include <winsock2.h> #include <iostream> using namespace std; #define DEFAULT_PORT 5150 #define DEFAULT_COUNT 1 #define DEFAULT_BUFFER_LENGTH 1 #define DEFAULT_RECIPIENT " " 2. Funkcja main(). Definiowanie i inicjowanie zmiennych i obiektów. WSADATA wsd; SOCKET s; char *sendbuf = NULL; int iret, dwrecipientsize; SOCKADDR_IN recipient; int iport = DEFAULT_PORT; // Numer portu odbiorcy DWORD dwcount = DEFAULT_COUNT, // Liczba wiadomosci do wyslania dwlength = DEFAULT_BUFFER_LENGTH; // Dlugosc bufora do wysylania char chrecipient[128]= DEFAULT_RECIPIENT; // Adres IP lub nazwa hosta odbiorcy

18 Co to jest WinSock? Aplikacja UdpEchoClient. Język C, C++. WSAStartup(MAKEWORD(2, 2), &wsd); s = socket(af_inet, SOCK_DGRAM, 0); recipient.sin_family = AF_INET; recipient.sin_port = htons((short)iport); recipient.sin_addr.s_addr = inet_addr(chrecipient); sendbuf = new char; memset(sendbuf, 'Q', dwlength); connect(s, (SOCKADDR *)&recipient, sizeof(recipient)); iret = send(s, sendbuf, dwlength, 0); cout << "Do " << inet_ntoa(recipient.sin_addr) << " wyslano wiadomosc: " << *sendbuf << endl; dwrecipientsize = sizeof(recipient); iret = recvfrom(s, sendbuf, dwlength, 0, (SOCKADDR *)&recipient, (int*) &dwrecipientsize); cout << "Od " << inet_ntoa(recipient.sin_addr) << " odebrano wiadomosc: " << *sendbuf << endl; closesocket(s); delete sendbuf; WSACleanup();

19 1. Instrukcje preprocesorowe. Co to jest WinSock? Aplikacja UdpEchoServer. Język C, C++. #include <winsock2.h> #include <iostream> using namespace std; #define DEFAULT_PORT 5150 #define DEFAULT_COUNT 1 #define DEFAULT_BUFFER_LENGTH 1 // Funkcja main(). Definiowanie i inicjowanie zmiennych i obiektów. WSADATA wsd; SOCKET s; char *recvbuf = NULL; int iret; DWORD dwsendersize; SOCKADDR_IN sender, local; int iport = DEFAULT_PORT; // Numer portu odbiorcy DWORD dwcount = DEFAULT_COUNT, // Liczba wiadomości do odebrania dwlength = DEFAULT_BUFFER_LENGTH; // Długość bufora do obioru char chinterface[32]; // IP hosta do obioru datagramów

20 Co to jest WinSock? Aplikacja UdpEchoServer. Język C, C++. WSAStartup(MAKEWORD(2,2), &wsd); s = socket(af_inet, SOCK_DGRAM, 0); local.sin_family = AF_INET; local.sin_port = htons((short)iport); local.sin_addr.s_addr = htonl(inaddr_any); bind(s, (SOCKADDR *)&local, sizeof(local)); recvbuf = new char; dwsendersize = sizeof(sender); iret = recvfrom(s, recvbuf, dwlength, 0, (SOCKADDR *)&sender, (int*) &dwsendersize); cout << "Od " << inet_ntoa(sender.sin_addr) << " odebrano wiadomosc: " << *recvbuf << endl; memset(recvbuf, 'Z', dwlength); connect(s, (SOCKADDR *)&sender, sizeof(sender)); iret = send(s, recvbuf, dwlength, 0); cout << " Do " << inet_ntoa(sender.sin_addr) << " wyslano wiadomosc: " << *recvbuf << endl; closesocket(s); delete recvbuf; WSACleanup();

21 Programowanie aplikacji sieciowych w.net. WinSock Obszar nazw System.Net.Sockets Klasa UdpClient, IPEndPoint Obiekt klasy UdpClient dostraczają usług w protokole User Datagram Protocol. Obiekt klasy IPEndPoint reperezentuje odbiorcę danych poprzez jego adres IP i numer portu.

22 .Net. WinSock. Aplikacja UdpEchoClient. 1. Przypisanie wartości parametrom początkowym. Parametry: ServerName, ServerPort, SendMessage. String server = m40.math.uni.opole.pl ; // nazwa lub adres IP serwera int servport = 7; // port serwera byte[] SendMessage = Encoding.ASCII.GetBytes( Hello );//konwersja stringu Hello na tab. obiektów 2. Utworzenie obiektu Client. UdpClient client = new UdpClient(); 3. Wysłanie wiadomosci Ŝądanie Echa. client.send(sendpacket, sendpacket.length, server, servport); 4. Utworzenie obiektu IPEndPoint. IPEndPoint remoteipendpoint = new IPEndPoint(IPAddress.Any, 0);

23 5. Odebranie odpowiedzi Echa..Net. WinSock. Aplikacja UdpEchoClient. byte[] rcvpacket = client.receive(ref remoteipendpoint); 6. Zamknięcie obiektu Client. client.close();

24 1. Przypisanie wartości parametrom początkowym..net. WinSock. Aplikacja UdpEchoServer. int servport = 7; UdpClient client = null; 2. Utworzenie obiektu client. client = new UdpClient(servPort); 3. Utworzenie obiektu IPEndPoint. IPEndPoint remoteipendpoint = new IPEndPoint(IPAddress.Any, 0); for (;;) // serwer odbiera datagramy w nieskończonej pętli. 4. Odebranie wiadomości Ŝądanie Echa. byte[] bytebuffer = client.receive(ref remoteipendpoint); 5. Wysłanie odpowiedzi Echa (wysłanie wiadomości Echo replay). client.send(bytebuffer, bytebuffer.length, remoteipendpoint); Console.WriteLine("echoed {0} bytes.", bytebuffer.length);

25 Co to jest ADO, ActiveX Data Objects? ADO jest technologią firmy Microsoft. komponentem Active-X (ACTIVE exchange). automatycznie instalowany z serwerem www Microsoft IIS. interfejsem programowym dostępu do baz danych. Kontrolka Active-X - wcześniejsza nazwa kontrolka OLE, jest przykładem obiektu typu COM, komponent realizujący określoną funkcjonalność, który moŝe być zagnieŝdŝany w aplikacje, okna dialogowe, strony HTML. Plik z rozszerzeniem *.ocx Obiekty ADO: ADO Command ADO Connection ADO Error ADO Field ADO Parameter ADO Property ADO Record ADO Recordset ADO Stream ADO DataTypes

26 Co to jest ActiveX Data Objects? Obiekt Command stosowany do wykonania kwerend do bazy danych w celu utworzenia, uaktualnienia, dodania, pobrania, usunięcia (create, add, retrieve, delete, update) rekordu. JeŜeli kwerenda słuŝyła do pobrania danych, to dane są zwracane jako obiekt RecordSet (zbiór rekordów). Oznacza to, Ŝe aby odzyskać dane z obiektu (RecordSet) naleŝy posłuŝyć się metodami, zdarzeniami, properties, collections, obiektu Recordset. Przykład uŝycia: ProgID set objcommand=server.createobject("adodb.command") Obiekt Connection obiekt słuŝy do budowy i otwarcia połączenia z baza danych. Przykład uŝycia: ProgID set objconnection=server.createobject("adodb.connection")

27 Co to jest ActiveX Data Objects? Obiekt Error - obiekt zawiera dane o błędach powstałych przy wykonaniu pojedynczych operacji na bazie danych. Przykład uŝycia: for each objerr in objconn.errors response.write(objerr.description ) response.write(objerr.helpcontext) response.write(objerr.helpfile) response.write(objerr.nativeerror) response.write(objerr.number) response.write(objerr.source) response.write(objerr.sqlstate) next Obiekt Field obiekt przechowuje informacje o kolumnie danych w obiekcie Recordset. Przykład uŝycia: set objfield=server.createobject("adodb.field")

28 Co to jest ActiveX Data Objects? Obiekt Parameter obiekt słuŝy do uzyskania informacji o parametrach uŝytych w procedurach składowanych (stored procedures) lub kwerendach. Cztery typy parametrów: input, output, input/output, return. Przykład składni: objectname.property objectname.method Obiekt Property - obiekt reprezentuje dynamiczne charakterystyki obiektów ADO zdefiniowanych dla róŝnych typów baz danych (db providers). Przykład uŝycia: set objproperty=server.createobject("adodb.property")

29 Co to jest ActiveX Data Objects? Obiekt Record (ADO ver. 2.5) obiekt słuŝy do przechowania wiersza danych z Recordsetu, katalogu lub pliku. Przykład uŝycia: objectname.property objectname.method Obiekt Recordset - obiekt słuŝy do przechowywania danych (zbioru rekordów) z tabeli. Obiekt Recordset składa się z rekordów i kolumn (pól, ang. Fields). Recordset moŝe uaktualnić dane na dwa sposoby: immediate updating, batch updating. Przykład uŝycia: set objrecordset=server.createobject("adodb.recordset") Obiekt Stream (ADO version 2.5) obiekt stosowany do czytania, zapisywania, zarządzania strumieniem danych.

30 Co to jest ActiveX Data Objects? Kursory ADO są parametrami metod obiektów ADO. Kursory definiują usługi kursora (cursor service). Typy kursorów ADO: Dynamic cursor pozwala na przegląd operacji dodania, zmiany, usunięcia wykonane przez innego uŝytkownika. Keyset cursor usługa podobna do usługi kursora dynamic, za wyjątkiem: braku moŝliwości przeglądania operacji dodania przez innego uŝytkownika, braku dostępu do rekordów które inny uŝyytkownik usunął. Dane zmienione przez innego uŝytkownika są widoczne. Static cursor pozwala dokonać statycznego kopiowania rekordsetów w celu znalezienia danych lub wygenerowania raportów. Operacje dodania, zmiany, usunięcia wykonane przez innego uŝytkownika są niewidoczne. Typ kurosora dostępny tylko dla obiektów typu klient rekordset. Forward-only cursor pozwala przejrzeć rekordset. Operacje dodania, zmiany, usunięcia wykonane przez innego uŝytkownika są niewidoczne. Kursor Forward-only moŝe być ustawiony poprzez property CursorType lub poprzez parametr CursorType w metodzie Open().

31 Co to jest ActiveX Data Objects? Proces budowy połączenia z bazą danych za pomocą obiektów ADO: 1. Utworzenie połączenia ADO z bazą danych. 2. Otwarcie połączenia. 3. Utworzenie recordseta. 4. Otwarcie recordseta. 5. Pobranie danych do recordseta. 6. Zamknięcie recordseta. 7. Zamknięcie połączenia.

32 Co to jest ActiveX Data Objects? 1-2. Utworzenie i otwarcie połączenia z bazą danych. Baza northwind.mdb. set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb Utworzenie i otwarcie połączenia z bazą danych za pomocą komponentu ODBC. set conn=server.createobject("adodb.connection") conn.open "northwind" 3. Utworzenie recordseta. set rs=server.createobject("adodb.recordset")

33 Co to jest ActiveX Data Objects? 4-5. Otwarcie i pobranie danych do recordseta. Czytanie dnych z rekordseta. rs.open "Select * from Customers", conn for each x in rs.fields response.write(x.name) response.write(" = ") response.write(x.value) next 6. Zamknięcie recordseta. rs.close 7. Zamknięcie połączenia. conn.close

34 Co to jest ASP? ASP oznacza skrót Active Server Pages ASP jest programem wykonywanym przez komponent IIS (Internet Information Services). Plik *.asp moŝe zawierać: tagi języka HTML, XML, skrytpy (VB scirpt, Java script,.). Skrypty w plikach *.asp są wykonywane na serwerze. śądane strony *.asp przez przegladarkę internetową są przekazywane przez serwer WWW do silnika ASP, skrypty są wykonywane i do klienta (przegladarki internetowej) zwracane są dane w formie HTML bez skryptów. Zaletą takiego rozwiązania jest, Ŝe przeglądarki internetowe nie muszą obsługiwać Ŝadnych języków skryptowych.

35 Co to jest ASP? Skrypty w plikach ASP zawarte są między znakami <% a %>. Przykład pliku *.asp. <html> <body> <% response.write("hello World!") %> </body> </html>

36 Co to jest ASP? Domyślnym językiem skryptowym dla stron ASP jest VBScript. Aby zagnieździć skrypty pisane w innych językach naleŝy uŝyć atrybutu language. language="javascript"%> <html> <body> <% Response.Write("Hello World!") %> </body> </html>

37 Co to jest ASP? Przykład: strona www wykonana w ASP. <html> <body> <% dim h h=hour(now()) response.write("<p>" & now()) response.write("</p>") </body> </html> If h<12 then response.write("jest przed południem") else response.write("jest po południu!") end if %>

38 Usługi WWW Web Services Architecture, W3C Working Group Note 11 February 2004 Usługa WWW (ang. web service) jest systemem aplikacyjnym zaprojektowanym w celu wspamogania wymiany danych między węzłami w sieciach komputerowych. System aplikacyjny usługi WWW posiada interfejs zaprojekowany w języku WSDL. Inne systemy aplikacyjne wymieniają wiadomości z systemem usługi WWW za pomocą protokołu SOAP (tzn. wiadomości przesyłane są za pomocą protokołu HTTP, dane są w formacie XML). Formalną definicję usługi WWW moŝna znaleźć w specyfikacji języka WSDL Usługa WWW korzysta z następujących protokołów i standardów: HTTP (ang. HyperText Transfer Protocol) SOAP (ang. Simple Object Access Protocol) UDDI (ang. Universal Description, Discovery and Integration) HTML (ang. HyperText Markup Language) XML (ang. extensible Markup Language) (xml, xml dtd, xml schema) WSDL (ang. Web Services Description Language)

39 Simple Object Access Protocol (SOAP) SOAP jest protokolem słuŝącym aplikacjom sieciowym na wymianę danych w protokole HTTP w których struktura danych określona jest w formacie XML. SOAP jest elementem architektury projektu Microsoft.NET. Większość aplikacji sieciowych komunikuje się w Internecie wykorzystując standardowe komponenty takie, jak obiekty DCOM, obiekty CORBA. Obiekty te korzystają z protokolu RPC (ang. Remote Procedure Calls). Wadą tego sposobu komunikacji jest to, Ŝe firewalle i serwery proxy blokują tego typu komunikację. Firewalle i serwery proxy zazwyczaj nie blokują komunikacji w protokole HTTP, tzn. port nasłuchiwania serwera www jest zazwyczaj otwarty. Protokół SOAP zostal stworzony przez firmę Microsoft w celu wymiany danych w protokole HTTP i foramcie XML.

40 Simple Object Access Protocol (SOAP) Cechy protokołu SOAP jest protokołem warstwy aplikacji w modelu OSI, jest protokołem zaprojektowanym do komunikacji w Internecie, definiuje format przesyłanych wiadomości, jest protokołem niezaleŝnym od platformy systemowej, jest niezaleŝny od języka implementacji usługi WWW, jest oparty o język XML, nie jest blokowany przez firewall e. Wiadomość SOAP ma strukturę dokumentu XML i zawiera następujące elementy (tagi): envelope, zawiera treść wiadomości, header, element opcjonaly, zawiera informacje nagłówkowe, body, zawiera zapytanie i odpowiedź.

41 Simple Object Access Protocol (SOAP) Podstawowe zasady skladni protokolu SOAP: wiadomość SOAP musi być w formacie XML, wiadomość SOAP musi zawierac tag SOAP Envelope, wiadomość SOAP moŝe zawierać tag SOAP Header, wiadomość SOAP musi zawierać tag SOAP Body, wiadomość SOAP musi korzystać z obszaru nazw SOAP Envelope, wiadomość SOAP musi korzystać z obszaru nazw SOAP encoding, wiadomość SOAP nie musi zawierać odnośnikow do dokumentow DTD, wiadomość SOAP nie musi zawierać instrukcji xml (ang. XML Processing Instructions). Przykład: struktura widomości SOAP. Pełna struktura widomości SOAP opisana jest w specyfikacji SOAP <soap:envelope> <soap:body> <NazwaTagu1> <Element1> </Element1> </NazwaTagu1> </soap:body> </soap:envelope>

42 Web Services Description Language Dokument WSDL słuŝy do opisu usługi WWW. Dokument WSDL umoŝliwia odnalezienie usługi WWW w Internecie. Dokument WSDL jest dokumentem XML. Specyfikacja języka WSDL znajduje się pod adresem Struktura dokumentu WSDL: <porttype> operacje wykonywane przez usługę WWW <message> wiadomosci wykorzystywane przez usługę WWW <types> typy danych wykorzystywane przez usługę WWW <binding> protokoly komunikacyjne wykorzystywane przez usługę WWW. Przyklad: prosty dokument wsdl. <definitions> <types> definition of types...</types> <message> definition of a message...</message> <porttype> definition of a port...</porttype> <binding> definition of a binding...</binding> </definitions>

43 Usługa WWW: Silnia 1. Uruchomić serwer WWW (Microsoft IIS). 2. Umieścić w katalogu \wwwroot\ plik silnia.asmx (C:\Inetpub\wwwroot\silnia.asmx ) 3. Utworzyć Web Service Proxy. \>wsdl wynik: silnia.cs 4. Utworzyć dynamicznie dołączaną biblitekę silnia.dll, tzn. skompilować plik silnia.cs. C:\Inetpub\wwwroot >csc /t:library silnia.cs wynik: silnia.dll 5. Skompilować program SilniaTest.cs z linkiem do biblioteki silnia.dll C:\Inetpub\wwwroot> csc /r:silnia.dll SilniaTest.cs Rezultat: SilniaTest.exe 6. Test usługi WWW. Uruchomić program SilniaTest.exe (plik silnia.dll umieścić w tym samym katalogu co SilniaTest.exe ). C:\> SilniaTest.exe 8 Rezultat: C:\> Usluga silnia. 8! = 40320

44 Usługa silnia Plik silnia.asmx WebService Language="c#" Class="Silnia"%> using System; using System.Web.Services; [WebService(Namespace="http://localhost/")] public class Silnia : WebService { [WebMethod] public int silnia(int n) { if (n == 0) return 1; else return (n * silnia(n - 1)); } }

45 Plik silnia.cs // // <auto-generated> // This code was generated by a tool. // Runtime Version: // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // </auto-generated> // using System; using System.ComponentModel; using System.Diagnostics; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Serialization; // // This source code was auto-generated by wsdl, Version= // /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", " ")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="SilniaSoap", Namespace="http://localhost/")] public partial class Silnia : System.Web.Services.Protocols.SoapHttpClientProtocol { private System.Threading.SendOrPostCallback silniaoperationcompleted; /// <remarks/> public Silnia() { this.url = "http://localhost/silnia.asmx"; }

46 Plik silnia.cs /// <remarks/> public event silniacompletedeventhandler silniacompleted; /// <remarks/> [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://localhost/silnia", RequestNamespace="http://localhost/", ResponseNamespace="http://localhost/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public int silnia(int n) { object[] results = this.invoke("silnia", new object[] { n}); return ((int)(results[0])); } /// <remarks/> public System.IAsyncResult Beginsilnia(int n, System.AsyncCallback callback, object asyncstate) { return this.begininvoke("silnia", new object[] { n}, callback, asyncstate); } /// <remarks/> public int Endsilnia(System.IAsyncResult asyncresult) { object[] results = this.endinvoke(asyncresult); return ((int)(results[0])); } /// <remarks/> public void silniaasync(int n) { this.silniaasync(n, null); }

47 Plik silnia.cs /// <remarks/> public void silniaasync(int n, object userstate) { if ((this.silniaoperationcompleted == null)) { this.silniaoperationcompleted = new System.Threading.SendOrPostCallback(this.OnsilniaOperationCompleted); } this.invokeasync("silnia", new object[] { n}, this.silniaoperationcompleted, userstate); } private void OnsilniaOperationCompleted(object arg) { if ((this.silniacompleted!= null)) { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeargs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.silniacompleted(this, new silniacompletedeventargs(invokeargs.results, invokeargs.error, invokeargs.cancelled, invokeargs.userstate)); } } } /// <remarks/> public new void CancelAsync(object userstate) { base.cancelasync(userstate); }

48 Plik silnia.cs /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", " ")] public delegate void silniacompletedeventhandler(object sender, silniacompletedeventargs e); /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", " ")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class silniacompletedeventargs : System.ComponentModel.AsyncCompletedEventArgs { private object[] results; internal silniacompletedeventargs(object[] results, System.Exception exception, bool cancelled, object userstate) : base(exception, cancelled, userstate) { this.results = results; } } /// <remarks/> public int Result { get { this.raiseexceptionifnecessary(); return ((int)(this.results[0])); } }

49 Usługa silnia Plik SilniaTest.cs using System; class SilniaTest { public static void Main(string[] argv) { Silnia ms = new Silnia(); } } int n = Convert.ToInt16(argv[0]); int wynik = ms.silnia(n); Console.WriteLine("Usługa silnia. {0}! = {1}",n, wynik );

50 Usługa silnia

51 Usługa silnia

52 Plik silnia.asmx Usługa silnia

53 Standard Corba CORBA jest komercyjnym standardem Object Management Group (OMG). Głównym celem grupy OMG jest upowszechnianie technologii zorientowanych obiektowo słuŝących budowie duŝych, rozproszonych systemów informatycznych. Aby zrealizować swoją misję OMG stworzyła Model Referencyjny OMA (Object Management Architecture Reference Model) definiujący standard architektury rozproszonych systemów Informatycznych, podstawy dla innych standardów i specyfikacji: Meta Object Facility (MOF) specification, Unified Modeling Language (UML) specification, XML Metadata Interchange (XMI) specification, Common Warehouse Metamodel (CWM) specification, Common Object Request Broker Architecture (CORBA) specification, ułatwiających tworzenia aplikacji w środowisku rozproszonym.

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

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

dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa obiektowych aplikacji sieciowych dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Obiektowe technologie programowania rozproszonego

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

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

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP Paweł Kozioł p.koziol@students.mimuw.edu.pl Na początek - moja praca magisterska Narzędzie dla środowiska Eclipse wspierające

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

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

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

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

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

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

Bardziej szczegółowo

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

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

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

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

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

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

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

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

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

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911) I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Rodzina protokołów TCP/IP. Aplikacja: ipconfig.

Rodzina protokołów TCP/IP. Aplikacja: ipconfig. Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:

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

Programowanie rozproszone w języku Java

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

Bardziej szczegółowo

Monitorowanie Sieci nonblocking content packet filtering

Monitorowanie Sieci nonblocking content packet filtering Monitorowanie Sieci nonblocking content packet filtering praca inŝynierska prowadzący: prof. dr hab. inŝ. Zbigniew Kotulski Michał Zarychta 1 Plan prezentacji ZałoŜenia projektu Sniffer Technologie WinPcap

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python 13 grudnia 2013 Plan wykładu 1 2 Wersje Cechy Plan wykładu 1 2 Wersje Cechy Schemat sieci HTTP, POP3, SMTP, FTP Application layer Transport layer TCP, UDP Internet Protokół UDP Cechy protokołu Protokół

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

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

Tworzenie aplikacji rozproszonej w Sun RPC

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

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

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

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

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

Bardziej szczegółowo

ActiveX Data Objects (ADO) dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.

ActiveX Data Objects (ADO) dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole. Komunikacja z bazami danych ActiveX Data Objects (ADO) dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Co to jest ActiveX Data Objects? ADO

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

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 sieciowe

Programowanie sieciowe Programowanie sieciowe dr Tomasz Tyrakowski Dyż ury: wtorki 12:00 13:00 czwartki 14:00 15:00 pokój B4-5 e-mail: ttomek@amu.edu.pl materiały: http://www.amu.edu.pl/~ttomek 1 Wymagania podstawowa znajomość

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

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc RPC Remote Procedural Call Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc 1 Wprowadzenie Podstawowe założenia RPC: Program uruchamiany na maszynie A może wywołać procedurę

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

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

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

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech BAZY DANYCH Obsługa bazy z poziomu języka PHP opracowanie: Michał Lech Plan wykładu 1. PHP - co to jest? 2. Bazy danych obsługiwane przez PHP 3. Podstawowe polecenia 4. Sesje 5. Przykład - dodawanie towaru

Bardziej szczegółowo

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Część I -ebxml Po zrealizowaniu materiału student będzie w stanie omówić potrzeby rynku B2B w zakresie przeprowadzania transakcji przez Internet zaprezentować architekturę ebxml wskazać na wady i zalety

Bardziej szczegółowo

Rozproszone systemy Internetowe

Rozproszone systemy Internetowe Rozproszone systemy Internetowe Transport komunikatów WS: protokół SOAP RSI Oskar Świda 1 Simple Object Access Protocol Bezstanowy protokół komunikacyjny, oparty na standardzie XML Prosty i elastyczny,

Bardziej szczegółowo

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI) Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI) () SNMP - Protokół zarządzania sieciami TCP/IP. - UDP

Bardziej szczegółowo

Systemy Rozproszone Technologia ICE

Systemy Rozproszone Technologia ICE Systemy Rozproszone Technologia ICE Zespół Systemów Rozproszonych () Katedra Informatyki AGH Kraków Kornel Skałkowski skalkow@agh.edu.pl Opracowano na podstawie książki: Henning M, Spruiell M. Distributed

Bardziej szczegółowo

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410) Spis treści Dzień 1 I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410) I-3 VBS w WinCC - Informacje ogólne I-4 Zastosowanie VBS w WinCC Runtime I-5 Wykorzystanie i wydajność

Bardziej szczegółowo

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP.

Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP. Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP. Wprowadzenie Gniazdo (ang. socket) z naszego punktu widzenia (czyli programów w.net) reprezentuje najniższy poziom

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

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

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

Komunikacja z użyciem gniazd aplikacje klient-serwer

Komunikacja z użyciem gniazd aplikacje klient-serwer Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura

Bardziej szczegółowo

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA DANYCH NA URZĄDZENIACH MOBILNYCH I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu obsługi baz danych i języka SQL

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

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

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

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

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

Bardziej szczegółowo

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

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania

Bardziej szczegółowo

Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła

Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Statystyka protokołów i połączeń sieciowych.

Statystyka protokołów i połączeń sieciowych. Statystyka protokołów i połączeń sieciowych. Aplikacja netstat. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Statystyka połączeń sieciowych.

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 7 Jan Kazimirski 1 Programowanie serwisów WEB SOAP 2 Literatura Programming Web Services with SOAP, D. Tidwell, J. Snell, P. Kulchenko, O'Reilly, 2001 Understanding

Bardziej szczegółowo

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych Czym jest AJAX AJAX wprowadzenie Beata Pańczyk na podstawie: 1. Lis Marcin, Ajax, Helion, 2007 2. Hadlock Kris, Ajax dla twórców aplikacji internetowych, Helion, 2007 AJAX (Asynchronous JavaScript and

Bardziej szczegółowo

Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1

Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1 Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe Krzysztof Banaś Systemy rozproszone 1 Technologie WWW Nowszymi sposobami organizacji i technologiami w dziedzinie obliczeń rozproszonych

Bardziej szczegółowo

Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC

Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC plan programowanie sieciowe BSD/POSIX Socket API systemy RPC interfejsy obiektowe CORBA DCOM RMI WebServices WSDL/SOAP XML-RPC REST

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

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

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

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

Bardziej szczegółowo

1. Model klient-serwer

1. Model klient-serwer 1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoływanie procedur zdalnych Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat

Bardziej szczegółowo

Platforma webowa IIS

Platforma webowa IIS Serwer WWW Serwer FTP Obsługa PHP Platforma webowa IIS (Internet Information Services) z rodziny Microsoft Stanisław Wszelak 1 Wersje IIS od wersji 2.0 do 4.0 dla Windows NT 4.0 IIS wersja 5.0 dla Windows

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

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

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL. Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL. Niniejsza instrukcja zawiera wskazówki dotyczące konfiguracji funkcji BW MGMT dostępnej w urządzeniach serii ZyWALL. Dość często

Bardziej szczegółowo

Serwery LDAP w środowisku produktów w Oracle

Serwery LDAP w środowisku produktów w Oracle Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Sieci Komputerowe. Model Referencyjny dla Systemów Otwartych Reference Model for Open Systems Interconnection

Sieci Komputerowe. Model Referencyjny dla Systemów Otwartych Reference Model for Open Systems Interconnection Sieci Komputerowe Model Referencyjny dla Systemów Otwartych Reference Model for Open Systems Interconnection dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo