ten blog opisuje kroki SOA, które organizacja musi podjąć, zanim będzie mogła odnieść prawdziwy sukces w realizacji korzyści związanych z kosztami i elastycznością oferowanych przez architekturę zorientowaną na usługi korporacyjne. Omawia to, co oznacza SOA i różne etapy wdrażania SOA, opisując dostępne technologie, procesy i najlepsze praktyki, aby pomóc firmom odnieść sukces w ich inicjatywach związanych z architekturą zorientowaną na usługi.
Co to jest SOA?
Architektura zorientowana na usługi (ang. Service-oriented architecture, SOA) – rodzaj architektury używanej w projektowaniu oprogramowania, która obsługuje orientację usług, w której usługi są dostarczane do innych komponentów za pośrednictwem protokołu komunikacyjnego w sieci.
co oznacza skrót SOA?
definicja SOA, jak podaje Wikipedia:
Architektura zorientowana na usługi (ang. Service-oriented architecture, SOA) to styl projektowania oprogramowania, w którym usługi są świadczone innym komponentom przez komponenty aplikacji, za pośrednictwem protokołu komunikacyjnego w sieci. Podstawowe zasady architektury zorientowanej na usługi są niezależne od dostawców, produktów i technologii. Usługa to oddzielna jednostka funkcjonalności, do której można uzyskać zdalny dostęp, działać i aktualizować niezależnie, na przykład pobierać wyciąg z karty kredytowej online.
usługa ma cztery właściwości zgodnie z jedną z wielu definicji SOA:
- logicznie reprezentuje działalność gospodarczą o określonym wyniku.
- jest samodzielna.
- jest to czarna skrzynka dla swoich konsumentów.
- może składać się z innych podstawowych usług.
różne usługi mogą być używane w połączeniu w celu zapewnienia funkcjonalności dużej aplikacji, zasada SOA dzieli z programowaniem modułowym. Architektura zorientowana na usługi integruje rozproszone, oddzielnie utrzymywane i wdrażane komponenty oprogramowania. Jest to możliwe dzięki technologiom i standardom, które ułatwiają komunikację i współpracę komponentów w sieci, zwłaszcza w sieci IP.
zapewnia to zwięzłą odpowiedź na pytanie, co oznacza SOA, ale nie opisuje powodów, dla których organizacja chciałaby przejść na architekturę zorientowaną na usługi, ani korzyści płynących z SOA.
również z wikipedii na temat tego, co oznacza SOA:
niektórzy architekci przedsiębiorstw uważają, że SOA może pomóc firmom szybciej i bardziej efektywnie reagować na zmieniające się warunki rynkowe.Ten styl architektury promuje ponowne wykorzystanie na poziomie makro (usługi), a nie mikro (klasy). Może również uprościć połączenie z istniejącymi (starszymi) zasobami IT i korzystanie z nich.
pod pewnymi względami SOA można uznać za ewolucję architektoniczną, a nie rewolucję. Przechwytuje wiele najlepszych praktyk poprzednich architektur oprogramowania. Na przykład w systemach łączności niewiele się rozwijało rozwiązań wykorzystujących prawdziwie statyczne wiązania do rozmów z innymi urządzeniami w sieci. Przyjmując podejście SOA, takie systemy mogą podkreślać znaczenie dobrze zdefiniowanych, wysoce interoperacyjnych interfejsów.
wiercąc się w tych koncepcjach widzimy, że istnieje zestaw podstawowych możliwości, które są wymagane do osiągnięcia potencjalnych korzyści z SOA. Wikipedia omawia kilka z tych głównych zasad, wśród których są:
- ponowne wykorzystanie – możliwość hermetyzacji i eksponowania gruboziarnistych funkcji biznesowych jako usług
- luźne łączenie-zapewnienie, że konsumenci usług są wystarczająco oderwani od fizycznej implementacji usługi
- identyfikacja i kategoryzacja (wykrywalność) – upewnienie się, że potencjalni konsumenci mogą znaleźć potrzebne usługi
bez względu na to, jakiej definicji SOA używasz, te podstawowe dyrektorzy prowadzą do naturalnego porządku działań, które organizacja musi wykonać, aby stopniowo realizować korzyści płynące z usług zorientowanych Architektura.
Zobacz, dlaczego Akana jest silnym wykonawcą w raporcie Forrester Wave™: API Management Solutions, Q3 2020.
Pobierz raport
jakie są Siedem kroków SOA?
jest siedem kroków SOA:
- Tworzenie/wystawianie usług
- Rejestruj usługi
- bezpieczne usługi
- Zarządzaj usługami (monitoruj)
- Mediuj i Wirtualizuj usługi
- Zarządzaj SOA
- Integracja SOA z ESB
SOA kroki 2 do 6 opisują problemy między przedsiębiorstwami, które należy rozwiązać za pomocą scentralizowanej platformy infrastruktury Soa. Kroki 1 i 7 odpowiadają konkretnym potrzebom i często są dostarczane jako część istniejącego stosu aplikacji korporacyjnych. Wykonanie tych kroków doprowadzi organizację na właściwą drogę do realizacji korzyści płynących z SOA. Czytaj dalej, aby zagłębić się w każdy krok SOA.
Tworzenie / wystawianie usług
pierwszy krok w kierunku organizacji SOA jest oczywisty. Nie może istnieć aplikacja SOA bez usług, więc pierwszym krokiem musi być ujawnienie lub utworzenie usług, które mogą być łatwo wykorzystywane przez aplikacje obsługujące usługi sieciowe.
istnieje wiele interesujących decyzji, przed którymi stają firmy rozpoczynając ten proces, między innymi decyzja, czy odbudować istniejące aplikacje przy użyciu paradygmatu zorientowanego na usługi, czy też ujawnić istniejącą logikę aplikacji jako zestaw usług. Nie jest to oczywiście decyzja binarna, a większość organizacji zbuduje nowe usługi od podstaw, często używając J2EE i / lub. NET, a także udostępni usługi z istniejących komputerów mainframe i innych aplikacji biznesowych.
istnieje szeroka gama różnych rozwiązań dla firm, które chcą ujawnić istniejące aplikacje jako usługi, w tym wiodąca na rynku SOLA firmy Akana, pozwalająca aplikacjom mainframe CICS na ujawnianie i korzystanie z niezawodnych, bezpiecznych i wysokowydajnych usług.
każda firma, która zainwestowała w mainframe (ponad 1000 MIPS według Gartnera), powinna zbadać sposoby lepszego wykorzystania zalet tej platformy i powinna korzystać z usług internetowych, aby łatwo zintegrować swoje aplikacje mainframe z nowoczesnymi systemami. SOLA firmy Akana jest produkcyjnie sprawdzona u klientów takich jak Merrill Lynch, gdzie przetwarza ponad 2 miliony transakcji dziennie z ponad 600 usług internetowych. SOLA jest jedynym produktem, który oferuje programistom mainframe łatwy w użyciu, oparty na sieci Web interfejs do wyświetlania i korzystania z usług z aplikacji CICS. Zawiera wbudowaną obsługę zaawansowanych funkcji usług internetowych, takich jak WS-Security, Szyfrowanie XML i podpis XML.
większość firm zajmujących się tradycyjną integracją aplikacji korporacyjnych (EAI) dostarcza również wersje swoich adapterów, które udostępniają usługi sieciowe, a nie tradycyjne protokoły własnościowe. W rzeczywistości wiele z tych platform EAI ponownie pojawia się jako produkty dla przedsiębiorstw. ESB rozwiązuje wiele różnych problemów, z których jednym jest funkcjonalność typu commodity data services używana do ujawniania interfejsów Usług Sieciowych z tradycyjnych adapterów.
co to jest serwis internetowy?
Z Wikipedii:
w odniesieniu do usług internetowych W3C, W3C zdefiniował usługę sieciową jako: „usługa sieciowa to system oprogramowania zaprojektowany do obsługi interoperacyjnych interakcji między maszynami w sieci. Posiada interfejs opisany w formacie przetwarzalnym maszynowo (w szczególności WSDL). Inne systemy współdziałają z usługą internetową w sposób określony w jej opisie za pomocą komunikatów SOAP, zazwyczaj przesyłanych za pomocą HTTP z serializacją XML w połączeniu z innymi standardami sieciowymi.”
ta definicja jest interesująca z technicznego punktu widzenia, ale tak naprawdę nie dociera do sedna wartości, którą można uzyskać z SOA i usług internetowych. Podstawowym aspektem usług internetowych jest to, że powinny one eksponować logikę biznesową za pośrednictwem interfejsu opartego na standardach. Ważnym aspektem wyeksponowania lub stworzenia usługi jest jej szczegółowość. Istnieje wiele różnych szkół myślenia na temat tego, co stanowi usługę (patrz wyżej), ale większość architektów korporacyjnych zgodziłaby się, że aby usługa była przydatna w SOA, musi być wystarczająco gruboziarnista, aby była przydatna w wielu różnych zastosowaniach.
to oczywiście żele z jedną z podstawowych zasad usług w SOA – aby usługa mogła być ponownie wykorzystana; musi być ogólnie użyteczna i użyteczna. Przykładem ogólnie użytecznej usługi może być usługa” getCustomerInfo”, która zwróci dane o kliencie z identyfikatora klienta. Bardziej drobnoziarnista usługa, która może nie być ogólnie użyteczna, może być czymś specyficznym dla konkretnej aplikacji ,na przykład” setApplicationState”.
ważne jest, aby wziąć pod uwagę szczegółowość usług zarówno przy budowaniu nowych usług, jak i eksponowaniu istniejącej logiki biznesowej jako usługi. Na przykład łatwo byłoby wziąć transakcję CICS i wystawić wiele różnych usług, aby ustawić i uzyskać różne parametry, podczas gdy w rzeczywistości bardziej gruboziarnista usługa, która eksponuje całą transakcję jako jedną usługę, może być o wiele bardziej ogólnie przydatna, a zatem wartościowa.
powiązane Czytanie: dowiedz się, w jaki sposób interfejs API SOLA firmy Akana zapewnia klientom szybki i łatwy proces eksponowania aplikacji mainframe jako bezpiecznych usług internetowych i pozwala aplikacjom mainframe korzystać z usług internetowych.
Zarejestruj się
Ok, więc masz jedną lub więcej usług dostępnych w przedsiębiorstwie. Co teraz?
aby usługa mogła być używana, nie mówiąc już o ponownym użyciu, architekci aplikacji i programiści, którzy mogą skorzystać z tej usługi, muszą wiedzieć, że istnieje. Tu wchodzi rejestr. Na najprostszym poziomie rejestr jest niczym więcej niż indeksem biblioteki, który pomaga potencjalnym Użytkownikom Usług znaleźć usługi, którymi mogą być zainteresowani. Rejestr powinien oferować zarówno interfejsy wyszukiwania, jak i przeglądania, i powinien być zorganizowany logicznie, aby ułatwić szybkie i dokładne wykrywanie usług.
w dzisiejszym SOA akceptowanym standardem dla podstawowych usług Rejestru jest UDDI (Universal Discover, Description, and Integration). Specyfikacja UDDI zapewnia model danych i zestaw interfejsów (same wszystkie usługi sieciowe) do publikowania i odkrywania usług, a także kolejny zestaw interfejsów do zarządzania samym serwerem rejestru.
wielu dostawców rejestru podjęło pierwotną koncepcję rejestru nieco dalej i używają technologii rejestru jako podstawy dla bardziej kompletnego repozytorium. Dostawcy rejestru dodają również filtry oparte na zasadach do swoich narzędzi do publikowania i oferują „rozwiązania do zarządzania w czasie projektowania”.
Akana uważa rejestr za podstawowy element składowy SOA. Wszystkie nasze produkty wykorzystują UDDI jako jeden centralny sklep dla wiarygodnych informacji o usługach w SOA. Produkty mogą współpracować z dowolnym rejestrem zgodnym z UDDI, a Akana zawiera własny serwer rejestru UDDIv3 z produktem Service Manager dla firm, które jeszcze nie mają rejestru. W związku z tym rejestr pełni rolę SOA, którą LDAP wypełnił dla rozwiązań do zarządzania tożsamością i dostępem.
produkty Akany koncentrują się na zarządzaniu czasem pracy i wykorzystują rejestr jako centralne miejsce do znajdowania zasad pracy w celu wdrożenia i egzekwowania. Oczywiście wbudowany rejestr jest w pełni funkcjonalnym serwerem UDDIv3, a więc stanowi idealne repozytorium usług w czasie projektowania.
Beyond registry to cała koncepcja usług polityki i metadanych, które zapewniają kompleksowe repozytoria dla wszystkich artefaktów związanych z czasem projektowania i uruchomieniem usług w SOA. Koncepcja ta została omówiona bardziej szczegółowo w opracowanym przez Akanę whitepaper the SOA Infrastructure Reference Model.
bezpieczne
świat SOA i usług internetowych to nie wszystko. Zakładając, że wykonałeś kroki jeden i krok, zrób krok wstecz i zastanów się, co zrobiłeś. Zakładając, że dążysz do maksymalnej wartości biznesowej, prawdopodobnie weźmiesz aplikacje o znaczeniu krytycznym, podzielisz je na gruboziarniste elementy funkcjonalności, ujawnisz tę funkcjonalność jako usługi, a następnie opublikujesz te usługi w powszechnie dostępnym rejestrze.
to wszystko może wydawać się dobrą rzeczą, aw większości przypadków jest to świetna rzecz, ale być może przypadkowo stworzyłeś dziury w bezpieczeństwie w swojej organizacji i ujawniłeś poufne informacje lub transakcje o wysokiej wartości każdemu, kto ma podstawowe umiejętności w zakresie usług internetowych. Zapewnienie bezpieczeństwa usług oznacza budowanie warstwy egzekwowania bezpieczeństwa u dostawców usług, a warstwy wdrażania bezpieczeństwa u konsumentów usług.
dobrym sposobem na zrozumienie zagrożeń bezpieczeństwa związanych z usługami sieciowymi jest powrót do tradycyjnych aplikacji typu mainframe z zielonym ekranem. Jedynym zabezpieczeniem wymaganym przez te aplikacje było bezpieczeństwo logowania, jeśli można uzyskać dostęp do aplikacji, byłeś w. Aplikacje te zawierały te same podstawowe elementy, co nowoczesne aplikacje (Interfejs, logika biznesowa, usługi danych), ale tylko interfejs był dostępny poza aplikacją. W świecie usług internetowych jest prawdopodobne, że niektóre z podstawowych usług danych zostaną ujawnione jako usługi, część logiki biznesowej z pewnością powinna zostać ujawniona, a aplikacja nie została napisana z myślą o żadnym z tych punktów dostępu. Oznacza to, że kluczowe znaczenie ma zabezpieczenie usług, które ujawniasz indywidualnie, nie możesz polegać na wewnętrznych elementach aplikacji, aby zapewnić jej własne bezpieczeństwo.
co to znaczy zabezpieczyć serwis internetowy? Te same zasady bezpieczeństwa 5, które mają zastosowanie do innych aplikacji, mają również zastosowanie do usług internetowych:
- uwierzytelnianie-upewnij się, że znasz tożsamość zgłaszającego usługę (a także upewnij się, że zgłaszający zna tożsamość usługi, z którą się kontaktuje). Istnieje wiele różnych standardów usług internetowych dla uwierzytelniania żądań, od prostych podejść, takich jak podstawowe uwierzytelnianie http, po bardziej złożone mechanizmy, takie jak SAML lub podpis X. 509. Dobre narzędzie bezpieczeństwa usług internetowych powinno obsługiwać wszystkie te różne opcje.
- autoryzacja-upewnij się, że zgłaszający jest upoważniony do uzyskania dostępu do usługi lub operacji, której dotyczy żądanie. Autoryzacja jest złożonym problemem i dostępnych jest wiele różnych produktów do podejmowania decyzji politycznych. Większość dużych przedsiębiorstw będzie miała istniejące rozwiązanie do autoryzacji (CA SiteMinder, IBM TAM, itp.), a Dobre Rozwiązanie Bezpieczeństwa usług internetowych powinno być w stanie zintegrować się z nimi, a także zapewnić własne możliwości autoryzacji.
- Prywatność-upewnij się, że nieautoryzowane osoby trzecie nie mogą odczytać żądań i odpowiedzi. To tutaj standardy takie jak szyfrowanie XML wchodzą w swoje własne, ale aby skutecznie korzystać z szyfrowania XML, rozwiązanie bezpieczeństwa usług internetowych musi zapewniać skuteczne zarządzanie kluczami i certyfikatami oraz możliwości dystrybucji, a najlepiej pewne narzędzia po stronie klienta, aby pomóc deweloperom konsumenckim.
- Non-Repudiation-upewnij się, że żądający nie może odmówić wysłania żądania i upewnij się, że usługa nie może odmówić wysłania odpowiedzi. Jest to rola podpisu XML, z takim samym zarządzaniem kluczami i dystrybucją, jak w przypadku prywatności.
- audyt-upewnij się, że system może utrzymywać dokładny i terminowy zapis żądań i odpowiedzi w razie potrzeby.
jednym z ciekawych pytań i punktów dyskusji, które pojawiają się wokół bezpieczeństwa usług internetowych, jest miejsce, w którym należy to bezpieczeństwo zastosować. Niektórzy dostawcy twierdzą, że bezpieczeństwo powinno być centralną funkcją wymuszaną przez klaster centralnie rozmieszczonych serwerów proxy, podczas gdy inni twierdzą, że powinno to być wyłącznie domena dostawcy usług lub kontenera. Rzeczywistość jest oczywiście gdzieś pomiędzy tymi dwoma pozycjami. Serwer proxy (lub klaster serwerów proxy) z pewnością odgrywa ważną rolę w dostarczaniu usług uwierzytelniania i wykrywania zagrożeń na obrzeżach sieci w celu ochrony przed zagrożeniami zewnętrznymi. Równie ważną rolę odgrywa bezpieczeństwo dostawcy lub kontenera w celu zapewnienia bezpieczeństwa usługi do ostatniej mili.
wiele firm pomija badania, które pokazują, że większość zagrożeń bezpieczeństwa jest wewnętrznych dla przedsiębiorstwa, a nie zewnętrznych, a zatem deleguje zabezpieczenia na rozwiązanie typu firewall. Akana oferuje wysokowydajny serwer proxy, który wykonuje funkcje zabezpieczeń scentralizowanych lub brzegowych sieci, oraz szeroką gamę agentów kontenerowych, aby zapewnić bezpieczeństwo wdrożonych usług na ostatniej mili.
zabezpieczanie serwisów WWW wymaga:
- wdrażaj w pełni funkcjonalne agentów w kontenerach, aby zapewnić bezpieczeństwo ostatniej mili i dystrybuować obciążenie operacji kryptograficznych
- wdrażaj wysokowydajnych pośredników sieciowych do routingu i egzekwowania zabezpieczeń krawędzi sieci
- zapewniaj kompleksowe zarządzanie kluczami i certyfikatami oraz dystrybucję, aby zapewnić, że dostawcy usług i deweloperzy konsumenccy mogą z powodzeniem wdrażać wymagane zasady bezpieczeństwa
- dostarczaj deweloperom konsumenckim Zestawy narzędzi abstrakcyjnych dla deweloperów konsumenckich od złożoności odkrywania i wdrażania zabezpieczeń korporacyjnych Zasady
powiązane Czytanie: dowiedz się więcej o najlepszych praktykach bezpieczeństwa API.
Zarządzaj
trzy kroki w 7-stopniowym podejściu do SOA i zaczynamy robić postępy w kierunku osiągnięcia rzeczywistej wartości z korporacyjnego SOA. Mamy pewne usługi, są one publikowane w rejestrze i mogą być wykryte przez potencjalnych użytkowników, i mamy zapewnione, że są one bezpieczne. Czego jeszcze moglibyśmy potrzebować?
aby odpowiedzieć na to pytanie, powinniśmy najpierw przyjrzeć się potencjalnemu scenariuszowi katastrofy. Co się stanie, gdy moje usługi staną się ofiarami własnego sukcesu? Tj. usługa stała się tak popularna, że istnieje kilka (dziesiątki, setki lub tysiące) różnych aplikacji zużywających ją i zaczyna się zaciskać pod obciążeniem. Nagle mamy dziesiątki, setki, tysiące aplikacji, które zawodzą lub działają słabo i nie wiemy dlaczego ani Jak to zatrzymać.
musimy monitorować nasze usługi, abyśmy wiedzieli, czy działają one w normalnych parametrach operacyjnych, i abyśmy dostrzegli potencjalne problemy, zanim wystąpią, wdrażając modele planowania wydajności.
wdrażane przez nas rozwiązanie monitorujące powinno być w stanie monitorować usługi pod kątem podstawowej dostępności, wydajności (czasu reakcji), przepustowości, a nawet rozszerzać je na monitorowanie treści i użytkowników. Powinna ona mieć możliwość monitorowania i ostrzegania o określonych progach SLA oraz powinna mieć możliwość stosowania różnych SLA do różnych użytkowników tej samej usługi lub tej samej operacji.
wielu dostawców definiuje tę kategorię produktu jako rozwiązanie do zarządzania usługami sieciowymi, chociaż wielu analityków zgadza się, że zarządzanie jest znacznie szersze niż proste rozwiązanie monitorujące i powinno obejmować wiele funkcji opisanych w następnym kroku.
idealnie, oczywiście, nie powinniśmy wdrażać oddzielnych rozwiązań dla bezpieczeństwa i monitorowania, ponieważ za każdym razem, gdy przechwytywamy wiadomości przez agenta lub pośrednika, dodajemy kolejne wąskie gardło wydajności. Właśnie dlatego Service Manager firmy Akana łączy się z Network Director, aby zapewnić kompleksową platformę bezpieczeństwa, monitorowania i zarządzania SOA w jednym, wysokowydajnym i łatwym do wdrożenia rozwiązaniu.
niektórzy dostawcy zarządzania usługami sieciowymi (monitoring) pozycjonują swoje rozwiązania jako platformy monitorowania aktywności biznesowej (BAM), chociaż BAM jest złożonym rozwiązaniem wymagającym integracji z wieloma systemami back – I front-office oraz bazami danych. Monitorowanie interakcji usług internetowych pod kątem treści nie powinno być uważane za alternatywę dla rozwiązania BAM dla przedsiębiorstw.
: Dowiedz się więcej o kompleksowym rozwiązaniu do zarządzania API firmy Akana.
5. Mediacja i wirtualizacja
w tym momencie wydaje się, że nasz SOA jest gotowy do primetime. I tak jest, przynajmniej przez jakiś czas…
kolejny zestaw wyzwań pojawia się wraz z dojrzewaniem SOA. Musisz wprowadzić nowe wersje usług lub zwiększyć pojemność usługi, uruchamiając wiele jej wystąpień, aprowizować aplikacje do korzystania z określonych wystąpień usług i oferować usługi, które udostępniają szerszy zakres różnych typów interfejsów.
tutaj pojawia się wirtualizacja usług. Wirtualizacja wydaje się złożona, ale rzeczywistość jest dość prosta. Usługa wirtualna to zupełnie nowa usługa, zdefiniowana przez własny WSDL, z własnym adresem sieciowym i parametrami transportowymi. Nie implementuje żadnej logiki biznesowej; po prostu działa jako proxy dla jednej lub więcej usług fizycznych, routingu, równoważenia obciążenia, transformacji i pośredniczenia między różnymi typami komunikatów żądań i standardami.
chociaż z pozoru jest to proste, koncepcja wirtualizacji jest niezwykle potężna. Zapewnia możliwość pełnego abstrakcji odbiorców usług od jakiejkolwiek bezpośredniej wiedzy na temat usługi fizycznej. Na przykład za pośrednictwem usługi wirtualnej klient.NET korzystający z implementacji niezawodnego protokołu komunikacyjnego firmy Microsoft z SOAP przez http może korzystać z zwykłej starej usługi XML ujawnionej za pośrednictwem IBM WebSphere MQ series z aplikacji mainframe. Klient. NET uwierzyłby, że to komunikacja z usługą http, która obsługuje niezawodny protokół komunikacyjny, podczas gdy aplikacja mainframe uwierzyłaby, że jest ona pytana przez inną natywną aplikację z serii mq.
usługi wirtualne oferują szeroki zakres funkcjonalności:
- mogą one korzystać z technologii transformacji XML, aby umożliwić konsumentom dalsze korzystanie ze starej wersji usługi, która już nie istnieje, poprzez przekształcenie wiadomości żądań i odpowiedzi między starą wersją A nową wersją, która została wdrożona.
- mogą wybierać określone operacje z wielu różnych usług i łączyć je w jedną funkcjonalną WSDL dla określonej klasy aplikacji zużywającej.
- mogą zapewnić różne wymagania zasad dla różnych klas użytkowników (np. użytkowników wewnętrznych z jednym zestawem zasad, a inna implementacja usługi, która wymusza inny zestaw zasad dla konsumentów zewnętrznych).
- mogą one zapewniać transport pomostowy dla usług i konsumentów na niezgodnych transportach (np. http i JMS). * Mogą pośredniczyć między różnymi implementacjami standardów, a nawet ich wersjami.
- mogą pośredniczyć między różnymi stylami wiadomości – RSS, SOAP, REST, POX (zwykły stary XML).
- mogą zapewnić zaawansowane routing oparty na treści lub kontekście, aby zapewnić zaawansowane funkcje równoważenia obciążenia i wysokiej dostępności.
najważniejsze z usług wirtualnych jest to, że są one wymagane do routingu lub innych zaawansowanych usług internetowych i szybko staną się istotną częścią każdego przedsiębiorstwa SOA.
Zarządzaj
po wykonaniu 5 z 7 kroków enterprise SOA jest prawie gotowy do pracy. Teraz masz bezpieczne, zarządzane usługi, które są dostępne dla szerokiego grona odbiorców w niezawodny, równoważony obciążeniem sposób i są łatwe do wykrycia.
następnym krokiem jest połączenie wszystkich możliwości oferowanych przez pierwsze 5 kroków za pomocą struktury zarządzania. Zarządzanie jest pracą nadużywaną i często nadużywaną, więc przyjrzyjmy się pokrótce definicji zarządzania. Ponownie z Wikipedii:
termin zarządzanie dotyczy procesów i systemów, za pomocą których działa organizacja lub społeczeństwo. Często powoływany jest rząd w celu administrowania tymi procesami i systemami.
kluczowym punktem, który należy wziąć z tej definicji, jest to, że zarządzanie dotyczy procesów i systemów. W przypadku zarządzania SOA omawiamy procesy organizacyjne, takie jak Komisja przeglądowa architektury, oraz systemy, takie jak rejestr, Bezpieczeństwo i technologie zarządzania omówione w tym blogu.
Zarządzanie SOA jest często podzielone na dwie oddzielne części, Zarządzanie w czasie projektowania i zarządzanie w czasie działania. W czasie projektowania organizacje chcą kontrolować (zarządzać) rodzaje usług, które mogą być publikowane, kto może je publikować, jakie typy schematów i wiadomości te usługi mogą akceptować, a także wiele innych zasad dotyczących usług. W czasie pracy organizacje muszą zapewnić bezpieczeństwo, niezawodność i wydajność swoich usług oraz muszą mieć pewność, że usługi są zgodne ze zdefiniowanymi zasadami przedsiębiorstwa. Zarządzanie czasem projektowania jest interesujące i pomaga zapewnić zorganizowany, dobrze zaprojektowany SOA, ale blednie w porównaniu z aktywną kontrolą SOA w czasie pracy.
Service Manager firmy Akana to wiodąca w branży platforma zarządzania czasem pracy, oferująca kompleksowe rozwiązanie do bezpieczeństwa, monitorowania, zarządzania, mediacji i rejestru. Zarządzanie w czasie pracy zasadniczo zapewnia jednolite ramy kontroli i monitorowania stosowania różnych kroków do SOA opisanych w niniejszym dokumencie. Zapewnia jedno nadrzędne rozwiązanie zapewniające nadzór nad rejestrem usług, bezpieczeństwem, zarządzaniem i mediacją. Dobre rozwiązanie do zarządzania czasem pracy przejawi się jako forma stołu roboczego zapewniającego narzędzia dla wszystkich aktywnych uczestników SOA.
- Programista Serwisu: narzędzia do publikowania, kategoryzowania, definiowania metadanych, pobierania „agenta”, wirtualizacji, wersji, wyboru zasad, wyboru widoczności/praw dostępu, udziału w planowaniu wydajności i przepływie pracy dostępu
- klient usługi: narzędzia ułatwiające wyszukiwanie usług, Wybór i przepływ pracy dostępu
- personel operacyjny: narzędzia do monitorowania wydajności usługi, rozwiązywania problemów, monitorowania zależności, usług wersji, wirtualizacji, zarządzania serwerami proxy
- personel bezpieczeństwa: narzędzia do zarządzania zasadami, raportowania zasad, sprawdzania zgodności, audyt bezpieczeństwa
- Enterprise Architect: Narzędzia do monitorowania aplikacji, zarządzania relacjami, walidacji i definiowania zasad projektowania, zarządzania wersjami usług, przypisywania usług do proxy, wirtualizacji usług
- Enterprise IT Management: Zarządzanie metryką ponownego wykorzystania, metryki ponownego wykorzystania usług, statystyki SOA
Integracja SOA z ESB
patrząc wstecz na wyniki ostatnich 6 kroków w kierunku SOA, zastanawiamy się, co jeszcze może być. Do tej pory mamy zestaw usług, które są publikowane w rejestrze, bezpieczne, zarządzane, niezawodne i luźno połączone, wszystko opakowane w solidną konstrukcję i rozwiązanie do zarządzania w czasie pracy.
ostatnim krokiem w przypadku niektórych przedsiębiorstw jest wdrożenie jednej lub więcej implementacji Enterprise Services Bus (ESB) w celu zintegrowania usług z usługami złożonymi lub zaaranżowanymi wyższego poziomu. Te ESB będą często dostarczane jako część szerszego pakietu aplikacji, takich jak aplikacje Oracle eBusiness lub SAP. Niektóre wyspecjalizowane ESB mogą być używane do tworzenia złożonych usług złożonych i obejmą sferę zarządzania procesami biznesowymi (BPM).
Related Reading: dowiedz się więcej o rozwiązaniach integracyjnych firmy Akana.
Enterprise Service Bus (ESB) to coraz bardziej popularna koncepcja. Pierwotnie pomyślany jako ewolucja zarówno oprogramowania pośredniczącego zorientowanego na wiadomości, jak i rozwiązań EAI (enterprise application integration), ESB oznacza bardzo różne rzeczy dla różnych organizacji. Gdy analitycy, dostawcy i klienci godzą się z ideą ESB, wydaje się, że ESB zawiera 3 koncepcje funkcjonalne: Adaptery zaczerpnięte z narzędzia EAI w celu zapewnienia łączności ze starszymi aplikacjami, usługi przesyłania wiadomości zaczerpnięte z platformy pośredniczącej zorientowanej na wiadomości w celu zapewnienia niezawodnego dostarczania oraz orkiestrację procesów w celu tworzenia zwinnych aplikacji.
wśród analityków panuje konsensus, że większość organizacji otrzyma wiele platform ESB od wielu dostawców, świadczących usługi w ich własnym kontekście. W tym środowisku istotne jest, aby ESB korzystały z centralnej infrastruktury SOA w celu zapewnienia zgodności z zasadami bezpieczeństwa i komunikatów dla usług, które udostępniają i z których korzystają.
produkty Service Manager I Network Director firmy Akana łączą się w kompletne rozwiązanie do zarządzania wieloma instancjami ESB i mediacji między nimi w przedsiębiorstwie.
teraz, gdy wiesz więcej o tym, co oznacza skrót SOA i najważniejsze kroki SOA, sprawdź Akana w akcji!
Rozpocznij Próbę