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