Architektura serwisów architektura biznesu

SOA to nie tylko grupa standardów i narzędzi. To także zupełnie inna wizja informatyki w przedsiębiorstwie, organizacji IT i jej odpowiedzialności, a także całego biznesu.

SOA to nie tylko grupa standardów i narzędzi. To także zupełnie inna wizja informatyki w przedsiębiorstwie, organizacji IT i jej odpowiedzialności, a także całego biznesu.

Strategic Architects Forum (SAF), zorganizowane przez Microsoft w Redmond w połowie listopada br., odbywało się w momencie szczególnym. Opadła fala początkowej fascynacji architekturą SOA. Firmy zastanawiają się dzisiaj, jak wykorzystać paradygmat SOA dla poprawy procesów biznesowych lub budowy przewagi konkurencyjnej. Microsoft stara się dać im odpowiedź, a przynajmniej dostarczyć odpowiednie narzędzia.

Jak architekt z architektami

Informatyką rządzą dzisiaj megatrendy. Pierwszy z nich to zmiany w sprzęcie. Dalsza miniaturyzacja urządzeń przenośnych oraz łatwy dostęp do Internetu z każdego punktu sprawiają, że gwałtownie wzrasta liczba użytkowników i transakcji w serwisach internetowych. Drugi trend to postrzeganie oprogramowania jako serwisu.

Paradygmat Software+Services (S+S) to odpowiedź Microsoftu na postępującą standaryzację , a więc traktowanie usługi IT jako dobra o charakterze standardowym, którego struktury nie musimy rozumieć, aby z niej korzystać, a która dostępna jest w dowolnym miejscu i w dowolnym momencie. Coraz bardziej zaawansowane, a jednocześnie coraz bardziej przyjazne usługi, takie jak Windows Live czy Office Business Applications, sprawiają, że użytkownicy nie chcą już przechodzić przez czasochłonny proces zakupu i instalacji oprogramowania. Podłączają się do serwera i korzystają z serwisu.

Trzeci trend to Web 2.0. Coraz większa liczba użytkowników nakłada na Internet "osobisty filtr". Tworząc własne "przestrzenie konsumenckie" za pomocą serwisów, takich jak MySpace.com, czy gromadząc zawartość w deli.cio.us, decydują o tym, jakie informacje i usługi chcą dostawać. Dziś jeszcze użytkownik wchodzi na stronę banku internetowego, aby sprawdzić saldo konta i zapłacić rachunki. Jutro zawartość będzie przekazywana przez bank do "osobistej przestrzeni" użytkownika, ten zaś będzie wykonywał akcje w przerwach między czytaniem wiadomości spersonalizowanych pod swoim kątem oraz przeglądaniem nowych zdjęć zamieszczonych w serwisie Facebook przez swoich znajomych.

W dzisiejszym świecie termin "aplikacja" traci swoje pierwotne znaczenie i jest zastępowany terminem "mashup", używanym do określenia aplikacji integrującej zawartość rozmaitych serwisów SOA w jeden, personalizowany widok. Wyzwaniem pozostaje taka budowa serwisów oraz taki sposób ich udostępniania i opisu, aby użytkownicy mogli skomponować sobie z nich własne rozwiązania. Dziś każdy może być programistą. Oczywiście nie będzie to oznaczać przymuszenia użytkowników do budowy aplikacji "z klocków" w każdej sytuacji. To raczej serwisy zbudowane w oparciu o SOA będą umożliwiać konstrukcję elastycznych i skalowalnych rozwiązań.

Nowe wyzwaniadla architektów

Rola architekta w tym wszystkim polegać będzie na zapewnieniu odpowiedniego porządku w budowie takich serwisów oraz zbieżności ze strategicznymi celami firmy. Będzie on musiał wesprzeć odbiorców odpowiednimi narzędziami i kompetencjami w toku budowy rozwiązań stosownych do jego biznesu.

Architektura korporacyjna czasami postrzegana jest jako panowanie nad infrastrukturą, ale przede wszystkim powinna starać się zapanować nad danymi. Tak, aby wszyscy wiedzieli gdzie znajdują się dane o kliencie i które serwisy służą do ich wyciągania, jak łączyć je z danymi o zamówieniach itd. A także - poprzez narzucenie mechanizmów kontroli architektury - zapewnić spójność informacji, odpowiednią konstrukcję i publikację nowych serwisów SOA oraz właściwe bezpieczeństwo.

Konsument i dostawca

