SlideShare a Scribd company logo
1 of 8
Download to read offline
Inżynieria oprogramowania
rozproszonego
… na „potrzeby” wybranych projektów
Koła Informatyki
Katowice, 08.03.2021
Oprogramowanie rozproszone?
❑ System rozproszony to „kolekcja niezależnych
komputerów, które z punktu widzenia użytkownika
wyglądają jak pojedynczy, spójny system”
[Distributed Systems: Principles and Paradigms,
wyd. 2. Upper Saddle River, NJ: Prentice-Hall]
❑ Korzyści tworzenia systemów jako rozwiązań
rozproszonych:
✓ Współużytkowanie zasobów
✓ Otwartość
✓ Współbieżność
✓ Skalowalność
✓ Tolerancja na awarie
[Coulouris G., Dollimore J., Kindberg., Blair G. 2011.
Distributed Systems: Concepts and Design, 5th
Edition. Harlow, UK: Addison Wesley]
Zagadnienia Inżynierii Oprogramowania nt.
oprogramowania rozproszonego
❑ Systemy rozproszone
… problemy projektowe: przezroczystość, otwartość,
skalowalność, zabezpieczenia, jakość usług, zarządzanie
awariami … modele interakcji to proceduralna (np. Java
RMI) lub komunikatowa (wyk. middleware)
❑ Przetwarzanie klient – serwer
model architektoniczny aplikacji (np. klient - apka na
smartfonie korzysta z usług serwera albo serwer www
i przeglądarką na PC)
❑ Wzorce architektoniczne systemów rozproszonych
architektura master-slave, dwupoziomowa architektura
klient-serwer, wielopoziomowa architektura klient-serwer,
architektura rozproszonych komponentów, architektura
peer-to-peer.
❑ Oprogramowanie jako usługa
O tym dalsza prezentacja …
SaaS (Software as a service)
❑ Kluczowe w Saas to:
❑ Oprogramowanie
jest wdrażane na
serwerze
(najczęściej w tzw
chmurze)
❑ Właścicielem jest
dostawca usługi/ a
nie użytkownik
❑ Użytkownicy mogą/
ale nie muszą płacić
za wykorzystanie
usług Usługo-centryczna inżynieria oprogramowania
Usługo-centryczna inżynieria
oprogramowania
▪ O czym pisze I. Sommervile,
m.in.:
✓ Architektury usługocentryczne
(SOA, SOAP, WSDL, WS-BPEL, XML)
✓ Usługi RESTful
(lżejsze podejście do architektury
usług www)
✓ Inżynieria usług
(proces wytwarzania usług do
wielokrotnego użycia w aplikacjach
usługo-centrycznych)
✓ Komponowanie usług
(tworzenie usług z wykorzystaniem i
konfigurowaniem innych usług)
Rysunek poglądowy dla architektury REST
Realizacja projektów
Jakie usługi? Wybierz coś
z np.
▪API Google Cloud Platform
http://bityl.pl/T80Hy
▪API Amazon Web Services
http://bityl.pl/pC2Yw
▪API Facebook
http://bityl.pl/aYdqF
Diagram use case stworzony „na szybko on-line”
w: https://app.diagrams.net/ (jak masz więcej czasu,
to skorzystaj z bardziej wyspecjalizowanego narzędzia
wspierającego notację UML)
Zastąp szablonowe przypadki użycia
– własnymi pomysłami
Pierwsza aplikacja
▪ https://www.tutorialspoint.
com/restful/restful_first_ap
plication.htm
1. Creating a Java Project
2. Adding the Required
Libraries
3. Creating the Source
Files
4. Creating the Web.xml
configuration File
5. Deploying the Program
6. Running the Program
https://en.wikipedia.org/wiki/Roy_Fielding
Kto wymyślił REST’a?
Kolo REST

More Related Content

More from University of Economics in Katowice

More from University of Economics in Katowice (16)

Initiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App EngineInitiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App Engine
 
ie.pdf
ie.pdfie.pdf
ie.pdf
 
puś.ppt
puś.pptpuś.ppt
puś.ppt
 
swd.pdf
swd.pdfswd.pdf
swd.pdf
 
EARv3.pdf
EARv3.pdfEARv3.pdf
EARv3.pdf
 
Projektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowychProjektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowych
 
Angular10302021
Angular10302021Angular10302021
Angular10302021
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Inicjacja wg OpenUP
Inicjacja wg OpenUPInicjacja wg OpenUP
Inicjacja wg OpenUP
 
Dyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUPDyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUP
 
Atrybut zgodności
Atrybut zgodnościAtrybut zgodności
Atrybut zgodności
 
Wstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach ITWstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach IT
 
Projektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowaProjektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowa
 
Inżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowaInżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowa
 
Tworzenie internetowych gier edukacyjnych i biznesowych - prezentacja bazowa
Tworzenie internetowych gier edukacyjnych i biznesowych - prezentacja bazowaTworzenie internetowych gier edukacyjnych i biznesowych - prezentacja bazowa
Tworzenie internetowych gier edukacyjnych i biznesowych - prezentacja bazowa
 
Systemy operacyjne prezentacja bazowa.ppt
Systemy operacyjne prezentacja bazowa.pptSystemy operacyjne prezentacja bazowa.ppt
Systemy operacyjne prezentacja bazowa.ppt
 

Kolo REST

  • 1. Inżynieria oprogramowania rozproszonego … na „potrzeby” wybranych projektów Koła Informatyki Katowice, 08.03.2021
  • 2. Oprogramowanie rozproszone? ❑ System rozproszony to „kolekcja niezależnych komputerów, które z punktu widzenia użytkownika wyglądają jak pojedynczy, spójny system” [Distributed Systems: Principles and Paradigms, wyd. 2. Upper Saddle River, NJ: Prentice-Hall] ❑ Korzyści tworzenia systemów jako rozwiązań rozproszonych: ✓ Współużytkowanie zasobów ✓ Otwartość ✓ Współbieżność ✓ Skalowalność ✓ Tolerancja na awarie [Coulouris G., Dollimore J., Kindberg., Blair G. 2011. Distributed Systems: Concepts and Design, 5th Edition. Harlow, UK: Addison Wesley]
  • 3. Zagadnienia Inżynierii Oprogramowania nt. oprogramowania rozproszonego ❑ Systemy rozproszone … problemy projektowe: przezroczystość, otwartość, skalowalność, zabezpieczenia, jakość usług, zarządzanie awariami … modele interakcji to proceduralna (np. Java RMI) lub komunikatowa (wyk. middleware) ❑ Przetwarzanie klient – serwer model architektoniczny aplikacji (np. klient - apka na smartfonie korzysta z usług serwera albo serwer www i przeglądarką na PC) ❑ Wzorce architektoniczne systemów rozproszonych architektura master-slave, dwupoziomowa architektura klient-serwer, wielopoziomowa architektura klient-serwer, architektura rozproszonych komponentów, architektura peer-to-peer. ❑ Oprogramowanie jako usługa O tym dalsza prezentacja …
  • 4. SaaS (Software as a service) ❑ Kluczowe w Saas to: ❑ Oprogramowanie jest wdrażane na serwerze (najczęściej w tzw chmurze) ❑ Właścicielem jest dostawca usługi/ a nie użytkownik ❑ Użytkownicy mogą/ ale nie muszą płacić za wykorzystanie usług Usługo-centryczna inżynieria oprogramowania
  • 5. Usługo-centryczna inżynieria oprogramowania ▪ O czym pisze I. Sommervile, m.in.: ✓ Architektury usługocentryczne (SOA, SOAP, WSDL, WS-BPEL, XML) ✓ Usługi RESTful (lżejsze podejście do architektury usług www) ✓ Inżynieria usług (proces wytwarzania usług do wielokrotnego użycia w aplikacjach usługo-centrycznych) ✓ Komponowanie usług (tworzenie usług z wykorzystaniem i konfigurowaniem innych usług) Rysunek poglądowy dla architektury REST
  • 6. Realizacja projektów Jakie usługi? Wybierz coś z np. ▪API Google Cloud Platform http://bityl.pl/T80Hy ▪API Amazon Web Services http://bityl.pl/pC2Yw ▪API Facebook http://bityl.pl/aYdqF Diagram use case stworzony „na szybko on-line” w: https://app.diagrams.net/ (jak masz więcej czasu, to skorzystaj z bardziej wyspecjalizowanego narzędzia wspierającego notację UML) Zastąp szablonowe przypadki użycia – własnymi pomysłami
  • 7. Pierwsza aplikacja ▪ https://www.tutorialspoint. com/restful/restful_first_ap plication.htm 1. Creating a Java Project 2. Adding the Required Libraries 3. Creating the Source Files 4. Creating the Web.xml configuration File 5. Deploying the Program 6. Running the Program https://en.wikipedia.org/wiki/Roy_Fielding Kto wymyślił REST’a?