Bilgisayarınız Windows 95, 98, NT4 WorkStation veya NT4 Server ile çalışıyorsa, sisteminize
bir Web Server programını siz kurmak zorundasınız. Windows 2000 Professional veya
Windows 2000 Server ise Kişisel Web Server programını kendiliğinden kurar. Windows 98’e
bir kişisel Web Server kurmaya geçmeden önce bilgisayarımıza bir kimlik vermemiz gerekir:
Bilgisayarım/Denetim Masası/Ağ’ı tıklayarak açacağınız diyalog kutusunda ikinci sekme olan
Tanımlama’yı açın ve “Bilgisayar adı” kutusuna istediğiniz adı yazın. Bilgisayarın ağ
ortamında olması gerekmez.
Windows 98’e Kişisel Web Server kurmak için iki yol izleyebilirsiniz. Windows 98 CDROM’unda
Add-ons klasöründeki PWS dizininde Kur.exe’yi tıklayın veya Windows NT
Option Pack CD-ROM’unda Default.htm’i açın. Bilgisayarınızın Windows 98 ile çalıştığını
algılayacak olan program size Personal (kişisel) Web Server (PWS) kurmayı önerecektir.
Kişisel Web Server’ı kurarken her iki durumda da ikinci diyalog kutusunda Minimum/En az
veya Typical/Tipik seçeneğini değil, Custom/Özel’i seçin ve açılacak yeni diyalog kutusunda
Microsoft Data Access Components (MS Veri Erişim Bileşenleri) satırına işaret koyarak, Alt
Bileşenleri Göster düğmesini tıklayın. Açılacak seçme kutusunda ise ADO Documentation
satırına işaret koyun. Bu belgelerden daha sonra veri-yönlendirmeli Web Uygulaması yaparken
yararlanacağız.
<asp0001.tif>
Kişisel Web Server kurulduktan sonra bilgisayarı yeniden başlatmak gerekir.
PWS Kurulurken Hata Verirse
Windows 98’e PWS kurarken, programın Microsoft Transaction Server bölümüne ilişkin
sistem kayıtları yapılırken, iki hata mesajı ile karşılaşabilirsiniz (0x80004005 ve 0xfee662).
Bu, orijinal Windows 98 CD-ROM’undaki PWS Kur programının, Windows Registry
dosyasının büyük olması halinde hata vermesinden kaynaklanıyor. Böyle bir durumla
karşılaşırsanız, Bilgisayarım/Denetim Masası/Program Ekle Kaldır aracılığıyla, Personel Web
Server’ı kaldırın. Bilgisayar kapanıp açıldıktan sonra, Windows 98 CD-ROM’unda Addons/
PWS dizinindeki bütün dosyaları, sabit diskinizde Temp dizinine kopyalayın. Sonra
http://support.microsoft.com/support/kb/articles/q246/0/81.asp adresinde “Download
Mstsetup.dll” satırını tıklayın. Mssetup.exe adlı bir dosya bilgisayarınıza indirilince; bu
dosyayı iki kere tıklayın ve dosyanın genişletileceği yer olarak C:\Temp’i gösterin; program
Mstsetup.dll dosyasının değiştirilmesini isteyip istemediğinizi sorduğu zaman “Tamam”ı
tıklayın. Şimdi, C:\Temp’deki Kur.exe (Windows CD-ROM’unuz İngilizce ise Setup.exe)
programını iki kere tıklayın. PWS şimdi hatasız kurulacaktır.
///////////////////KUTU BİTTİ//////////////////////////////
Windows NT4.0 Workstation veya Server’a IIS4.0 kurmak için Option Pack CD-ROM’undaki
default.htm’i çalıştırmanız ve açılacak Browser penceresinde IIS’i kurma seçeneğini
tıklamanız yeter. Burada da ADO Documentation’ı sabit diskinize aktarabilmek için gerekli
seçenekği işaretleyin.
Windows 98’e Kişisel Web Server kurulduğunda Masaüstü’nde Yayımla (Publish) adlı bir
simge belirecektir. NT sistemlerinde ise Başlat menüsünde Programlar bölümüne IIS Manager
satırı eklenir. Bu yollardan biriyle PWS veya IIS’i çalıştırın.
Kişisel Web Server’da Personel Web Server Manager (Yönetici) kutusu açıldığında soldaki
araç çubuğunda Yönetici’nin çeşitli bölümlerine gitmeniz için gereken gezinme simgelerini
göreceksiniz. Şimdi, açılan ana pencerede iki unsura dikkat edin:
<asp002.tif>
1. Kişisel Web Server’ınızın adı. Bilgisayarınızın adı buraya Server adı olarak yazılmış olmalı.
Biraz sonra, Internet’e koymadan önce sınayacağımız ASP sayfalarını çağırırken, Browser’ın
adres kutusuna burada gördüğümüz adı yazacağız.
2. Kişisel Web Server’ın bilgisayarımızda sabit diskteki gerçek adresi. Bu, sizin Kişisel Web
Server’ınızın kök (root) dizinidir. Bu genellikle C:\inetpub\wwwroot klasörüdür. Kişisel Web
sitesi yaparsanız, sitenin gerektirdiği bütün dizinleriniz ve dosyalarınız burada gördüğünüz
dizinin içinde olmalıdır. Yapacağımız ASP dosyalarını işte bu dizinin içine koyacağız.
Bunları bir kenara not ettikten sonra, soldaki araç çubuğunda Gelişmiş simgesini tıklayın;
ortadaki pencerede sanal dizinlerinizi görüyorsunuz. Bunlardan Home’u seçin ve sağdaki
“Özellikleri düzenle” düğmesini tıklayın.
<asp003.tif>
Ana dizinin okuma, yürütme ve makro erişim haklarının işaretli olmasına dikkat edin. İlerde
kendinize Kişisel Web Server’ınızın kök dizininde yeni bir dizin oluşturursanız (örneğin
“resimler” gibi) ve içine sitenizle ilgili dosyalar koyarsanız, Gelişmiş penceresinde Ekle
düğmesini tıklayarak bu gerçek dizini de sitenin sanal dizinlerinden biri haline getirmeniz
gerekir. Gerçek dizinin adı XYZ bile olsa, sanal dizin haline getirirken istediğiniz sanal adı
verebilirsiniz. Ama unutmayın, Browser’ın adres hanesine gerçek dizin adını değil sanal dizin
adını yazmanız gerekir.
Bu işlemleri IIS’te değişik araçlar ve diyalog kutularıyla, fakat temel ilkeler itibariyle aynı
şekilde yapabilirsiniz. NT4 sistemlerine IIS’i kurmadan önce, Service Pack 3’ü uygulayın;
Internet Explorer 5’i kurun. Elinizde varsa Service Pack 4, 5 veya 6’yı en son uygulayın.
Bu noktada, ASP sayfalarınızı sınayacağınız bilgisayarda Microsoft Internet Explorer
programının kurulu bulunmasının şart olmadığını hatırlatalım. ASP sayfalarınızı Netscape ile
de sınayabilirsiniz.
Kişisel Web Server Kurulumu Örnek Anlatım
Şimdi ilk ASP sayfamızı yapalım ve bununla kişisel Web Server programının çalışıp
çalışmadığını sınayalım. Buraya kadar anlamış olduğunuz gibi ASP sayfası da HTML gibi düz
yazı dosyasıdır; dolayısıyla beğendiğiniz bir düz yazı programı ile ASP yazabilirsiniz. Şimdi
açın en beğendiğiniz düz yazı programını ve başlayın yazmaya. Eğer kelime-işlemci kolayınıza
gidiyorsa, dosyayı ASCII veya ANSI biçiminde kaydetmeyi unutmayın (10’ncu satırın
sonunda nokta olduğuna dikkat edin):
<HTML>
<HEAD>
<TITLE>ASP ILE ILK SAYFA</TITLE>
<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<H1><CENTER>Merhaba Dünya!</H1>
<H2>Bugün:
<% Response.Write(Date) %>.
</CENTER
</H2>
</BODY>
</HTML>
Bu dosyayı merhaba.asp adıyla kaydedin ve kendi bilgisayarınızda kişisel Web Server’da veya
ISS’te sınayacaksanız, bu programları çalıştırın. Browser’ınızın URL hanesine, kişisel
Server’ınızın adıyla birlikte dosyanın adını yazın; ve ilk ASP programınız dünyaya Merhaba
desin.
<asp0004.tif>
////////KUTU///////////////////
Internet’te ASP
ASP teknolojisi ile oluşturduğunuz sayfaları, yani içinde ASP teknolojisinin gerektirdiği kodlar
bulunan HTML dosyalarını, .asp uzatmasıyla kaydederiz. Bu dosyalar talep edildiğinde, Web
Server programı, eğer ASP teknolojisini tanıyorsa, talep edilenin ASP sayfası olduğunu dosya
adının uzatmasından anlar; ve bu sayfayı ziyaretçiye yollamadan önce kendisi işleme tabi tutar.
ASP sayfamızdaki kodlar büyük bir ihtimalle bir takım dinamik işler yapacak, örneğin
hesaplamalar, araştırmalar, veri tabanından veri çekme, dosya sisteminden dosya isteme gibi
görevlerini yerine getirecek, ve ortaya çıkacak olan HTML dosyasını ziyaretçiye
gönderecektir. Diyelim ki bu kitapçıktaki örnekleri yaptınız ve ücretsiz Site yeri edinmiş
olduğunuz Hosting firmasının bilgisayarındaki sitenize yerleştirdiniz. Sonra Browser’ınızın
URL hanesine bu ASP dosyasının adını yazdınız ve sayfayı talep ettiniz. Karşınıza, ya ASP
sayfasının içindeki kodları görüntüleyen veya sadece sayfanın HTML unsurlarına yer veren bir
sayfa geldi! Bu Server’ınızın ASP anlamadığını gösterir. ASP sayfalarınızı ASP-uyumlu Web
sunucularında çalıştırabilirsiniz. Sitenizde ASP sayfaları bulunacaksa ve ücretli evsahibi
firmalardan site alanı edinecekseniz, sunucunun ASP-uyumlu olmasına dikkat edin.
//////////////KUTU BITTI////////
Şimdi, ilk ASP’mizi çalıştırdığımıza göre, biraz teknikten söz edebiliriz. HTML’in ziyaretçinin
bilgisayarında çalıştığını biliyorsunuz; istemci Browser, sizin URL hanesine adını yazdığınız
HTML dosyasını yine adresteki sunucu Web Server’dan ister. Web Server da bu dosyayı bulur
ve içinde kayıtlı resim ve diğer unsurlarla birlikte istek sahibine gönderir. Fakat kimi zaman
Server’a bize sadece bir dosyayı göndermesini değil, fakat bu dosyanın içinde kayıtlı komutlar
varsa onları icra etmesini de bildirebiliriz. Bunu yapmanın bir yolu CGI programlarıdır. Bir
diğer yolu ise ASP’dir. Web Server, kendisinden bir ASP belgesi talep edildiğinde, kendi
kendine “Dur bakalım! ASP istendiği zaman hemen alıp göndermek yok, önce bunu ASP.DLL
programına gönderelim.. Ondan sonra işimize devam ederiz!” der.
<asp0005.tif>
ASP.DLL, kendisine bir .asp dosyasının geldiğini görünce, hemen ASP’lerin Anayasası olan
global.asp’nin çalışıp çalışmadığına bakar. global.asa, tıpkı diğer ASP dosyaları gibi bir düz
yazı dosyasıdır ve ASP programlarının çalışma koşullarını düzenleyen kuralları içerir. (Bu
dosyayı sırası gelince ele alacağız.) Yukarıdaki örnekte gördüğümüz gibi ASP dosyası hem
HTML kodları içerir, hem de içinde bir Script diliyle yazılmış kodlar vardır. ASP’ye
“program” özelliği kazandıran bu Script dili ile yazılmış kodlardır. ASP.DLL, önce gelen .asp
dosyasında hangi Script dilinin kullanıldığına bakar ve bunun için gerekli ortamı oluşturur;
yani bu Script dilini yorumlayacak programı çalıştırır; bu program Script’i yorumlar ve icra
edilecek komutları icra eder; ASP.DLL, icra edilen komutlar, işletim sisteminin yardımını
istiyorsa (örneğin bir veritabanından veri çekmek gibi, veya dosya sistemine bir dosya
açtırmak, yazdırmak, sildirmek gibi) bu yardımın edinilmesini de sağlar. Bütün bu işlerin
sonunda sizin yazdığınız HTML kodlarına ek yapmak (örneğin bir tablonun içini, çekilen
verilerle doldurmak veya dosya sisteminden edinilen bir dosyanın içeriğini sayfaya aktarmak
gibi) gerekiyorsa bu ekleri ASP.DLL yapar.
ASP.DLL, kendisine sevk edilen dosyayı satır satır okur ve önce dosyadaki ASP kodlarının
gerektirdiği HTML değerlerini bulur; yani önce ASP icra edilir, gereği yerine getirilir. Sonra
HTML bölümleri ile birleştirilip sonuçta sunucuya saf ve temiz bir HTML sayfası gönderilir.
Bu sayfanın içinde bir satır bile ASP kodu bulunmaz. Eğer sayfanıza ziyaretçinin Browser’ında
çalışması amacıyla Javascript veya VBScript kodları koydu iseniz, elbette bu kodlar HTML’in
parçası olarak ziyaretçiye gidecektir. Fakat giden sayfada artık ASP’ye ilişkin hiç bir şey
kalmamış olacaktır.
Biliyorsunuz, mevcut sürümleri itibariyle Browser programları içinde Netscape VBScript dilini
anlamaz. ASP sayfalarımızda istediğimiz Script dilini kullanabiliriz; VBScript de
kullanabiliriz. Netscape’in VBScript anlamamasıyla, ASP sayfalarımızda VBScript
kullanmamızın bir ilgisi yoktur; çünkü ASP sayfasının ortaya çıkartacağı HTML kodunda ASP
dolasıyla VBScript bulunmayacaktır; dolayısıyla ASP sayfalarınız, Netscape tarafından da
anlaşılıp, görüntülenebilecektir. Tabiî ortaya çıkacak HTML sayfasının Netscape tarafından
arzu ettiğiniz gibi görüntülenebilmesi için Netscape’in anlayabildiği dinamik HTML
unsurlarına yer verme zorunluğunuz hâlâ devam ediyor.
ASP tekniğinin nasıl çalıştığını anladığımıza göre şimdi biraz terminoloji serpiştirelim ki,
Webmaster meslektaşlarınızla biraraya geldiğinizde, gerçekten ASP ile mesela Javascript
arasındaki farkı bildiğiniz belli olsun. ASP bir Server-Side Script teknolojisidir. Internet’te
istemci ile sunucu arasındaki çizginin sunucu tarafına Server-Side (Sunucu Tarafı), istemci
tarafına da Client-Side (evet, doğru tahmin ettiniz: İstemci Tarafı) denir. Server-Side’da çalışan
Script programları da “Server-Side Script” (Sunucu Tarafı Script’i) adını alır. Dolayısıyla şöyle
bir sayfa yaparsanız (merhaba.htm), bu sayfada Client-Side Script teknolojisi kullanmış
olursunuz:
<HTML>
<HEAD>
<TITLE>JavaScript ile Tarih</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY BGCOLOR=WHITE>
<H1>Merhaba Dünya</H1>
<H2>Bugün:</H2>
<H3>
<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
tarih = new Date();
document.write(tarih);
//-->
</SCRIPT>
.</H3>
</BODY>
</HTML>
HTML sayfanıza <SCRIPT>..</SCRIPT> etiketleri arasına yerleştireceğiniz bu kodun
çalışması için Server’ın hiçbir şey yapması gerekmez; kodu Browser çalıştıracak ve günün
tarihini size (Türkçeleştirmediğiniz için İngilizce olarak) bildirecektir. Şimdi, bir de Server tarafında çalışan Script içeren sayfaya örnek verelim (merhaba2.asp). Bu kodu yazarken
kapanan Script etiketinden sonra nokta olduğuna dikkat edin:
<HTML>
<HEAD>
<TITLE>VBScript ile Tarih</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY BGCOLOR=WHITE>
<H1>Merhaba Dünya</H1>
<H2>Bugün:</H2>
<H3>
<SCRIPT LANGUAGE=VBScript RUNAT=SERVER>
Response.write(Date)
</SCRIPT>.
</H3>
</BODY>
</HTML>
Bu sayfada kullandığınız Script’i VBScript ile yazdığınızı farkettiniz. Yani? Bu HTML sayfası,
Netscape’de görüntülenemez! Hayıır. Görüntülenir, çünkü Script’i Netscape değil, Server
çalıştıracak. Bunu <SCRIPT> etiketinin içindeki “RUNAT” özelliği ile belirtiyoruz. (“Run,”
çalıştır; “at” ise “içinde, üzerinde” anlamına gelir. “RUNAT” “...de çalıştır” gibi bir anlama
sahiptir.) Burada RUNAT’in karşısına yazdığımız SERVER ifadesi ile, Script’in Browser’a
gönderilmeden önce Server’da çalıştırılmasını sağlıyoruz; Server’a “Bu Script’i Server’da
Çalıştır!” demiş oluyoruz.
<asp0006.tif>
Netscape bu sayfayı görüntüleyecektir; ama galiba bir terslik var. merhaba.asp ile
merhaba2.asp’nin ekran görüntülerini ve kodlarını karşılaştırırsanız, birinde noktanın olması
gereken yerde olduğu halde diğerinde noktanın yanlış yerde olduğunu görüyoruz. Oysa iki
kodu da karşılaştırırsanız, ikisinde de nokta işareti, kodun bittiği yerde yer alıyor. Yukarıda
ASP’nin icrasında HTML sayfa Server’a verilmeden önce ASP.DLL tarafından içindeki ASP
kodlarının icra edildiğini söylemiştik. Nitekim, burada gördüğünüz gibi, ASP.DLL, HTML
sayfayı içinde Server’ın çalıştırması gereken bölümle birlikte Server’a gönderdi; Server
kendisine gelen dosyada kendi icra etmesi gereken (RUNAT=SERVER özelliği verilmiş olan
Script’i) bölümü icra etti ve sonucu Browser’a aktardı. Yani, Server’ın çalıştırdığı Script’in
sonucu sayfaya ASP’den sonra eklendi. Dolayısıyla, nokta, yanlış yerde kaldı.
Bundan çıkartacağımız sonuç şu olacak: ASP sayfalarımıza, Browser, Server ve ASP.DLL
tarafından çalıştırılacak kodları yerleştirirken, sırasına dikkat edeceğiz ve hangi sırada icra
edilmelerini istiyorsak, o sırada koyacağız.Server ile ASP.DLL’in ilişkisi sadece Script dilini çalıştırmaktan ibaret değildir. ASP,
istemciden gelen HTTP İstemi (Request) ve HTTP’ye giden Karşılık (Response) unsurlarından
tutun, A ctiveX Data Objects (ADO, AcvtiveX Veri Nesneleri) aracılığıyla, işletim sisteminin
sunacağı veritabanına erişim imkanını ve işletim sisteminin sunduğu dosya yönetimine kadar
bir çok imkanı kullanır. Bu “imkanlar” ASP’nin eline geçtiği anda “nesne” (Object) sayılırlar
Şimdi bu nesnelere biraz yakından bakabiliriz.
////////////////////////////KUTU//////////////////
ODBC İşliyor Mu?
Kolları sıvayıp, ASP’ye kodu yazmaya başlamadan önce yapmamız gereken bir iş daha var:
ASP sayfaları geliştirme ortamımızda, ODBC (Open Database Connectivity, Açık Veritabanı
Bağlantısı) olması gerekir.
Windows 98, 95 (OSR2) veya NT4.0 işletim sisteminizde Denetim Masası’nda ODBC,
ODBC32 veya “ODBC Veri Kaynakları (32 Bit)” adlı bir simge görüyor olmalısınız. Bunu
açın, Sistem DSN sekmesini ve açılan pencerede göreceğiniz Ekle düğmesini tıklayın.
Buradaki Access, dBase, Excel, FoxPro, Paradox sürücüleri 4.00.3711.08 veya daha büyük
mü? Değilse, Microsoft’un sitesinden (http://www.microsoft.com/data/download.htm)
Microsoft Data Access Components (sürüm 2.1.1.3711.11 GA, 6.2 MB) güncelleme dosyasını
indirin ve sisteminizi güncelleştirin. Windows 2000 kurulu sistemlerde bunu yapmaya gerek
yok. Böylece sisteminiz, ilerde yazacağımız veri-yönlendirmeli Web uygulamaları için hazır
hale gelmiş olacaktır.
Yorum Gönder