Wprowadzenie do SOA (Service Oriented Architecture)

Slides:



Advertisements
Podobne prezentacje
Decyzje projektowe w .NET Framework
Advertisements

Obiektowe metody projektowania systemów Design Patterns STRATEGY.
WEB SERVICE Stefan Rutkowski.
CORBA Łukasz Wnęk.
Horyzontalne scenariusze pracy
XML w integracji aplikacji
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Architektura systemu Gra strategiczna „Strusia Jama”
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Opracował: Patryk Kołakowski(s1715)
Co UML może zrobić dla Twojego projektu?
Dokumentowanie wymagań w języku XML
Życiorys mgr inż. Katarzyna Łukasiewicz Katedra Inżynierii Oprogramowania WETI PG Urodzona: r. Wykształcenie: 2010 – obecnie studia doktoranckie.
Komunikaty sterujące zestawu protokołów TCP/IP
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Enteprise Java Beans Emil Wcisło.
Co to jest SOA Czym SOA nie jest
Wzorce projektowe w J2EE
7. Platformy informatyczne przyszłości (wizja SAP)
Dziedzina problemu. Opracowanie koncepcji, projekt i częściowa implementacja portalu ofert turystycznych.
BPMN Business Process Modeling Notation
Analiza, projekt i częściowa implementacja systemu obsługi kina
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Lider rynku Źródło: The OLAP Report Źródło: Gartner Group
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
InfinitERP prezentacja systemu.
OData – dzielmy się danymi!
Modelowanie w Visual Studio 2010
Promotor: dr.inż. Aleksandra Werner
Licencjonowanie rodziny System Center 2012
Licencjonowanie SharePoint 2013
Web Serwisy w praktyce Technologie internetowe ( )
Service Oriented Architecture
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Opracował : Przemysław Drzymała
Licencjonowanie aplikacji serwerowych
Wsparcie pracy grupowej systemem Workflow
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Podstawy modeli i programów licencyjnych Microsoft.
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
Mechanizm OLE ang. Object Linking and Embedding źródła:
WPROWADZENIE W ŚWIAT OBIEKTÓW
Komponentowe i rozproszone Interludium. OOA vs SOA OOA (obiekty rozproszone): CORBA, COM(+), EJB Współdzielenie obiektów SOA (serwisy rozproszone): Autonomiczne.
Zaprojektowanie i wykonanie prototypowego systemu obiegu dokumentów (workflow) dla Dziekanatu Wydziału z wykorzystaniem narzędzi open-source i cloud computing.
Enterprise Architecture Patterns
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Programowanie obiektowe 2013/2014
Aplikacja od SaaS do IdaaS
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Service Oriented Architecture
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Przykłady analiza i projektowanie
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Komponentowe i rozproszone Interludium czyli krótki wykład o rozpraszaniu.
Usługi webowe & Service- Oriented Architecture (SOA) S2523 Anna Jenerowicz.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Proprietary and Confidential: This presentation may not be used or disclosed to any person other than employees or customer, unless expressly authorized.
ARCHITEKTURA SOA JAKO KLUCZ DO CYFROWEJ TRANSFORMACJI Agata Kubacka, Poczta Polska Tomasz Gajewski, Poczta Polska Jerzy Niemojewski, Savangard © 2016 Software.
Komponentowe i rozproszone (Web)Service Oriented Architecture.
TWOJA CYFROWA PRZYSZŁOŚĆ. JUŻ DZISIAJ. Marcin Parczewski © 2016 Software AG. All rights reserved. For internal use only.
Wzorzec MVC na przykładzie CakePHP
Windows Workflow Foundation
Aplikacje i usługi internetowe
IEEE SPMP Autor : Tomasz Czwarno
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Wprowadzenie do SOA (Service Oriented Architecture) Wardziak Tomasz Wprowadzenie do SOA (Service Oriented Architecture) Tomasz Wardziak Seminarium magisterskie, 18 października 2004

Agenda Wprowadzenie Integracja: Usługi vs. Warstwy Wardziak Tomasz Agenda Wprowadzenie Integracja: Usługi vs. Warstwy Komunikaty (Messages) i typy danych Reprezentacja danych Podsumowanie

Wprowadzenie

