biznesowe systemy rozproszone
TRANSCRIPT
-
Integracja systemw biznesowychTomasz Pawlak
27.10.2017Biznesowe Systemy Rozproszone
-
Plan prezentacji
Wprowadzenie do integracji systemw biznesowych
Brokerzy wiadomoci
Systemy workflow
Middleware w sieciach rozlegych
Serwery aplikacji
27.10.2017Biznesowe Systemy Rozproszone
2
-
Problem
Wiele systemw w przedsibiorstwie
Rni producenci
Rne technologie
Rne zakresy funkcjonalnoci
Zapewnienie wsppracy systemw
Jedno- lub dwustronne przekazywanie informacji
Powiadamianie o zdarzeniach
Zapewnienie spjnoci informacji
27.10.2017Biznesowe Systemy Rozproszone
3
-
Rozwizanie 1: Middleware
Zmodyfikujmy aplikacje tak, aby wykorzystyway middlewareokrelonego producenta
Moliwe jeli
Kod rdowy jest dostpny
Producent podejmie si realizacji
Wysokie koszty
27.10.2017Biznesowe Systemy Rozproszone
4
-
Rozwizanie 2: EAI
Platforma integracji aplikacji
Enterprise Application Integration (EAI)
Middleware + rozszerzenia uatwiajce integracj systemw
Rnych producentw
Bez dostpu do kodu rdowego
Z uyciem asynchronicznej komunikacji
Najczciej
Brokerzy wiadomoci (MB, MOM)
Systemy workflow
27.10.2017Biznesowe Systemy Rozproszone
5
-
Integracja Aplikacji BiznesowychEnterprise Application Integration (EAI)
27.10.2017Biznesowe Systemy Rozproszone
6
-
Aspekt historyczny
Przejcie od mainframe do zbioru serwerw
Mainframe
Jedno rdo informacji
Dostp za porednictwem terminali
Zbir serwerw
Rozproszona informacje
Klienci uzyskuj dostp do kadego serwera z osobna
Brak komunikacji midzy serwerami
27.10.2017Biznesowe Systemy Rozproszone
7
-
Aspekt historyczny (2)
Przejcie na architektur 3-tier
Wydzielenie odpowiedzialnoci
Prezentacji
Logiki aplikacyjnej
Dostpu do zasobw
Middleware
czenie moduw logiki aplikacyjnej w rnych lokalizacjach
Unifikacja dostpu do danych
Pierwsze kroki: integracja baz danych przy uyciu monitorw TP
27.10.2017Biznesowe Systemy Rozproszone
8
-
Aspekt historyczny (3)
Przejcie od zbioru serwerw do farm serwerw
Middleware nadao pdu w rozwoju systemw informatycznych
Brak wysiku zwizanego z aspektami technicznymi
Skupienie na logice aplikacyjnej
Architektura wielopoziomowa (n-tier)
Integracja pojedynczych usug w bardziej zoone
Budowanie hierarchii
Nowe poziomy dziaaj w sposb bardziej abstrakcyjny
Ukrycie szczegowych usug i zoonoci systemu
27.10.2017Biznesowe Systemy Rozproszone
9
-
Integracja systemw
Efektem integracji systemw jest automatyzacja:
Wymiany danych midzy systemami
Administracji systemami
Wdroenia
Instalacji
Monitorowania i zarzdzania
27.10.2017Biznesowe Systemy Rozproszone
10
Dostarczane dla kadego systemu z osobna
Potrzeba integracji w jeden spjny proces
-
Studium przypadku
Automatyzacja acucha dostaw
Obsuga ofert
Obsuga zamwie
Dostawa towaru
27.10.2017Biznesowe Systemy Rozproszone
11
System ofertowy
System zamwie
System dostaw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
Baza klientw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
System planowania
zasobw
-
System obsugi ofert
Klient wysya zapytanie ofertowe Nazwa towaru
Oczekiwana ilo
Producent odsya ofert Cena
Czas realizacji
Dostpna ilo
Zamienniki
Na podstawie Wasnej bazy danych klientw (zniki itp.)
Wasnej bazy danych produktw
Wasnej bazy danych dostawcw
Systemw ofertowych dostawcw materiaw potrzebnych do produkcji
Systemw planowania zasobw przedsibiorstwa (pracy, stanw magazynowych)27.10.2017Biznesowe Systemy Rozproszone
12
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
-
System obsugi zamwie
Klient wysya zamwienie
Nazwa towaru
Ilo
Producent
Weryfikuje zamwienie z ofert z systemu ofertowego
Np.: min. wielko zamwienia, czas zamwienia,
Weryfikacja patnoci w systemie bankowym
Dodaje zamwienie do kolejki obsugi
Odszukanie dostawcw w bazie danych dostawcw
Zamwienie materiaw w systemach zamwie dostawcw
Planowanie pracy w systemach planowania zasobw przedsibiorstwa
Szeregowanie zada na tamie produkcyjnej
Umieszczenie zamwienia w systemie ewidencji magazynu
27.10.2017Biznesowe Systemy Rozproszone
13
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
System magazynowy
-
System dostawy towaru
Producent
Odbir towaru w systemie ewidencji magazynu
Zlecenie transportu w systemie firmy kurierskiej
Wystawienie faktury w systemie ksigowym
Ewidencja patnoci przy odbiorze w systemie sprzeday
27.10.2017Biznesowe Systemy Rozproszone
14
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
System magazynowy
-
System dostawy towaru
Producent
Odbir towaru w systemie ewidencji magazynu
Zlecenie transportu w systemie firmy kurierskiej
Wystawienie faktury w systemie ksigowym
Ewidencja patnoci przy odbiorze w systemie sprzeday
27.10.2017Biznesowe Systemy Rozproszone
14
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
System magazynowy
-
System dostawy towaru
Producent
Odbir towaru w systemie ewidencji magazynu
Zlecenie transportu w systemie firmy kurierskiej
Wystawienie faktury w systemie ksigowym
Ewidencja patnoci przy odbiorze w systemie sprzeday
27.10.2017Biznesowe Systemy Rozproszone
14
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
System magazynowy
System firmy kurierskiej
-
System dostawy towaru
Producent
Odbir towaru w systemie ewidencji magazynu
Zlecenie transportu w systemie firmy kurierskiej
Wystawienie faktury w systemie ksigowym
Ewidencja patnoci przy odbiorze w systemie sprzeday
27.10.2017Biznesowe Systemy Rozproszone
14
System ofertowy
System zamwie
System dostaw
Baza klientw
Baza produktw
Baza dostawcw
Systemy ofertowe
dostawcw
System planowania
zasobw
Bank
Systemy zamwie dostawcw
System szeregowania
zada
System magazynowy
System firmy kurierskiej
System ksigowy
-
Trudnoci techniczne w integracji systemw
Rne systemy operacyjne Rne technologie
Rne interfejsy i funkcjonalno systemw Systemy transakcyjne i beztransakcyjne
Systemy ze ustandaryzowanym IDL i z wasnym IDL
Rne formaty danych i protokoy komunikacji
Rne wymagania dot. Bezpieczestwa Nazwa uytkownika/haso
Certyfikaty
Karty inteligentne
Rna infrastruktura Narzdzia monitorowania i zarzdzania
Zdalna instalacja, konfiguracja
Repozytoria usug27.10.2017Biznesowe Systemy Rozproszone
15
-
Standaryzacja
Standaryzacja interfejsw usug danego typu
Interfejsw systemw zarzdzania baz danych
ODBC
JDBC
ADO.NET
Interfejsw usug
CORBA
SOAP
REST
27.10.2017Biznesowe Systemy Rozproszone
16
-
Trudnoci biznesowe w integracji systemw
Hierarchia zarzdzania systemami w firmie
Rni waciciele/zarzdcy usug
Oddziay firmy
Rozbiene wymagania i oczekiwania stawiane przed systemami
Outsourcing systemw
27.10.2017Biznesowe Systemy Rozproszone
17
-
Brokerzy WiadomociMessage Brokers (MB)
27.10.2017Biznesowe Systemy Rozproszone
18
-
Brokerzy wiadomoci
Message Brokers (MB)
Middleware nastawione na wiadomoci
Kolejki wiadomoci
Transakcyjno, asynchronizm (z MOM)
Filtrowanie, trasowanie, modyfikacja wiadomoci (MB)
Dostarczanie wiadomoci na podstawie zawartoci
Dynamiczna selekcja odbiorcw
Integracja systemw heterogenicznych
27.10.2017Biznesowe Systemy Rozproszone
19
-
Dziaanie brokera wiadomoci
Wiadomo przesana zgodnie z reguami filtrowania
Moe trafi do wielu usug (multicast, broadcast)
Moe by odrzucona (filtrowanie)
27.10.2017Biznesowe Systemy Rozproszone
20
Dyspozytor
MOM
Usuga 1 Usuga 2 Usuga 3 Usuga 4
-
Dziaanie brokera wiadomoci (2)
Kolejki tworzone dynamicznie
Na podstawie wymaga zgoszonych przez usugi
Na podstawie konfiguracji
Mog pojawia si i znika w czasie dziaania systemu
27.10.2017Biznesowe Systemy Rozproszone
21
-
Kolejki wspdzielone
Wielu odbiorcw jednej kolejki
Wykorzystywane dla
Rwnowaenia obcienia
Podniesienia odpornoci na awarie
27.10.2017Biznesowe Systemy Rozproszone
22
-
Interakcja typu publikuj subskrybuj
Nadawca wiadomoci
Nie specyfikuje odbiorcy
Publikuje wiadomo
Odbiorca
Subskrybuje wiadomoci speniajce okrelone kryteria
Typ wiadomoci
Regua dopasowania
Nadawca nie zna tosamoci odbiorcy
27.10.2017Biznesowe Systemy Rozproszone
23
-
Reguy trasowania wiadomoci
Zdefiniowane przez uytkownika/administratora systemu
Jzyk reguowy
Cz warunkowa reguy
Tosamo nadawcy
Typ wiadomoci
Zawarto wiadomoci
Wartoci waciwoci w nagwku
Wartoci treci
Konkluzja reguy
Kolejka, do ktrej dopisa wiadomo
27.10.2017Biznesowe Systemy Rozproszone
24
-
Reguy trasowania wiadomoci (2)
Zdefiniowane globalnie
Mwi do jakich kolejek dodawa wiadomoci
Zdefiniowane na poziomie kolejek
Mwi, jakimi wiadomociami kolejka jest zainteresowana
27.10.2017Biznesowe Systemy Rozproszone
25
-
Przykad w Apache Camel
Java
RouteBuilder builder = new RouteBuilder() {public void configure() {
errorHandler(deadLetterChannel("mock:error"));
from("direct:a").choice()
.when(header("foo").isEqualTo("bar")).to("direct:b")
.when(header("foo").isEqualTo("cheese")).to("direct:c")
.otherwise().to("direct:d");
}};
XML
$foo = 'bar'
$foo = 'cheese'
27.10.2017Biznesowe Systemy Rozproszone
26
http://camel.apache.org/schema/spring"
-
Reguy transformacji wiadomoci
Zdefiniowane przez administratora w MB
Konwersja formatu wiadomoci, np.:
JSON XML
Normalizacja wartoci, np.:
Przeliczenia jednostek: kilogramy funty
Przeliczenia walutowe
Zysk: brak modyfikacji/dostosowania aplikacji do wsppracy
27.10.2017Biznesowe Systemy Rozproszone
27
-
Rnice midzy MOM i MB
MOM
Nadawca wyznacza odbiorc
Nadawca zna odbiorc
Wiadomo dostarczona raz
Formatowanie wiadomoci wykonywane przez aplikacje
MB
Reguy trasowania wyznaczaj odbiorc
Nadawcy nie znaj odbiorcw
Wiadomo dostarczona wielokrotnie
Formatowanie wiadomoci wykonywane przez brokera
27.10.2017Biznesowe Systemy Rozproszone
28
-
Administracja brokerem wiadomoci
Moliwoci administratora
Definiowanie typw wiadomoci
Zarzdzanie dostpem do wiadomoci/kolejek
Uytkownicy
Prawa dostpu
Rozproszone zarzdzanie/odpowiedzialno
Systemy skadowe zarzdzane przez rne jednostki
Rozwizanie problemw biznesowych
27.10.2017Biznesowe Systemy Rozproszone
29
-
Administracja brokerem wiadomoci (2)
Rozproszone zarzdzanie
27.10.2017Biznesowe Systemy Rozproszone
30
Dyspozytor
MOM
Usuga 1 Usuga 2 Usuga 3 Usuga 4
Oddzia A Oddzia B Oddzia C
Centrala
-
Integracja systemw z uyciem MB
Przygotowanie adapterw
Normalizacja interfejsu
Normalizacja formatw danych
Ukrycie szczegw implementacyjnych
Ukrycie heterogenicznoci systemu
Wada: osobny adapter dla kadego systemu skadowego
Broker wiadomoci
Definicja regu trasowania
Definicja regu transformacji
27.10.2017Biznesowe Systemy Rozproszone
31
-
Integracja systemw z uyciem MB (2)
Przygotowanie aplikacji
Korzystajcej ze zintegrowanego systemu
Konfiguracja adapterw
Subskrypcja wiadomoci
Publikacja wiadomoci
27.10.2017Biznesowe Systemy Rozproszone
32
-
Zalety i wady MB jako systemw integracji
Zalety
Sabe powizanie elementw systemu
Niski koszt rozwoju
Niski koszt rozszerzania systemu
Adaptery
Zmiany w systemie skadowym nie powoduj zmian w innych systemach
Niski koszt utrzymania
Wady
Drogie licencje
MB: > $100 000
Adaptery: kilkaset, kilka tysicy dolarw
(Istniej rozwizania open-source)
Koszty szkole pracownikw
Koszty programistyczne integracji nie s zerowe!
27.10.2017Biznesowe Systemy Rozproszone
33
-
Systemy MB w uyciu
ActiveSoftware/WebMethods Integration Server
Tibco ActiveEnterprise
Oracle WebLogic Integration
IBM WebSphere MQ
Open-source
Apache ActiveMQ + Apache Camel
Apache Qpid
RabbitMQ
27.10.2017Biznesowe Systemy Rozproszone
34
-
27.10.2017Biznesowe Systemy Rozproszone
35
Systemy workflowWorkflow Management Systems (WMS)
-
Systemy workflow
Zarzdzanie przepywem informacji w integrowanym systemie
Dla porwnania:
MB: ukrycie heterogenicznoci systemu pod jednorodnym interfejsem
Pocztki:
Systemy automatyzacji prac biurowych
Obieg dokumentw
Dokumenty elektroniczne zamiast papierowych
27.10.2017Biznesowe Systemy Rozproszone
36
-
Typy systemw workflow
Administrative Workflow
Automatyzacja procedur biurowych
Obieg dokumentw
Production Workflow
Automatyzacja procesw biznesowych
Przepyw informacji midzy systemami
Uatwiaj inynieri procesw biznesowych
Zrozumienie
Optymalizacja
Brak narzdzi integracji heterogenicznych systemw (brak adapterw)
W praktyce czone z brokerami wiadomoci w jednym systemie
27.10.2017Biznesowe Systemy Rozproszone
37
-
Prby standaryzacji
Poowa lat 1990
Workflow Management Coalition
Pocztkowo wielu producentw systemw
Niewiele zgodnych implementacji
27.10.2017Biznesowe Systemy Rozproszone
38
-
Proces biznesowy
27.10.2017Biznesowe Systemy Rozproszone
39
-
Proces biznesowy
Zbir aktywnoci
Ludzi
Oprogramowania
Stanowicy rne kroki do osignicia celu biznesowego
Przykady
Rozliczenie podry subowej
Zatrudnienie nowego pracownika
Realizacja zamwienia klienta
27.10.2017Biznesowe Systemy Rozproszone
39
-
System workflow
Proces workflow
Formalna reprezentacja procesu (biznesowego)
Pozwala na automatyczne wykonanie
System zarzdzania procesami workflow
Projektowanie
Rozwj
Wykonanie
Analiza
27.10.2017Biznesowe Systemy Rozproszone
40
-
Reprezentacja procesu workflow (1)
Graf skierowany
Wze aktywnoci
Jednostka pracy do wykonania przez czowieka lub urzdzenie
Wze trasujcy
Definiuje cieki wykonania
Kolejno
Powtrzenia
Warunki
Rwnolego
Wzy pocztkowy i kocowy procesu
uki kierunek przepywu sterowania
27.10.2017Biznesowe Systemy Rozproszone
41
-
Reprezentacja procesu workflow (2)
Instancja procesu workflow
Proces w trakcie pracy
Moe istnie wiele instancji jednoczenie
27.10.2017Biznesowe Systemy Rozproszone
42
-
Programowanie procesw workflow
Zmienne
Zmienne procesu
Argumenty aktywnoci
Wartoci zwracane przez aktywnoci
Wykorzystywane w warunkach
Instrukcje przepywu sterowania
If, Switch, For, While,
27.10.2017Biznesowe Systemy Rozproszone
43
-
Programowanie procesw workflow (2)
Systemy workflow
System duej skali (dziaa ponad innymi systemami)
Procesy trwaj dugo
Aktywnoci trwaj dugo (kilka godzin, kilka dni)
Efekt:
Zmienne utrzymuj dugo swoje wartoci
Brak koniecznoci optymalizacji czasu trwania wykonania procesu
Konieczno wyrafinowanej obsugi bdw
27.10.2017Biznesowe Systemy Rozproszone
44
-
Obsuga bdw w systemach workflow
27.10.2017Biznesowe Systemy Rozproszone
45
-
Obsuga bdw w systemach workflow
Awaria aplikacji
Restart
27.10.2017Biznesowe Systemy Rozproszone
45
-
Obsuga bdw w systemach workflow
Awaria aplikacji
Restart
Awaria systemu transakcyjnego
Wycofanie transakcji
Opcjonalnie prba ponownego wykonania
27.10.2017Biznesowe Systemy Rozproszone
45
-
Obsuga bdw w systemach workflow
Awaria aplikacji
Restart
Awaria systemu transakcyjnego
Wycofanie transakcji
Opcjonalnie prba ponownego wykonania
System workflow
Restartowanie moe by kosztowne
Aktywno biznesowa (np.: zamwienie materiaw) zostaa ju wykonana
Wycofanie moe by niemoliwe
Np.: nie mona wycofa listu wysanego do klienta
27.10.2017Biznesowe Systemy Rozproszone
45
-
Obsuga bdw w systemach workflow 2
27.10.2017Biznesowe Systemy Rozproszone
46
-
Obsuga bdw w systemach workflow 2
Odtwarzanie w przd
Stan przetwarzania instancji procesu zapisany trwale
Po awarii system wraca do stanu przed awari
Ryzyko: aktywnoci w trakcie wykonywania w momencie awarii mog zosta powtrzone
27.10.2017Biznesowe Systemy Rozproszone
46
-
Obsuga bdw w systemach workflow 2
Odtwarzanie w przd
Stan przetwarzania instancji procesu zapisany trwale
Po awarii system wraca do stanu przed awari
Ryzyko: aktywnoci w trakcie wykonywania w momencie awarii mog zosta powtrzone
Odtwarzanie w ty
Odpowiednik wycofania transakcji
Wzy aktywnoci zwizane z aktywnociami kompensujcymi
Np.: anulowanie zamwienia na materiay
27.10.2017Biznesowe Systemy Rozproszone
46
-
Obsuga bdw w systemach workflow 3
27.10.2017Biznesowe Systemy Rozproszone
47
-
Obsuga bdw w systemach workflow 3
Jzyk obsugi bdw
Pozwalaj na zamodelowanie zdarze wystpujcych asynchronicznie wzgldem procesu
Np.: anulowanie zamwienia klienta
27.10.2017Biznesowe Systemy Rozproszone
47
-
Obsuga bdw w systemach workflow 3
Jzyk obsugi bdw
Pozwalaj na zamodelowanie zdarze wystpujcych asynchronicznie wzgldem procesu
Np.: anulowanie zamwienia klienta
Limity czasu wykonania
Na kad aktywno
W przypadku braku odpowiedzi
Wykonanie akcji kompensujcej
Powtrzenie aktywnoci
27.10.2017Biznesowe Systemy Rozproszone
47
-
Wykonanie procesu workflow (1)
27.10.2017Biznesowe Systemy Rozproszone
48
Silnik workflow
Zarzdca zasobw
Zadania do wykonania
Zasb 1
Zasb 2
Zasb 3
Definicje procesw
Projektant procesw
-
Wykonanie procesu workflow (2)
Silnik workflow
Pobiera definicj procesu
Wykonuje instancj procesu
Wze trasujcy
Sprawdzenie warunku, wybranie cieki przetwarzania
Wze aktywnoci
Zlecenie wykonania pracy na zasobie
Zarzdca zasobw
Uszeregowanie zada na zasobach
27.10.2017Biznesowe Systemy Rozproszone
49
-
Przykad: Windows Workflow Foundation
27.10.2017Biznesowe Systemy Rozproszone
50
rdo: http://blogs.msdn.com/b/somasegar/archive/2010/03/22/windows-workflow-foundation-in-net4.aspx
-
Windows Workflow Foundation
Silnik workflow
Dostarczany razem z Windows/.NET
Edytor komercyjny
Visual Studio
27.10.2017Biznesowe Systemy Rozproszone
51
-
Cechy systemw middleware i workflow
Systemy workflow
Monitory TPBrokerzy
obiektowiBrokerzy
wiadomoci
Rozproszone transakcje
Zarzdzanie nazwami usug
Zarzdzaniewizaniem usug
Monitorowaniewydajnoci
Rwnowaenie obcienia
Interoperacyjno
27.10.2017Biznesowe Systemy Rozproszone
52
-
Postpowanie w integracji systemw
Krok 1: Zastosowanie systemu middleware
Najlepiej: broker wiadomoci
Przygotowanie adapterw dla systemw skadowych
Krok 2: Zastosowanie systemu workflow
Przygotowanie adaptera dla systemu middleware
Modelowanie procesw biznesowych
27.10.2017Biznesowe Systemy Rozproszone
53
-
Zalety i wady systemw workflow
Zalety
atwo modelowania procesw
Graficzne narzdzia
Uyteczne w powtarzalnych i dobrze zdefiniowanych procesach
Czsto zautomatyzowane w inny sposb
Wady
Wysokie ceny licencji
Zoone wdroenie i zarzdzanie
Koszty szkole pracownikw
27.10.2017Biznesowe Systemy Rozproszone
54
-
Systemy w uyciu
IBM WebSphere MQ Workflow
Bitria BusinessWare
Tibco BPM
Oracle WebLogic Integration
Microsoft BizTalk Orchestration
Windows Workflow Foundation (WF)
27.10.2017Biznesowe Systemy Rozproszone
55
-
Middleware w sieciach rozlegych
27.10.2017Biznesowe Systemy Rozproszone
-
Plan prezentacji
Wprowadzenie do problemu
Wymiana informacji przez Internet
Technologie internetowe dla komunikacji systemw
Serwery aplikacji
Technologie internetowe integracji aplikacji
27.10.2017Biznesowe Systemy Rozproszone
57
-
Problem
Integracja systemw komputerowych w wielu przedsibiorstwach
Rni producenci systemw
Rni administratorzy
Rna konfiguracja
Rne poziomy dostpu
Konieczno wymiany informacji
Uzgodnienie protokow
Uzgodnienie formatw danych
27.10.2017Biznesowe Systemy Rozproszone
58
-
Rozwizanie 1: EAI
Systemy Integracji Aplikacji Biznesowych
Enterprise Application Integration (EAI)
Problemy techniczne:
EAI przeznaczone dla sieci lokalnych
Wysoka przepustowo
Niskie opnienia
Wysoka niezawodno
Brak filtrowania ruchu
Transakcje rozproszone na du skal
Jak wymusi wycofanie operacji w systemie kontrolowanym przez inny podmiot?
27.10.2017Biznesowe Systemy Rozproszone
59
-
Rozwizanie 1: EAI (2)
Problemy biznesowe:
Na og istnieje centralny administrator
Przedsibiorstwa niechtne do udzielania dostpu do wasnych zasobw
Konieczno przygotowania adapterw
Narzucony sposb integracji (interfejs)
Kady podsystem adaptowany do wybranego rozwizania EAI
Przedsibiorstwa niechtne do powicania wasnych zasobw dla innych firm
Filtrowanie ruchu przez firewalle w przedsibiorstwach
Trudno dostpu do wszystkich wymaganych usug
27.10.2017Biznesowe Systemy Rozproszone
60
-
Rozwizanie 2: Technologie internetowe
Technologie internetowe (Web)
Cechy:
Komunikacja na du odlego
Niski narzut komunikacyjny
Brak pasma kontrolnego
cze wykorzystane tylko podczas wymiany wiadomoci
Przeznaczone do wymiany informacji
Powszechne technologie
Wsparcie od producentw urzdze sieciowych
Wsparcie od producentw systemw operacyjnych
Serwery Web wbudowane w system operacyjny
Np.: Internet Information Services (IIS) Windows
27.10.2017Biznesowe Systemy Rozproszone
61
-
Wymiana informacji przez Internet
27.10.2017Biznesowe Systemy Rozproszone
62
-
World Wide Web
Wymiana informacji
Protok HTTP
v1.1 w powszechnym uyciu
v2.0
Zasoby identyfikowane przez URI
URL
Data-URI
Dokumenty
HTML5
Hipercza midzy dokumentami, osadzone wewntrz
Zasoby osadzone wewntrz, lub
Doczone zewntrzne zasoby
27.10.2017Biznesowe Systemy Rozproszone
63
-
World Wide Web
Wymiana informacji
Protok HTTP
v1.1 w powszechnym uyciu
v2.0
Zasoby identyfikowane przez URI
URL
Data-URI
Dokumenty
HTML5
Hipercza midzy dokumentami, osadzone wewntrz
Zasoby osadzone wewntrz, lub
Doczone zewntrzne zasoby
27.10.2017Biznesowe Systemy Rozproszone
63
-
World Wide Web
Wymiana informacji
Protok HTTP
v1.1 w powszechnym uyciu
v2.0
Zasoby identyfikowane przez URI
URL
Data-URI
Dokumenty
HTML5
Hipercza midzy dokumentami, osadzone wewntrz
Zasoby osadzone wewntrz, lub
Doczone zewntrzne zasoby
27.10.2017Biznesowe Systemy Rozproszone
63
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
Obrazek czerwona kropka rdo: https://en.wikipedia.org/wiki/Data_URI_scheme
https://en.wikipedia.org/wiki/Data_URI_scheme
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Klient HTTPSerwer HTTP
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Klient HTTPSerwer HTTP
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Fire
wal
l
Fire
wal
l
Klient HTTPSerwer HTTP
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Fire
wal
l
Fire
wal
l
Proxy HTTP
Klient HTTPSerwer HTTP
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Fire
wal
l
Fire
wal
l
Proxy HTTP
Klient HTTPSerwer HTTP
Brama HTTP
Serwer HTTP
Serwer HTTP
-
Komunikacja midzy przedsibiorstwami przez WWW
27.10.2017Biznesowe Systemy Rozproszone
64
Internet
Fire
wal
l
Fire
wal
l
Proxy HTTP
Tunel HTTP
Klient HTTPSerwer HTTP
Brama HTTP
Serwer HTTP
Serwer HTTP
-
Klient HTTP
Wysanie dania do serwera
Pobranie zasobu
Prezentacja zasobu
Czowiekowi
Aplikacji
27.10.2017Biznesowe Systemy Rozproszone
65
-
Proxy HTTP
Poprawa wydajnoci komunikacji
Przechowywanie lokalnych kopii zasobw
Szybsze dostarczenie klientowi
Konieczno zapewnienia aktualnoci
Zysk jeli
Wysoka przepustowo cza klient proxy
Niska przepustowo cza proxy serwer
Zapewnienie bezpieczestwa
Kontrola dostpu
Filtrowanie zasobw dostpnych dla klientw
Zapewnienie anonimowoci
27.10.2017Biznesowe Systemy Rozproszone
66
-
Tunel HTTP
Efekt uycia proxy HTTP
Umoliwia poredniczenie w realizacji da klienta
Opcjonalnie: transformacja da, filtrowanie
Kana komunikacyjny midzy
Proxy HTTP
Bram/serwerem HTTP
Dla HTTPS i metoda CONNECT
Proxy nie ma wgldu w tre transmisji
Poredniczy jedynie w utrzymaniu strumienia TCP
27.10.2017Biznesowe Systemy Rozproszone
67
-
Brama HTTP
Proxy odwrotne (ang. reverse proxy)
Poprawa wydajnoci Rwnowaenie obcienia przydzia da do serwerw
Pami podrczna zasobw
Czsto zasobw dynamiczne generowanych
Wymaga mechanizmw zapewnienia aktualnoci
Kompresja zasobw w locie
Szyfrowanie strumienia w locie
Poprawa niezawodnoci Przydzia da do dziaajcych serwerw
Poprawa bezpieczestwa Ukrycie wewntrznej infrastruktury
Z zewntrz wszystkie usugi wygldaj jak wiadczone przez jeden serwer
27.10.2017Biznesowe Systemy Rozproszone
68
-
Brama HTTP
Proxy odwrotne (ang. reverse proxy)
Poprawa wydajnoci Rwnowaenie obcienia przydzia da do serwerw
Pami podrczna zasobw
Czsto zasobw dynamiczne generowanych
Wymaga mechanizmw zapewnienia aktualnoci
Kompresja zasobw w locie
Szyfrowanie strumienia w locie
Poprawa niezawodnoci Przydzia da do dziaajcych serwerw
Poprawa bezpieczestwa Ukrycie wewntrznej infrastruktury
Z zewntrz wszystkie usugi wygldaj jak wiadczone przez jeden serwer
27.10.2017Biznesowe Systemy Rozproszone
68
Rubicon TLS Armor
-
Serwer HTTP
Serwowanie zasobw
W odpowiedzi na dania klienta
Zasoby statyczne
Zasoby dynamiczne
dania przekazywane do aplikacji generujcej/dostarczajcej zasb
27.10.2017Biznesowe Systemy Rozproszone
69
-
Ograniczenia HTTP
Brak szyfrowania Ale jest tunelowanie TLS (HTTPS)
Brak stanu Kade danie obsugiwane w izolacji od innych da
Ale s sposoby identyfikacji sesji Ciasteczka
Fat URL
Etag
Utrzymywanie sesji zadaniem programisty
Poczenie inicjowane przez klienta HTTP/1.x: poczenie jednokierunkowe
HTTP/2: server push
WebSocket: poczenie dwukierunkowe, wymaga HTTP do startu
27.10.2017Biznesowe Systemy Rozproszone
70
-
Technologie internetowe komunikacji systemw
27.10.2017Biznesowe Systemy Rozproszone
71
-
HTTP dla komunikacji midzy systemami
Przesanki do uycia HTTP do komunikacji midzy systemami
Ruch na og niefiltrowany
Powszechne wsparcie dla protokou
Biblioteki
Przegldarki
Koszty obliczeniowe zwizane z przetwarzaniem odpowiedzi zrzucone na klienta
27.10.2017Biznesowe Systemy Rozproszone
72
-
Architektura systemu udostpniajcego zasoby po HTTP (1)
Przedsibiorstwo A Usugodawca
Posiada wasne systemy Integracja z uyciem middleware
Wewntrzne narzdzia klienckie
Cz funkcjonalnoci udostpniania na zewntrz Serwer HTTP
27.10.2017Biznesowe Systemy Rozproszone
73
-
Architektura systemu udostpniajcego zasoby po HTTP (1)
Przedsibiorstwo A Usugodawca
Posiada wasne systemy Integracja z uyciem middleware
Wewntrzne narzdzia klienckie
Cz funkcjonalnoci udostpniania na zewntrz Serwer HTTP
Przedsibiorstwo B
Usugobiorca
Dostp do zasobw przedsibiorstwa A
Przegldarka
Klient HTTP wpuszczajcy dane do wewntrznych systemw przez middleware
27.10.2017Biznesowe Systemy Rozproszone
73
-
Architektura systemu udostpniajcego zasoby po HTTP (2)
27.10.2017Biznesowe Systemy Rozproszone
74
Usugi wewntrzne
Middleware
Klient wewntrzny
Serwer HTTP
Klient HTTP
Middleware
Usugi wewntrzne
Internet
Przedsibiorstwo A Przedsibiorstwo B
Przegldarka internetowa
-
Technologie dostarczania dynamicznych treci przez serwer HTTP
HTML/HTTP zaprojektowane dla wymiany statycznych treci
Obecnie wiele technologii dynamicznego generowania treci Java
JavaServer Pages (JSP) JavaServer Faces (JSF)
Active Server Pages (ASP) .NET
ASP.NET ASP.NET MVC Windows Communication Foundation (WCF)
PHP Python/Django Ruby on Rails Express/NodeJS
27.10.2017Biznesowe Systemy Rozproszone
75
-
Aktywna zawarto na kliencie: Aplet Java
Dostpne API: cae JRE
Dostp do systemu plikw uytkownika
Dostp do schowka
Zarzdzanie procesami
Komunikacja sieciowa
Zarzdzanie oknami: AWT/SWT/Swing/JavaFX
Technologie grafiki 3D: OpenGL
Od wersji 1.7 update 51 Inwazyjna funkcjonalno dostpna tylko dla apletw podpisanych zaufanym certyfikatem
Od wersji 1.9 API oznaczone jako przestarzae
Wsparcie w przegldarkach
Chrome: brak (do wersji 44 sierpie 2015)
Firefox: brak (do wersji 51 stycze 2017)
Wersja 52 ESR 32-bit umoliwia wczenie obsugi apletw (wsparcie do czerwca 2018)
Edge: brak
Internet Explorer: pene wsparcie
Rozwj przegldarki wstrzymany
Konieczno instalacji/konfiguracji/uruchomienia wtyczki w przegldarce
27.10.2017Biznesowe Systemy Rozproszone
76
rda:https://www.chromium.org/developers/npapi-deprecationhttps://www.java.com/pl/download/help/firefox_java.xmlhttp://openjdk.java.net/jeps/289
https://www.chromium.org/developers/npapi-deprecationhttps://www.java.com/pl/download/help/firefox_java.xmlhttp://openjdk.java.net/jeps/289
-
Aktywna zawarto na kliencie: Aplet Java
Dostpne API: cae JRE
Dostp do systemu plikw uytkownika
Dostp do schowka
Zarzdzanie procesami
Komunikacja sieciowa
Zarzdzanie oknami: AWT/SWT/Swing/JavaFX
Technologie grafiki 3D: OpenGL
Od wersji 1.7 update 51 Inwazyjna funkcjonalno dostpna tylko dla apletw podpisanych zaufanym certyfikatem
Od wersji 1.9 API oznaczone jako przestarzae
Wsparcie w przegldarkach
Chrome: brak (do wersji 44 sierpie 2015)
Firefox: brak (do wersji 51 stycze 2017)
Wersja 52 ESR 32-bit umoliwia wczenie obsugi apletw (wsparcie do czerwca 2018)
Edge: brak
Internet Explorer: pene wsparcie
Rozwj przegldarki wstrzymany
Konieczno instalacji/konfiguracji/uruchomienia wtyczki w przegldarce
27.10.2017Biznesowe Systemy Rozproszone
76
rda:https://www.chromium.org/developers/npapi-deprecationhttps://www.java.com/pl/download/help/firefox_java.xmlhttp://openjdk.java.net/jeps/289
https://www.chromium.org/developers/npapi-deprecationhttps://www.java.com/pl/download/help/firefox_java.xmlhttp://openjdk.java.net/jeps/289
-
Aktywna zawarto na kliencie: Java Web Start
Technologia uruchamiania aplikacji Java o okrelonym URL Obostrzenia podobne do apletw Java
Pozwala pomin przegldark
Moliwo pracy offline
Maszyna wirtualna samodzielnie pobiera i aktualizuje aplikacj Na podstawie pliku manifestu JNLP
Polecenie uruchamiajce aplikacj:javaws http://example.com/jaws/apps/demo.jnlp
27.10.2017Biznesowe Systemy Rozproszone
77
SwingSet2 Demo ApplicationSun Microsystems, Inc.
SwingSet2 Demo Application
SwingSet2 Demo on Linux
-
Aktywna zawarto na kliencie: Flash
Ograniczone API
Dostp do schowka
Tylko w efekcie akcji uytkownika
Komunikacja sieciowa
Technologie grafiki 2D
Odtwarzanie audio i wideo
Dostp do kamery i mikrofonu
Formularze
Drukowanie
Technologia powoli umiera
Koniec wsparcia Adobe: grudzie 2020
Mozilla Shumway
Odtwarzacz Flash napisany w JavaScriptcie
Gwnie funkcjonalno dotyczca mediw
Rozwj wstrzymany w lutym 2016
Wsparcie w przegldarkach
Chrome, Firefox, Edge: z obostrzeniami
Na stronach z biaej listy oraz cakowicie wykonanych we Flashu domylnie wczony, na pozostaych stronach domylnie wyczony
Internet Explorer: pene wsparcie
27.10.2017Biznesowe Systemy Rozproszone
78
-
Dzisiejsze trendy: JavaScript + HTML5
Komunikacja klient serwer
XMLHttpRequest/Fetch API
Symulacja komunikacji dwustronnej Long polling
Komunikacja dwustronna
WebSocket
Internet Explorer 10+
Firefox 11+
Chrome 16+
Wymagane wsparcie po stronie serwera zmiana protokou z HTTP na WebSocket
27.10.2017Biznesowe Systemy Rozproszone
79
-
JavaScript + HTML5 (2)
Grafika 2D/3D
HTML5 Canvas
WebGL
Odpowiednik OpenGL ES 2.0
Wsparcie w przegldarkach
Firefox 24+ / Chrome 33+: pene
Internet Explorer 11 / Edge 12+: czciowe
WebGL 2.0
Odpowiednik OpenGL ES 3.0
Wsparcie
Firefox 51+ / Chrome 56+: pene
Edge: brak
27.10.2017Biznesowe Systemy Rozproszone
80
-
JavaScript + HTML5 (3)
Dostp do systemu plikw
File API
FileReader API
FileSystem & FileWriter API
Ograniczenia
Wymaga wskazania plikw przez uytkownika
Czciowe wsparcie
Internet Explorer 10+
Firefox 28+
Chrome 38+
27.10.2017Biznesowe Systemy Rozproszone
81
-
JavaScript + HTML5 (4)
Lokalny magazyn danych
WebStorage
Magazyn typu klucz warto
Moliwo przechowywania obiektw JSON i danych binarnych
Dwa magazyny
LocalStorage
SessionStorage
Przy duej iloci danych przegldarka zapyta uytkownika o zgod
IndexedDB
Baza danych typu NoSQL
Przechowywanie obiektw JSON
Przy duej iloci danych przegldarka zapyta uytkownika o zgod
27.10.2017Biznesowe Systemy Rozproszone
82
-
JavaScript + HTML5 (5)
Dostp do schowka
Clipboard API
Tylko zapis do schowka
Wytnij, Kopiuj
Brak moliwoci odczytu zawartoci
Obostrzenia
Dostp tylko w efekcie akcji uytkownika
Obsuga tylko wybranych typw danych (np.: tekst)
Czciowe i niespjne implementacje:
Firefox 41+, Chrome 43+, Edge 12+, Internet Explorer 6+
27.10.2017Biznesowe Systemy Rozproszone
83
-
HTML5: oglne wraenie
Wiele technologii potrzebnych aplikacjom do pracy
Sabo powizane
Niedojrzae
Brak standardw:
Propozycje standardw (lub nawet brak propozycji)
Eksperymentalne implementacje
Niespjne implementacje
Duo ogranicze
Czsto dodawane po cichu w nowych wersja przegldarek
27.10.2017Biznesowe Systemy Rozproszone
84
-
Serwery aplikacjiApplication servers
27.10.2017Biznesowe Systemy Rozproszone
85
-
Serwer aplikacji
Middleware
Web jest gwnym kanaem dostpu do usug
Znaczca rola warstwy prezentacji
Dynamiczne przygotowanie dokumentami
Dynamiczne generowanie dokumentami
Dynamiczne zarzdzanie dokumentami
Warstwa prezentacji zczona z logik aplikacyjn middleware (nie usug!) w jeden komponent
Dobra wydajno w przekazywaniu danych
Upraszczanie zarzdzania systemem
27.10.2017Biznesowe Systemy Rozproszone
86
-
Zadania serwera aplikacji
Funkcjonalno znana z innych middleware i EAI
Ukrycie szczegw technicznych
Komunikacja
Dostp do danych
Transakcyjno przetwarzania
Interakcja midzy rozproszonymi komponentami aplikacji
Rwnowaenie obcienia
Zapobieganie awariom/cigo pracy
Odtwarzanie stanu po awarii
Administracja systemem
Monitorowanie
Zarzdzanie wykonaniem usug
27.10.2017Biznesowe Systemy Rozproszone
87
-
Klienci serwera aplikacji
Przegldarka internetowa
HTML + CSS + JS
Inne aplikacje
Inne systemy serwerowe
Klienci okienkowi
API typu SOAP/REST
Urzdzenia mobilne
API typu SOAP/REST
Serwery e-mail
27.10.2017Biznesowe Systemy Rozproszone
88
-
Java Enterprise Edition
Standard Standardowe interfejsy komponentw
Komunikacja
Dostp do danych
Transakcyjno
Bezpieczestwo
Interfejs uytkownika
Wiele implementacji: GlassFish Open Source implementacja wzorcowa dla wszystkich wersji
standardu
GlassFish Server (komercyjna implementacja) J2EE 6 i starsze!
WebLogic Server J2EE 6 i starsze
IBM WebSphere niektre wersje
Apache Geronimo J2EE 6 i starsze
27.10.2017Biznesowe Systemy Rozproszone
89
-
Gwne elementy Java EE
Enterprise JavaBeans (EJB)
Komponenty logiki aplikacji
Wykonanie lokalne lub zdalne, transparentnie dla aplikacji
Wykonanie synchroniczne lub asynchroniczne
Rodzaje:
Session beans
Message-driven beans
Entity beans
Kontener EJB
rodowisko pracy EJB
Zarzdzanie wykonaniem EJB
Interakcja z zewntrznymi elementami systemu27.10.2017Biznesowe Systemy Rozproszone
90
-
Gwne elementy Java EE (2)
Java Naming and Directory Interface (JNDI) Usuga katalogowa
Odszukiwanie obiektw/usug
Wg interfejsu
Wg nazwy
Wg zbioru ogranicze
Obsuga usug rozproszonych
Java DataBase Connectivity (JDBC) Ujednolicony interfejs dostpu do bazy danych
J2EE Connector Architecture (J2CA) Ujednolicony interfejs adapterw rde danych
Innych aplikacji
Bazy danych
Systemu plikw
27.10.2017Biznesowe Systemy Rozproszone
91
-
Enterprise JavaBeans
Session beans
Uruchamiane przez zdalne wywoanie procedur
Stanowe
Jedna instancja jeden klient, utrzymuje stan midzy daniami
Np.: koszyk towarw
Bezstanowe
Jedna instancja jeden klient, brak stanu utrzymanego midzy daniami
Jednorazowe akcje, np.: lista cen produktw dla klienta
Singletony
Jedna wspdzielona instancja
Np.: globalna lista cen towarw
27.10.2017Biznesowe Systemy Rozproszone
92
-
Enterprise JavaBeans (2)
Message-Driven Beans
Przetwarzanie zdarzeniowe
Uruchamiane przez nadchodzce wiadomoci
Wielu odbiorcw wiadomoci
Unicast
Np.: Przesanie nowego zamwienia
Multicast
Np.: Rozesanie nowych kursw walut
27.10.2017Biznesowe Systemy Rozproszone
93
-
Enterprise JavaBeans (3)
Entity beans
Su przechowywaniu danych
Niezalene od sesji uytkownika
Zapisywane w sposb trway
Dostp do bazy danych
Samodzielny: Zapytania przygotowane przez programist
Zarzdzany: System automatycznie transformuje obiekty w model relacyjny
27.10.2017Biznesowe Systemy Rozproszone
94
-
Microsoft .NET
Zbir standardw, m.in. :
Jzyki programowania: C#, F#, VB.NET,
Specyfikacja maszyny wirtualnej .NET
Komunikacja
Dostp do danych
Interakcja midzy komponentami
Wzorcowa implementacja: .NET Framework
Od v3.5 czciowo otwarty kod rdowy
Technologie zwizane z serwerem aplikacji od v4.6 z otwartym kodem rdowym
Technologie klienckie zamknite brak planw uwolnienia
Mono alternatywna implementacja
Windows, Linux, MacOS, Android, iOS, Windows Phone
Nieprzewidywalne rnice w dziaaniu wzgldem .NET Framework (od v4 cz kodu wsplna )
Brak wsparcia Windows Presentation Foundation (WPF), Windows Forms, Workflow Foundation
.NET Core alternatywna implementacja
Windows, Linux, MacOS
Podzbir API penego .NET Framework
Cze API niedostpna w .NET Framework
27.10.2017Biznesowe Systemy Rozproszone
95
-
Gwne komponenty .NET: ADO.NET
ADO.NET
Ujednolicony interfejs dostpu do bazy danych
EntityFramework
Object Relational Mapping (ORM)
27.10.2017Biznesowe Systemy Rozproszone
96
rdo:http://www.codeproject.com/Articles/363040/An-Introduction-to-Entity-Framework-for-Absolute-B
http://www.codeproject.com/Articles/363040/An-Introduction-to-Entity-Framework-for-Absolute-B
-
Gwne komponenty .NET: ASP.NET
Active Server Pages .NET
Baza dla wszystkich technologii interfejsu web
ASP.NET Forms
ASP.NET MVC
27.10.2017Biznesowe Systemy Rozproszone
97
-
Gwne elementy .NET: WCF
Windows CommunicationFoundation (WCF)
Jednolity model komunikacji
Trzy wydzielone komponenty
Jednorodne interfejsy
Moliwo zmiany dowolnego komponentu bez modyfikacji pozostaych
27.10.2017Biznesowe Systemy Rozproszone
98
rdo:http://blogs.msdn.com/b/endpoint/archive/2010/01/04/wcf-data-services-ria-services-alignment-questions-and-answers.aspx
http://blogs.msdn.com/b/endpoint/archive/2010/01/04/wcf-data-services-ria-services-alignment-questions-and-answers.aspx
-
Gwne komponenty .NET: WF
Windows Workflow Foundation (WF)
System typu workflow
Silnik wbudowany w Windows
Edytor patny Visual Studio
27.10.2017Biznesowe Systemy Rozproszone
99
-
Technologie komunikacyjne dla integracji aplikacji przez Internet
27.10.2017Biznesowe Systemy Rozproszone
100
-
Internet
Moliwe architektury systemu
Lokalizacja fizyczna 1 Lokalizacja fizyczna 2
27.10.2017Biznesowe Systemy Rozproszone
101
ZasobyMiddleware
Usugi
Interfejs uytkownika
Lokalizacja fizyczna 3
Klient
-
Internet
Moliwe architektury systemu
Lokalizacja fizyczna 1 Lokalizacja fizyczna 2
27.10.2017Biznesowe Systemy Rozproszone
102
ZasobyMiddleware
Usugi
Interfejs uytkownika
Lokalizacja fizyczna 3
Klient
-
Lokalizacja fizyczna 4
Internet
Moliwe architektury systemu
Lokalizacja fizyczna 1 Lokalizacja fizyczna 2
27.10.2017Biznesowe Systemy Rozproszone
103
ZasobyInterfejs
uytkownika
Lokalizacja fizyczna 3
KlientMiddleware
Usugi
-
Ktra architektura jest najlepsza?
27.10.2017Biznesowe Systemy Rozproszone
104
-
Ktra architektura jest najlepsza?
Zaley od:
Poziom standaryzacji interfejsw
Dostpne protokoy
Moliwoci zapewnienia bezpieczestwa
Moliwoci zapewnienie niezawodnoci
Uwarunkowania prawne
Uwarunkowania biznesowe
HTTP + TLS
Rozwizuje cz problemw technicznych
27.10.2017Biznesowe Systemy Rozproszone
104
-
Interakcja midzy aplikacjami w rnych przedsibiorstwach
Nazywana B2B Business to Business
Przykad: CORBA
Oba przedsibiorstwa wykorzystuj CORB
CORBA zarzdza obiektami
W ramach swojej domeny
W ramach jednego brokera obiektowego
General Inter-ORB Protocol (GIOP)
27.10.2017Biznesowe Systemy Rozproszone
105
-
General Inter-ORB Protocol (GIOP)
Abstrakcyjny protok komunikacji midzy brokerami CORBY
Zdalne wywoanie procedur
Zarzdzanie obiektami
Kontrola dostpu
Internet Inter-ORB Protocol (IIOP)
Implementacja przy uyciu TCP/IP
SSL Inter-ORB Protocol (SSLIOP)
GIOP tunelowane przez SSL
HyperText Inter-ORB Protocol (HTIOP)
GIOP tunelowane przez HTTP
Zipped IOP (ZIOP)
GIOP + kompresja27.10.2017Biznesowe Systemy Rozproszone
106
-
Problemy z GIOP
Po obu stronach komunikacji musz by kompatybilne implementacje CORBY
Odpowiednia konfiguracja firewalli
Typowe obejcie: HTIOP
Ukrycie ruchu aplikacyjnego w tunelu HTTP
Uwaga! Firewalle interpretujce protok
Problemy biznesowe
Ktra strona odpowiedzialna za utrzymanie katalogu usug?
27.10.2017Biznesowe Systemy Rozproszone
107
-
Tunelowanie HTTP vs firewall
Ruch HTTP na og dopuszczony
Ale: czasem tylko okrelone metody HTTP:
GET, POST
Powd
Tunelowanie!
Nie chcemy przepuszcza innego ruchu ni zwizany z wywietlaniem stron (czyli z gwnym zastosowaniem HTTP)
Mona obej przez tunelowanie TLS
27.10.2017Biznesowe Systemy Rozproszone
108
-
Format wiadomoci
HTTP pozwala na przesanie dowolnych danych
Jak ustali wsplny format wiadomoci?
Midzy heterogenicznymi systemami
Zrozumiay dla kadej strony komunikacji
27.10.2017Biznesowe Systemy Rozproszone
109
-
Format wiadomoci
HTTP pozwala na przesanie dowolnych danych
Jak ustali wsplny format wiadomoci?
Midzy heterogenicznymi systemami
Zrozumiay dla kadej strony komunikacji
Odpowied: Standaryzacja!
27.10.2017Biznesowe Systemy Rozproszone
109
-
Format wiadomoci
HTTP pozwala na przesanie dowolnych danych
Jak ustali wsplny format wiadomoci?
Midzy heterogenicznymi systemami
Zrozumiay dla kadej strony komunikacji
Odpowied: Standaryzacja!
W tradycyjnych middleware:
IDL ukrywa formaty danych wiadomoci
Middleware decyduje jak dopasowa dane do interfejsu usugi
27.10.2017Biznesowe Systemy Rozproszone
109
-
EDIFACT
Electronic Data Interchange for Administration, Commerce and Transport (EDIFACT)
Skupienie na semantyce wiadomoci
Ponad 200 standardowych wzorcw wiadomoci
Wielopoziomowe katalogi wartoci
Struktura wiadomoci
Sposb kodowania danych
Sposb parsowania
Protok interaktywnej wymiany danych
27.10.2017Biznesowe Systemy Rozproszone
110
-
Struktura wiadomoci EDIFACT
Nagwek wymiany (ang. interchange header)
Wersja EDIFACT
ID nadawcy
ID odbiorcy
Hasa
Data i czas
Inne informacje kontrolne
Nagwek wiadomoci (ang. message header)
Typ wiadomoci
Waciwoci specyficzne dla typu/aplikacji27.10.2017Biznesowe Systemy Rozproszone
111
-
Struktura wiadomoci EDIFACT (2)
Segment danych (ang. user data segment)
Tre wiadomoci
Dane specyficzne dla aplikacji
Stopka wiadomoci (ang. message trailer)
Wykorzystane do zakoczenia wiadomoci
Weryfikacja kompletnoci
27.10.2017Biznesowe Systemy Rozproszone
112
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
Separatorkomponentw
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
Separatorkomponentw
Separatorelementwdanych
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
Separatorkomponentw
Separatorelementwdanych
Symboldziesitny
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
Separatorkomponentw
Separatorelementwdanych
Symboldziesitny
Symbolucieczki
-
Przykad wiadomoci EDIFACT (bez nagwkw)
27.10.2017Biznesowe Systemy Rozproszone
113
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+74C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:1630::6+++++++DA'
UNT+13+1'
UNZ+1+1'
Definicja separatorw dalszej czci wiadomoci
Separatorkomponentw
Separatorelementwdanych
Symboldziesitny
Symbolucieczki
Znacznik koca segmentu
-
eXtensible Markup Language (XML)
Skupienie na skadni wiadomoci
Sposb zapisu drzewa elementw
Kady wze opatrzony opcjonalnymi atrybutami
Ograniczenia na struktur:
DTD
XML Schema
Typ wartoci atrybutw
Zbir wzw moliwy do umieszczenia jako poddrzewo
Brak semantyki
Ale s rozszerzenia, np.: Schematron
27.10.2017Biznesowe Systemy Rozproszone
114
-
Przykad XML
27.10.2017Biznesowe Systemy Rozproszone
115
Service B
Service A
New order
Product 1
Product 2
Product 3
-
Krytyka XML
Duy narzut meta-danych
Elementw i atrybutw XML
Zoono
Trudno przeoenia systemu typw na
Jzyk programowania
Baz danych
27.10.2017Biznesowe Systemy Rozproszone
116
-
JavaScript Object Notation (JSON)
Skupienie na skadni wiadomoci
Struktura drzewiasta
Wzy nie maj atrybutw
Ale maj wartoci
Moliwe uycie tablic
Ograniczenia na struktur:
JSON Schema
Typy wartoci
Typy elementw zagniedonych
27.10.2017Biznesowe Systemy Rozproszone
117
-
Przykad JSON
27.10.2017Biznesowe Systemy Rozproszone
118
{
"message": {
"to": "Service B",
"from": "Service A",
"heading": "New order",
"items": [
{
"name": "Product 1",
"quantity": 1
},
{
"name": "Product 2",
"quantity": 1
},
{
"name": "Product 3",
"quantity": 4
}
]
}
}
-
Dzikuj za uwagProsz o pytania
27.10.2017Biznesowe Systemy Rozproszone
119