1 / 24

Podejście usługowe SOA

Podejście usługowe SOA. Jolanta Sala Halina Tańska. Usługa jest pojęciem podstawowym dla SOA. Usługa biznesowa ( business service) pojedynczy komponent dostarczany przez IT do biznesu i wspierający realizację określonego zadania występującego w jednym lub więcej procesach biznesowych

pearlf
Download Presentation

Podejście usługowe SOA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Podejście usługowe SOA Jolanta Sala Halina Tańska

  2. Usługa jest pojęciem podstawowym dla SOA • Usługa biznesowa (business service) pojedynczy komponent dostarczany przez IT do biznesu i wspierający realizację określonego zadania występującego w jednym lub więcej procesach biznesowych • Usługa sieciowa (web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności • Usługa IT (IT service) wg ITIL opiera się na dostarczaniu i zarządzaniu usługami IT poprzez procesy, w tym kontekście usługa jest pojęciem komercyjnym, opisanym w umowie pomiędzy Dostawcą (IT) i Odbiorcą (Biznes) m.in. outsourcing usług IT

  3. SOA - usługi na pierwszym miejscu • Architektura ukierunkowana na usługi to standaryzowane podejście organizacji i projektowania, wiążące ściśle IT z procesami biznesowymi. Zaczyna się ono i kończy na procesach biznesowych, organizując do realizacji wspólnego celu rozproszony zestaw technologii. • SOA (Service OrientedArchitecture) to oparta na standardach struktura, w której są budowane, wdrażane, zarządzane i aranżowane usługi, mające zapewnić sprawniejszą infrastrukturę IT, szybko reagującą na zmieniające się wymagania biznesu. • W architekturze ukierunkowanej na usługi informacje i procesy - niegdyś przypisane do aplikacji stworzonych do realizacji jednego konkretnego celu - stają się elementami zbioru szeroko dostępnych i elastycznych usług programowych, które można integrować i wielokrotnie wykorzystywać.

  4. SOA - usługi na pierwszym miejscu Architektura SOA musi umożliwiać dynamiczne dodawanie i konfigurowanie usług na bieżąco, a także modyfikowanie przepływów logicznych między nimi, dopasowując sposób działania systemu do zmian w procesach biznesowych. Celem architektury ukierunkowanej na usługi jest stworzenie w przedsiębiorstwie elastycznej i trwałej infrastruktury, która ułatwi połączenie dowolnego zbioru aplikacji w dowolnym czasie, tak aby możliwe było sprostanie wyzwaniom rynkowym.

  5. SOA - usługi na pierwszym miejscu • Rozmach tego podejścia czyni z SOA koncepcję dość ogólnikową. • Jednak potencjalne korzyści upatrywane w obniżce kosztów IT oraz większej sprawności biznesowej zachęcają wiele organizacji do podjęcia trudu wdrożenia tej architektury. • Jednym z motywów takich decyzji jest też to, że SOA może przynosić "efekt transformacji" w obrębie całego przedsiębiorstwa, przy zachowaniu większości aplikacji i infrastruktury już wdrożonej. • U podstaw SOA stoją trzy podstawowe koncepcje:  • wirtualizacja usług, • usługi wielokrotnego użytku, • brokery usług.

  6. 1 Wirtualizacja usług • Usługa jest kawałkiem kodu, który może być wywołany przez innego programistę za pośrednictwem publikowanego interfejsu metadanych, określanego jako "kontrakt usługowy". • SOA wymaga zdefiniowania usług wielokrotnego użytku na wysokim poziomie, bez wikłania w to kodu aplikacyjnego. • W ramach SOA każda usługa powinna mieć rozpoznawalne funkcje biznesowe, które odgrywają jasno określoną rolę dla wielu aplikacji. • Przykładem takich usług biznesowych wielokrotnego użytku jest np.: weryfikacja tożsamości, przechowanie danych adresowych, wyliczenie wynagrodzenia itp.

  7. Przykład: SOA w instytucji finansowej

  8. 2 Usługa wielokrotnego użytku • Możliwość wielokrotnego używania usługi, to istotna obniżka kosztów. • Podstawową zasadą przy wdrażaniu SOA jest zachęcanie programistów do użytkowania istniejących usług - niezależnie kto je zaprojektował - w jak największym, możliwym zakresie. • Programiści, przy konstruowaniu nowych aplikacji, powinni tworzyć jak najmniej nowego kodu. • Nowy kod powinien jedynie ulepszać aranżację nowych wzorców interakcji między istniejącymi usługami. • Większy zakres ponownego wykorzystaniu kodów przekłada się na niższe koszty i skraca cykle projektowe.

  9. Przykład: SOA w instytucji ubezpieczeniowej

  10. 2 Usługa wielokrotnego użytku • Większy zakres ponownego wykorzystaniu kodów przekłada się na niższe koszty i skraca cykle projektowe. • W praktyce cecha ta w dużej mierze zależy od warstwy pośredniczącej, która pozwala na współdziałanie usług za pośrednictwem sieci. • W coraz większym zakresie wybieraną dla SOA strukturą pośrednicząca są środowiska web services, wykorzystujące WSDL (Web Services DesciptionLanguage), SOAP (Simple Object Access Protocol) i inne standardy WS-. • Jednak w wielu implementacjach SOA usługi są współdzielone, aranżowane i wywoływane w tradycyjnych środowiskach pośredniczących, które współdziałają na różne sposoby. • Dla ekspozycji interfejsów aplikacyjnych w środowisku SOA można zamiast web services wybrać też XML, który jest transportowany protokołem HTTP lub transferu plików.

  11. 3 Brokery usług • Brokery usług pozwalają programistom na deklarowanie swoich programowych "kontraktów usług" i innych metadanych opisujących - we współdzielonym rejestrze online, repozytorium czy katalogu. • Infrastruktura brokerów usług przybiera wiele form i są one często specyficzne dla poszczególnych środowisk pośredniczących i platformowych. • Standard UDDI (Universal Desciption, Discovery and Integration) definiuje środowisko brokerów usług dla web services. • Inne popularne środowiska brokerów usług obejmują: CommonObjectRequest Broker ArchitectureNaming Service, DistributedComputing Environment Cali Directory Service, Windows NT Registry, Java RemoteMethodInvocation Registry i repozytoria Electronic Business XML. • W charakterze węzłów brokerów usług SOA można też wykorzystywać systemy zarządzania bazą danych.

  12. 1 2 Podsumowanie 3 koncepcji SOA 3 • Istotą prawdziwego środowiska SOA jest niezależność od platformy, zarówno operacyjnej, jak i aplikacyjnej. • Tak więc przy każdej implementacji należy dbać o to, aby nie wprowadzać specyficznych zależności od WSDL, SOAP, UDDI i innych standardów czy specyfikacji web services. • Budując SOA, usługi webowe i inne środowiska projektowe, współdziałania czy operacyjne, powinno się traktować jak szczegół implementacyjny. • SOA jest ciągle jeszcze w fazie rozwojowej. W rzeczywistości jest stanem docelowym, do którego wiele organizacji może się zbliżyć, ale nigdy nie osiągnie w pełni. • Sprowadza się to do maksymalizacji wykorzystania usług i minimalizacji ich redundancji, w złożonych, wieloplatformowych środowiskach rozproszonych.

  13. 1 2 Podsumowanie 3 koncepcji SOA 3 • SOA jest podejściem do projektowania systemów informatycznych, które zakłada współdzielenie funkcji aplikacyjnych wywoływanych w sieci. • Jest to sposób na zrobienie więcej mniejszym wysiłkiem. • Aplikacje mają być budowane szybciej, w sposób przyrostowy, z niewielką liczbą nowych wierszy kodu. • Potencjał SOA tkwi w tym, że niewielkie koszty budowy nowych aplikacji ulegają dalszemu zmniejszeniu w miarę zwiększania stopnia wykorzystania usług. • Trudność polega jednak na tym, że adaptacja SOA wymaga zmiany tradycyjnego myślenia o: modelowaniu, projektowaniu, integracji, wdrożeniu i zarządzaniu aplikacjami. • Wiele z oszczędności, jakie daje SOA, ma swoje źródło w zdolności konsolidowania, w ramach całej organizacji, tzw. silosów nadmiarowej funkcjonalności aplikacyjnej i danych.

  14. Architektura zorientowana na usługiPrzykład podstawowych składników SOA

  15. Według analiz ForresterResearch • Projektowanie oparte na SOA może być początkowo droższe od tradycyjnego podejścia, gdy poszczególne etapy rozpatruje się oddzielnie, z uwzględnieniem budowania poszczególnych komponentów aplikacji. • Jednak gdy te aplikacyjne komponenty zaczynają być w coraz szerszym zakresie używane wielokrotnie, SOA staje się podejściem bardziej efektywnym niż podejście tradycyjne. • SOA jest jednak nadal koncepcją dość mglistą dla wielu specjalistów IT i w mniemaniu wielu osób rozciąga się na szeroki krąg luźno związanych ze sobą technologii i podejść. • Badania przeprowadzone wśród największych firm w Stanach Zjednoczonych (2005), wykazały, że 70% respondentów już zaimplementowało SOA, a oszacowano, że planuje wdrożyć 51% średnich firm i 46% małych. 

  16. Małymi krokami do celu • Z SOA wiązane są nadzieje na sprawną przebudowę infrastruktury IT w biegu. • Im bardziej dynamiczny biznes, tym więcej może skorzystać na dobrej implementacji SOA. • Także im więcej sprzymierzeńców, którzy podzielają wizję SOA, tym lepiej. • Pomocne jest w szczególności pozyskanie silnych partnerów w ramach organizacji, szczególnie ze sfery zarządzania biznesowego, którzy rozumieją konieczność obniżki kosztów i przyspieszenia reakcji na zmiany w całej organizacji. • Taka wspólna wizja może być rozległa, ale opłaca się startować z małym projektem. • Dobrze jest zaczynać od udostępnienia w formie usługi kilku tradycyjnych aplikacji o krytycznym znaczeniu, zapewniając na początek dostęp do ważnych danych i funkcji innym aplikacjom.

  17. Struktura usług operatora telekomunikacyjnego

  18. Małymi krokami do celu • Można też użyć współdzielonych usług do wyeliminowania redundancji wśród kilku trudnych do utrzymania aplikacji, których funkcjonalność się pokrywa.  • Takie projekty mogą przynosić widoczne korzyści m.in.: • ograniczenie kosztów integracji infrastruktury IT i szybsze reagowanie na potrzeby; • zwiększenie elastyczności i efektywności działania w obliczu takich wyzwań, jak: fuzje i przejęcia, konsolidacja oraz konieczność przestrzegania przepisów i regulacji prawnych; • uproszczenie procesu tworzenia, serwisowania i eksploatacji aplikacji oraz obniżenie związanych z tym kosztów; • zapewnienie działom IT elastyczności pozwalającej sprostać stale zmieniającym się potrzebom przedsiębiorstwa. • Należy przede wszystkim odpowiedzieć sobie na pytanie, jakie są te problemy biznesowe, które próbujemy rozwiązać, i jak się one mają do innych obszarów funkcjonalnych organizacji?

  19. Narzędzia SOA • Głównymi poziomami infrastruktury opartej na SOA są brokery usług, motory aranżacji, środowiska warstw pośredniczących opartych na wymianie wiadomości oraz narzędzia zarządzania na poziomie usług. • Projektanci używają często graficznych narzędzi definiowania procesów, pozwalające im na specyfikowanie zadań aranżacji, zależności, routingu i kroków procesu za pomocą diagramów. Podejście to nazywa się także projektowaniem typu model-driven. • Środowiska MOM (Message-OrientedMiddleware) zapewniają możliwość ponownego użycia usługi, przewidując protokoły: gwarantowanej dostawy wiadomości (reliablemessaging), powiadamiania o zdarzeniach oraz publikowania i subskrypcji, które łączą punkty końcowe aplikacji heterogenicznych w szynę usługową przedsiębiorstwa. • Zarządzanie infrastrukturami na poziomie usług zapewnia monitorowanie, optymalizowanie, sterowanie i integrację rozproszonych środowisk aplikacyjnych. Bardziej rozpowszechnionym określeniem tej funkcjonalności jest WSM (Web Sentice Management). 

  20. Jak to zrobić? Jednym ze sposobów są działania w trzech obszarach: • SOA Governance– zadaniem jest przygotowanie reguł, podziału odpowiedzialności, itp., czyli: modelu procesów, według którego usługi będą przygotowywane (SOA Design) i zarządzane (SOA Management) a następnie monitorowanie wykonania i udoskonalenie tychże procesów. • SOA Design – jest zespołem działań i środków (w ramach procesów wytyczonych przez SOA Governancemającym na celu przygotowanie nowej usługi lub zmianę (łącznie z wycofaniem) istniejącej usługi. • SOA Management – obejmuje administrację infrastrukturą IT, monitorowanie, strojenie jak również wsparcie przy wdrożeniu nowych i zmienionych usług. Obowiązuje zasada 4xP: • People(zasoby ludzkie, wiedza, umiejętności, świadomość, komunikacja) • Processes(organizacja zarządzania i pracy poprzez odpowiedni model procesów) • Products (technologie, oprogramowanie, sprzęt) • Partners (współpraca z poddostawcami wewnętrznymi i zewnętrznymi, współpraca pomiędzy wszystkimi stronami zainteresowanymi)

  21. Dostawcy SOA IBM, SAP, Oracle, Software AG, BEA, Cisco, HP, MS i inni Przykład: Service Oriented Network Arcitecture firmy Cisco

  22. Przykład: SOMA (Service Oriented Modelling and Architecture) Szablon (SOMA) procesów wytwórczych dla rozwiązań SOA zbudowany przez IBM na bazie klasycznego RUP (RationalUnifiedProcess) jest dostępny w formie plug-in do narzędzia RUP MethodComposer lub w formie darmowej publikacji HTML.

  23. Materiały źródłowe • Józef Muszyński, SOA - usługi na pierwszym miejscu, Computerworld, 2006, https://www.computerworld.pl/news/SOA-uslugi-na-pierwszym-miejscu,316935.html • Jarosław Łagowski, SOA – Ideologia nie technologia, XV Konferencja PLUG, 2009, http://www.ploug.org.pl/wp-content/uploads/ploug-konferencja-15-13_SOA_-_Ideologia_nie_technologia.pdf • Piotr Waszczuk, SOA: czym jest, czym nie jest?, Computerworld, 2008, https://www.computerworld.pl/news/SOA-czym-jest-czym-nie-jest,148360.html • Rafał Jakubowski, SOA? O co chodzi?, Computerworld, 2008, https://www.computerworld.pl/news/SOA-O-co-chodzi,322849.html

  24. Dziękuję za uwagę

More Related