Server 2008 ile hayatımıza adım atan Internet Information Service 7 , aslında hayatımızda büyük önem arzetmektedir. Herşeyde kullandığımız bu IIS yapısının önemini kavramak , bilişim sektöründe çalışanlar için önem taşımaktadır. Şimdi IIS 7 ile birlikte hayatımıza giren yeniliklerden , kolaylıklardan bahsedeceğiz. Kısacası bu yapının mimarisini özet olarak anlatmaya çalışacağız.
Birimsellik : IIS 7 , kendi içerisinde built-in gelen 40’tan fazla modülü barındırmaktadır. Çünkü IIS ve ASP.NET birleşimi , her ikisindede yerleşik olan yönetilebilir modüller sayesinde bir çok amaca hizmet edebilmektedir.
Genişletilebilirlik : IIS 7 tamamen genişletilmiş API sağlayıcıları ile web tabanlı yazılım geliştiriciler için bir çok özelliği ve işlevselliği içinde barındırmaktadır. Çekirdek web server modülünde IIS 7 , kullandığı yeni API’ler ile hem Win32 API , hemde .NET API’lere destek vermektedir. Bir web serverda yazılım geliştiriciler IIS ayarlarını , IIS yönetim konsolu ile çok rahat bir şekilde yapabilmektedirler.
Yönetici Kümeleri : IIS 7 gelişmiş yönetim paneli ile hem IIS hemde ASP.NET platformunun ayarları ile birlikte , devredilebilir yönetimsel haklar aracılığı ile kullanıcılara admin hakları olmadan control etmelerini sağlayabileceğiniz bir yapıdadır. IIS Yönetim konsolu yeni GUI yönetim konsolunu kapsar. IIS 7 için geliştirilen Appcmd.exe komut satırı ile de desteklenmiştir. Bununla ilgili ayrıca bir makale , gelecek zamanda olacaktır.
Sorun Tespiti ve Sorun Çözme : IIS 7 ile erişilebilirik çok ciddi boyutlara ulaşmıştır ve ulaşılamama süresi minimuma indirgenmiş vaziyettedir. Sorun giderme daha basite indirgenmiş bir haldedir.
IIS çok sayıda içerdiği temel bileşenleri ile , client tarafından gelen HTTP taleplerine cevap verir. Her bileşen için farklı bir sorumluluk üstlenmekte , gelecek olan talepler için sürekli dinlemede , etkinleştirme ve yönetim işlevlerini gerçekleştirmektedir.
HTTP Protocol Stack ( HTTP.sys ) : HTTP.sys kernel modundaki bir dinleyicidir ve client tarafından gelecek olan http ve https isteklerini sürekli olarak takip eder.
World Wide Web Service Publishing Service ( W3SVC ) : W3SVC , bir http dinleme adaptörüdür. Kendisinin iletişimini http.sys ve Windows Process Activation Service ile yapar.
Windows Process Activation Service ( WAS veya WPAS ) : WAS , yönetim ve iş süreçlerini sağlamaktadır. IIS hizmetinin başlatılmasından , durdurulmasından , geri dönüşümlerden , uygulama havuzlarından ve IIS monitörden sorumlu birimdir.
Configuration Store : Ayar Deposu XML bazı yayımlanan dosya hiyerarşisi ile hem IIS hemde ASP.NET ayarlarını saklar.
Worker Process ( W3WP.EXE ) : W3wp.exe programı , her daim çalışarak işlem isteklerine karşı cevap işlemleri üretir.
Aşağıdaki şemada kabaca işlem süreci gösterilmektedir.

