Serwer transakcji Microsoft
- Marian Łakomy,
- 16.03.1998
Transakcje to coś więcej niż operacje w biznesie: to także filozofia projektowania aplikacji informatycznych, gwarantująca solidność systemów rozproszonych.
Transakcje to coś więcej niż operacje w biznesie: to także filozofia projektowania aplikacji informatycznych, gwarantująca solidność systemów rozproszonych.
Monitor transakcji jest specjalnym programem, przeznaczonym do zarządzania transakcjami, szczególnie przydatnym do obsługi wielu użytkowników, ale niezbędnym w środowisku przetwarzania rozproszonego. Jednym z jego ważniejszych zadań jest nadzór nad każdą transakcją, poczynając od miejsca jej powstania w stacji klienta, przez wszystkie uczestniczące w niej zasoby (serwery, bazy danych, sieć), rozdzielanie obciążenia i ewentualnie restart systemu po awarii. Serwer transakcji Microsoft - podobnie jak monitory transakcyjne IBM (CICS), Transarc (Encina), BEA i Novell (Tuxedo) czy NCR (TopEnd) - jest oparty na standardowych metodach obsługi transakcji, zapewniając - w środowisku przetwarzania z wieloma serwerami i systemami komputerowymi - zestaw właściwości określanych mianem ACID:
Atomowość (A - Atomicity) polega na tym, że transakcja stanowi niepodzielną jednostkę pracy: powiedzie się jedynie w całości albo wcale.
Spójność (C - Consistency) polega na tym, że po wykonaniu transakcji stan systemu jest spójny (jeżeli transakcja ma zmienić stan konta nadawcy i odbiorcy, musi wykonać obie te czynności).
Izolacja (I - Isolation) oznacza, że na stan transakcji nie mają wpływu inne transakcje wykonujące się jednocześnie w systemie.
Trwałość (D - Durability) - efekty transakcji są stabilne po jej zakończeniu.
Serwery aplikacji
Wymaganie, aby aplikacje biznesowe były łatwo skalowalne wraz ze wzrostem rozmiaru bazy danych, liczby użytkowników i wykonywanych operacji udaje się spełnić jedynie w przypadku systemów rozproszonych, korzystających z trójwarstwowej architektury ze specjalizowanym serwerem aplikacji. Szczególnego znaczenia nabiera to w przypadku rozpowszechniania aplikacji w Internecie/intranecie, w których zaczynają dominować rozwiązania z wieloma serwerami baz danych, serwerami aplikacji i Web serwerami (serwerami HTML).
Serwer aplikacji musi spełniać m.in. następujące funkcje:
-zapewnić środowisko wykonawcze dla funkcji aplikacyjnych
-zintegrować aplikację z usługami katalogowymi
-utrzymywać połączenia z bazami danych
-zsynchronizować dostęp do wielu wspólnych zasobów i rozstrzygać konflikty
-zajmować się obsługą stanu połączenia z klientami aplikacji
-zapewnić bezpieczeństwo systemu.
Opracowanie serwera aplikacji to zadanie nie na siły zespołu programistycznego, zaangażowanego w projekt informatyczny. Serwery aplikacji raczej są kupowane. Dostarczają je wielcy producenci systemów zarządzania bazami danych i systemów operacyjnych. Najbardziej znane serwery aplikacji produkują: IBM, Netscape, Microsoft i Oracle.