Dlaczego warto poznać SOA? “By 2008, SOA will be a prevailing software engineering practice, ending the 40-year domination of monolithic software architecture (0.7 probability)”

SOA nie jest… technologią produktem protokołem standardem

SOA jest… Zestawem: przepisów dopuszczalnych praktyk frameworków wzorców architektonicznych

SOA z lotu ptaka Monolit SOA

Wardziak Tomasz Czym jest “Usługa”? Słownik PWN: “[…] działalność służąca do zaspokajania potrzeb […]”. Dostawca usług (SP) wykonuje zadania na rzecz odbiorcy/konsumenta (C). Usługa jest zdefiniowana jako kontrakt pomiędzy dostawcą (SP) a odbiorcą/konsumentem (C).

SOA w zarysie Usługa posiada jasno określony interfejs Dostawca usługi (SP) oraz konsument (C) zgadzają się co do formy interfejsu Tak naprawdę chodzi o „małe powiązania” (ang. low coupling) Konsument (C) nie wie nic o implementacji Dostawca usługi Konsument Interfejs

Filary SOA : PEACE Policy-based compatibility Explicitness of boundaries Autonomy Contract Exchange Clemens Vasters CTO, newtelligence AG Don Box Architect, Microsoft Corp. Service Policy Schema and Contract

SOA i Web Services SOA nie potrzebuje Web Services Nie każdy Web Service będzie budowany z myślą o SOA Ale… Web Services SOA Through 2008, SOA and Web services will be implemented together in more than 75 percent of new SOA or Web services projects (0.7 probability).

Integracja: Usługi vs. Warstwy

N-Tier Podział na warstwy wymuszony przez: Kwestie projektowe (logical design) Skalowalność (scalability) Integracja takich rozwiązań musi być kontrolowana poprzez „ciało zarządcze” Problem jasnych granic Integracja bardzo zależna od wybranego środowiska programistycznego

Usługi Całkowicie autonomiczne Ważny jest contract oraz schema Niezależne od środowiska Pełna enkapsulacja danych oraz logiki biznesowej wewnątrz usługi Przyszła wersja Windows (Longhorn) zawiera warstwę Indigo do łączenia różnych rozwiązań właśnie poprzez SOA Service Schema and Contract

Usługi vs. Komponenty i Obiekty Podobieństwa Podobnie jak komponenty i obiekty, usługi udostępniają jeden lub więcej interfejs Dostawca i konsument zgodzili się na wspólny interfejs Różnica SOA bazuje na „schema”, nie na typach obiektów SOA wysyła komunikaty, nie wywołuje metod Relacja Usługi są budowane z użyciem komponentów i obiektów

Komunikaty (Messages) i typy danych

Sposób komunikacji usług Wardziak Tomasz Sposób komunikacji usług Usługi komunikują się poprzez komunikaty Nic więcej! Usługi nie wiedzą o sobie nic poza tym… … czyli mogą być heterogeniczne Usługa-A Usługa-B

Zarys komunikacji Ziemia niczyja! MSG MSG MSG MSG MSG MSG MSG MSG Wardziak Tomasz Zarys komunikacji Usługa MSG MSG MSG MSG MSG Ziemia niczyja! MSG MSG MSG

Dane wewnątrz usług i na zewnątrz Wardziak Tomasz Dane wewnątrz usług i na zewnątrz Na zewnątrz Przekazywane jako komunikaty Rozumiane jednakowo przez nadawcę i odbiorcę Dowolny kształt wiadomości (schema) Możliwość rozszerzania Wewnątrz Prywatne dla usługi Enkapsulacja w kodzie usługi Dane SQL MSG Na zewnątrz Wewnątrz

Typy danych: Request/Response Data Reference Data Activity Data Resource Data

Request/Response Data #1 Komunikaty muszą być niezmienne! Nie można „cofnąć” wysłanego komunikatu Czasami trzeba ponownie nadać wiadomość Możliwość wielokrotnego otrzymania tego samego komunikatu Usługa-A Raz wysłane dane pozostają niezmienne!

