RPC --- Kung-fu linuksiarza
Transkrypt
RPC --- Kung-fu linuksiarza
Wstęp XML-RPC Inni gracze na rynku Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku RPC — Kung-fu linuksiarza Stanisław „dozzie” Klekot Dni Wolnego Oprogramowania 5 marca 2011 Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku O co chodzi z RPC? zdalne wywołanie procedur Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku O co chodzi z RPC? zdalne wywołanie procedur jak najprostsze uruchamianie funkcji na zdalnej maszynie Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku O co chodzi z RPC? zdalne wywołanie procedur jak najprostsze uruchamianie funkcji na zdalnej maszynie ssh zdalnyhost mkdir katalog Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co zyskujemy na użyciu RPC? zyski Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co zyskujemy na użyciu RPC? zyski przezroczystość położenia uruchamianej funkcji Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co zyskujemy na użyciu RPC? zyski przezroczystość położenia uruchamianej funkcji wołający w Pythonie, wołany w Javie Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co zyskujemy na użyciu RPC? zyski przezroczystość położenia uruchamianej funkcji wołający w Pythonie, wołany w Javie wołający pod Windows (x86), wołany pod OpenVMS (VAX) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Do czego można wykorzystać RPC? możliwości Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Do czego można wykorzystać RPC? możliwości system z wielu maszyn, z wieloma zasobami Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Do czego można wykorzystać RPC? możliwości system z wielu maszyn, z wieloma zasobami „ciężkie” funkcje na serwerze, „lekkie” lokalnie Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Do czego można wykorzystać RPC? możliwości system z wielu maszyn, z wieloma zasobami „ciężkie” funkcje na serwerze, „lekkie” lokalnie biblioteki własnościowego kodu Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co stwarza problemy? problemy Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co stwarza problemy? problemy referencje Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co stwarza problemy? problemy referencje klasy z metodami Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co stwarza problemy? problemy referencje klasy z metodami jaki format przesyłanych danych? Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Co stwarza problemy? problemy referencje klasy z metodami jaki format przesyłanych danych? formatowanie danych kosztuje Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle proxy Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle proxy SSL Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle proxy SSL hasła (HTTP authentication) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle proxy SSL hasła (HTTP authentication) łatwo dodać do aplikacji webowej Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Parę słów o protokole cechy XML-RPC ustandaryzowany prosta specyfikacja (7 stron tekstu) serializacja: XML transport: HTTP POST firewalle proxy SSL hasła (HTTP authentication) łatwo dodać do aplikacji webowej proste pojęcia: wołający, wołany Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Przykład wywołania — dane <?xml version="1.0"?> <methodCall> <methodName>math.obliczCalke</methodName> <params> <param> <value><string>x^2 + 2*x + 1</string></value> </param> <param> <value><double>-1.5</double></value> </param> <param> <value><double>2.5</double></value> </param> </params> </methodCall> Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Przykład wywołania — CGI (Perl) #!/usr/bin/perl use Frontier::RPC2; use CGI; print CGI::header(-status => "200 OK"); my $rpc_server = new Frontier::RPC2(); print $rpc_server->serve(CGI::param(’POSTDATA’), { dodawacz => \&func }); sub func { return $_[0] + $_[1]; } Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Przykład wywołania — klient (Python) #!/usr/bin/python import xmlrpclib url = ’http://localhost/cgi-bin/sample.cgi’ srv = xmlrpclib.Server(url) print srv.dodawacz(10, 200) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? SSL = X.509 Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? SSL = X.509 HTTP = hasła w LDAP Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? SSL = X.509 HTTP = hasła w LDAP kontrola co kto może uruchomić Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? SSL = X.509 HTTP = hasła w LDAP kontrola co kto może uruchomić łatwiej z firewallem/proxy Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Nada się administratorowi? Co budowa protokołu znaczy dla admina? SSL = X.509 HTTP = hasła w LDAP kontrola co kto może uruchomić łatwiej z firewallem/proxy wada: przesyłanie plików mało efektywne Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Kto używa XML-RPC? Aplikacje z interfejsem XML-RPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Kto używa XML-RPC? Aplikacje z interfejsem XML-RPC Trac Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Kto używa XML-RPC? Aplikacje z interfejsem XML-RPC Trac Zenoss Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Kto używa XML-RPC? Aplikacje z interfejsem XML-RPC Trac Zenoss Red Hat Network Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Kto używa XML-RPC? Aplikacje z interfejsem XML-RPC Trac Zenoss Red Hat Network xmlrpcd Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP następca XML-RPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP następca XML-RPC bardziej skomplikowany Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP następca XML-RPC bardziej skomplikowany rzadziej używany Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP następca XML-RPC bardziej skomplikowany rzadziej używany WBEM Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Konkurencja XML-RPC Protokoły webowe SOAP następca XML-RPC bardziej skomplikowany rzadziej używany WBEM REST Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły Sun RPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły Sun RPC ustandaryzowany protokół — RFC 707 Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły Sun RPC ustandaryzowany protokół — RFC 707 dobre narzędzia programistyczne Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły Sun RPC ustandaryzowany protokół — RFC 707 dobre narzędzia programistyczne protokół binarny Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły Sun RPC ustandaryzowany protokół — RFC 707 dobre narzędzia programistyczne protokół binarny zastosowania: NIS, NFS Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy design by committee Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy design by committee nadmierne skomplikowanie Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy design by committee nadmierne skomplikowanie brak spójności specyfikacji Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy design by committee nadmierne skomplikowanie brak spójności specyfikacji niekompatybilne implementacje Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły CORBA znany standard narzędzia programistyczne protokół binarny problemy design by committee nadmierne skomplikowanie brak spójności specyfikacji niekompatybilne implementacje (początkowo) brak standardowego portu Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania SMB (CIFS) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania SMB (CIFS) wydruki Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania SMB (CIFS) wydruki użytkownicy/hasła Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania SMB (CIFS) wydruki użytkownicy/hasła rejestr zdalny Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły MSRPC bazuje na DCE/RPC zastosowania SMB (CIFS) wydruki użytkownicy/hasła rejestr zdalny dystrybucja ustawień systemu Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły DCOM Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły DCOM COM Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły DCOM COM interfejs binarny (ABI) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły DCOM COM interfejs binarny (ABI) metoda IPC (API, format danych) Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Inne protokoły DCOM COM interfejs binarny (ABI) metoda IPC (API, format danych) DCOM: COM over MSRPC Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Pytania? Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza Wstęp XML-RPC Inni gracze na rynku Dziękuję za uwagę Stanisław „dozzie” Klekot RPC — Kung-fu linuksiarza