Asp Dersleri - Asp ye giriş
Önsöz
"Merhaba: Ben bilgisayar hastası-Kroninukus computerium-üniversiteyi
yeni bitirmiş bir gencim. Byte dergisiyle verilen "Internet
Tasarım Rehberi" kitapçığını okuyarak HTML'i öğrenmeye
çalışıyorum ve bu konuda çok istekliyim. Bundan iki ay kadar
önce bir shareware program kullanarak bir site hazırladım. Fakat
bu programı kullanmak için hiç bir HTML etiketini öğrenmek
gerekmiyordu. Oysa ben kendi çabalarımla bu işi halletmeyi ve
hatta daha da ileri götürmeyi düşünüyorum. Sizden ricam bana
nereye gitmem gerektiğini bildirmeniz, ve bunun için gerekli
bilgi ve belgeleri sağlamanız, bizlere yardım etmenizdir.
Gayretleriniz için çok teşekkür ediyor, çalışmalarınızda
başarılar diliyorum."
Merhaba: çok değil, bir buçuk yıl önce yazdığınız bu mektuba, o
günden beri sürekli karşılık verdim. Önce Byte, ardından PC
World ve şimdi de PC Life dergisinin eki kitapçıklarla, bu
arzunuzu yerine getirdik. Size bir harita sunduk; bu haritaya
göre ilerlediniz. HTML'den sonra site yeri edinme yollarıyla işe
başladık. Ardından HTML'in durağan kalıbını yırtmak için
JavaScript öğrendik. Sonra, sitemizi ziyaret edenlerle
etkileşmeli sayfalar yapmak, onlardan Form yoluyla bilgiler
almak, konuk defterleri yapmak için CGI imkanlarını kullanmak
amacıyla Perl'e sıra geldi. Şimdi yolun sonundayız. ASP tekniği
ile sitelerimizi veritabanına dayalı hale getireceğiz; Server
nesnelerini kullanarak gerçek dinamizme kavuşturacağız. Bunu
yaparken Visual Basic Scripting Edition (veya kısa adıyla
VBScript) ile tanışacağız.
Gerçi bu ve gelecek ay sunacağımız ASP Uygulamaları
kitapçığıyla, birlikte yürümek üzere çizdiğimiz eğitim döneminin
sonuna gelmiş oluyoruz; ama sizin önünüzde uzun bir yol var. Bu
yol, Internet denen yeni iletişim aracını kullanarak,
toplumumuza yeni bir soluk kazandırma yoludur. Bu yolda yalnız
ilerleyeceksiniz. Bilgisayarınızın ekranının aydınlattığı yolda,
klavye ile baş başasınız. Kalbiniz ve onu dolduran Bilişim
Teknolojisi aşkı size rehber olacak. Daha öğreneceğiniz çok şey
var hayatta. Hergün yeni teknolojilerin çıktığı bir alan
seçtiğinizin farkındasınız. Sakın kafanız karışmasın: Siz
ustasınız; teknoloji, adı üstünde, araçtan ibaret. Hergün yenisi
ile karşılaştığınız teknolojiler sizi korkutmamalı. Sırasıyla
hepsini başaracaksınız. Öğrendikçe, çok değil bir ay önce sizi
korkutan bir dilin, bir tekniğin ne kadar basit olduğunu
göreceksiniz. Asla "Ben bunların hepsinin altından nasıl
kalkarım?" demeyeceksiniz. Sırasıyla herşeyi öğrenebilirsiniz.
Daima şunu tekrar edin: "Öğrenen nasıl öğrendi ise, ben de
öğrenirim!" Bu yolda aklınız ve kalbiniz size rehber olacaktır.
Yeter ki onlara kulak verin.
ASP veya Active Server Pages (Etkin Sunucu Sayfaları) tekniği,
sayfalarınızı canlandıracak bir tekniktir. Bu teknik, bir kaç
sayfa sonra göreceksiniz ki, sil baştan bir bilgisayar
programlama dili öğrenmeye gerek olmadan uygulanabilir. Bu
kitapçığı yazarken sizinle yolun başından beri beraber
olduğumuzu, yani HTML bildiğinizi varsayıyorum. Ayrıca Web'in
nasıl çalıştığını, Server (Sunucu) ve Client (İstemci)
ilişkisinin nasıl yürüdüğünü de biliyor olmalısınız.
ASP teknolojisinden yararlanmak istediğinizde Web sitesine
evsahipliği yapan bilgisayarda çalışmakta olan Web Server'ın ASP
teknolojisini tanıması ve sitenize bu hizmeti vermesi gerekir.
ASP, bir zamanlar sadece Microsoft'un NT ve daha sonra Windows
2000 işletim sistemine dayanan MS-IIS (Internet Information
Server) programında işleyebilirdi. Fakat şimdi artık NT-tabanlı
diğer Web Server programları gibi Unix-tabanlı Web Server
programları da ASP anlar ve işletir hale gelmiş bulunuyor. Fakat
ASP sayfalarınızı gerçek Internet ortamında ziyaretçilerinizin
hizmetine sunmadan önce, kendi bilgisayarınızda sınamanız
gerekir. Bunun için bilgisayarınızın işletim sistemi Windows
95/98 ise Kişisel Web Server (PWS), NT 4.0 ise IIS kurulmuş
olmalıdır. Sisteminiz Windows 2000 ise, IIS 5.0 kendiliğinden
kurulmuş demektir.
Şimdi biraz ASP'den söz edelim. Bu kısaltmayı, "a..se..pe" veya
"ey-es-pi" diye harf-harf okuyanlar olduğu gibi, "eyspi" diye
bir kelime halinde okuyanlar da vardır; ve bana sorarsanız,
hepsi de doğrudur. Internet programcıları, bütün görevi bir
sabit diskteki HTML dosyalarını alıp, ziyaretçinin Browser'ına
göndermekten ibaret olan Web Server programını yeniden
tasarlamaya başladıklarında, Server'ın sadece durağan sayfaları
göndermesi yerine, ziyaretçiden de veri kabul etmesinin uygun
olacağını düşündüler. Bu amaçla Internet istemcisi ile
sunucusunun buluştuğu noktada, yani Common Gateway Interface
(Ortak Geçit Arayüzü) katmanında Web Server programının, istemci
programdan (browser) kendisine bilgi ve komutlar gönderilmesini
sağladılar. Örneğin bir Form'daki bilgilerin alınıp, bir dosyaya
kaydedilmesi için vereceğimiz komut, sitemizin bulunduğu
bilgisayarın işletim sisteminde CGI katmanı tarafından icra
ettirilir. Bu manada CGI, Web Server'ın Internet ziyaretçisinin
Browser'ın gelen bilgi ve komutları işlediği veya kendi işletim
sistemine aktardığı noktadır. Bu gelişmenin sonucu olarak ortaya
CGI programı dediğimiz şeyler çıktı. Perl, C/C++, Delphi, Visual
Basic ile yazılan bu programlar Web Server tarafından
çalıştırılır, ve vereceği komutlar işletim sistemine iletilir.
CGI programları ile çok şey yapılabilir; fakat Web Server'a aynı
anda birden fazla kişi erişir ve aynı CGI programını
çalıştırırsa, (yani aynı anda aynı formun "Gönder" düğmesini
tıklarlarsa), CGI programının birden fazla "kopyası" çalışmaya
başlar. Aynı anda aynı forma ulaşan kişi sayısı 4-5 ise bu belki
sorun oluşturmaz; ama bu sayı arttıkça Web Server da adeta
yerlerde sürünmeye başlar! Özetle CGI programları Web Server'ı
yavaşlatır.
Microsoft programcıları biraz geriden gelmekle birlikte Server
işine el attıklarında, istemci ile sunucunun etkileşmesini,
bütün sistemi yavaşlatan "haricî" programlar yerine, işletim
sisteminin bir işlevi haline getirebileceklerini düşündüler.
Bunun yolu ise işletim sisteminin Uygulama Programı Arayüzü (API,
Application Programming Interface) denen unsurlarını
kullanmaktı. Nitekim Microsoft, oturup bir dizi Internet Server
API (veya kısaca ISAPI) tasarladı. ISAPI, tıpkı CGI gibi, Web
Server programının bulunduğu bilgisayardaki diğer programlarla
alışverişini sağlar. Ne var ki ISAPI'den yararlanan programlar
üreterek bunları Web Server'ın emrine vermek oldukça pahalı bir
yol. Başka bir deyişle, bir formda Gönder düğmesinin
çalışabilmesi için sözgelimi Excel ayarında bir program
yazdırtmak pek akıl kârı olmasa gerek.
Bu noktada çeşitli firmalar ISAPI benzeri "yorumlayıcılar"
geliştirerek, düz yazı bir Script yazmakla ve bu Script'in
içindeki komutları Server programına icra ettirmekle, Web
tasarımcısının hayatını çok kolaylaştırabileceklerini gördüler.
Microsoft'un bu noktadaki çözümü ASP oldu. Yani bir bakıma
"Server'a Aktif Sayfalar sunma" teknolojisi! NetObjects firması
kendi Server Extension'larını geliştirdi. Linux-Unix dünyasında
bir başka grup PHP dilinden yararlanarak PHP Sayfaları sistemini
geliştirdi. Bunlardan sadece MS'un ASP teknolojisi birden fazla
dil ile Script kabul edebilen teknoloji olarak, diğerlerinden
ayrıldı. Bu noktaya birazdan geleceğiz; ama önce "ASP nasıl
çalışır?" sorusunun üzerinde duralım.
Ama önce biraz başa dönelim: Siz Web ziyaretçisi olarak
Browser'ınızın URL hanesine bir HTML sayfasının Internet yolunu
ve adını yazıp (örneğin, http://www.pclife.com.tr/index.htm) Git
düğmesini tıkladığınızda veya klavyede Enter/Return tuşuna
bastığınız zaman ne olur? Web Server, Internet'in bulutları
arasından geçip kendisine gelen bu istem üzerine, index.htm'i
bulur ve yine aynı bulutların arasından sizin blgisayarınıza
kadar gönderir. ASP teknoloji ile üreteceğiniz sayfanın adının
uzatması ise .asp şeklinde olur. Siz bu kez URL hanesine bu
dosyanın adını (örneğin http://www.pclife.com.tr/index.asp)
yazarsınız. Bu durumda Web Server, bu sayfayı alıp, doğruca size
göndermez: önce içindeki kodları icra eder. Sonra bu kodları
ayıklar ve geriye saf ve temiz HTML kalır. Ve bu sayfa, bizim
Browser'ımıza gönderilir.
Yukarıdaki son üç cümleyi lütfen yeniden okur musunuz? Nelere
dikkat ettiniz:
1. ASP sayfasının içinde kod vardır.
2. ASP sayfasının kodları Web Server tarafından icra edilir.
3. ASP sayfası, Browser'a salt HTML olarak gelir.
Şimdi burada ASP ile Javascript'in farkını görebiliyor musunuz?
Javascript, HTML'in içine konuluyor; ama Server'da değil,
Browser'da çalışıyor. Peki CGI/Perl programı ile ASP'nin farkını
görebiliyor musunuz? HTML sayfasını Perl ile yazdığınız program
üretiyor (print "<HTML>\n"; kodunu hatırlıyor musunuz?); oysa
ASP'de ziyaretçiye gidecek HTML'i Server ve tasarımcı birlikte
üretiyorsunuz. Bu bakımdan, Javascript "istemci-tarafında"
çalışırken, ASP, CGI programları gibi, "sunucu-tarafında"
çalışır. Bunun sonucu ise ASP ile yazacağınız sayfaların,
ziyaretçinin bilgisayarında kurulu Browser programı ne olursa
olsun (Netscape Navigator, Opera, Amaya, Internet Explorer),
mutlaka görüntülenecek olmasıdır. ASP sayfalarınıza koyacağınız
VBScript kodları Server'da icra edileceği için, ziyaretçinin
Browser'ının örneğin VBScript'i tanımayan Netscape olması, sizi
hiç etkilemeyecek. Bununla birlikte ASP yoluyla üreteceğiniz
sayfalarda yer alacak dinamik HTML kodlarının, her Browser'da
mutlaka arzu ettiğiniz gibi yorumlanmayacağını unutmamalısınız.
Peki, ASP'nin içinde HTML ile kod yan yanadır, dedik. Nedir bu
kodlar? Hangi dille yazılır? ASP yoluyla Web Server'a
vereceğiniz komutları içeren bu kodlar, tabir yerinde ise, "arzu
ettiğiniz bir Script dili ile" yazılabilir. Bu VBScript
olabilir; Javascript veya Jscript olabilir; hatta, MS'un yeni
teknolojisi olan Windows Scripting Host ile uyumlu olmak
koşuluyla, kendi Script dilinizi icad edip, bunu Web Server'a
öğretecek plug-in (ek program) geliştirebilirsiniz. İlk
dönemlerinde ASP kodlarını VBScript ile yazmak adeta şarttı.
Giderek daha çok kaynakta ASP'nin Javascript ile yazıldığını
görüyorum. Fakat BT gibi sürekli gelişen ve yenilenen bir
alanda, Web tasarımcısın yeni bir dille tanışmasına imkan
sağlamak için bu kitapçıkta kodlarımızı VBScript ile yazacağız;
dolayısıyla kitapçığın büyükçe bir bölümü VBScript'e ayrılacak.
Şimdi kolları sıvayıp; işe başlıyoruz. Bir dizinin sonu olan bu
kitapçığı, Kroninukus computerium'a adıyorum. Sadece BT alanında
değil, tüm yaşamında yolun açık ve aydınlık olsun. Bu eğitime
birlikte başladığımızda "bilgisayar hastası" idin; eğer şimdi
"usta bir bilgisayar hastası" olmanı sağlayabildimse, ben
görevimi yerine getirmiş sayılırım. Bundan sonra sıra sende.
Şimdi yardım edecek olan sensin. Bu yardımı kimseden esirgeme.
Kim olduğunu ve işlevini daima hatırla. Kalbinde duyduğun
çağrıya her zaman kulak ver.
Örnek Kodlar
İki kitapçıktan oluşan ASP rehberinin bütün örnek kodları ve
veritabanı dosyaları, http://www.pclife.com.tr/.........
adresinden edinilebilir. Ancak ASP öğrenirken örnek kodları
kendiniz yazmalısınız. Kodlamanın incelikleri ancak kodları siz
yazarsanız öğrenilebilir. Bu örneklerden sadece kendi yazdığınız
kodlar hata verdiği ve hatayı bulmaktan güçlük çektiğiniz zaman,
karşılaştırma amacıyla yararlanmalısınız.
Teşekkürler
Bu kitapçıktaki kodların değişik ortamlarda sınanması için için
bana yardımcı olan dilini ve yazımını denetleyen dostlarım
Mustafa Durcan, Osman Nuri Hömek ve Armağan Ergon'a teşekkür
ederim. Varolan hatalar elbette bana aittir. Sevgili arkadaşım
Mustafa Durcan'ın bütün dizinin gelişimine katkısını daima
şükranla hatırlayacağım.
Asp Derslerinin diğer Sayfaları için
tıklayınız
1
2
3
4
5
6
7 |