System Windows Server® 2008 udostępnia zunifikowaną platformę do publikowania w sieci Web, integrującą Internetowe usługi informacyjne (IIS, Internet Information Services), aplikację ASP.NET oraz funkcję Windows Communication Foundation (WCF). Usługi IIS 7.0 stanowią główne rozszerzenie istniejącej roli Serwer sieci Web (IIS) i odgrywają kluczową rolę w integrowaniu technologii platform sieci Web.
Do czego służą usługi IIS 7.0?
Najważniejsze funkcje usług IIS 7.0 to:
| • | elastyczny model rozszerzeń, dzięki którym jest możliwe zaawansowane dostosowywanie; |
| • | wydajne narzędzia diagnostyczne i narzędzia do rozwiązywania problemów; |
| • | delegowanie administracji; |
| • | udoskonalone zabezpieczenia i ograniczony obszar ataków dzięki dostosowaniu; |
| • | rzeczywiste wdrażanie aplikacji za pomocą polecenia xcopy; |
| • | zintegrowane zarządzanie aplikacjami i kondycją dla usług WCF; |
| • | udoskonalone narzędzia administracyjne. |
Powyższe kluczowe funkcje pomagają w utworzeniu zunifikowanej platformy, dzięki czemu usługi IIS 7.0 zapewniają jeden spójny model deweloperski i administracyjny dla rozwiązań sieci Web.
Elastyczny model rozszerzeń, dzięki którym jest możliwe zaawansowane dostosowywanie
Usługi IIS 7.0 umożliwiają deweloperom rozszerzanie usług IIS w celu udostępniania niestandardowych funkcji w nowy, wydajniejszy sposób. Rozszerzenia usług IIS 7.0 obejmują zupełnie nowy podstawowy zestaw interfejsów programowania aplikacji (API, application programming interface) serwera, które umożliwiają opracowywanie modułów funkcji zarówno w macierzystym kodzie (C/C++), jak i w kodzie zarządzanym (takie języki, jak C# czy Visual Basic 2005, oparty na systemie.NET Framework).
Usługi IIS 7.0 pozwalają też rozszerzać konfigurację, obsługę skryptów, rejestrowanie zdarzeń oraz zestawy funkcji narzędzi administracyjnych, zapewniając deweloperom oprogramowania kompletną platformę serwera, na której można budować rozszerzenia serwera sieci Web.
Wydajne narzędzia diagnostyczne i narzędzia do rozwiązywania problemów
Usługi IIS 7.0 ułatwiają deweloperom oraz informatykom rozwiązywanie problemów z błędnymi witrynami i aplikacjami sieci Web. Usługi IIS 7.0 w czytelny sposób prezentują wewnętrzne informacje diagnostyczne o usługach IIS oraz zbierają i przedstawiają szczegółowe zdarzenia diagnostyczne, aby ułatwić rozwiązywanie problemów z serwerami.
Delegowanie administracji
W celu zredukowania kosztów posiadania oraz obciążenia administratora użytkownicy, którzy odpowiadają za hosting witryn sieci Web bądź usług WCF albo administrowanie nimi, mogą - przy użyciu usług IIS 7.0 - delegować kontrolę administracyjną do deweloperów lub właścicieli zawartości. Dla potrzeb obsługi delegowania administracji wprowadzono nowe narzędzia administracyjne.
Udoskonalone zabezpieczenia i ograniczony obszar ataków dzięki dostosowaniu
Użytkownik może kontrolować, które funkcje mają być instalowane i uruchamiane na danym serwerze sieci Web. Usługi IIS 7.0 składają się z ponad 40 osobnych modułów funkcji. Każdy taki moduł można zainstalować na serwerze niezależnie, aby ograniczyć obszar serwera podatny na ataki i wyeliminować zbędne prace administracyjne. Aby uzyskać więcej informacji na temat różnych modułów funkcji, zobacz artykuł dotyczący modułów usług IIS 7.0 (http://go.microsoft.com/fwlink/?LinkId=68740) (strona może zostać wyświetlona w języku angielskim).
Rzeczywiste wdrażanie aplikacji za pomocą polecenia xcopy
Usługi IIS 7.0 umożliwiają przechowywanie ustawień konfiguracji usług IIS w plikach web.config, co znacznie ułatwia kopiowanie aplikacji w obrębie wielu serwerów frontonu sieci Web za pomocą polecenia xcopy. Zapobiega to kosztownej, podatnej na błędy replikacji i problemom związanym z ręczną synchronizacją.
Zarządzanie aplikacjami i kondycją dla usług WCF
Aby usprawnić programowanie i hosting usług WCF za pośrednictwem wielu protokołów, system Windows Server 2008 udostępnia usługę aktywacji systemu Windows (WAS, Windows Activation Service), która obsługuje podłączany mechanizm aktywacji dowolnych odbiorników protokołów. Usługa WAS udostępnia wszystkim typom aplikacji aktywowanych za pomocą komunikatów inteligentne zarządzanie zasobami, aktywację procesów na żądanie, monitorowanie kondycji oraz automatyczne wykrywanie błędów i odtwarzanie. Usługa WAS jest oparta na modelu przetwarzania żądań usług IIS 6.0.
Udoskonalone narzędzia administracyjne
W usługach IIS 7.0 wprowadzono nowy, ukierunkowany zadaniowo interfejs użytkownika oraz nowe narzędzie wiersza polecenia do zarządzania serwerami, witrynami i aplikacjami sieci Web. Aby uzyskać więcej informacji, zobacz sekcję „Narzędzia administracyjne” w podrozdziale Jakie istniejące funkcje zostały zmienione? w tym temacie.
Dla kogo jest przeznaczona ta funkcja? Każda firma lub organizacja, która zajmuje się hostingiem lub projektowaniem witryn sieci Web bądź usług WCF, może czerpać korzyści z udoskonaleń wprowadzonych usługach IIS 7.0.
Z tym tematem oraz z dodatkową dokumentacją dotyczącą usług IIS 7.0 powinny się zapoznać następujące osoby:
| • | planiści technologii informatycznych i analitycy oceniający produkt; |
| • | planiści i projektanci technologii informatycznych w przedsiębiorstwie; |
| • | informatycy zajmujący się wdrażaniem usług IIS lub administrowaniem nimi; |
| • | deweloperzy zajmujący się tworzeniem witryn sieci Web oraz usług WCF; |
| • | usługodawcy internetowi lub podobne organizacje trudniące się hostingiem usług sieci Web. |
Czy są jakieś specjalne zagadnienia?
Zapora systemu Windows jest domyślnie włączona
Zapora systemu Windows jest domyślnie włączona w systemie Windows Server 2008. Aby umożliwić ruch związany z wybranymi usługami ról, w trakcie instalacji roli Serwer sieci Web proces instalacyjny dodaje następujące reguły przychodzące Zapory systemu Windows:
| • | Jeżeli są instalowane usługi ról związane z protokołem HTTP i HTTPS, do Zapory systemu Windows jest dodawana reguła zezwalająca na ruch dla protokołu HTTP na porcie 80 i protokołu HTTPS na porcie 443. Reguły te pojawiają się na liście Zapory systemu Windows jako Usługi sieci World Wide Web (ruch przychodzący protokołu HTTP) oraz Usługi sieci World Wide Web (ruch przychodzący protokołu HTTPS). Reguły są włączane automatycznie. |
| • | Jeżeli są instalowane usługi ról związane z protokołem FTP, do Zapory systemu Windows jest dodawana reguła zezwalająca na ruch dla protokołu FTP na porcie 21. Reguła ta pojawia się na liście Zapory systemu Windows jako Serwer FTP (ruch przychodzący). Reguła jest włączana automatycznie. |
| • | Jeżeli jest instalowana Usługa zarządzania, do Zapory systemu Windows jest dodawana reguła zezwalająca na ruch usługi na porcie 8172. Reguła ta pojawia się na liście Zapory systemu Windows jako Usługa zarządzania siecią Web (ruch przychodzący). Reguła musi zostać włączona przez administratora serwera. |
Jakie istniejące funkcje zostały zmienione?
Konfiguracja
W usługach IIS 7.0 wprowadzono kilka znaczących usprawnień sposobu przechowywania danych konfiguracji i uzyskiwania dostępu do nich. Jednym z głównych celów usług IIS w wersji 7.0 jest umożliwienie rozproszonej konfiguracji ustawień usług IIS, która pozwala administratorom na określenie ustawień konfiguracji usług IIS w plikach przechowywanych razem z kodem i zawartością.
Jakie znaczenie ma ta zmiana?
Konfiguracja rozproszona umożliwia administratorom określenie ustawień konfiguracji witryny sieci Web lub aplikacji w tym samym katalogu, w którym znajduje się kod lub zawartość. Dzięki temu, że ustawienia konfiguracji są określone w jednym pliku, konfiguracja rozproszona pozwala administratorom delegować administrację wybranych funkcji witryn sieci Web lub aplikacji sieci Web (na przykład funkcje te mogą modyfikować deweloperzy aplikacji). Administratorzy mogą również zablokować określone ustawienia konfiguracji tak, aby nie mogły zostać zmienione przez inne osoby.
W ramach konfiguracji rozproszonej ustawienia konfiguracji dla określonej witryny lub aplikacji mogą być kopiowane z jednego komputera na drugi (np. gdy aplikacja jest przenoszona ze środowiska programowania do środowiska testowego, a następnie do produkcyjnego). Konfiguracja rozproszona umożliwia także konfigurację witryny lub aplikacji pod kątem współużytkowania jej w obrębie farmy serwerów, w której każdy z serwerów pobiera ustawienia konfiguracji i zawartość z serwera plików.
Jakie funkcje zostały zmienione?
Konfiguracja usług IIS 7.0 jest oparta na istniejącym magazynie konfiguracji systemu .NET Framework, który pozwala na przechowywanie ustawień konfiguracji usług IIS w plikach Web.config razem z konfiguracją aplikacji ASP.NET. Ta zmiana zapewnia jeden magazyn konfiguracji dla wszystkich ustawień konfiguracji platform sieci Web, które są dostępne za pomocą wspólnego zestawu interfejsów API i są przechowywane w spójnym formacie. System konfiguracji usług IIS 7.0 jest również w pełni rozszerzalny, dzięki czemu deweloperzy mogą rozszerzać magazyn konfiguracji o konfigurację niestandardową z taką samą wiernością i takim samym priorytetem jak w przypadku konfiguracji usług IIS.
Usługi IIS 7.0 przechowują globalną, czyli obowiązującą dla całego komputera, konfigurację w pliku ApplicationHost.config w katalogu %windir%\system32\inetsrv. Ten plik zawiera dwie główne grupy sekcji konfiguracji:
| • | system.applicationHost |
| • | system.webServer |
Grupa sekcji system.applicationHost zawiera konfigurację witryn, aplikacji, katalogów wirtualnych oraz pul aplikacji. Grupa sekcji system.webServer zawiera konfigurację pozostałych ustawień, w tym domyślne ustawienia globalne sieci Web.
Konfiguracja specyficzna dla adresu URL może być również przechowywana w pliku ApplicationHost.config za pomocą znaczników <location>. Usługi IIS 7.0 mogą również odczytywać i zapisywać konfigurację specyficzną dla adresu URL - wraz z konfiguracją aplikacji ASP.NET - w kodzie lub katalogach zawartości witryn i aplikacji sieci Web na serwerze w plikach Web.config.
Jak rozwiązać problemy? Jak należy przygotować się do tej zmiany?
Ponieważ system Windows Server 2008 jest wersją główną, trzeba będzie poświęcić trochę czasu na zapoznanie się z nowymi opcjami konfiguracji.
Produkcyjne witryny sieci Web oraz usługi WCF działające w ramach usług IIS 6.0 powinny zostać starannie przetestowane, zanim zostaną przeniesione do środowiska produkcyjnego usług IIS 7.0, choć usługi IIS 7.0 zostały zaprojektowane tak, aby były zgodne (zobacz Czy muszę zmieniać istniejący kod? )
Jeżeli użytkownik korzysta z niestandardowych skryptów wiersza polecenia usług IIS 6.0, być może będzie musiał je przekonwertować pod kątem usług IIS 7.0. Zobacz Czy muszę zmieniać istniejący kod? w dalszej części tego tematu.
Narzędzia administracyjne
Usługi IIS 7.0 wprowadzają następujące zupełnie odmienione i nowe narzędzia administracyjne do zarządzania usługami IIS:
| • | Menedżer usług IIS - graficzny interfejs użytkownika; |
| • | appcmd.exe - narzędzie wiersza polecenia; |
| • | magazyn konfiguracji oparty na magazynie konfiguracji systemu .NET Framework 2.0 i obsługujący bezpośrednie edytowanie ustawień; |
| • | dostawca WMI, który może odczytywać lub zmieniać ustawienia w magazynie konfiguracji; |
| • | zarządzany interfejs Microsoft.Web.Administration, w którym są wyświetlane takie same informacje jak w dostawcy WMI. |
Ponadto system Windows Server 2008 udostępnia przystawkę IIS 6.0 programu MMC dla potrzeb zdalnego administrowania oraz administrowania witrynami FTP.
Narzędzia administracyjne oraz składniki serwera sieci Web mogą być instalowane osobno.
Usługi IIS 7.0 zawierają również nowego dostawcę WMI, który poszerza skryptowy dostęp do wszelkich konfiguracji usług IIS i aplikacji ASP.NET.
Microsoft.Web.Administration to interfejs zarządzany z dokładną kontrolą zgodności typów, służący do pobierania tych samych danych, które są prezentowane przez skrypty WMI.
Skrypty wiersza polecenia usług IIS 6.0 również zostały zastąpione nowym, wydajnym narzędziem wiersza polecenia o nazwie appcmd.exe.
Jakie znaczenie ma ta zmiana?
Nowe narzędzia administracyjne w pełni obsługują konfigurację rozproszoną oraz pozwalają na delegowanie obowiązków administracyjnych. Delegowanie może być bardzo specyficzne - administrator może podejmować decyzje w kwestii delegowania określonych funkcji w konkretnych przypadkach.
Jakie funkcje zostały zmienione? Czy występują jakieś zależności?
Nowe narzędzia administracyjne w pełni obsługują nową konfigurację rozproszoną usług IIS 7.0. Umożliwiają również delegowany (inny niż administracyjny) dostęp do konfiguracji poszczególnych witryn i aplikacji. Te narzędzia administracyjne obsługują uwierzytelnianie w określonej witrynie lub aplikacji osób mających poświadczenia inne niż administracyjne, a nawet inne niż poświadczenia systemu Windows, i zarządzanie konfiguracją tylko w tym zakresie.
Nowy interfejs użytkownika Menedżera usług IIS obsługuje zdalne administrowanie za pośrednictwem protokołu HTTP, pozwalając na bezproblemowe administrowanie lokalne, zdalne oraz przez Internet bez otwierania portów DCOM czy jakichkolwiek innych portów administracyjnych w zaporze.
Narzędzia administracyjne są w pełni rozszerzalne, dzięki czemu deweloperzy mogą przy użyciu systemu .NET Framework tworzyć nowe moduły administracyjne i łatwo je dołączać do interfejsu użytkownika, w którym będą działać w sposób równie niewidoczny dla użytkownika jak moduły dostarczone z usługami IIS 7.0.
Podstawowe funkcje serwera
Podstawowe funkcje serwera sieci Web usług IIS 7.0 wprowadzają istotne zmiany w porównaniu do usług IIS 6.0. Na przykład kod macierzysty i kod zarządzany są przetwarzane w jednym potoku żądań. Ponadto usługi IIS 7.0 cechuje aparat serwera sieci Web, w którym w zależności od potrzeb można dodawać lub usuwać składniki, nazywane też modułami.
Jakie znaczenie ma ta zmiana?
Wprowadzone zmiany zapewniają znaczne ograniczenie obszaru ataku, większą rozszerzalność oraz lepszą obsługę rozszerzania podstawowych funkcji usług IIS 7.0 przez tworzenie modułów kodu zarządzanego. Nowe podstawowe funkcje sieci Web procesów roboczych zapewniają również dostęp do wszystkich zdarzeń powiadomień w potoku żądań. Poziom integracji jest wyjątkowy i pozwala na używanie istniejących funkcji aplikacji ASP.NET (takich jak uwierzytelnianie oparte na formularzach lub autoryzacja URL) w odniesieniu do wszystkich typów zawartości sieci Web.
Jakie funkcje zostały zmienione?
W starszych wersjach usług IIS wszystkie funkcje były domyślnie wbudowane, co nie pozwalało na łatwe rozszerzanie lub zastępowanie żadnej z tych funkcji. Jednak podstawowe funkcje usług IIS 7.0 zostały podzielone na ponad 40 osobnych modułów funkcji. Podstawowe funkcje obejmują też nowy interfejs API Win32 dla potrzeb budowania modułów podstawowych funkcji serwera. Takie moduły są nowym, bardziej zaawansowanym rozwiązaniem zastępującym filtry ISAPI (Internet Server Application Programming Interface) oraz rozszerzenia, choć te filtry i rozszerzenia nadal są obsługiwane przez usługi IIS 7.0.
Ponieważ wszystkie podstawowe funkcje serwera usług IIS zostały opracowane w postaci osobnych modułów funkcji w taki sposób, aby usługi IIS 7.0 mogły korzystać z nowego interfejsu API Win32, można dodawać, usuwać lub nawet zastępować poszczególne moduły funkcji usług IIS.
Usługi IIS 7.0 zapewniają obsługę programowania rozszerzeń podstawowych funkcji serwera sieci Web przy użyciu systemu .NET Framework. Usługi IIS 7.0 zintegrowały istniejący interfejs API IHttpModule dla aplikacji ASP.NET, umożliwiając modułom kodu zarządzanego dostęp do wszystkich zdarzeń w potoku żądań.
Jak rozwiązać te problemy?
Zobacz sekcję Czy muszę zmieniać istniejący kod? w dalszej części tego tematu, zwłaszcza jeśli korzystasz z filtrów ISAPI.
Diagnostyka
Usługi IIS 7.0 zawierają dwa istotne udoskonalenia pomocne w diagnozowaniu oraz rozwiązywaniu problemów z błędnymi witrynami i aplikacjami sieci Web.
Jakie znaczenie ma ta funkcja?
Zmian funkcji diagnostyki i rozwiązywania problemów wprowadzone w usługach IIS 7.0 pozwalają deweloperowi lub administratorowi zobaczyć w czasie rzeczywistym, jakie żądania zostały uruchomione na serwerze. Teraz można odfiltrować warunki powstawania błędów, które są trudne do odtworzenia, i uaktywnić automatyczne wychwycenie błędu za pomocą szczegółowego dziennika śledzenia.
Jakie funkcje zostały zmienione?
Usługi IIS 7.0 udostępniają nowy interfejs API stanu i sterowania środowiska wykonawczego, który dostarcza w czasie rzeczywistym informacji o stanie puli aplikacji, procesach roboczych, witrynach, domenach aplikacji, a nawet uruchomionych żądaniach.
Informacje te są prezentowane przez macierzysty interfejs API modelu COM (Component Object Model). Interfejs API działa w ramach nowego dostawcy WMI usług IIS, narzędzia appcmd.exe, oraz Menedżera usług IIS i jest udostępniany za ich pośrednictwem. Pozwala to użytkownikom szybko i łatwo sprawdzić stan serwera sieci Web niezależnie od środowiska administracyjnego, z którego korzystają.
Usługi IIS 7.0 zapewniają też szczegółowe zdarzenia śledzenia w ścieżce żądań i odpowiedzi, umożliwiając deweloperom śledzenie żądania w drodze do usług IIS, w ramach potoku przetwarzania żądań usług IIS, przez kod strony aż po odpowiedź. Te szczegółowe zdarzenia śledzenia pozwalają deweloperom poznać nie tylko ścieżki żądań i informacje o ewentualnych błędach napotkanych podczas ich przetwarzania, lecz także czas realizacji i inne informacje służące do debugowania, które są pomocne w usuwaniu wszelkich błędów - także wtedy, gdy system przestaje odpowiadać.
Aby włączyć rejestrację tych zdarzeń śledzenia, trzeba skonfigurować usługi IIS 7.0 do automatycznego pełnego śledzenia określonych żądań na podstawie czasu realizacji lub kodów błędów w odpowiedzi.
Czy muszę zmieniać istniejący kod? Usługi IIS 7.0 zostały opracowane tak, aby były zgodne z istniejącymi wersjami. Wszystkie istniejące aplikacje ASP, ASP.NET 1.1 oraz ASP.NET 2.0 powinny się uruchomić w środowisku usług IIS 7.0 bez dokonywania jakichkolwiek zmian w kodzie (korzystając z obsługi zgodnego interfejsu ISAPI).
Wszystkie istniejące rozszerzenia ISAPI oraz większość filtrów ISAPI również będzie działać bez zmian. Jednak filtry ISAPI korzystające z powiadomień READ RAW DATA nie są obsługiwane w usługach IIS 7.0.
W przypadku istniejących interfejsów usługi Active Directory® (ADSI, Active Directory Service Interface) oraz skryptów WMI usługi IIS 7.0 zapewniają parzystość funkcji dla starszych wersji, umożliwiając ich bezpośrednie uruchamianie w nowym magazynie konfiguracji.
Czy ta rola serwera jest dostępna we wszystkich wersjach systemu Windows Server 2008? Usługi IIS 7.0 są dostępne we wszystkich wersjach systemu Windows Server. Poszczególne wersje systemu nie różnią się od siebie pod względem funkcji. Usługi IIS 7.0 są dostępne na platformach 32- i 64-bitowych.
Informacje dodatkowe Aby dowiedzieć się więcej na temat roli Serwer sieci Web, można wyświetlić Pomoc na serwerze. W tym celu należy uruchomić Menedżera usług IIS i nacisnąć klawisz F1.
Aby uzyskać więcej informacji na temat roli Serwer sieci Web, zobacz tematy dotyczące systemu Windows Server 2008 w sieci Web:
| • | Aby uzyskać więcej informacji na temat usług IIS 7.0, zobacz artykuł dotyczący Internetowych usług informacyjnych (http://go.microsoft.com/fwlink/?LinkId=66138) (strona może zostać wyświetlona w języku angielskim). |
| • | Aby uzyskać więcej informacji na temat administrowania serwerem sieci Web, zobacz przewodnik operacyjny usług IIS 7.0 (http://go.microsoft.com/fwlink/?LinkId=52349) (strona może zostać wyświetlona w języku angielskim). |
| • | Aby uzyskać więcej informacji na temat rozszerzania roli Serwer sieci Web za pomocą interfejsów API rozszerzeń, zobacz zestaw SDK Internetowych usług informacyjnych 7.0 (http://go.microsoft.com/fwlink/?LinkId=52351) (strona może zostać wyświetlona w języku angielskim). |