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

Podobne dokumenty