Şekildede görüldüğü üzere numaralandırılmış algoritmada isteklerin nasıl sırayla bir bir katmanlardan geçtiğini görüyoruz.
1 – Client tarafından HTTP.sys’e bir HTTP isteği geliyor.
2 – HTTP.sys bu isteği nereye göndereceğini kontrol ediyor.
· Eğer HTTP.sys konfigürasyon bilgisine sahipse direk olarak çalışma processine , yani w3wp.exe’ye gönderiyor.
· Eğer HTTP.sys konfigürasyon bilgisine sahip değil ise , W3SVC ile kontak kurup svchost.exe aracılığı ile bunu WAS’a gönderiyor.
3 – WAS konfigürasyon bilgisini IIS global konfigürasyon dosyasından ( applicationHost.config ) bilgileri elde ediyor.
4 – WAS çalışan işlemleri kontrol ediyor. Eğer bir işlem yoksa uygulama havuzunda istenilen işlemi başlatıyor.
5 –WAS konfigürasyon bilgisini geçtikten sonra , W3SVC’ye bunları tekrar geri gönderiyor.
6 – W3SVC bu konfigürasyon dosyalarını kullanarak HTPP.sys’i günceller
7 – HTTP.sys isteği çalışan işleme yollar.
8 – Burada belirli otantikasyon işlemleri yapıldıktan sonra gerekli bilgileri tekrardan HTTP.sys’e iletir.
9 – HTTP.sys client bilgisayara cevap verir.
Peki Nedir Bu HTTP.sys ?
HTTP.sys , HTTP ve HTTPS istekleri için bir dinleyici protokoldür. Aslında IIS 6’da sunulmuştur. Fakat IIS 6 içerisinde HTTPS isteklerine cevap vermez. IIS 7’de ise HTTP.sys , Secure Sockets Layer ( SSL ) desteğini beraberinde getirmiştir. Bunuda Lsass.exe isimli programla yapar.
HTTP.sys , kernel modunda HTTP protokolü için bir aygıt sürücüsüdür aynı zamanda. Windows işletim sisteminde network altyapısının bir parçasıdır. IIS 6 ile gelen bu protokol , kernel modunda Windows Sockets API ( Winsock ) ile , HTTPS isteklerine yanıt verir.
World Wide Web Publishing Service
W3SVC , IIS 7’de önemli değişikliklere uğramıştır. IIS 6’da , w3svc http.sys yönetimi , konfigürasyon yönetimi , işlem yönetimi ve performans izleme görevlerini yerine getiriyordu.
IIS 7’de fonksiyonel olarak iki servis arasında bölündü diyebiliriz. W3SVC sadece Performans izleme ve Http.sys yönetiminden sorumlu oldu. İşlem yönetimi , konfigürasyon yönetimi WAS’a verildi. Bunların yanında IIS 6’da olmayan Arayüz dinleyici adaptörü rolüde WAS’a yüklendi.
Her iki işlemde , Svchost.exe programında yapılmaktadır.
Karşılaştıracak olursak , IIS 6 ve 7 de aşağıdaki tablodaki farklar ortaya çıkmıştır.
Rol | IIS 6 | IIS 7 |
Configuration Management | W3SVC konfigürasyon bilgilerini , configuration store’dan okuyor. | W3SVC artık bunu yapmıyor. Yerine bu işi WAS yapıyor. |
HTTP.sys Management | W3SVC Http.sys bilgilerini konfigürasyon bilgileri ile güncelliyordu. | Artık güncelleme işlemlerini WAS yapıyor. HTTP protokolü için kullanılan Arayüz dinleyici adaptörü , WAS ile HTTP.sys arasında köprü vazifesi görüyor. |
Process Management | W3SVC uygulama havuzunu yönetiyor , başlatma , durdurma , geri dönüşüm işlemlerini yapıyordu. | Bu sorumlulular artık WAS’a yüklendi. |
Performance Monitoring | W3SVC hem web siteleri için hemde IIS Cache için izlemeyi yapıyordu. | W3SVC artık sadece web siteleri için izleme yapıyor. |
Windows Process Activation Service
HTTP işlem aktivasyonu modeli IIS 6 içerisinde sunuldu. IIS 7 içinde ise bu servis daha bir genişletilerek Windows Process Activation Service ( WAS ) adını aldı.
IIS 7’de WAS , uygulama havuzunu ve çalışan işlemleri kontrol eden bir mekanizma haline geldi.
Evet arkadaşlar IIS 7’nin temel taşı olan HTTP.sys ve svchost.exe’nin içindekileri bu şekilde açıklamış olduk.
Hiç yorum yok:
Yorum Gönder