Układ sił pomiędzy użytkownikiem aplikacji a jej dostawcą zmienia się radykalnie. Użytkownik działa w oparciu o cienkiego klienta - jakkolwiek pojawienie się technologii, takich jak AJAX, każe zerwać z przekonaniem, że surowe "klikanie po linkach HTML" wystarcza. Z drugiej strony, dostawca buduje serwisy i umieszcza je w centrach danych. Jego odpowiedzialność to zapewnienie odpowiedniej dostępności, skalowalności oraz bezpieczeństwa. Tak, aby użytkownik mógł korzystać z usługi nie interesując się, na jakiej platformie sprzętowej, systemowej i aplikacyjnej działa, a po prostu wpisać adres w przeglądarkę lub - znowu - umieścić zawartość w swojej specjalizowanej "przestrzeni".

Pomiędzy konsumentem a dostawcą istnieje Internet, z wszystkimi jego ograniczeniami i wadami związanymi z jakością połączeń, przepustowością oraz bezpieczeństwem. W najlepszym razie jest to korporacyjny intranet, którego jednak nie można traktować jako pewnego i bezpiecznego kanału. W tej sytuacji nie ma znaczenia to, o ile milisekund przyspieszymy działanie naszego serwisu, jeśli pomiędzy serwerem internetowym a przeglądarką użytkownika jest pięciosekundowe opóźnienie w transmisji. Użytkownik zaś i tak będzie winił dostawcę aplikacji za wolne działanie. Dlatego firmy dostarczające usługi online muszą coraz bardziej dbać o odczucia użytkownika. Microsoft robi to np. w taki sposób, że replikuje "ciężkie", ale statyczne dane (np. obrazy) w , które są blisko użytkownika (w tym samym kraju lub przynajmniej na tym samym kontynencie), podczas gdy dane dynamiczne (np. treść e-maili, dokumenty, dane z aplikacji) przesyłane są z zupełnie innego centrum danych - tego, w którym działają aplikacje.

Dopełnieniem koncepcji SOA wydaje się idea composite applications. W odróżnieniu od tradycyjnego widzenia (aplikacje złożone z prostych, standardowych i dobrze opisanych komponentów), composite applications to budowa rozwiązań biznesowych z serwisów SOA łączonych bardzo prostymi metodami (np. graficzną "przeciągnij i upuść").

Idzie nowe

Za dobry przykład ewolucji, jaką przechodzi dziś architektura, może uchodzić Amazon.com. Oparcie się na SOA pozwoliło firmie na zintegrowanie - w ramach jednego portalu - produktów tak różnych jak książki, elektronika domowa i tekstylia. Każdy z nich de facto obsługiwany jest przez inną firmę i dostarczany z innej lokalizacji. Dzięki zastosowaniu architektury SOA i serwisów internetowych (web services) użytkownik widzi je jednak w sposób jednorodny.

Zarządzanie środowiskiem wysokiej dostępności wymaga organizacji, która nie tylko jest w stanie szybko identyfikować ewentualne problemy w infrastrukturze, ale także zarządzać incydentami, pojemnością oraz zapewnić odpowiednie skalowanie środowiska stosownie do zapotrzebowania ze strony użytkowników internetowych. W zasadzie w każdym wielkoskalowym, wysoko dostępnym środowisku stosowane są autorskie rozwiązania problemów, takich jak dystrybucja obciążenia, integralność danych czy bezpieczeństwo.

Widać, że rynek na razie rośnie tak szybko, iż nie pozwala na standaryzowanie rozwiązań w postaci jakichś "rozwiązań klastrowych z półki". Najlepszym narzędziem radzenia sobie z problemami pozostaje więc kompilator, dwie ręce i głowa na karku.

Informatyką rządzą dzisiaj megatrendy

Pierwszy z nichto zmiany w sprzęcie.

Dalsza miniaturyzacja urządzeń przenośnych oraz łatwy dostęp do Internetu z każdego punktu sprawiają, że gwałtownie wzrasta liczba użytkowników i transakcji w serwisach internetowych.

Drugi to postrzeganieoprogramowania jako serwisu.

Użytkownicy nie chcą już przechodzić przez czasochłonny proces zakupu i instalacji oprogramowania. Podłączają się do serwera i korzystają z serwisu.

Trzeci to Web 2.0.

Dziś jeszcze użytkownik wchodzi na stronę banku internetowego, aby sprawdzić saldo konta i zapłacić rachunki. Jutro zawartość będzie przekazywana przez bank do "osobistej przestrzeni", ten zaś będzie wykonywał akcje w przerwach między czytaniem wiadomości spersonalizowanych pod swoim kątem oraz przeglądaniem nowych zdjęć zamieszczonych przez swoich znajomych.


TOP 200