Request/Response Data #2 Identyfikacja komunikatu Unikalny klucz ID Częścią klucza może być wersja Niezmienne dane Dane przypisane do danego klucza ID nie mogą być zmienione! Łatwe cache’owanie Niezmienne dane zawsze pozostaną w tej samej postaci „Stabline” komunikaty Każda ze stron rozumie wysłane dane w ten sam sposób

Reference Data Reference Data publikowane są poza granicę usługi Jedna usługa publikuje dane Druga usługa okresowo je odbiera Cel „reference data” Fakty historyczne Niezbędne jest wersjonowanie! timestamp unikalny numer wersji HR Service Sales Service Ref Vers#24 of Employee Data Authoritative Customer Data Authoritative Employee Data – Vers#23 Authoritative Employee Data – Vers#24 Ref Vers#23 of Employee Data Update! Ref Vers#24 of Employee Data Update Employees Vers#24

Activity Data Są umieszczone WEWNĄTRZ usługi Potrzebne do koordynacji długich zadań wymagających wielokrotnej komunikacji Przykład: koszyk w sklepie internetowym Activity Data pozostają w systemie jako aktywne, tak długo jak dana transakcja jest realizowana Po zakończeniu transakcji z reguły nie są kasowane, ale dla celów statystycznych/urzędowych zostają zarchiwizowane

Resource Data Są umieszczone WEWNĄTRZ usługi Dane opisujące „zasoby” istniejące w obszarze logiki biznesowej Są potrzebne i istnieją tak długo, jak długo dany zasób istnieje w dziedzinie problemowej – późnej są kasowane Przykłady: Pokoje do wynajęcia – system obsługi hotelu Towary w magazynie – system inwentaryzacji Pracownicy – system HR Klienci – system CRM Etc.

Reprezentacja danych

XML, SQL, i Obiekty Data XML SQL Obiekty SQL Wardziak Tomasz XML, SQL, i Obiekty XML Uschematyzowana reprezentacja komunikatów „Schema” wspiera dowolność definicji i rozszerzalność SQL Dane są połączone relacjami Bardzo zaawansowane możliwości zapytań Dojrzałe systemy DBMS Obiekty Bardzo potężne narzędzie Inżynierii Oprogramowania Bazują na enkapsulacji Data SQL

Niezależna definicja danych Wardziak Tomasz Rządzący Triumwirat SQL Niezastąpiony do wykonywania dowolnych zapytań na zbiorze danych XML Posiada możliwość niezależnej definicji „schema” dla danych. Każdy może rozszerzać „schema” o nowe elementy! Komponenty/ Obiekty Dostarczają enkapsulację danych. Zespolone z logiką biznesową. Zapewniają wypełnienie zasad biznesowych. Obiekty XML SQL Silne i słabe strony Niewykonalne: Nie widać danych! Problem: Niespójność „schema” Dosknonale! Dowolne zapytania Niewykonalne: Nie widać danych! Doskonale! Centralizacja Niezależna definicja danych Doskonale! Niewykonalne: Otwarty „schema” Nie poprzez SQL; Zapewnia DBMS Enkapsulacja Silne strony każdego modelu są zarazem jego słabościami! SQL, XML oraz Obiekty stanowią współgrający zespól.

Podsumowanie Dlaczego warto zająć się SOA? Dlaczego jeszcze nie teraz… Prawdopodobna przyszłość oprogramowania (wsparcie gigantów) Najlepsze na chwilę obecną podejście do integracji Idealnie pasuje do modelowania procesów biznesowych Łatwość wprowadzania zmian – istotne dla biznesu! Low coupling – coarse grained Nowe ideologie – np. Metropolis Dlaczego jeszcze nie teraz… Brak standardów komunikacji pomiędzy przedsiębiorstwami Główna technologia, na której SOA bazuje (WS) ciągle jest niedoskonała. Brak dobrych narzędzi programistycznych. Niedojrzałe „best practices”

Źródła MSDN SOA Resources MSDN Architecture Centre http://msdn.microsoft.com/architecture/soa MSDN Architecture Centre http://msdn.microsoft.com/architecture The ServerSide for .NET http://www.serverside.net Blog Clemens’a Vasters’a http://staff.newtelligence.net/clemensv/ Blog Don’a Box’a http://www.gotdotnet.com/team/dbox

Wardziak Tomasz Dziękuję za uwagę!