SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Podobne dokumenty
Mechanizmy pracy równoległej. Jarosław Kuchta

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie Komponentowe WebAPI

SOA Web Services in Java

Systemy Rozproszone Technologia ICE

Komunikacja i wymiana danych

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Dotacje na innowacje - Inwestujemy w Waszą przyszłość ZAPYTANIE OFERTOWE

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Kolejkowanie wiadomości Standard MQ (JMS)

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

System DiLO. Opis interfejsu dostępowego v. 2.0

76.Struktura oprogramowania rozproszonego.

Zaawansowane narzędzia programowania rozproszonego

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Rozproszone systemy internetowe

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Wybrane działy Informatyki Stosowanej

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

Dotacje na innowacje - Inwestujemy w Waszą przyszłość ZAPYTANIE OFERTOWE

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Wybrane działy Informatyki Stosowanej

1 Wprowadzenie do J2EE

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Dostęp do komponentów EJB przez usługi Web Services

Enterprise Java Beans wykład 7 i 8

Rozproszone systemy Internetowe

Systemy Rozproszone. Zagadnienia do egzaminu.

EJB 3.0 (Enterprise JavaBeans 3.0)

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

Zagadnienia projektowania aplikacji J2EE

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Akademia Techniczno-Humanistyczna w Bielsku-Białej

SSL (Secure Socket Layer)

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Web Services wykład 9

SR - kolos 1 opracowanie

Spis treúci. 1. Wstęp... 11

Wprowadzenie. Dariusz Wawrzyniak 1

Kolejki FIFO (łącza nazwane)

Rozproszone systemy internetowe 2. WS-Policy: specyfikacje wymagań dla usług WWW

Programowanie współbieżne i rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Rozwiązanie Compuware Data Center - Real User Monitoring

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Integracja Obieg Dokumentów - GiS Spis treści

Ministerstwo Finansów

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Programowanie komponentowe

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Paweł Rajba

Web Services w połączeniu z aplikacjami uruchamianymi na urządzeniach mobilnych

Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1

Programowanie obiektowe

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Wypożyczalnia VIDEO. Technologie obiektowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Wybrane działy Informatyki Stosowanej

Web Services. Technologie Biznesu Elektronicznego. Konrad Kunicki. Politechnika Wrocławska, Wydział Informatyki i Zarządzania

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Paweł Rajba

Spis treści. Wprowadzenie 13

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO

Wybrane problemy modelu usługowego

Klient-Serwer Komunikacja przy pomocy gniazd

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Komponenty sterowane komunikatami

Wybrane działy Informatyki Stosowanej

Aukcja trwa od momentu, gdy informacje o przedmiocie są dostępne dla klientów, a kończy się wraz z wysłaniem opisanego dalej komunikatu FINISH_MSG.

Remote Quotation Protocol - opis

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Programowanie usług działających w tle

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Programowanie współbieżne i rozproszone

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Michał Jankowski. Remoting w.net 2.0

Tworzenie i wykorzystanie usług sieciowych

Wprowadzenie do usług internetowych

Konspekt pracy inżynierskiej

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

DOTACJE NA INNOWACJE

Transkrypt:

SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji

O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net Prezentuję Prowadzę szkolenia

WPROWADZENIE

Co to jest Usługa? Warstwa usługowa dla logiki aplikacji Usługa Web Service Usługa WCF Usługa SOAP/REST Usługa Windows Usługa biznesowa Usługa?

Tematyka usług Kompatybilność Interakcja Aktywacja Niezawodność Transakcyjność Long-running services Zorientowanie na dane vs zorientowane na operacje Bezpieczeństwo Messages vs RPC

KOMPATYBILNOŚĆ

Schemat i kontrakt XML jako format przesyłania danych XSD jako język definicji danych WSDL jako język definicji interfejsów (IDL)

Schemat i kontrakt RPC-style powinno być unikane, chyba, że mamy naprawdę dobre powody Kompatybilność należy wbudować w kontrakt BasicHttp jest najbardziej kompatybilnym bindingiem dla SOAP

TRANSAKCYJNOŚĆ

