Dobrana para

Subskrybuj RSS A A A
29 maja 2007
Paweł Matyjasek

Modyfikacje i nowe funkcje wprowadzone przez Microsoft do serwera IIS 7 istotnie ułatwiają pracę programistów wykorzystujących platformę ASP .Net 2.0.

Modyfikacje i nowe funkcje wprowadzone przez Microsoft do serwera IIS 7 istotnie ułatwiają pracę programistów wykorzystujących platformę ASP .Net 2.0.

Nowa konsola do zarządzania serwerem i aplikacjami www — IIS MANAGERKliknij, aby powiększyćNowa konsola do zarządzania serwerem i aplikacjami www — IIS MANAGERNajnowsza wersja serwera Microsoft IIS 7 (Internet Information Services) wprowadza przełomowe zmiany wpływające nie tylko na bezpieczeństwo i stabilność serwera oraz hostowanych aplikacji WWW. IIS 7 będzie oficjalnie wspierany nawet na "domowych" wersjach systemu Windows Vista, choć oczywiście funkcjonalność będzie w tym wypadku ograniczona. Niestety nie jest planowane wydanie wersji IIS 7 zgodnej z systemem Windows Server 2003.

Istotnie lepsza integracja Internet Information Services 7 z zarządzanym kodem przekłada się na możliwość znacznie bardziej efektywnego wykorzystania możliwości tego serwera. Cecha ta - połączona z modularnością IIS 7 - sprawia, że już wkrótce można się spodziewać pojawienia się wielu nowych modułów pozwalających na rozszerzenie lub ulepszenie funkcji IIS. Największe oczekiwania użytkowników są obecnie związane z tymi, które ułatwiłyby wdrożenie przyjaznych adresów w ramach aplikacji (URL rewriting).

Jak było wcześniej

Dotychczasowe relacje między serwerem Microsoft Internet Information Services a ASP .Net były dość chłodne. Problemy były widoczne już od samego początku, czyli instalacji i konfiguracji serwera na lokalnej maszynie, a na instalacji na serwerze produkcyjnym kończąc.

W czasie świetności Visual Studio i ASP .Net 1.1 programiści "staczali boje", aby doprowadzić do ładu dodatek FrontPage Server Extensions, bez którego nie były możliwe tak proste operacje jak automatyczne utworzenie katalogu wirtualnego dla nowego projektu. Wielu programistów musiało także zmieniać system operacyjny, ponieważ oficjalnie oprogramowanie IIS nie było wspierane na maszynach pracujących pod kontrolą Windows XP w wersji Home.

Wraz ze środowiskiem deweloperskim Visual Studio 2005 Microsoft wprowadził nowość - specjalny serwer WWW przeznaczony tylko do uruchamiania aplikacji na lokalnym serwerze. Dlaczego tak się stało? Oto główny powód: przy złej konfiguracji niektóre aktywne funkcje serwera IIS otwierały furtkę dla potencjalnych intruzów.

Od tego momentu IIS na maszynie programisty (przynajmniej teoretycznie) stał się zbędny, bo w praktyce lokalne uruchomienie dowolnego projektu trwało jedynie kilka sekund. Czy jednak z tego powodu fora internetowe przestały być zalewane ogromną liczbą pytań? Wręcz przeciwnie - uruchamianie aplikacji na lokalnym komputerze, "pod kloszem" przebiegało sprawnie, natomiast po przeniesieniu aplikacji na serwer hostingowy wychodziły na jaw błędy związane z brakiem uprawnień i optymistycznymi założeniami programisty.

Dość poważnym problemem był też dotąd proces obsługi żądań przychodzących do serwera. ASP .Net udostępniał środki do blokowania dostępu do plików i katalogów, ale środki te uwzględniały tylko niektóre typy plików (np. *.aspx). Pliki *.doc, *.txt czy *.htm w aplikacjach ASP .Net działających na IIS 6 i starszych wersjach tego oprogramowania były udostępniane bez ograniczeń. To zachowanie można było zmienić, ale warunkiem był dostęp do serwera na prawach administratora, co z reguły jest nierealne w warunkach hostingu.

Kolejną bolączką programistów ASP .Net były jak dotąd słabe możliwości rozszerzenia funkcjonalności serwera. Oferowane przez ASP .Net moduły umożliwiały "podpinanie się" pod proces przetwarzania żądania, ale zazwyczaj dopiero na jego późnym etapie. Jedynym rozwiązaniem było stworzenie własnego filtru ISAPI, niestety filtr mógł być napisany tylko w języku C++, przy użyciu niezbyt przyjaznego API.

Konfiguracja IIS 7

Zmiany wprowadzone w Microsoft IIS 7 eliminują większość prezentowanych problemów i nie ulega wątpliwości, że pozytywnie wpłyną na pracę programistów ASP .Net 2.0.

