Okno na Internet

Jednym z najważniejszych zastosowań platformy serwerowej Microsoftu jest obsługa aplikacji internetowych. W nowej wersji Windows Server 2008 za ten obszar odpowiada serwer IIS 7.0.

Jednym z najważniejszych zastosowań platformy serwerowej Microsoftu jest obsługa aplikacji internetowych. W nowej wersji Windows Server 2008 za ten obszar odpowiada serwer IIS 7.0.

Firmy wykorzystują Internet w różnoraki sposób: od prostego publikowania informacji na stronach WWW, przez obsługę rozbudowanego intranetu, po zaawansowaną wymianę usług w modelu SOA (Service Oriented Architecture). W każdym z tych zastosowań istotną rolę odgrywa serwer aplikacji. W przypadku Windows Server 2008 serwerem aplikacji jest zmodernizowany Internet Information Services (IIS) 7.0. Przedstawiciele producenta podkreślają, że IIS 7.0 stanowi jeden z najważniejszych argumentów za migracją do nowej platformy serwerowej, udostępnionej w lutym 2008 r.

Łatwiejsze zarządzanie infrastrukturą

Najważniejszym zadaniem, jakie zostało postawione przed zespołem tworzącym IIS 7.0 było usprawnienie administracji serwerem. Porzucono więc interfejs oparty na niezliczonej liczbie zakładek na rzecz komunikacji z użytkownikiem, opartej o zadania. Została też wprowadzona możliwość delegowania ról administracyjnych innym użytkownikom na poziomie strony oraz aplikacji.

W nowej wersji serwera usług internetowych Microsoftu rozbudowany został interfejs WMI (Windows Management Instrumentation), który pozwala tworzyć skrypty odnoszące się do IIS i konfiguracji .NET w prostszy i bardziej przejrzysty sposób niż dotychczas. Co ciekawe, do administracji można także wykorzystywać kod.NET dzięki wprowadzeniu nowego zarządzanego API.

Najważniejsze nowe funkcjonalności IIS 7.0

  • narzędzia administracyjne AppConfig.exe i IIS Manager
  • nowe API Win32
  • funkcje umożliwiające zdalną administrację przez http i https
  • możliwość delegowania praw administracyjnych
  • rozszerzalność serwera z poziomu.NET

Inne istotne ulepszenie to rozbudowane narzędzie linii poleceń AppCmd.exe, co pozwala również zarządzać ustawieniami ASP.NET, administrować serwerem, zbierać informacje diagnostyczne czy automatyzować niektóre zadania. Oprócz tego, narzędzia konfiguracyjne jako podstawowy protokół komunikacyjny wykorzystują HTTP, dzięki czemu firewall potencjalnie nie będzie blokował zdalnego zarządzania serwerem.

Okno na Internet

Zarządzanie IIS 7.0 za pomocą IIS Manager

Poza tym rozbudowane zostały funkcjonalności serwera aplikacji w zakresie diagnozowania i rozwiązywania problemów. Dotychczas IIS był czymś w rodzaju czarnej skrzynki i w przypadku wystąpienia błędów bardzo trudno było otrzymać szczegółowe informacje z poziomu serwera aplikacji. Natomiast teraz proste jest uzyskanie informacji dotyczących: wykorzystania procesora przez konkretne żądania HTTP, list żądań HTTP, które nie uzyskały pozwolenia na działania, a także informacji dotyczących stanu pól, aplikacji czy też poszczególnych stron WWW. Można także uzyskać dziennik zdarzeń z nieudanych lub długo działających żądań oraz ustawić automatyczne logowanie odpowiednich błędów na poziomie serwera, aplikacji czy też strony.

Warto także zauważyć, że podgląd informacji nie odbywa się za pośrednictwem zwykłych plików tekstowych, ale ostatnio coraz bardziej popularnego formatu XML, co m.in. pozwala na wykorzystanie wygodnego interfejsu przeglądarki.

