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

Podobne dokumenty
XML-RPC: Zdalne wykonywanie procedur

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

Wywoływanie metod zdalnych

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

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

Wywoływanie metod zdalnych

Remote Method Invocation 17 listopada 2010

Aplikacje RMI

Programowanie współbieżne i rozproszone

Podejście obiektowe do budowy systemów rozproszonych

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie:

Podejście obiektowe do budowy systemów rozproszonych

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

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

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

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

Systemy Rozproszone - Ćwiczenie 6

Programowanie rozproszone w języku Java

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

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

Wprowadzenie. Dariusz Wawrzyniak 1

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Aplikacje RMI Lab4

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Interfejsy w Javie. Przykład zastosowania interfejsów:

Middleware wprowadzenie października 2010

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Tworzenie aplikacji rozproszonej w Sun RPC

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

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

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

Simple Object Access Protocol

Rozproszone systemy Internetowe

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

Podstawy programowania. Wprowadzenie

Programowanie obiektowe

Michał Jankowski. Remoting w.net 2.0

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

Komunikacja międzysystemowa

PRiR I. Programowanie Równoległe i Rozproszone. Wykład 1 Wstęp i RMI. Marek Kasztelnik WSZIB Krakow

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

Programowanie obiektowe

Systemy Rozproszone Technologia ICE

Tworzenie i wykorzystanie usług

Programowanie obiektowe

Programowanie obiektowe

SOAP. Autor: Piotr Sobczak

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE

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

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Dziedziczenie. dr Jarosław Skaruz

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Aplikacje w środowisku Java

Systemy rozproszone. Dr inż. L. Miękina. Department of Robotics and Mechatronics AGH University of Science and Technology 1/1

1 Wprowadzenie do J2EE

76.Struktura oprogramowania rozproszonego.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wywoływanie procedur zdalnych

Wywoływanie procedur zdalnych

Programowanie obiektowe

Programowanie Komponentowe WebAPI

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Komunikacja i wymiana danych

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

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

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Technologie COM i ActiveX COM - Component Object Model

Programowanie współbieżne i rozproszone

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wywoływanie procedur zdalnych

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

Dni: 2. Partner merytoryczny. Opis: Adresaci szkolenia

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Wybrane działy Informatyki Stosowanej

Wprowadzenie do języka Java

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Klasy abstrakcyjne, interfejsy i polimorfizm

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Tworzenie aplikacji w języku Java

Bazy Danych i Usługi Sieciowe

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Zaawansowane narzędzia programowania rozproszonego

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

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Remote Method Invocation

Programowanie obiektowe

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Rozproszone technologie Web Services

Java programowanie w sieci. java.net RMI

Programowanie obiektowe

Transkrypt:

Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury

Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2

Co będzie potrzebne? Znajomość kilku języków programowania (Java obowiązkowo, do wyboru C,C+ +,C#,Ruby, Python) Wiedza z zakresu programowania aplikacji WWW oraz specyfikacji XML Podstawy sieci komputerowych (protokoły komunikacyjne, warunki pracy sieci) Znajomość języka angielskiego w stopniu pozwalającym na czytanie specyfikacji 3

Środowiska rozproszone Współbieżność Równoległość Rozproszenie Architektury i komunikacja Klastry i grid computing Przekazywanie komunikatów Peer-to-peer Architektury warstwowe Klient-serwer Współdzielone bazy danych 4

Aplikacje rozproszone Przezroczystość (transparency) Heterogeniczność Model obiektowy przechowywanie i lokalizacja obiektu (usługi nazewnicze, identyfikator sieciowy) komunikacja międzyobiektowa (RPC lub asynchronicznie) aktywacja implementacji zmiana położenia obiektu kontrola dostępu do metod 5

Zdalne wywołanie procedury/metody i jego semantyka y = obj.f(x) A co się stanie jeżeli komunikat nie trafi do odbiorcy? Wywołanie f(x) interesujący nas obiekt At most once: tylko jeden komunikat At least once: być może więcej niż jeden komunikat Exactly once: być może więcej komunikatów ale tylko jedno wywołanie 6

Zdalne wywołanie c.d. y = obj.f(x) interesujący nas obiekt Lokalny obiekt pośredniczący (Client stub) Komunikacja 7

Przykład realizacji: XML RPC Specyfikacja dostępna pod adresem http://www.xmlrpc.com/spec Jak to? A wcześniejsze prace? HTTP + XML = środowisko Internetu Przykład POST /RPCServ HTTP/1.1 Host: wi.pb.edu.pl Content-Type: text/xml Content-length: 181 Żądanie HTTP <?xml version="1.0"?> <methodcall> <methodname>metodaf</methodname> <params> <param> <value><i4>12345</i4></value> </param> </params> </methodcall> 8

XML RPC - wywołanie <methodcall> <methodname /> <params> <param> <value /> </param> </params> </methodcall> Nazwa procedury interpretowana przez serwer Wartość parametru (skalar, struktura lub tablica) 9

XML RPC - typy parametrów Znacznik <i4>, <int> <boolean> <string> <double> <datetime.iso8601> <base64> <struct> <member><name><value> <array> <data><value> Typ wartości Liczba całkowita ze znakiem Wartość logiczna (0=fałsz, 1=prawda) Tekst Liczba rzeczywista Stempel czasowy Dane binarne zakodowane BASE64 Struktura Tablica 10

XML RPC - odpowiedź <methodresponse> <params> <param> <value /> </param> </params> </methodresponse> <fault> Struktura złożona z dwu elementów faultcode (int) faultstring (string) </fault> 11

Przykład realizacji: Java RMI Specyfikacja dostępna pod adresem: http://java.sun.com/javase/6/docs/platform /rmi/spec/rmitoc.html Implementowane mechanizmy lokalizacja obiektu (rmiregistry) komunikacja międzyobiektowa (wywołanie) transport kodu (serializacja parametrów) Posiada własność przezroczystości oraz mozliwość aktywacji implementacji 12

Java RMI - implementacja obiektu public interface Biblio extends java.rmi.remote { public String szukajisbn(string isbn) throws java.rmi.remoteexception; } public class BiblioImpl extends java.rmi.server.unicastremoteobject implements Biblio { } public String szukajisbn(string isbn) throws java.rmi.remoteexception {... } 13

Java RMI - zagadnienia do samodzielnego zbadania Przekazywanie parametrów (serializacja obiektów i wpływ modyfikatorów pól na ten proces) Aktywacja implementacji Bezpieczeństwo wywołania (kontrola dostępu) Odśmiecanie obiektów zdalnych 14

Luźna dyskusja końcowa Inne realizacje środowisk rozproszonych np. Common Object Request Broker Architecture Struktura aplikacji rozproszonej Problem wiarygodności implementacji Dynamiczna kontrola dostępu do metod obiektu Warunki realizacji semantyki exactly once 15