Konfiguracja IIS 7 opiera się wyłącznie na plikach XML. Administrator może teraz pozwolić właścicielom witryn na modyfikację prawie wszystkich ustawień. Co więcej, ustawienia konfiguracyjne są zintegrowane z plikami konfiguracyjnymi ASP .Net (pliki web.config). Jest to szczególnie ważne w kontekście serwerów hostingowych, bo dzięki temu cały proces instalacji aplikacji może zostać sprowadzony do przekopiowania plików na serwer. Nie będzie już konieczności korzystania z niewygodnych paneli WWW przeznaczonych do konfigurowania aplikacji.

Zarządzanie modułami W IIS 7Kliknij, aby powiększyćZarządzanie modułami W IIS 7Kolejnym, ważnym usprawnieniem procesu konfiguracji jest wprowadzenie nowej konsoli IIS Manager, która oprócz wygodnego interfejsu użytkownika zapewnia:

  • możliwość edycji takich ustawień aplikacji jak identyfikatory baz danych (connection string);
  • zdalny dostęp za pośrednictwem protokołu HTTPS;
  • podgląd ustawień IIS 7 w trybie tylko do odczytu.
Jeśli zajdzie taka potrzeba, konsola IIS Manager może zostać rozszerzona o stworzone przez użytkownika wtyczki plug-in. Jeśli ktoś chce dodatkowo "pomajsterkować" i zautomatyzować przynajmniej część zadań w serwerze, może zamiast skryptów PowerShell użyć bibliotek dostarczanych wraz z serwerem IIS (z przestrzeni nazw Microsoft.Web.Administration) i języka: C#/VB .Net lub innych, wspieranych na platformie .Net.

Wsteczna zgodność

Właściciele stron napisanych w ASP .Net, które są hostowane na komercyjnych serwerach, zapewne zastanawiają się, jak na ich aplikacje wpłynęłoby przejście z IIS 6 na IIS 7i czy wówczas będzie konieczne wprowadzenie zmian do już działającego oprogramowania. Odpowiedź na to jest prosta - nie trzeba będzie wprowadzać żadnych zmian, pod warunkiem że użytkownik nie zechce skorzystać z nowych funkcjonalności serwera. Wynika to z tego, że w przypadku ASP .Net IIS 7pozwala na uruchomienie aplikacji w jednym z dwóch trybów pracy:
  • Classic (zapewnia pełną zgodność z ASP .Net 2.0 oraz możliwość uruchomienia aplikacji ASP .Net 1.1 po wykonaniu prostych zadań administracyjnych).
  • Integrated (pełna integracja z nową architekturą IIS 7).
Aby zmienić tryb na Integrated, wystarczy przypisać aplikację do puli zgodnej z tym trybem (domyślnie jest to DefaultAppPool). Jeśli w pliku konfiguracyjnym aplikacji zostały zadeklarowane handlery http lub moduły, wówczas trzeba je przenieść do nowej sekcji konfiguracji - system.webServer. Czynność ta może być wykonana automatycznie za pomocą polecenia %windir%\system32\inetsrv\APPCMD.EXE migrate config <nazwa aplikacji>.

Szybkość, bezpieczeństwo i kontrola

IIS 6 ma monolityczną architekturę. Nawet jeśli użytkownik korzysta tylko z części funkcjonalności tego oprogramowania, to i tak cały kod IIS 6 musi być ładowany do pamięci. Natomiast IIS 7 oferuje skrajnie odmienne podejście, składa się z wielu modułów, które można na stałe wyłączyć lub zastąpić innymi (nawet własnymi, opracowanymi przez programistę). Pozwala to m.in. na tworzenie szybkich, wyspecjalizowanych serwerów.

Moduły ASP .Net mają obecnie ten sam status co rozszerzenia ISAPI (czyli moduły natywne). Za pomocą jednego wpisu w pliku konfiguracyjnym można np. zastąpić moduł odpowiedzialny za wyświetlanie listy plików w katalogu i w miejsce nazw plików graficznych wyświetlić ich miniaturki.

Oprócz tego ulepszona integracja ASP .Net i IIS 7 umożliwia wykorzystanie funkcjonalności Failed Request Tracing (śledzenia błędnych żądań), co zwiększa kontrolę bezpieczeństwa systemu. Odpowiadają za to klasy Trace-Source i IisTraceListener.

Najważniejsze nowości Microsoft IIS 7
  • modularna budowa, możliwość wyłączenia niepotrzebnych modułów
  • zwiększone bezpieczeństwo i wydajność — instaluj i używaj tylko niezbędne komponenty
  • możliwość zdalnego zarządzania serwerem za pośrednictwem nowej konsoli administracyjnej
  • lepsza niż dotąd integracja z ASP .Net
  • delegowana konfiguracja

Oceń artykuł

średnio: 0 liczba ocen: 0

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88