Komputery przemysªowe i systemy wbudowane

Transkrypt

Komputery przemysªowe i systemy wbudowane
Komputery przemysªowe i systemy wbudowane
Protokoªy do chmur
KSEM WETI PG
November 23, 2015
Co to jest chmura obliczeniowa?
Chmura obliczeniowa - poj¦cie abstrakcyjne w rozproszonym
przetwarzaniu danych
I Cechy:
I
Wspóªdzielenie zasobów (Multitenancy)
I
Wysoka skalowalno±¢ (Massive scalability) - skalowanie dziaªania dla
wielu systemów oraz wykorzystania zasobów
I
Elastyczno±¢ - u»ytkownik mo»e zwi¦ksza¢ lub zmniejsza¢ swoje
zasoby obliczeniowe na »¡danie
I
Pay as you go - u»ytkownik pªaci za zasoby (i czas) rzeczywi±cie
wykorzystane
I
Samozaopatrzenie (Self-provisioning) w zasoby - u»ytkownik sam
decyduje o zasobach, których potrzebuje
I Od kolektywnej mocy poª¡czonych komputerów odró»nia j¡ fakt, »e
istnieje nie po to, by rozwi¡za¢ problem, lecz po to, by zaspokoi¢
potrzeby u»ytkowników, którzy np. chc¡ mie¢ dost¦p do swoich
danych i narz¦dzi z dowolnego miejsca na ±wiecie.
Outline
Chmura
SPI Framework
SOA
Chmura - technologie
Dost¦p do chmury
Przykªady aplikacji
Framework SPI
SPI - akronim trzech podstawowych rodzajów usªug w chmurze
obliczeniowej:
SaaS),
PaaS),
infrastructure-as-a-service (IaaS).
I software-as-a-service (
I platform-as-a-service (
I
Framework SPI
SPI - akronim trzech podstawowych rodzajów usªug w chmurze
obliczeniowej:
SaaS),
PaaS),
infrastructure-as-a-service (IaaS).
I software-as-a-service (
I platform-as-a-service (
I
Framework SPI
SPI - akronim trzech podstawowych rodzajów usªug w chmurze
obliczeniowej:
SaaS),
PaaS),
infrastructure-as-a-service (IaaS).
I software-as-a-service (
I platform-as-a-service (
I
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Software-As-a-Service
I Model
I
SaaS:
u»ytkownik wypo»ycza oprogramowanie w ramach subskrypcji lub
pªac¡c za ka»de u»ycie (operational expense, OpEx).
I
w niektórych przypadkach usªugi s¡ bezpªatne
I
u»ytkownik korzysta z aplikacji za pomoc¡ ka»dego urz¡dzenia, które
potra si¦ autoryzowa¢ (posiada przegl¡dark¦)
I Tradycyjne podej±cie:
I
instalacja oprogramowania na wªasnej maszynie i zapªata za licencj¦
(capital expense, CapEx)
I
opªata za support
I
u»ytkownik sam dba o kompatybilno±¢ systemu operacyjnego i
zgodno±¢ z warunkami licencji
Platform-As-a-Service
Model
PaaS:
I u»ytkownik (programista) korzysta ze ±rodowiska wytwarzania
aplikacji w chmurze
I
narz¦dzia
I
standardy
I
kanaªy dystrybucji i pªatno±ci
I Zalety:
I
szybkie rozpowszechnianie produktów, niski koszt wytwarzania
aplikacji i wej±cia na rynek.
I
programista buduje aplikacje bez instalowania narz¦dzi na wªasnych
maszynach
I
programista nie musi by¢ ekspertem!
I PaaS to odmiana SaaS - wypo»yczan¡ usªug¡ jest ±rodowisko
wytwarzania aplikacji (a w nim predeniowane bloki kodu, z których
u»ytkownik skªada wªasne aplikacje)
Platform-As-a-Service
Model
PaaS:
I u»ytkownik (programista) korzysta ze ±rodowiska wytwarzania
aplikacji w chmurze
I
narz¦dzia
I
standardy
I
kanaªy dystrybucji i pªatno±ci
I Zalety:
I
szybkie rozpowszechnianie produktów, niski koszt wytwarzania
aplikacji i wej±cia na rynek.
I
programista buduje aplikacje bez instalowania narz¦dzi na wªasnych
maszynach
I
programista nie musi by¢ ekspertem!
I PaaS to odmiana SaaS - wypo»yczan¡ usªug¡ jest ±rodowisko
wytwarzania aplikacji (a w nim predeniowane bloki kodu, z których
u»ytkownik skªada wªasne aplikacje)
Platform-As-a-Service
Model
PaaS:
I u»ytkownik (programista) korzysta ze ±rodowiska wytwarzania
aplikacji w chmurze
I
narz¦dzia
I
standardy
I
kanaªy dystrybucji i pªatno±ci
I Zalety:
I
szybkie rozpowszechnianie produktów, niski koszt wytwarzania
aplikacji i wej±cia na rynek.
I
programista buduje aplikacje bez instalowania narz¦dzi na wªasnych
maszynach
I
programista nie musi by¢ ekspertem!
I PaaS to odmiana SaaS - wypo»yczan¡ usªug¡ jest ±rodowisko
wytwarzania aplikacji (a w nim predeniowane bloki kodu, z których
u»ytkownik skªada wªasne aplikacje)
Platform-As-a-Service
I
I
PaaS dostarcza:
I
serwer aplikacji
I
baz¦ danych
I
wirtualn¡ maszyn¦
I
miejsce przechowywania danych
PaaS narzuca:
I
logik¦ biznesow¡
I
framework do tworzenia aplikacji
Platform-As-a-Service
I
I
PaaS dostarcza:
I
serwer aplikacji
I
baz¦ danych
I
wirtualn¡ maszyn¦
I
miejsce przechowywania danych
PaaS narzuca:
I
logik¦ biznesow¡
I
framework do tworzenia aplikacji
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Infrastructure-As-a-Service
I Model
I
IaaS:
u»ytkownik pªaci za ilo±¢ mocy obliczeniowej, miejsce na dysku i inne
rzeczywi±cie zu»ywane zasoby
I
u»ytkownik nie musi dba¢ o szczegóªy infrastruktury: lokalizacj¦,
zarz¡dzanie danymi, skalowanie, bezpiecze«stwo, backup.
I Cechy modelu IaaS:
I
skalowalno±¢: wykorzystywane zasoby mog¡ si¦ zmienia¢ w
zale»no±ci od bie»¡cych wymaga«, niemal w czasie rzeczywistym
I
pay-as-you-go: u»ytkownik kupuje dokªadnie tak¡ ilo±¢ zasobów
infrastruktury, jak¡ aktualnie potrzebuje
I
best-of-breed: dost¦p do najlepszych technologii za uªamek kosztów
Framework SPI
¹ródªo: [1]
Chmura - zalety
I
Niski koszt inwestycji i utrzymania produktu (równie» zako«czenia produkcji)
I
Niski koszt zªej estymacji zasobów wymaganych w fazie
tworzenia, testowania i produkcji
I
Otwarte standardy.
Open source = oprogramowanie podlegaj¡ce
licencji publicznej, pozwalaj¡cej u»ytkownikowi zarówno na u»ycie
jak i na modykacj¦ oprogramowania. Konsekwencj¡ jest ci¡gªy
rozwój rozwi¡za« open source.
I
Stabilno±¢.
Wªa±ciciele chmur inwestuj¡ du»e ilo±ci ludzkiej pracy i
pieni¦dzy w rozwój wysoce stabilnego ±rodowiska. U»ytkownik mo»e
ufa¢, »e chmura ma:
I
ograniczon¡ liczb¦ bª¦dów,
I
wysok¡ odporno±¢ dzi¦ki klastrom,
I
zdolno±¢ ci¡gªego rozwoju rozwi¡za« zapewniaj¡cych stabilno±¢.
Chmura - zalety
I
Niski koszt inwestycji i utrzymania produktu (równie» zako«czenia produkcji)
I
Niski koszt zªej estymacji zasobów wymaganych w fazie
tworzenia, testowania i produkcji
I
Otwarte standardy.
Open source = oprogramowanie podlegaj¡ce
licencji publicznej, pozwalaj¡cej u»ytkownikowi zarówno na u»ycie
jak i na modykacj¦ oprogramowania. Konsekwencj¡ jest ci¡gªy
rozwój rozwi¡za« open source.
I
Stabilno±¢.
Wªa±ciciele chmur inwestuj¡ du»e ilo±ci ludzkiej pracy i
pieni¦dzy w rozwój wysoce stabilnego ±rodowiska. U»ytkownik mo»e
ufa¢, »e chmura ma:
I
ograniczon¡ liczb¦ bª¦dów,
I
wysok¡ odporno±¢ dzi¦ki klastrom,
I
zdolno±¢ ci¡gªego rozwoju rozwi¡za« zapewniaj¡cych stabilno±¢.
Chmura - zalety
I
Niski koszt inwestycji i utrzymania produktu (równie» zako«czenia produkcji)
I
Niski koszt zªej estymacji zasobów wymaganych w fazie
tworzenia, testowania i produkcji
I
Otwarte standardy.
Open source = oprogramowanie podlegaj¡ce
licencji publicznej, pozwalaj¡cej u»ytkownikowi zarówno na u»ycie
jak i na modykacj¦ oprogramowania. Konsekwencj¡ jest ci¡gªy
rozwój rozwi¡za« open source.
I
Stabilno±¢.
Wªa±ciciele chmur inwestuj¡ du»e ilo±ci ludzkiej pracy i
pieni¦dzy w rozwój wysoce stabilnego ±rodowiska. U»ytkownik mo»e
ufa¢, »e chmura ma:
I
ograniczon¡ liczb¦ bª¦dów,
I
wysok¡ odporno±¢ dzi¦ki klastrom,
I
zdolno±¢ ci¡gªego rozwoju rozwi¡za« zapewniaj¡cych stabilno±¢.
Chmura - zalety
I
Niski koszt inwestycji i utrzymania produktu (równie» zako«czenia produkcji)
I
Niski koszt zªej estymacji zasobów wymaganych w fazie
tworzenia, testowania i produkcji
I
Otwarte standardy.
Open source = oprogramowanie podlegaj¡ce
licencji publicznej, pozwalaj¡cej u»ytkownikowi zarówno na u»ycie
jak i na modykacj¦ oprogramowania. Konsekwencj¡ jest ci¡gªy
rozwój rozwi¡za« open source.
I
Stabilno±¢.
Wªa±ciciele chmur inwestuj¡ du»e ilo±ci ludzkiej pracy i
pieni¦dzy w rozwój wysoce stabilnego ±rodowiska. U»ytkownik mo»e
ufa¢, »e chmura ma:
I
ograniczon¡ liczb¦ bª¦dów,
I
wysok¡ odporno±¢ dzi¦ki klastrom,
I
zdolno±¢ ci¡gªego rozwoju rozwi¡za« zapewniaj¡cych stabilno±¢.
Kto korzysta z chmur obliczeniowych?
I
U»ytkownicy indywidualni
I
przechowywanie poczty, zdj¦¢, muzyki
I
przechowywanie informacji (personalnych) w sieciach
spoªeczno±ciowych
I
I
mapy, nawigacja GPS
I
tworzenie stron www
I
wspóªpraca (np. Google Sites)
U»ytkownicy biznesowi
I
rozwój aplikacji biznesowych
I
rozwój stron internetowych (reklama)
I
sprzeda» poprzez dedykowane serwisy (eBay)
I
reklamy w wyszukiwarkach internetowych
I
zarz¡dzanie nansami w bankowo±ci internetowej
I
narz¦dzia biurowe
Kto korzysta z chmur obliczeniowych?
I
U»ytkownicy indywidualni
I
przechowywanie poczty, zdj¦¢, muzyki
I
przechowywanie informacji (personalnych) w sieciach
spoªeczno±ciowych
I
I
mapy, nawigacja GPS
I
tworzenie stron www
I
wspóªpraca (np. Google Sites)
U»ytkownicy biznesowi
I
rozwój aplikacji biznesowych
I
rozwój stron internetowych (reklama)
I
sprzeda» poprzez dedykowane serwisy (eBay)
I
reklamy w wyszukiwarkach internetowych
I
zarz¡dzanie nansami w bankowo±ci internetowej
I
narz¦dzia biurowe
Kto korzysta z chmur obliczeniowych?
I
Start-up'y, maªe przedsi¦biorstwa
I
outsourcing insfrastruktury IT, kluczowej dla wprowadzenia produktu
na rynek
I
skalowalno±¢
I
w wielu przypadkach - pionierskie wykorzystanie chmur
obliczeniowych
I
Du»e przedsi¦biorstwa/korporacje
I
narz¦dzia wspierania produktywno±ci pracowników (wyszukiwarki
wiedzy, travel service)
I
narz¦dzia wspierania dziaªów HR i oceny pracowników
I
narz¦dzia wspierania kluczowych dziaªów: sprzeda»y, zarz¡dzania
dokumentacj¡, pozyskiwania surowców, logistyki (dane wra»liwe!)
Kto korzysta z chmur obliczeniowych?
I
Start-up'y, maªe przedsi¦biorstwa
I
outsourcing insfrastruktury IT, kluczowej dla wprowadzenia produktu
na rynek
I
skalowalno±¢
I
w wielu przypadkach - pionierskie wykorzystanie chmur
obliczeniowych
I
Du»e przedsi¦biorstwa/korporacje
I
narz¦dzia wspierania produktywno±ci pracowników (wyszukiwarki
wiedzy, travel service)
I
narz¦dzia wspierania dziaªów HR i oceny pracowników
I
narz¦dzia wspierania kluczowych dziaªów: sprzeda»y, zarz¡dzania
dokumentacj¡, pozyskiwania surowców, logistyki (dane wra»liwe!)
Wªasno±¢ i kontrola w chmurze
Przykªad - Google
I Google App Engine -
platform-as-a-service (PaaS)
I
budowa i hosting aplikacji internetowych w infrastrukturze Google
I
obsªugiwane j¦zyki programowania: Python i Java.
I
usªuga jest darmowa, dopóki aplikacja nie korzysta z zasobów Google
powy»ej limitu (obj¦to±¢ danych, przepªywno±¢, cykle CPU)
I Google Apps I
software-as-a-service (SaaS)
korzystanie z aplikacji biurowych: Gmail, Google Calendar, Talk,
Docs i inne.
I
wersja standardowa jest darmowa (jak konto Gmail)
Przykªad - Google
I Google App Engine -
platform-as-a-service (PaaS)
I
budowa i hosting aplikacji internetowych w infrastrukturze Google
I
obsªugiwane j¦zyki programowania: Python i Java.
I
usªuga jest darmowa, dopóki aplikacja nie korzysta z zasobów Google
powy»ej limitu (obj¦to±¢ danych, przepªywno±¢, cykle CPU)
I Google Apps I
software-as-a-service (SaaS)
korzystanie z aplikacji biurowych: Gmail, Google Calendar, Talk,
Docs i inne.
I
wersja standardowa jest darmowa (jak konto Gmail)
Chmura Google - przypadki u»ycia
I
Use case:
I
Komunikacja
opis: rmowa poczta i kalendarz bez tworzenia infrastruktury
wewn¡trz rmy
I
I
usªuga: Gmail, Google Calendar
Use case:
I
Bezpieczna poczta
opis: zabezpieczenie instniej¡cego systemu pocztowego bez tworzenia
infrastruktury wewn¡trz rmy; ltracja spamu, wirusów i innych
zagro»e«
I
usªuga: Google Email Security
Chmura Google - przypadki u»ycia
I
Use case:
I
Komunikacja
opis: rmowa poczta i kalendarz bez tworzenia infrastruktury
wewn¡trz rmy
I
I
usªuga: Gmail, Google Calendar
Use case:
I
Bezpieczna poczta
opis: zabezpieczenie instniej¡cego systemu pocztowego bez tworzenia
infrastruktury wewn¡trz rmy; ltracja spamu, wirusów i innych
zagro»e«
I
usªuga: Google Email Security
Chmura Google - przypadki u»ycia
I
Use case:
I
Wspóªpraca
opis: wspólny dost¦p do narz¦dzi i dokumentów biurowych bez
instalacji dodatkowego oprogramowania na lokalnych maszynach lub
serwerach
I
I
usªuga: Google Docs, Google Drive, Google Sites
Use case:
I
Tworzenie aplikacji
opis: tworzenie aplikacji w j¦zyku Java lub Python bez inwestowania
w infrastruktur¦ (programow¡ i sprz¦tow¡) na maszynach lokalnych
I
usªuga: Google App Engine
Chmura Google - przypadki u»ycia
I
Use case:
I
Wspóªpraca
opis: wspólny dost¦p do narz¦dzi i dokumentów biurowych bez
instalacji dodatkowego oprogramowania na lokalnych maszynach lub
serwerach
I
I
usªuga: Google Docs, Google Drive, Google Sites
Use case:
I
Tworzenie aplikacji
opis: tworzenie aplikacji w j¦zyku Java lub Python bez inwestowania
w infrastruktur¦ (programow¡ i sprz¦tow¡) na maszynach lokalnych
I
usªuga: Google App Engine
Outline
Chmura
SPI Framework
SOA
Chmura - technologie
Dost¦p do chmury
Przykªady aplikacji
SOA - architektura zorientowana na usªugi
SOA (Service-Oriented Architecture)
I koncepcja tworzenia systemów informatycznych, w której gªówny
nacisk stawia si¦ na deniowanie usªug, które speªni¡ wymagania
u»ytkownika.
I obejmuje zestaw metod organizacyjnych i technicznych maj¡cy na
celu powi¡zanie biznesowej strony organizacji z jej zasobami
informatycznymi.
I logika biznesowa jest rozbita pomi¦dzy wiele rozproszonych
komponentów usªugowych, koordynowanych przez centraln¡
aplikacj¦ steruj¡c¡.
I komponenty usªugowe s¡ implementowane i udost¦pniane przez
niezale»ne podmioty, nazywane dostawcami usªug (Service
Providers). Š¡czno±¢ pomi¦dzy aplikacj¡ steruj¡c¡ a komponentami
usªugowymi odbywa si¦ za po±rednictwem sieci Internet.
SOA - architektura zorientowana na usªugi
SOA (Service-Oriented Architecture)
I koncepcja tworzenia systemów informatycznych, w której gªówny
nacisk stawia si¦ na deniowanie usªug, które speªni¡ wymagania
u»ytkownika.
I obejmuje zestaw metod organizacyjnych i technicznych maj¡cy na
celu powi¡zanie biznesowej strony organizacji z jej zasobami
informatycznymi.
I logika biznesowa jest rozbita pomi¦dzy wiele rozproszonych
komponentów usªugowych, koordynowanych przez centraln¡
aplikacj¦ steruj¡c¡.
I komponenty usªugowe s¡ implementowane i udost¦pniane przez
niezale»ne podmioty, nazywane dostawcami usªug (Service
Providers). Š¡czno±¢ pomi¦dzy aplikacj¡ steruj¡c¡ a komponentami
usªugowymi odbywa si¦ za po±rednictwem sieci Internet.
SOA - architektura zorientowana na usªugi
SOA (Service-Oriented Architecture)
I koncepcja tworzenia systemów informatycznych, w której gªówny
nacisk stawia si¦ na deniowanie usªug, które speªni¡ wymagania
u»ytkownika.
I obejmuje zestaw metod organizacyjnych i technicznych maj¡cy na
celu powi¡zanie biznesowej strony organizacji z jej zasobami
informatycznymi.
I logika biznesowa jest rozbita pomi¦dzy wiele rozproszonych
komponentów usªugowych, koordynowanych przez centraln¡
aplikacj¦ steruj¡c¡.
I komponenty usªugowe s¡ implementowane i udost¦pniane przez
niezale»ne podmioty, nazywane dostawcami usªug (Service
Providers). Š¡czno±¢ pomi¦dzy aplikacj¡ steruj¡c¡ a komponentami
usªugowymi odbywa si¦ za po±rednictwem sieci Internet.
SOA - architektura zorientowana na usªugi
SOA (Service-Oriented Architecture)
I koncepcja tworzenia systemów informatycznych, w której gªówny
nacisk stawia si¦ na deniowanie usªug, które speªni¡ wymagania
u»ytkownika.
I obejmuje zestaw metod organizacyjnych i technicznych maj¡cy na
celu powi¡zanie biznesowej strony organizacji z jej zasobami
informatycznymi.
I logika biznesowa jest rozbita pomi¦dzy wiele rozproszonych
komponentów usªugowych, koordynowanych przez centraln¡
aplikacj¦ steruj¡c¡.
I komponenty usªugowe s¡ implementowane i udost¦pniane przez
niezale»ne podmioty, nazywane dostawcami usªug (Service
Providers). Š¡czno±¢ pomi¦dzy aplikacj¡ steruj¡c¡ a komponentami
usªugowymi odbywa si¦ za po±rednictwem sieci Internet.
Web Services
Usªuga internetowa (ang.
web service)
I Realizowana programistycznie usªuga ±wiadczona poprzez sie¢
telekomunikacyjn¡, a w tym sie¢ komputerow¡, w szczególno±ci
przez Internet.
I Skªadnik oprogramowania, niezale»ny od platformy sprz¦towej oraz
implementacji, dostarczaj¡cy okre±lonej funkcjonalno±ci.
I Komunikacja pomi¦dzy aplikacjami w ±rodowiskach
heterogenicznych i rozproszonych. Web serwisy oferuj¡ - w ró»nym
stopniu - ujednolicenie komunikacji bez wzgl¦du na zastosowane w
aplikacji technologie.
I Dane przekazywane s¡ zazwyczaj za pomoc¡ protokoªu HTTP i z
wykorzystaniem XML.
Web Services
Usªuga internetowa (ang.
web service)
I Realizowana programistycznie usªuga ±wiadczona poprzez sie¢
telekomunikacyjn¡, a w tym sie¢ komputerow¡, w szczególno±ci
przez Internet.
I Skªadnik oprogramowania, niezale»ny od platformy sprz¦towej oraz
implementacji, dostarczaj¡cy okre±lonej funkcjonalno±ci.
I Komunikacja pomi¦dzy aplikacjami w ±rodowiskach
heterogenicznych i rozproszonych. Web serwisy oferuj¡ - w ró»nym
stopniu - ujednolicenie komunikacji bez wzgl¦du na zastosowane w
aplikacji technologie.
I Dane przekazywane s¡ zazwyczaj za pomoc¡ protokoªu HTTP i z
wykorzystaniem XML.
Web Services
Usªuga internetowa (ang.
web service)
I Realizowana programistycznie usªuga ±wiadczona poprzez sie¢
telekomunikacyjn¡, a w tym sie¢ komputerow¡, w szczególno±ci
przez Internet.
I Skªadnik oprogramowania, niezale»ny od platformy sprz¦towej oraz
implementacji, dostarczaj¡cy okre±lonej funkcjonalno±ci.
I Komunikacja pomi¦dzy aplikacjami w ±rodowiskach
heterogenicznych i rozproszonych. Web serwisy oferuj¡ - w ró»nym
stopniu - ujednolicenie komunikacji bez wzgl¦du na zastosowane w
aplikacji technologie.
I Dane przekazywane s¡ zazwyczaj za pomoc¡ protokoªu HTTP i z
wykorzystaniem XML.
Web Services
Usªuga internetowa (ang.
web service)
I Realizowana programistycznie usªuga ±wiadczona poprzez sie¢
telekomunikacyjn¡, a w tym sie¢ komputerow¡, w szczególno±ci
przez Internet.
I Skªadnik oprogramowania, niezale»ny od platformy sprz¦towej oraz
implementacji, dostarczaj¡cy okre±lonej funkcjonalno±ci.
I Komunikacja pomi¦dzy aplikacjami w ±rodowiskach
heterogenicznych i rozproszonych. Web serwisy oferuj¡ - w ró»nym
stopniu - ujednolicenie komunikacji bez wzgl¦du na zastosowane w
aplikacji technologie.
I Dane przekazywane s¡ zazwyczaj za pomoc¡ protokoªu HTTP i z
wykorzystaniem XML.
Web Services
I Sposoby realizacji:
I
zdeniowana za pomoc¡ j¦zyka opisu usªug (WSDL).
Dokument WSDL (Web Service Description Language) zawiera
wszelkie informacje niezb¦dne do wykorzystania danej usªugi
webowej, w tym list¦ dost¦pnych operacji, ich parametry oraz
stosowane typy danych
I
opublikowana i wyszukana w rejestrze usªug za pomoc¡
standardowego mechanizmu, np. UDDI
I
wywoªana zdalnie przez zdeniowany interfejs
I
jest cz¦±ci¡ innych usªug internetowych
Web Services
I Sposoby realizacji:
I
zdeniowana za pomoc¡ j¦zyka opisu usªug (WSDL).
Dokument WSDL (Web Service Description Language) zawiera
wszelkie informacje niezb¦dne do wykorzystania danej usªugi
webowej, w tym list¦ dost¦pnych operacji, ich parametry oraz
stosowane typy danych
I
opublikowana i wyszukana w rejestrze usªug za pomoc¡
standardowego mechanizmu, np. UDDI
I
wywoªana zdalnie przez zdeniowany interfejs
I
jest cz¦±ci¡ innych usªug internetowych
Web Services
I Sposoby realizacji:
I
zdeniowana za pomoc¡ j¦zyka opisu usªug (WSDL).
Dokument WSDL (Web Service Description Language) zawiera
wszelkie informacje niezb¦dne do wykorzystania danej usªugi
webowej, w tym list¦ dost¦pnych operacji, ich parametry oraz
stosowane typy danych
I
opublikowana i wyszukana w rejestrze usªug za pomoc¡
standardowego mechanizmu, np. UDDI
I
wywoªana zdalnie przez zdeniowany interfejs
I
jest cz¦±ci¡ innych usªug internetowych
Web Services
I Sposoby realizacji:
I
zdeniowana za pomoc¡ j¦zyka opisu usªug (WSDL).
Dokument WSDL (Web Service Description Language) zawiera
wszelkie informacje niezb¦dne do wykorzystania danej usªugi
webowej, w tym list¦ dost¦pnych operacji, ich parametry oraz
stosowane typy danych
I
opublikowana i wyszukana w rejestrze usªug za pomoc¡
standardowego mechanizmu, np. UDDI
I
wywoªana zdalnie przez zdeniowany interfejs
I
jest cz¦±ci¡ innych usªug internetowych
Web Services
¹ródªo: http://www.cs.put.poznan.pl/mzakrzewicz/pubs/ploug06ws.pdf
SOAP
SOAP
(Simple Object Access Protocol) protokóª komunikacyjny,
wykorzystuj¡cy XML do kodowania wywoªa« i (najcz¦±ciej) protokoªów
HTTP do ich przenoszenia (metoda POST). Zorientowany na obiekty.
Zapytanie klienta
¹ródªo: http://www.cs.put.poznan.pl/mzakrzewicz/pubs/ploug06ws.pdf
Odpowied¹
¹ródªo: http://www.cs.put.poznan.pl/mzakrzewicz/pubs/ploug06ws.pdf
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST
REST
(REpresentational State Transfer) - styl architektury
oprogramowania; zbiór zalece« i najlepszych praktyk do tworzenia
skalowalnych usªug sieciowych.
Alternatywa dla SOAP
I Przedstawiony w roku 2000 przez jednego z twórców protokoªu
HTTP - Roya Fieldinga
I REST = zasób (obiekt/resource, URL) + reprezentacja (URI Uniform Resource Identier)
I Ka»dy zasób (lub dowolny podzbiór) mo»e znajdowa¢ si¦ na innym
ho±cie
I Zasób mo»e by¢ reprezentowany jako wynik typu XML, JSON,
Image i inne.
I
RESTful Webservices (RESTful web API) - usªugi sieciowe
zaimplementowane na bazie protokoªu HTTP i gªównych zasad
wzorca REST.
I Metody HTTP:
GET, POST, PUT, DELETE
REST vs SOAP
¹rodªo: http://www.pwc.com/us/en/technologyforecast/2012/issue2/features/feature-consumerization-apis.jhtml
Outline
Chmura
SPI Framework
SOA
Chmura - technologie
Dost¦p do chmury
Przykªady aplikacji
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Elementy chmury
I
Urz¡dzenia dost¦powe - domowe PC, rmowe PC, urz¡dzenia
przeno±ne, systemy wbudowane (w tym sprz¦t RTV/AGD)
I
I
I
I
Przegl¡darki internetowe - dost¦p do informacji i aplikacji
Szybkie ª¡cze, szerokopasmowy dost¦p do internetu
Centra danych i farmy serwerów (data centers and server farms)
Urz¡dzenia przechowuj¡ce dane (storage devices) - DASD (direct
access storage device) zostaªy zast¡pione SAN (storage area
networks). Oprogramowanie SAN (DASD) zarz¡dza wieloma
urz¡dzeniami do przechowywania danych i udost¦pnia potrzebn¡
ilo±¢ miejsca na »¡danie.
I
Techniki wirtualizacji - abstrakcja zasobów obliczeniowych (CPU,
dysk, pami¦¢, sie¢, baza danych, stos aplikacji); writualizuje si¦:
I
systemy operacyjne (VMware, Xen, DropBox, Docker),
I
systemy przechowywania danych (NAS, SAN)
I
bazy danych i aplikacje (Apache Tomcat, JBoss, Oracle App Server,
WebSphere).
Technologie - API
I
API (application programming interface) - umo»liwia u»ytkownikowi
programow¡ kontrol¦ nad zasobami i usªugami w chmurze
¹ródªo: [1]
Technologie - API
I Do komunikacji w architekturze REST wystarcz¡ zapytania
protokoªu HTTP: GET, POST, PUT, i DELETE
I API deniuje:
I
format danych przesyªanych w zapytaniach (np. JSON)
I
list¦ polece« wysyªanych do chmury i spodziewanych odpowiedzi
unikatowe API -> aplikacje
nie s¡ przeno±ne mi¦dzy chmurami
I Ka»da chmura ma swoje wªasne,
(klienci chmury)
I
Serializacja - przeksztaªcenie obiektów (instancji klas) do postaci
strumienia bajtów, z zachowaniem aktualnego stanu obiektu.
I
serializowany obiekt mo»e zosta¢ utrwalony w pliku dyskowym,
przesªany do innego procesu lub innego komputera poprzez sie¢.
I
deserializacja = proces odwrotny
Technologie - API
I Do komunikacji w architekturze REST wystarcz¡ zapytania
protokoªu HTTP: GET, POST, PUT, i DELETE
I API deniuje:
I
format danych przesyªanych w zapytaniach (np. JSON)
I
list¦ polece« wysyªanych do chmury i spodziewanych odpowiedzi
unikatowe API -> aplikacje
nie s¡ przeno±ne mi¦dzy chmurami
I Ka»da chmura ma swoje wªasne,
(klienci chmury)
I
Serializacja - przeksztaªcenie obiektów (instancji klas) do postaci
strumienia bajtów, z zachowaniem aktualnego stanu obiektu.
I
serializowany obiekt mo»e zosta¢ utrwalony w pliku dyskowym,
przesªany do innego procesu lub innego komputera poprzez sie¢.
I
deserializacja = proces odwrotny
Technologie - API
I Do komunikacji w architekturze REST wystarcz¡ zapytania
protokoªu HTTP: GET, POST, PUT, i DELETE
I API deniuje:
I
format danych przesyªanych w zapytaniach (np. JSON)
I
list¦ polece« wysyªanych do chmury i spodziewanych odpowiedzi
unikatowe API -> aplikacje
nie s¡ przeno±ne mi¦dzy chmurami
I Ka»da chmura ma swoje wªasne,
(klienci chmury)
I
Serializacja - przeksztaªcenie obiektów (instancji klas) do postaci
strumienia bajtów, z zachowaniem aktualnego stanu obiektu.
I
serializowany obiekt mo»e zosta¢ utrwalony w pliku dyskowym,
przesªany do innego procesu lub innego komputera poprzez sie¢.
I
deserializacja = proces odwrotny
Technologie - API
I Do komunikacji w architekturze REST wystarcz¡ zapytania
protokoªu HTTP: GET, POST, PUT, i DELETE
I API deniuje:
I
format danych przesyªanych w zapytaniach (np. JSON)
I
list¦ polece« wysyªanych do chmury i spodziewanych odpowiedzi
unikatowe API -> aplikacje
nie s¡ przeno±ne mi¦dzy chmurami
I Ka»da chmura ma swoje wªasne,
(klienci chmury)
I
Serializacja - przeksztaªcenie obiektów (instancji klas) do postaci
strumienia bajtów, z zachowaniem aktualnego stanu obiektu.
I
serializowany obiekt mo»e zosta¢ utrwalony w pliku dyskowym,
przesªany do innego procesu lub innego komputera poprzez sie¢.
I
deserializacja = proces odwrotny
Technologie - API
I Do komunikacji w architekturze REST wystarcz¡ zapytania
protokoªu HTTP: GET, POST, PUT, i DELETE
I API deniuje:
I
format danych przesyªanych w zapytaniach (np. JSON)
I
list¦ polece« wysyªanych do chmury i spodziewanych odpowiedzi
unikatowe API -> aplikacje
nie s¡ przeno±ne mi¦dzy chmurami
I Ka»da chmura ma swoje wªasne,
(klienci chmury)
I
Serializacja - przeksztaªcenie obiektów (instancji klas) do postaci
strumienia bajtów, z zachowaniem aktualnego stanu obiektu.
I
serializowany obiekt mo»e zosta¢ utrwalony w pliku dyskowym,
przesªany do innego procesu lub innego komputera poprzez sie¢.
I
deserializacja = proces odwrotny
API - JSON
JSON - JavaScript Object Notation - tekstowy format wymiany danych,
bazuj¡cy na j¦zyku JavaScript.
I Pomimo nazwy JSON jest formatem niezale»nym od konkretnego
j¦zyka.
I Wiele j¦zyków programowania obsªuguje format JSON przez
dodatkowe pakiety lub biblioteki (m.in. C, C++, C#, Java,
JavaScript, Perl, PHP, Python, Ruby)
I Dane w formacie JSON s¡ pobierane z serwera jako tekst (kodowany
za pomoc¡ UTF-8) przy wykorzystaniu obiektu
XMLHttpRequest
j¦zyka JavaScript, a nast¦pnie przeksztaªcane w obiekt.
API - JSON
JSON - JavaScript Object Notation - tekstowy format wymiany danych,
bazuj¡cy na j¦zyku JavaScript.
I Pomimo nazwy JSON jest formatem niezale»nym od konkretnego
j¦zyka.
I Wiele j¦zyków programowania obsªuguje format JSON przez
dodatkowe pakiety lub biblioteki (m.in. C, C++, C#, Java,
JavaScript, Perl, PHP, Python, Ruby)
I Dane w formacie JSON s¡ pobierane z serwera jako tekst (kodowany
za pomoc¡ UTF-8) przy wykorzystaniu obiektu
XMLHttpRequest
j¦zyka JavaScript, a nast¦pnie przeksztaªcane w obiekt.
API - JSON
JSON - JavaScript Object Notation - tekstowy format wymiany danych,
bazuj¡cy na j¦zyku JavaScript.
I Pomimo nazwy JSON jest formatem niezale»nym od konkretnego
j¦zyka.
I Wiele j¦zyków programowania obsªuguje format JSON przez
dodatkowe pakiety lub biblioteki (m.in. C, C++, C#, Java,
JavaScript, Perl, PHP, Python, Ruby)
I Dane w formacie JSON s¡ pobierane z serwera jako tekst (kodowany
za pomoc¡ UTF-8) przy wykorzystaniu obiektu
XMLHttpRequest
j¦zyka JavaScript, a nast¦pnie przeksztaªcane w obiekt.
API - JSON
API - JSON
I
Komunikat JSON - literaª obiektu j¦zyka Javascript (tablica
asocjacyjna).
I Wszystkie dane s¡ zmiennymi (nie stanowi¡ kodu wykonywalnego) a
nazwy skªadników (wªa±ciwo±ci) obiektów s¡ otoczone cudzysªowami.
I Mo»liwe warto±ci:
I
string (napis otoczony cudzysªowem),
I
number (liczba typu double),
I
staªa: false, null, true,
I
tablica zªo»ona z powy»szych elementów
I
obiekt
I Obiekty i tablice mog¡ by¢ dowolnie zagnie»d»ane.
I Przykªad:
API - JSON
I
Komunikat JSON - literaª obiektu j¦zyka Javascript (tablica
asocjacyjna).
I Wszystkie dane s¡ zmiennymi (nie stanowi¡ kodu wykonywalnego) a
nazwy skªadników (wªa±ciwo±ci) obiektów s¡ otoczone cudzysªowami.
I Mo»liwe warto±ci:
I
string (napis otoczony cudzysªowem),
I
number (liczba typu double),
I
staªa: false, null, true,
I
tablica zªo»ona z powy»szych elementów
I
obiekt
I Obiekty i tablice mog¡ by¢ dowolnie zagnie»d»ane.
I Przykªad:
API - JSON
I
Komunikat JSON - literaª obiektu j¦zyka Javascript (tablica
asocjacyjna).
I Wszystkie dane s¡ zmiennymi (nie stanowi¡ kodu wykonywalnego) a
nazwy skªadników (wªa±ciwo±ci) obiektów s¡ otoczone cudzysªowami.
I Mo»liwe warto±ci:
I
string (napis otoczony cudzysªowem),
I
number (liczba typu double),
I
staªa: false, null, true,
I
tablica zªo»ona z powy»szych elementów
I
obiekt
I Obiekty i tablice mog¡ by¢ dowolnie zagnie»d»ane.
I Przykªad:
API - JSON
I
Komunikat JSON - literaª obiektu j¦zyka Javascript (tablica
asocjacyjna).
I Wszystkie dane s¡ zmiennymi (nie stanowi¡ kodu wykonywalnego) a
nazwy skªadników (wªa±ciwo±ci) obiektów s¡ otoczone cudzysªowami.
I Mo»liwe warto±ci:
I
string (napis otoczony cudzysªowem),
I
number (liczba typu double),
I
staªa: false, null, true,
I
tablica zªo»ona z powy»szych elementów
I
obiekt
I Obiekty i tablice mog¡ by¢ dowolnie zagnie»d»ane.
I Przykªad:
API - JSON
I
Komunikat JSON - literaª obiektu j¦zyka Javascript (tablica
asocjacyjna).
I Wszystkie dane s¡ zmiennymi (nie stanowi¡ kodu wykonywalnego) a
nazwy skªadników (wªa±ciwo±ci) obiektów s¡ otoczone cudzysªowami.
I Mo»liwe warto±ci:
I
string (napis otoczony cudzysªowem),
I
number (liczba typu double),
I
staªa: false, null, true,
I
tablica zªo»ona z powy»szych elementów
I
obiekt
I Obiekty i tablice mog¡ by¢ dowolnie zagnie»d»ane.
I Przykªad:
Dost¦p do chmury - IAM
IAM = Identity and Access Management
Uwierzytelnianie
Uwierzytelnianie (authentication)
- czy u»ytkownik jest tym, za kogo
si¦ podaje? Proces skªada si¦ z dwóch etapów:
I
Identykacja (identication) podmiot deklaruje swoj¡ to»samo±¢
(identity).
I
w rozmowie telefonicznej z centrum obsªugi banku klient deklaruje
swoje dane (bank jest stron¡ ufaj¡c¡);
I
w procesie logowania do serwera u»ytkownik wpisuje nazw¦ (login)
(serwer jest stron¡ ufaj¡c¡);
I
podczas poª¡czenia przegl¡darki z serwerem SSL, ten ostatni
przedstawia certykat X.509 zawieraj¡cy jego nazw¦ (przegl¡darka
jest stron¡ ufaj¡c¡).
Uwierzytelnianie
Uwierzytelnianie (authentication)
- czy u»ytkownik jest tym, za kogo
si¦ podaje? Proces skªada si¦ z dwóch etapów:
I
Identykacja (identication) podmiot deklaruje swoj¡ to»samo±¢
(identity).
I
w rozmowie telefonicznej z centrum obsªugi banku klient deklaruje
swoje dane (bank jest stron¡ ufaj¡c¡);
I
w procesie logowania do serwera u»ytkownik wpisuje nazw¦ (login)
(serwer jest stron¡ ufaj¡c¡);
I
podczas poª¡czenia przegl¡darki z serwerem SSL, ten ostatni
przedstawia certykat X.509 zawieraj¡cy jego nazw¦ (przegl¡darka
jest stron¡ ufaj¡c¡).
Uwierzytelnianie
Uwierzytelnianie (authentication)
- czy u»ytkownik jest tym, za kogo
si¦ podaje? Proces skªada si¦ z dwóch etapów:
I
Identykacja (identication) podmiot deklaruje swoj¡ to»samo±¢
(identity).
I
w rozmowie telefonicznej z centrum obsªugi banku klient deklaruje
swoje dane (bank jest stron¡ ufaj¡c¡);
I
w procesie logowania do serwera u»ytkownik wpisuje nazw¦ (login)
(serwer jest stron¡ ufaj¡c¡);
I
podczas poª¡czenia przegl¡darki z serwerem SSL, ten ostatni
przedstawia certykat X.509 zawieraj¡cy jego nazw¦ (przegl¡darka
jest stron¡ ufaj¡c¡).
Uwierzytelnianie
Uwierzytelnianie (authentication)
- czy u»ytkownik jest tym, za kogo
si¦ podaje? Proces skªada si¦ z dwóch etapów:
I
Identykacja (identication) podmiot deklaruje swoj¡ to»samo±¢
(identity).
I
w rozmowie telefonicznej z centrum obsªugi banku klient deklaruje
swoje dane (bank jest stron¡ ufaj¡c¡);
I
w procesie logowania do serwera u»ytkownik wpisuje nazw¦ (login)
(serwer jest stron¡ ufaj¡c¡);
I
podczas poª¡czenia przegl¡darki z serwerem SSL, ten ostatni
przedstawia certykat X.509 zawieraj¡cy jego nazw¦ (przegl¡darka
jest stron¡ ufaj¡c¡).
Uwierzytelnianie
I
Uwierzytelnianie wªa±ciwe
strona ufaj¡ca stosuje odpowiedni¡
technik¦ uwierzytelniania (authentication mechanism) w celu
werykacji zadeklarowanej wcze±niej to»samo±ci.
I
personel banku prosi o podanie ustawionego wcze±niej hasªa
telefonicznego, daty urodzenia, nazwiska panie«skiego matki; suma
poprawnych odpowiedzi daje wysokie prawdopodobie«stwo, »e dana
osoba jest t¡, za któr¡ si¦ podaje;
I
serwer prosi u»ytkownika o wpisanie hasªa (lub wskazanie pliku
klucza) i werykuje jego zgodno±¢ z wcze±niej ustawion¡ warto±ci¡;
I
przegl¡darka werykuje podpis cyfrowy zªo»ony pod certykatem
serwera przez urz¡d certykacji, któremu ufa.
I
Lightweight Directory Access Protocol [LDAP] - werykuje listy
uwierzytelniaj¡ce (credentials) klienta, w których wyst¦puje
unikalny identykator u»ytkownika (Client ID), przypisany do niego
jako pracownika lub klienta chmury.
Uwierzytelnianie
I
Uwierzytelnianie wªa±ciwe
strona ufaj¡ca stosuje odpowiedni¡
technik¦ uwierzytelniania (authentication mechanism) w celu
werykacji zadeklarowanej wcze±niej to»samo±ci.
I
personel banku prosi o podanie ustawionego wcze±niej hasªa
telefonicznego, daty urodzenia, nazwiska panie«skiego matki; suma
poprawnych odpowiedzi daje wysokie prawdopodobie«stwo, »e dana
osoba jest t¡, za któr¡ si¦ podaje;
I
serwer prosi u»ytkownika o wpisanie hasªa (lub wskazanie pliku
klucza) i werykuje jego zgodno±¢ z wcze±niej ustawion¡ warto±ci¡;
I
przegl¡darka werykuje podpis cyfrowy zªo»ony pod certykatem
serwera przez urz¡d certykacji, któremu ufa.
I
Lightweight Directory Access Protocol [LDAP] - werykuje listy
uwierzytelniaj¡ce (credentials) klienta, w których wyst¦puje
unikalny identykator u»ytkownika (Client ID), przypisany do niego
jako pracownika lub klienta chmury.
Uwierzytelnianie
I
Uwierzytelnianie wªa±ciwe
strona ufaj¡ca stosuje odpowiedni¡
technik¦ uwierzytelniania (authentication mechanism) w celu
werykacji zadeklarowanej wcze±niej to»samo±ci.
I
personel banku prosi o podanie ustawionego wcze±niej hasªa
telefonicznego, daty urodzenia, nazwiska panie«skiego matki; suma
poprawnych odpowiedzi daje wysokie prawdopodobie«stwo, »e dana
osoba jest t¡, za któr¡ si¦ podaje;
I
serwer prosi u»ytkownika o wpisanie hasªa (lub wskazanie pliku
klucza) i werykuje jego zgodno±¢ z wcze±niej ustawion¡ warto±ci¡;
I
przegl¡darka werykuje podpis cyfrowy zªo»ony pod certykatem
serwera przez urz¡d certykacji, któremu ufa.
I
Lightweight Directory Access Protocol [LDAP] - werykuje listy
uwierzytelniaj¡ce (credentials) klienta, w których wyst¦puje
unikalny identykator u»ytkownika (Client ID), przypisany do niego
jako pracownika lub klienta chmury.
Uwierzytelnianie
I
Uwierzytelnianie wªa±ciwe
strona ufaj¡ca stosuje odpowiedni¡
technik¦ uwierzytelniania (authentication mechanism) w celu
werykacji zadeklarowanej wcze±niej to»samo±ci.
I
personel banku prosi o podanie ustawionego wcze±niej hasªa
telefonicznego, daty urodzenia, nazwiska panie«skiego matki; suma
poprawnych odpowiedzi daje wysokie prawdopodobie«stwo, »e dana
osoba jest t¡, za któr¡ si¦ podaje;
I
serwer prosi u»ytkownika o wpisanie hasªa (lub wskazanie pliku
klucza) i werykuje jego zgodno±¢ z wcze±niej ustawion¡ warto±ci¡;
I
przegl¡darka werykuje podpis cyfrowy zªo»ony pod certykatem
serwera przez urz¡d certykacji, któremu ufa.
I
Lightweight Directory Access Protocol [LDAP] - werykuje listy
uwierzytelniaj¡ce (credentials) klienta, w których wyst¦puje
unikalny identykator u»ytkownika (Client ID), przypisany do niego
jako pracownika lub klienta chmury.
Uwierzytelnianie
I
Uwierzytelnianie wªa±ciwe
strona ufaj¡ca stosuje odpowiedni¡
technik¦ uwierzytelniania (authentication mechanism) w celu
werykacji zadeklarowanej wcze±niej to»samo±ci.
I
personel banku prosi o podanie ustawionego wcze±niej hasªa
telefonicznego, daty urodzenia, nazwiska panie«skiego matki; suma
poprawnych odpowiedzi daje wysokie prawdopodobie«stwo, »e dana
osoba jest t¡, za któr¡ si¦ podaje;
I
serwer prosi u»ytkownika o wpisanie hasªa (lub wskazanie pliku
klucza) i werykuje jego zgodno±¢ z wcze±niej ustawion¡ warto±ci¡;
I
przegl¡darka werykuje podpis cyfrowy zªo»ony pod certykatem
serwera przez urz¡d certykacji, któremu ufa.
I
Lightweight Directory Access Protocol [LDAP] - werykuje listy
uwierzytelniaj¡ce (credentials) klienta, w których wyst¦puje
unikalny identykator u»ytkownika (Client ID), przypisany do niego
jako pracownika lub klienta chmury.
Metody uwierzytelniania
I
Dokumenty papierowe podpisy, piecz¦cie, parafowanie, znak
wodny (metody), po±wiadczenie notarialne (protokóª);
I
Osoby i inne istoty »ywe zabezpieczenie biometryczne,
dokument to»samo±ci, hasªo, karta elektroniczna (smart card),
biochip, token (generator kodów);
I
Wiadomo±ci i dokumenty elektroniczne - podpis cyfrowy, kod
uwierzytelniania wiadomo±ci (message authentication code);
I
Podmioty w komunikacji elektronicznej metody oparte na
dowodzie posiadania hasªa (kryptograa symetryczna) lub klucza
prywatnego (kryptograa asymetryczna), hasªo jednorazowe.
Metody uwierzytelniania
I
Dokumenty papierowe podpisy, piecz¦cie, parafowanie, znak
wodny (metody), po±wiadczenie notarialne (protokóª);
I
Osoby i inne istoty »ywe zabezpieczenie biometryczne,
dokument to»samo±ci, hasªo, karta elektroniczna (smart card),
biochip, token (generator kodów);
I
Wiadomo±ci i dokumenty elektroniczne - podpis cyfrowy, kod
uwierzytelniania wiadomo±ci (message authentication code);
I
Podmioty w komunikacji elektronicznej metody oparte na
dowodzie posiadania hasªa (kryptograa symetryczna) lub klucza
prywatnego (kryptograa asymetryczna), hasªo jednorazowe.
Metody uwierzytelniania
I
Dokumenty papierowe podpisy, piecz¦cie, parafowanie, znak
wodny (metody), po±wiadczenie notarialne (protokóª);
I
Osoby i inne istoty »ywe zabezpieczenie biometryczne,
dokument to»samo±ci, hasªo, karta elektroniczna (smart card),
biochip, token (generator kodów);
I
Wiadomo±ci i dokumenty elektroniczne - podpis cyfrowy, kod
uwierzytelniania wiadomo±ci (message authentication code);
I
Podmioty w komunikacji elektronicznej metody oparte na
dowodzie posiadania hasªa (kryptograa symetryczna) lub klucza
prywatnego (kryptograa asymetryczna), hasªo jednorazowe.
Metody uwierzytelniania
I
Dokumenty papierowe podpisy, piecz¦cie, parafowanie, znak
wodny (metody), po±wiadczenie notarialne (protokóª);
I
Osoby i inne istoty »ywe zabezpieczenie biometryczne,
dokument to»samo±ci, hasªo, karta elektroniczna (smart card),
biochip, token (generator kodów);
I
Wiadomo±ci i dokumenty elektroniczne - podpis cyfrowy, kod
uwierzytelniania wiadomo±ci (message authentication code);
I
Podmioty w komunikacji elektronicznej metody oparte na
dowodzie posiadania hasªa (kryptograa symetryczna) lub klucza
prywatnego (kryptograa asymetryczna), hasªo jednorazowe.
Metody uwierzytelniania
Funkcjonalna klasykacja metod uwierzytelniania
I
co± co wiesz (something you know) informacja b¦d¡ca w
wyª¡cznym posiadaniu uprawnionego podmiotu, na przykªad hasªo
lub klucz prywatny;
I
co± co masz (something you have) przedmiot b¦d¡cy w
posiadaniu uprawnionego podmiotu, na przykªad klucz (do zamka)
lub token (generator kodów);
I
co± czym jeste±
(something you are) metody biometryczne.
Metody uwierzytelniania
Funkcjonalna klasykacja metod uwierzytelniania
I
co± co wiesz (something you know) informacja b¦d¡ca w
wyª¡cznym posiadaniu uprawnionego podmiotu, na przykªad hasªo
lub klucz prywatny;
I
co± co masz (something you have) przedmiot b¦d¡cy w
posiadaniu uprawnionego podmiotu, na przykªad klucz (do zamka)
lub token (generator kodów);
I
co± czym jeste±
(something you are) metody biometryczne.
Metody uwierzytelniania
Funkcjonalna klasykacja metod uwierzytelniania
I
co± co wiesz (something you know) informacja b¦d¡ca w
wyª¡cznym posiadaniu uprawnionego podmiotu, na przykªad hasªo
lub klucz prywatny;
I
co± co masz (something you have) przedmiot b¦d¡cy w
posiadaniu uprawnionego podmiotu, na przykªad klucz (do zamka)
lub token (generator kodów);
I
co± czym jeste±
(something you are) metody biometryczne.
Autoryzacja
Autoryzacja (authorization) proces nadawania podmiotowi uprawnie«
do danych
I System operacyjny sprawdza uprawnienia zalogowanego
(uwierzytelnionego) u»ytkownika do pliku na podstawie jego
atrybutów w systemie plików
I U»ytkownik bankowo±ci internetowej, który zalogowaª si¦
(uwierzytelniª) za pomoc¡ loginu i hasªa, autoryzuje przelew za
pomoc¡ podpisu cyfrowego skªadanego za pomoc¡ hasªa
jednorazowego
I Zapora sieciowa równocze±nie uwierzytelnia i autoryzuje dost¦p do
portu serwera na podstawie adresu IP klienta
Autoryzacja
Autoryzacja (authorization) proces nadawania podmiotowi uprawnie«
do danych
I System operacyjny sprawdza uprawnienia zalogowanego
(uwierzytelnionego) u»ytkownika do pliku na podstawie jego
atrybutów w systemie plików
I U»ytkownik bankowo±ci internetowej, który zalogowaª si¦
(uwierzytelniª) za pomoc¡ loginu i hasªa, autoryzuje przelew za
pomoc¡ podpisu cyfrowego skªadanego za pomoc¡ hasªa
jednorazowego
I Zapora sieciowa równocze±nie uwierzytelnia i autoryzuje dost¦p do
portu serwera na podstawie adresu IP klienta
Autoryzacja
Autoryzacja (authorization) proces nadawania podmiotowi uprawnie«
do danych
I System operacyjny sprawdza uprawnienia zalogowanego
(uwierzytelnionego) u»ytkownika do pliku na podstawie jego
atrybutów w systemie plików
I U»ytkownik bankowo±ci internetowej, który zalogowaª si¦
(uwierzytelniª) za pomoc¡ loginu i hasªa, autoryzuje przelew za
pomoc¡ podpisu cyfrowego skªadanego za pomoc¡ hasªa
jednorazowego
I Zapora sieciowa równocze±nie uwierzytelnia i autoryzuje dost¦p do
portu serwera na podstawie adresu IP klienta
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
SAML - Security Assertion Markup Language
I rozwi¡zuje problem: jak unikn¡¢ duplikowania to»samo±ci?
(wielokrotnego logowania do stron www)
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I j¦zyk do wymiany danych werykacyjnych i autoryzacyjnych
pomi¦dzy domenami
I wykorzystywany do po±redniczenia w uwierzytelnianiu i
automatycznego przekazywania mi¦dzy systemami i aplikacjami
informacji o uprawnieniach u»ytkowników
I bazuje na standardzie XML
I klienci - rmy i organizacje
Standardy i specykacje IAM - SAML
¹ródªo: Cloud Security and Privacy, Shahed Latif, Subra Kumaraswamy, Tim Mather
Publisher,
O'Reilly Media, Inc. Release Date: September 2009
Standardy i specykacje IAM - SAML
Przykªad:
1. U»ytkownik chce sie poª¡czy¢ z Gmail
2. Google generuje »¡danie uwierzytelnienia SAML
3. Google wysyªa przekierowanie do przegl¡darki u»ytkownika. URL
zawiera zakodowane »¡danie uwierzytelnienia SAML
4. Firmowa usªuga ldP dekoduje »¡danie SAML i uwierzytelnia
u»ytkownika (prosi o list uwierzytelniaj¡cy lub sprawdza ciasteczka).
5. ldP generuje zakodowan¡ odpowied¹ SAML zawieraj¡c¡ nazw¦
u»ytkownika (username) i podpisuje j¡ kluczem publicznym oraz
prywatnym.
6. ldP przekazuje odpowied¹ SAML do przegl¡darki u»ytkownika a ta
przekierowuje j¡ do Google Assertion Consumer Service (ACS)
7. Google ACS werykuje odpowied¹ SAML kluczem publicznym. Je±li
werykacja jest pozytywna, ACS przekierowuje przegl¡dark¦
u»ytkownika do docelowego adresu (Gmail).
8. U»ytkownik loguje si¦ do Gmail.
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - SPML
SPML - Service Provisioning Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o koncie
u»ytkownika mi¦dzy chmurami?
I protokóª zatwierdzony przez OASIS (Organization for the
Advancement of Structured Information Standards)
I wykorzystywany do automatycznego przekazywania mi¦dzy
systemami informacji o koncie u»ytkownika
I bazuje na standardzie XML
I klienci - rmy i organizacje
I umo»liwia automatyczne tworzenie kont nowych u»ytkowników w
czasie rzeczywistym
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
XACML - eXensible Access Control Markup Language
I rozwi¡zuje problem: jak przekazywa¢ informacj¦ o uprawnieniach
u»ytkowników mi¦dzy chmurami?
I zatwierdzony przez OASIS j¦zyk opisu kontroli dost¦pu.
I bazuje na XML
I klienci - rmy i organizacje
I deniuje model polityki kontroli dost¦pu oraz protokóª »¡da« i
odpowiedzi w komunikacji podmiotu z jednostk¡ decyzyjn¡
I umo»liwia jednolit¡ polityk¦ kontroli dost¦pu dla ró»nych platform i
usªug
Standardy i specykacje IAM - XACML
¹ródªo: Cloud Security and Privacy, Shahed Latif, Subra Kumaraswamy, Tim Mather
Standardy i specykacje IAM - oAuth
oAuth -
standard uwierzytelniania i autoryzacji
jak autoryzowa¢ dost¦p usªugi X do danych
w usªudze Y bez ujawniania listów uwierzytelniaj¡cych
(credentials), np. loginu i hasªa?
I rozwi¡zuje problem:
I pozwala u»ytkownikom dzieli¢ swoje prywatne zasoby (np. zdj¦cia,
lmy, kontakty) przechowywane na jednej stronie z inn¡ stron¡ bez
konieczno±ci zagª¦biania si¦ w obsªug¦ ich po±wiadcze«, dostarczaj¡c
zazwyczaj nazw¦ u»ytkownika oraz token (hasªo jednorazowe).
Token taki pozwala na dost¦p do okre±lonej strony dla konkretnych
zasobów oraz na okre±lony czas.
I umo»liwia to u»ytkownikowi na udzielenie dost¦pu stronom trzecim
do informacji przechowywanych u innego dostarczyciela usªug bez
konieczno±ci wspóªdzielenia praw dost¦pu, b¡d¹ udzielenia peªnego
dost¦pu do danych.
I protokoª otwarty
Standardy i specykacje IAM - oAuth
oAuth -
standard uwierzytelniania i autoryzacji
jak autoryzowa¢ dost¦p usªugi X do danych
w usªudze Y bez ujawniania listów uwierzytelniaj¡cych
(credentials), np. loginu i hasªa?
I rozwi¡zuje problem:
I pozwala u»ytkownikom dzieli¢ swoje prywatne zasoby (np. zdj¦cia,
lmy, kontakty) przechowywane na jednej stronie z inn¡ stron¡ bez
konieczno±ci zagª¦biania si¦ w obsªug¦ ich po±wiadcze«, dostarczaj¡c
zazwyczaj nazw¦ u»ytkownika oraz token (hasªo jednorazowe).
Token taki pozwala na dost¦p do okre±lonej strony dla konkretnych
zasobów oraz na okre±lony czas.
I umo»liwia to u»ytkownikowi na udzielenie dost¦pu stronom trzecim
do informacji przechowywanych u innego dostarczyciela usªug bez
konieczno±ci wspóªdzielenia praw dost¦pu, b¡d¹ udzielenia peªnego
dost¦pu do danych.
I protokoª otwarty
Standardy i specykacje IAM - oAuth
oAuth -
standard uwierzytelniania i autoryzacji
jak autoryzowa¢ dost¦p usªugi X do danych
w usªudze Y bez ujawniania listów uwierzytelniaj¡cych
(credentials), np. loginu i hasªa?
I rozwi¡zuje problem:
I pozwala u»ytkownikom dzieli¢ swoje prywatne zasoby (np. zdj¦cia,
lmy, kontakty) przechowywane na jednej stronie z inn¡ stron¡ bez
konieczno±ci zagª¦biania si¦ w obsªug¦ ich po±wiadcze«, dostarczaj¡c
zazwyczaj nazw¦ u»ytkownika oraz token (hasªo jednorazowe).
Token taki pozwala na dost¦p do okre±lonej strony dla konkretnych
zasobów oraz na okre±lony czas.
I umo»liwia to u»ytkownikowi na udzielenie dost¦pu stronom trzecim
do informacji przechowywanych u innego dostarczyciela usªug bez
konieczno±ci wspóªdzielenia praw dost¦pu, b¡d¹ udzielenia peªnego
dost¦pu do danych.
I protokoª otwarty
Standardy i specykacje IAM - oAuth
oAuth -
standard uwierzytelniania i autoryzacji
jak autoryzowa¢ dost¦p usªugi X do danych
w usªudze Y bez ujawniania listów uwierzytelniaj¡cych
(credentials), np. loginu i hasªa?
I rozwi¡zuje problem:
I pozwala u»ytkownikom dzieli¢ swoje prywatne zasoby (np. zdj¦cia,
lmy, kontakty) przechowywane na jednej stronie z inn¡ stron¡ bez
konieczno±ci zagª¦biania si¦ w obsªug¦ ich po±wiadcze«, dostarczaj¡c
zazwyczaj nazw¦ u»ytkownika oraz token (hasªo jednorazowe).
Token taki pozwala na dost¦p do okre±lonej strony dla konkretnych
zasobów oraz na okre±lony czas.
I umo»liwia to u»ytkownikowi na udzielenie dost¦pu stronom trzecim
do informacji przechowywanych u innego dostarczyciela usªug bez
konieczno±ci wspóªdzielenia praw dost¦pu, b¡d¹ udzielenia peªnego
dost¦pu do danych.
I protokoª otwarty
Standardy i specykacje IAM - OpenID
OpenID -
otwarty standard rozproszonego uwierzytelnienia i dystrybucji
to»samo±ci u»ytkowników w usªugach webowych.
dystrybucji skªadników to»samo±ci
u»ytkownika pomi¦dzy wieloma serwisami webowymi.
I OpenID rozwi¡zuje problem
I Zamiast zakªada¢ niezale»ne konta w ka»dym z serwisów,
u»ytkownik zakªada jedno konto na serwerze OpenID, zapisuj¡c tam
swoje dane osobowe i uzyskuj¡c identykator OpenID.
I OpenID u»ywany jest przez klientów indywidualnych; niemal nie
funkcjonuje w rmach i instytucjach
Standardy i specykacje IAM - OpenID
OpenID -
otwarty standard rozproszonego uwierzytelnienia i dystrybucji
to»samo±ci u»ytkowników w usªugach webowych.
dystrybucji skªadników to»samo±ci
u»ytkownika pomi¦dzy wieloma serwisami webowymi.
I OpenID rozwi¡zuje problem
I Zamiast zakªada¢ niezale»ne konta w ka»dym z serwisów,
u»ytkownik zakªada jedno konto na serwerze OpenID, zapisuj¡c tam
swoje dane osobowe i uzyskuj¡c identykator OpenID.
I OpenID u»ywany jest przez klientów indywidualnych; niemal nie
funkcjonuje w rmach i instytucjach
Standardy i specykacje IAM - OpenID
OpenID -
otwarty standard rozproszonego uwierzytelnienia i dystrybucji
to»samo±ci u»ytkowników w usªugach webowych.
dystrybucji skªadników to»samo±ci
u»ytkownika pomi¦dzy wieloma serwisami webowymi.
I OpenID rozwi¡zuje problem
I Zamiast zakªada¢ niezale»ne konta w ka»dym z serwisów,
u»ytkownik zakªada jedno konto na serwerze OpenID, zapisuj¡c tam
swoje dane osobowe i uzyskuj¡c identykator OpenID.
I OpenID u»ywany jest przez klientów indywidualnych; niemal nie
funkcjonuje w rmach i instytucjach
Google GData
I Google opracowaªa hybrydow¡ wersj¦ OpenID i OAuth (GData API),
redukuj¡c liczb¦ akcji potrzebnych do uwierzytelnienia i autoryzacji
¹ródªo: Cloud Security and Privacy, Shahed Latif, Subra Kumaraswamy, Tim Mather
Publisher, O'Reilly Media, Inc. Release Date: September 2009
Google GData
1. Aplikacja webowa prosi usªug¦ Google Authorization o token dla
usªugi Google
2. Google sprawdza, czy aplikacja jest zarejstrowana i zwraca
nieautoryzowany token
3. Aplikacja webowa kieruje u»ytkownika na stron¦ autoryzacyjn¡
Google, przekazuj¡c nieautoryzowany token
4. U»ytkownik loguje si¦ do konta Google i zgadza si¦ (b¡d¹ nie) na
ograniczony dost¦p aplikacji webowej do usªugi Google (poprzez jego
konto)
5. Je±li u»ytkownik zgodziª si¦, usªuga Google Authorization
przekierowuje go na stron¦ aplikacji webowej (wraz z autoryzowanym
tokenem).
6. Aplikacja webowa wysyªa do Google Authorization »¡danie wymiany
autoryzowanego tokena na token dost¦pu.
7. Google Authorization werykuje »¡danie i zwraca token dost¦pu.
8. Aplikacja webowa wysyªa do usªugi Google zapytanie podpisane
tokenem dostepu.
9. Usªuga Google ropoznaje token i udziela dost¦pu do danych.
Gdata-python-client
Google Data (Gdata) - Biblioteka Python do komunikacji z dyskiem
Google
I ¹ródªo:
https://code.google.com/p/gdata-python-client/downloads/list
I instalacja:
cd gdata−2.0.18
sudo python setup.py install
I przykªad - obsªuga arkusza kalkulacyjnego Google (Google Sheet)
cd gdata−2.0.18/samples/spreadsheets
spreadsheetExample.py
Google
1. Instrukcja rejestracji nowego klienta (projektu) w Google Developers
Console:
https://developers.google.com/api-clientlibrary/python/samples/samples
2. Autoryzacja:
http://stackoverow.com/questions/26925125/accesstokenrefresherrorgoogle-spreadsheet-api-with-oauth-2-0-service-accounto?noredirect=1#comment42398164_26925125
Potrzebne biblioteki Python:
I
httplib2: https://code.google.com/p/httplib2/downloads/list
I
google.appengine.api:
https://cloud.google.com/appengine/downloads
I
pakiety: python-memcache, oauth2client