IIS 7.0 jako serwer aplikacji

Z punktu widzenia programistów, chyba najważniejszą zmianą w IIS 7.0 jest przebudowa architektury strumienia (pipeline) przetwarzania żądań. Oprogramowanie pozwala na bezpośrednie ładowanie zarządzanego kodu do procesu Application Host. ASP.NET nie jest już zaimplementowany jako standardowe rozszerzenie ISAPI (Internet Services API), ale ma swoje osobne miejsce w architekturze nowego IIS. Elementy, które dotąd były częścią ASP.NET, obecnie są podłączone bezpośrednio do strumienia przetwarzania żądań. Zapewne poprawi to wydajność działania aplikacji opartych na tej technologii. Oprócz tego będzie można za pomocą własnych modułów zarządzanych zmieniać zachowanie serwera (np. sposób listowania katalogów) oraz znacznie łatwiej zastosować URL rewriting.

Dość interesującą koncepcją wydaje się zastosowanie technologii.NET nie tylko do żądań skierowanych wyłącznie do stron ASP.NET, ale do wszystkich żądań kierowanych do serwera, które dotyczą statycznych stron HTML, starego ASP, plików czy nawet PHP. Jednakże pisanie własnych rozszerzeń i bezpośrednie podłączanie się pod kod IIS zawsze wiąże się z dodatkowym ryzykiem. Oczywiście, istnieje także możliwość przetwarzania żądań zgodnie ze starym modelem.

Inną, potencjalnie interesującą modyfikacją, jest możliwość zmiany ustawień serwera IIS z poziomu pliku konfiguracyjnego aplikacji webowej lub usługi sieciowej. Natomiast delegowanie uprawnień pozwala programistom na szybkie wdrażanie rozwiązań internetowych za pomocą XCOPY.

Migracja i jej potencjalne problemy

Pierwszymi klientami Microsoftu są dotychczasowi użytkownicy serwerowych systemów rodziny Windows. Dlatego też istotne znaczenie ma procedura migracji ze starszych wersji do nowego pakietu - każdy chciałby, aby była prosta, szybka i tania. W praktyce tego typu operacje zawsze wiążą się ze sporym ryzykiem i muszą być starannie zaplanowane.

W przypadku Internet Information Services 7.0 migracja z poprzedniej wersji następuje podczas aktualizacji z Windows 2003 do 2008. Dzieli się ona na 3 fazy: zebranie informacji, instalacja oprogramowania i konfiguracja.

W pierwszym etapie sprawdzana jest obecność IIS w systemie. Jeżeli zostanie on wykryty, to stan serwera oraz tzw. metabaza są zapisywane w pliku roboczym. Następnie przeprowadzana jest właściwa część instalacji, kiedy to na podstawie zebranych informacji o systemie instalowane są odpowiednie elementy nowego IIS 7.0.

W tym miejscu warto wspomnieć, że wybór komponentów, które można instalować nie jest tak szczegółowy, jak w przypadku "czystej" instalacji. Wynika to, rzecz jasna, z konieczności dostosowania się do architektury starszej wersji systemu. Jednak po zakończeniu aktualizacji użytkownik ma możliwość ręcznego dostosowania serwera do swoich wymagań i potrzeb. Na samym końcu konfigurowane są ustawienia wprowadzone wcześniej przez użytkownika i zebrane na początku całego procesu. Warto zwrócić uwagę, że w procesie tym potencjalnie zagrożone jest przywrócenie ustawień filtrów ISAPI skonfigurowanych na poziomie strony.

Znacznie bardziej złożona może być procedura migracji farm serwerów do IIS 7.0.

Ewidentnym problemem, który mogą napotkać niektórzy użytkownicy, jest brak wsparcia ze strony producenta dla bezpośredniej migracji z IIS 5.0 Windows 2000 do wersji IIS 7.0.


TOP 200