Święty Graal middleware-u Wraz ze wzrostem znaczenia systemów rozproszonych obiektów coraz większy nacisk na transakcyjność usług request-response zmniejszenie znaczenia kolejkowania Cel: stworzyć iluzję, że obiekty nie są rozproszone Efekt uboczny: wzrost złożoności

using (TransactionScope tx = new TransactionScope()) Usługa A Usługa B

Przyszłość transakcyjnych usług CORBA Transaction Service COM+ OleTx WCF OleTx WCF WS- AT

Móc nie oznacza chcieć Bardzo ścisłe powiązanie, zarówno technologiczne, jak i czasowe Dodatkowy wysiłek administracyjny Kwestie zaufania -- polityczne Problem jest natury architektonicznej nie rozwiąże go kolejna technologia Nie rób transakcyjnych usług jeśli nie musisz

INTERAKCJA

Interakcja Usługi to nie tylko schemat zapytanie odpowiedź One-way Kolejkowane one-way Kolejkowane zapytanie-odpowiedź Publish/Subscribe

One-way Synchroniczna jednokierunkowa komunikacja skierowana Klient nawiązuje połączenie Klient wysyła komunikat Serwer odbiera komunikat Klient kończy połączenie Serwer przetwarza komunikat

One-way WCF Mogą blokować wywołującego, jeśli po stronie serwera kolejka żądań jest pełna Mogą blokować przetwarzanie innych wywołań one-way i synchronicznych Mogą blokować zamykanie proxy

Kolejkowane one-way Asynchroniczna jednokierunkowa komunikacja skierowana Klient zapisuje komunikat do kolejki Serwer odczytuje komunikat z kolejki Serwer przetwarza komunikat

Kolejkowane one-way WCF Zbudowane ponad MSMQ Wsparcie poison message queue Dozwolone tylko operacje jednokierunkowe NServiceBus / MassTransit Zbudowane ponad MSMQ Wsparcie poison message queue Operacje są z definicji jednokierunkowe Wsparcie dla Publish/ Subscribe Load balancing out-of-thebox

Kolejkowane one-way WCF Zbudowane ponad MSMQ Dozwolone tylko operacje jednokierunkowe Wsparcie poison message queue Kiepsko wpasowuje się w model WCF

Kolejkowane one-way NSB Zbudowane ponad MSMQ Operacje z definicji jednokierunkowe Wsparcie poison message queue Wsparcie dla publish-subscribe Load balancing out-of-the-box

Kolejkowane zapytanie-odpowiedź Asynchroniczna dwukierunkowa komunikacja skierowana Klient zapisuje komunikat do kolejki W tym miejscu zaczyna się naprawdę Serwer odczytuje druga komunikat z kolejki jednokierunkowa wymiana komunikatów Serwer przetwarza komunikat Serwer zapisuje do (innej) kolejki komunikat do klienta Klient odczytuje komunikat

Separuje czasowo klienta i serwer Klient wysyła żądanie, a następnie zapomina o nim (zapisuje stan procesu do bazy). Nie jest zablokowany przetwarza kolejny proces Serwer przetwarza żądanie w dogodnej chwili, a następnie kolejkuje odpowiedź Klient odczytuje odpowiedź w dogodnej chwili, odczytuje z bazy stan zamrożonego procesu i kontynuuje przetwarzanie

Publish/Subscribe (A)synchroniczna jednokierunkowa komunikacja rozgłoszeniowa Zbudowana ponad (a)synchronicznym one-way Może wymagać zewnętrznego programu infrastruktury Publish/Subscribe

Klient Subscribe Serwer Infrastruktura Subscribe Klient

Dlaczego (nie) Pub/Sub? Za Przeciw Zmniejszenie ilości przesyłanych danych Zmniejszenie problemów wersjonowania Zmniejszenie powiązania między klientem i serwerem Zmniejszenie przewidywalności komunikacji Dodatkowy kawałek infrastruktury Mniej naturalny dla programisty model interakcji

Podsumowanie Im prostszy protokół, tym większe potencjalne grono klientów Transakcyjność wzmacnia coupling między klientem, a serwerem Asynchroniczne schematy interakcji zmniejszają ten coupling

SIMON SAYS ARCHITECTURE! Dziękuję za uwagę CZAS DLA WAS Q & A