Serwer transakcji Microsoft

Serwer aplikacji dla Internetu/intranetu

Serwer transakcji Microsoft Transaction Server działa szerzej niż typowe monitory transakcji dla środowiska unixowego lub mainframe'owego. Definiuje bowiem również model programowania i zapewnia środowisko wykonawcze rozproszonych aplikacji złożonych z gotowych komponentów. Funkcjonuje więc jako serwer aplikacji budowanych z komponentów ActiveX, wykonywanych na serwerze aplikacyjnym, realizujących typowe funkcje biznesowe.

Komponenty zgodne z wszechobecnym w Windows modelem COM (Common Object Model) opracowuje się tak, jak dla pojedynczego użytkownika, natomiast po zainstalowaniu ich w serwerze transakcji, stają się one skalowalnymi komponentami obsługującymi jednocześnie wielu użytkowników.

Komponenty współpracujące z serwerem transakcji mają postać tzw. serwerów in-process, tj. bibliotek DLL wywoływanych w miarę potrzeby przez moduł wykonawczy monitora. Można je tworzyć za pomocą popularnych narzędzi z Windows: Visual Basic, Visual C++, Visual J++ i innych narzędzi, które pozwalają na tworzenie komponentów ActiveX.

W aplikacji biznesowej komponenty opracowuje się zgodnie z jej modelem w celu realizacji podstawowych funkcji usługowych, wykonywania reguł działania obsługiwanej organizacji, transformacji i przetwarzania danych oraz zapisywania ich do bazy.

Komponenty działające w serwerze transakcji korzystają z wykonywanej przezeń obsługi transakcji, można je więc pisać tak, jakby działały osobno. Monitor zaś zajmuje się obsługą jednoczesnego dostępu do danych, obsługą zasobów (np. bazami danych lub systemem plików) i dostępem do nich, zarządzaniem kontekstem i stanem współpracy z użytkownikiem (co jest ważne w przypadku tzw. bezstanowej komunikacji z przeglądarki Web) i innym związanymi ze współpracą z systemem operacyjnym.

Aplikacje są uruchamiane jako zestawy komponentów ActiveX zwane pakietami (packages). Aplikacja może zawierać jeden lub więcej takich pakietów.

Składniki serwera transakcji Microsoft

Transaction Server Executive (TSE). To moduł wykonawczy (run-time) DLL, zapewniający usługi zarządzania wątkami i obsługę kontekstu dla komponentów monitora.

Proces systemowy. Pakiet komponentów aplikacji jest wykonywany przez proces systemowy Windows NT, może obsługiwać setki klientów, korzystając z usług modułu wykonawczego TSE. Ograniczenie działania aplikacji do jednego procesu zapewnia zarówno izolację błędów w ramach pakietu, jak i bezpieczne granice. Na jednym komputerze można uruchomić wiele procesów, zajmujących się wykonywaniem innych pakietów jednej lub wielu aplikacji. Zapewnia to możliwości dowolnej dystrybucji aplikacji w celu spełnienia wymagań co do wydajności lub izolacji od innych aplikacji.

Transaction Manager. Jest ważnym elementem serwera transakcji koordynującym pracę menedżerów zasobów. Menedżer zasobów (Resource Manager) to usługa systemowa, zajmująca się obsługą danych trwałych. Współpracując z Transaction Manager, zapewnia atomowość i izolację transakcji. Przykładami menedżerów zasobów są: serwer bazy danych (Microsoft SQL Server, Informix lub Oracle), trwałe kolejki komunikatów lub transakcyjny system plików.

Serwer transakcji Microsoft akceptuje moduły menedżera zasobów zgodne z protokołem transakcji OLE lub protokołem przemysłowym XA, opracowanym przez konsorcjum Open Group.

Resource Dispenser. Jest usługą systemową do obsługi nietrwałych danych, potrzebnych komponentom aplikacji w ramach procesu. Przykładami tego typu usług jest korzystanie ze sterownika ODBC lub z takich zmiennych aplikacyjnych, jak np. liczba dostępów do danej strony HTML.

Microsoft Distributed Transaction Coordinator. Ten ważny element serwera transakcji służy do obsługi transakcji, obejmujących wiele menedżerów zasobów (np. wiele serwerów baz danych). Realizuje on mechanizm dwufazowego zatwierdzania transakcji (two-phase commit), zapewniając atomowość transakcji, niezależnie od ewentualnego uszkodzenia lub niedostępności węzła systemu rozproszonego, błędnego działania sieci lub aplikacji.

Dwa światy w jednym

Microsoft Transaction Server umożliwia realizację specyficznej filozofii tworzenia aplikacji bazodanowych. Z jednej strony posługuje się standardowymi, sprawdzonymi mechanizmami zapewniania bezpieczeństwa obsługi transakcji, typowymi dla monitorów transakcji znanych od wielu lat. Z drugiej - zapewnia możliwości budowy aplikacji z komponentów ActiveX, stanowiących podstawę techniki obiektowej COM z Windows. Pozwala więc na szybkie budowanie aplikacji z opracowanych lokalnie lub kupowanych na rynku komponentów. Tworzy również rynek komponentów do obsługi określonych procesów biznesowych.


TOP 200