161
Integracja systemów biznesowych Tomasz Pawlak 27.10.2017 Biznesowe Systemy Rozproszone

Biznesowe Systemy Rozproszone

Embed Size (px)

Citation preview

  • 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