Internet Information Services (IIS )
Web sayfalarının yayınlanmasını ve web uygulamalarının çalışmasını sağlayan, istemcilerden HTTP ve FTP üzerinden gelen talepleri Microsoft Windows sunucu tabanlı işletim sistemlerinde karşılayan birim Internet Information Services (IIS )’dir.
Yazımız içerisindeki IIS’in özelliklerine ve görevlerine,bununla birlikte ASP.NET ve Web Servisleri geliştirirken yazılım ortamı ayarlarına değineceğiz.
Windows Sunucu şletim sistemlerinin en önemli parçalarından birisi olan IIS, HTTP ve FTP protokollerini başarılı bir şekilde kullanarak önemli bir görevi yerine getirir.
IIS, sadece web sayfaları sunmakla kalmaz, aynı zamanda uzaktaki bileşenler için bir geçit görevi görmektedir. Örneğin Mobil .NET uygulamalarında , cihaz üzerindeki SQL Server CE ile SQL Server 2000 sunucusunun senkronizasyonu IIS üzerinden gerçekleşir. Bu işlem gerçekleşirken IIS’te sanal bir dizin yaratılır ve bu sanal dizinde senkronizasyonu sağlayacak bir ISAPI dll (sscesa20.dll ) bulunur. Mobil uygulama, sscesa20.dll’e erişerek IIS üzerinden SQL Server 2000’e ulaşır. Burada IIS üzerinden SQL Server 2000’e ulaşmak, IIS’in kimlik doğrulama yeteneklerinden faydalanmak istenilmesinin yanısıra, HTTP (port 80 ) üzerinden haberleşilmesi nedeniyle herhangi bir güvenlik duvarı problemi ile karşılaşmamak içindir.
Bir ağ mühendisinin gözüyle IIS, OSI katmanının bir üstünde yer alarak herhangi bir bilgisayar ile bir Windows bilgisayar arasında oturumsuz bir protokol sağlar. Buradaki oturumsuz kelimesi ile anlatmak istediğim, Telnet gibi protokollerde olduğu gibi iki sistem arasında devam eden bir konuşma bulunmamaktadır. İstemci – Sunucu mimarisi doğrultusunda, istemci HTTP protokolü üzerinden sunucuya talepte bulunduğunda, ki burada sunucu tarafında istemciyi IIS karşılamaktadır, IIS ya cevap döner ya da dönmez.
Windows XP Home Edition işletim sisteminde IIS bulunmamaktadır. .NET ortamında yazılım geliştiren yazılım geliştiriciler, eğer Web servisleri ya da ASP.NET Web uygulamaları geliştireceklerse sunucu tabanlı bir işletim sistemi üzerinde çalışmak zorundalar. Windows XP Pro işletim sistemi, Windows 2000 Pro/Advanced Server ya da Windows Server 2003 tercih edilebilir.
Windows Server 2003 ile birlikte IIS 6.0 sürümüyle gelmektedir. IIS 6.0 , daha önceki 5.0 ve 5.1 sürümlerine göre güvenlik geliştirmelerine sahiptir.Aynı zamanda IIS hizmeti Windows Server 2003’ü kurduğunuzda varsayılan olarak güvenlik nedeniyle kapalıdır. Buradaki amaç, sistem yöneticisinin hangi hizmete ihtiyacı varsa, bilinçli ve kontrollü bir şekilde ilgili hizmeti başlatmasını sağlamaktır. Windows 2000 ve XP Pro işletim sistemlerinde ise IIS’i Denetim Masası içerisinde yer alan Program Ekle/Kaldır bölümündeki Windows Bileşeni Ekle/Kaldır bölümünden varsayılan ayarlarla kurulumunda yüklenmediğinden ek olarak işletim sistemi CD’sini kullanarak yükleyebilirsiniz. CD içerisindeki I386 dizininde gerekli kurulum dosyaları mevcuttur.
IIS’i yönetmek için Başlat Menüsü Çalıştır satırına “inetmgr.exe” yazarak IIS yönetim arabirimine ulaşabilirsiniz. Varsayılan Web siteleri içerisine sanal bir dizin yaratabilirsiniz. Ayrıca yayınlamak istediğiniz sayfaları C sürücünde yer alan “InetPub” dizini içerisindeki “wwwroot” altına koyabilirsiniz.
IIS’in çalışıp çalışmadığını denetlemek için, yönetimsel araçlardan Hizmetler’i seçerek “IIS Admin” hizmetinin çalışıp çalışmadığını kontrol edebilirsiniz.Diğer bir alternatif olarak Internet Explorer adres çubuğu içerisine “localhost” yazarak IIS’in giriş sayfasına ulaşıp ulaşmadığınızı kontrol edebilirsiniz.
IIS aynı zamanda FTP Server olarak da kullanılabilir.
Yazılım Geliştirme Ortamı Ayarları ve İhtiyaçları
ASP.NET uygulamaları ya da Web Servisleri geliştirmek için IIS’e ihtiyacınız bulunmaktadır. Ancak bunun için IIS’in ayarlanması gerekmektedir. İşletim sistemizde IIS varsa ve siz Visual Studio .NET 2003’ü daha sonra kurduysanız, Visual Studio .NET 2003 sizin için IIS’i ayarlayacaktır ve .NET Framework’ü IIS’e yükleyecektir.
IIS yüklü olmayan bir sistemde, Visual Studio .NET 2003 kurulumu sırasında IIS’in yüklü olmadığı, ve IIS yüklü olmadan ASP.NET ve Web Servisleri gibi özelliklerin kullanılamayacağını belirten bir uyarı alabilirsiniz. Bu aşamada kuruluma devam edebilir, ve IIS’i daha sonra da yükleyebilirsiniz. Bu durumda ise Visual Studio .NET 2003, IIS’i ASP.NET ve Web Servisleri uygulamaları için ayarlayamaz. İkinci adımda IIS’i yükleseniz bile Visual Studio .NET 2003 yazılım geliştirme ortamında hata ile karşılaşırsınız. IIS’i yüklerken Front Page Uzantılarını (Extensions ) yüklemeniz gerektiğinide belirtmeliyiz.
Özetle, IIS’i VS.NET için tekrar ayarlayabiliriz. Burada yapmamız gereken .NET Framework’ün yüklü olduğu dizinde yer alan “aspnet_regiis.exe” isimli dosyayı “-i” parametresi ile çalıştırmak . Örnegin : “C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspn et_regiis.exe -i” gibi. Bu komutu Başlat Menüsünden Çalıştır satırına yazabilirsiniz. ASP.NET’in IIS’e yüklendiğini belirten bir konsol penceresi açılacak ve yükleme yapılacaktır.
Bu aşamadan sonra Visual Studio .NET 2003 ile birlikte ASP.NET Web uygulamaları ya da Web Servisleri geliştirebilirsiniz. Eğer ASP.NET ayarlarınızda .NET Framework nedeniyle hatalarla karşılaşıyorsanız, tekrar yüklemek için de bu komutu kullanabilirsiniz.
Visual Studio .NET 2005’te ise, ASP.NET uygulamalarını ya da Web Servislerini IIS olmadan da geliştirebilirsiniz. Bu yeni özellikle gelen Visual Studio .NET 2005’te sanal bir IIS’tir. Web uygulamasını derlediğinizde System Tray’de küçük bir ikon olarak yer alır, ve siz kapatıncaya kadar orada yer alır. Her derlemede ise farklı bir port üzerinden sanal IIS’i çalıştırır. Güvenlik nedeniyle her çalıştırmada farklı bir port kullanılmaktadır.