ASP NEDİR ?
Sunucu taraflı bir teknoloji olan ASP,
(Active Server Pages/Aktif Sunucu Sayfaları) kullanıcı tarafına etkileşimli,
dinamik Web sayfaları göndermek için kullanılır. ASP, Web programcılarına
HTML, scripting ve kullanıcıdan bağımsız veritabanı uygulamalarını özgürce
kullanma fırsatı verir. ASP programlama ortamının özgür olmasının sebebi
tüm derleme işleminin sunucu tarafında bitmesi ve kullanıcının sadece
sonuçta oluşan HTML sayfalarını görmesidir.
ASP
ile ilgili Web adresleri
İşte
ASP konusunda size en çok yardımı dokunacak Web siteleri. Bu sitelerde
teknoloji ile ilgili dökümanların yanısıra ücretsiz bileşenler, püf noktaları
ve kodlar bulacaksınız.
http://www.microsoft.com/iis
http://www.activeserverpages.com
http://www.asphole.com
http://www.15seconds.com
http://www.aspsite.com
http://www.vallin.com/pub/1/asp1.asp
http://www.aspdeveloper.net
Çok
geniş bir kullanım alanı olan ASP, scripting diye tabir edilen VBScript,
JavaScript gibi her türlü ham kodu kullanabilir, sunduğu kolay anlaşılır
doğal dili ile orta derece HTML bilen kimseler tarafından bile kolayca
kavranabilir. Bir scripting dili olsa bile ASP, sunucu tarafında uygulama
çalıştırmanıza da izin verir. Web sunucunuza bağlanan kullanıcı sizin
tarafınızda neler olup bittiğini bilmezken kendisine gelen HTML formatındaki
sonuca baktığında yazdığınız ASP kodlarını değil, Internet sunucusunun
onun için hazırladığı HTML kodlarını görür.
ASP'nin
Netscape Navigator / Internet Explorer /Opera gibi Web tarayıcılarından
bağımsız olmasının yanısıra en büyük avantajlarından biri kullandığınız
teknolojilerin, scriptlerin saklı kalmasıdır. Normal şartlarda, dinamik
içerik hazırlamak için HTML sayfasında emek dökerek kullandığınız scriptler
diğerleri tarafından "beğenilip" kolayca tekrar kullanılabilirken
ASP için böyle bir şey söz konusu değildir. Uyanık kullanıcılar ASP sayfasını
tıpkı başka bir dosya gibi bilgisayarlarına kaydetmek istediklerinde ise
Web sunucunuz bunu anlayacak ve yine sayfanın hazırlanmış halini kullanıcıya
sunacaktır.
ASP
NASIL İŞLİYOR?
ASP arabiriminin
işleyişi oldukça basit, sisteminize ASP eklentisini yüklediğinizde Internet
Information Server'ınızın zaten sahip olduğu scripting özellikleri işlemeye
başlıyor. İstemci tarafı sunucudan normal bir HTML sayfasını istediğinde,
IIS bu dosyayı sabit diskten çağırarak istemci tarafındaki Web tarayıcıya
yollar. İstemci tarafından yapılan istek bir ASP sayfasıysa IIS bunu sayfanın
uzantısından anlayarak ASP eklentisini devreye sokar. ASP eklentisi sayfa
içindeki scriptleri yine IIS'a çalıştırdıktan sonra oluşan HTML sayfasını
istemci tarafındaki Web tarayıcısına yollar, bu arada "kuzu"
durumunda olan kullanıcının sunucuda gerçekleşen işlemlerden haberi olmaz.
ASP sisteminin dezavantajı Web sunucunuza daha fazla yük getirmesidir.
Normal bir HTML sayfasının sabit diskten alınarak sunulması sunucuya fazla
yük getirmezken ASP sayfalarının işlenmesi sunucunuzun değerli bellek
ve işlemci kaynaklarından daha fazla yararlanacaktır. Yukarıdaki işlemleri
anlatırken ASP'nin getirdiği en büyük avantajlardan biri olan veritabanı
kullanımına hiç değinmedik, ASP, sunucu üzerinde yüklü ODBC veritabanlarını
kullanabilir, şirketinize ait veritabanlarını Intranet'inize veya Internet'e
açabilir.
ASP'Yİ
NASIL KULLANMAYA BAŞLAYACAĞIM?
Web sitenizin
dilediğiniz bölümlerini ASP'ye göre düzenlemeden önce bir takım şeyler
yapmanız gerekiyor. Windows NT kullananlar öncelikle sistemlerine tamamen
ücretsiz olan Microsoft Internet Information Server (IIS) 3 veya 4'ü kurmalılar.
IIS'ı kurduktan sonra Microsoft'un sitesinden (http://www.microsoft.com/iis) güncel bir sürümünü edebileceğiniz ASP eklentisini yüklemelisiniz.
Internet Information Server yapısı gereği bir Web uygulamasının kendisi
üzerinde çalıştırılabilmesi için uygulamanın çalıştırıldığı klasöre bu
izninin verilmiş olmasını ister. Bu yüzden ASP'lerin konulacağı klasörlere
"execute" hakkı verin, IIS execute hakkı verilmiş bir klasörün
alt klasörlerine de otomatik olarak bu hakkı tanır.
Web
sayfalarını sunmak için Windows 95 işletim sistemi altında çalışan Personal
Web Server'ı tercih edenler de ASP'yi hemen kullanmaya başlamakta pek
zorlanmayacaklar. ASP eklentisini yükleyip ilgili hakları verdikten sonra
hemen, vereceğimiz başlangıç örneklerini deneyebilirler. Web sayfalarını
Unix veya başka işletim sistemleri üzerinde tutan veya bir Web sunucusuna
sahip olmaksızın sayfalarını sunmak için ücretsiz servislerden faydalanan
okurların işi ise biraz daha zor.
Chilisoft
(http://www.chilisoft.com) adlı yazılım firması değişik işletim sistemleri için ASP
eklentileri sunuyor, ayrıca bir Web sunucusuna sahip olmayanlar Internet'te
ASP dosyalarını ücretsiz olarak sunan hosting firmalarından faydalanabilirler.
Altavista Web tarayıcısında "ASP hosting" anahtar kelimeleriyle
yapacağınız araştırma sizi bu firmalara ulaştıracaktır.
ASP
NE İŞİME YARAYACAK?
Eskiden taş düşürtecek
kadar zahmetli olan HTML formlarını değerlendirme işi ASP ile "çocuk
oyuncağı" haline getirilmiş, önceleri bu işi yapmak için CGI (Common
Gateway Interface) uygulamaları yazmış, hazır ve esnekliğe izin vermeyen
tek platformlu form değerlendirme programları kullanmış olabilirsiniz,
Web sitenizi ASP tabanlı bir hale getirdiğinizde tüm bunlardan kurtulmuş
olacaksınız. ASP yetenekleriniz geliştikten sonra sunucu üzerinde yüklü
ODBC veritabanlarını kullanan ActiveX uygulamaları yazmaya başlayabilirsiniz
veritabanlarına bilgi yazabilir ve okuyabilirsiniz. VBScript, JavaScript,
PERL veya REXX gibi bir scripting dili hakkında bilginiz varsa aynı zamanda
ASP biliyorsunuz demektir çünkü ASP, IIS 4'ü veya dışardan yüklenebilen
modülleri kullanarak bu dilleri anlayabilir. ASP aynı zamanda sunucu üzerinde
çalışan Microsoft BackOffice ailesi uygulamalardan maksimum derecede faydalanır,
bu işleve sahip önceden hazırlanmış ASP modülleri başka sayfalar içine
gömülebilir.
ASP
İLE PROGRAMLAMAYA BAŞLANGIÇ
Yukarıda ASP'ye
kısa bir giriş yaptık, anlattıklarımızı pekiştirmek için dilerseniz iki
tane örnek verelim. ASP sayfalarını kullanabilmek için yukarıda anlattığımız
olayları gerçekleştirdiyseniz execute hakkı verdiğiniz bir klasörde aşağıda
kodlarını verdiğimiz ASP sayfalarını hazırlayın.
http://sunucu_ismi/klasor/asp_ismi.asp
komutunu
kullandığınızda Web tarayıcınız ASP kodlarının altında verdiğimiz HTML
dökümlerini oluşturacaktır.
Sunucu üzerindeki ASP dosyasını çağırdığınızda boş bir sayfa geliyorsa
Internet Information Server'ınız üzerine ASP eklentisi yüklü değildir.
Kodlar çağrıldığında hata mesajı geliyorsa IIS'ınızın sürümü çok düşüktür
veya ASP kodlarını doğru olarak girmemişsiniz demektir.
1.Örneğimiz
ASP
KODLARI
<HTML>
<HEAD><TITLE>
Script yardımıyla değişik ebatlarda yazılar...
</TITLE></HEAD>
<BODY BGCOLOR=#000000>
<% for i = 3 to 7 %>
<FONT SIZE=<% = i %>>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<% next %>
<BR>
</BODY>
</HTML>
KULLANICI
TARAFINDA GÖRÜLEN
<HTML>
<HEAD><TITLE>
Script yardımıyla değişik ebatlarda yazılar...
</TITLE></HEAD>
<BODY BGCOLOR=#000000>
<FONT SIZE=3>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<FONT SIZE=4>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<FONT SIZE=5>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<FONT SIZE=6>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<FONT SIZE=7>Biz biz idik biz idik otuziki kız idik.</FONT><BR>
<BR>
</BODY>
</HTML>
2.
Örneğimiz:
ASP
KODLARI
<html>
<title>ASP ile rasgele püf noktası...</title>
<%
' Sayfada göstermek üzere 1'den 10'a kadar bir püf noktası seç.
Randomize
TipNumber = Int(Rnd*10)
' İçinde 10 adet püf noktası olan dosyayı aç
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set Instream = FileObject.OpenTextFile (Server.MapPath ("/deneme")
& "\puf.txt", 1, FALSE, FALSE)
' Göstermek istediğim püf noktasına kadar olanları atla
For i = 1 to TipNumber -1
InStream.SkipLine()
Next
' Dosyadan alınan satırı PufNoktasi değişkenine ata.
PufNoktasi = Instream.ReadLine
%>
<FONT FACE="Verdana" SIZE=4><B>
<%= PufNoktasi %></B></FONT>
</html>
KULLANICI
TARAFINDA GÖRÜLENLER
<html>
<title>ASP ile rasgele püf noktası...</title>
<FONT FACE="Verdana" SIZE=4><B>
Rasgele püf noktası * 5</B></FONT>
</html>
FORM
İÇERİĞİNİ ASP'YE NASIL YOLLARIM?
HTML formları Web sitelerinde kullanıcıdan veri almak için kullanılan
yegane yoldur. ASP teknolojisini en önemli görevlerinden biri de form
verilerini saklamak, hatırlamak ve değerlendirmektir. İçeriğinde bir form
olan ASP sayfaları tabii ki yapılabilir, ama HTML sayfalarındaki verilerin,
bir yardımcı programa veya script'e ihtiyaç duyulmaksızın herhangi bir
ASP dosyası tarafından değerlendirilebileceğini bilmek sanırım hoşunuza
gidecektir.
ASP
sayfalarının sunucunuzda çalışan veritabanı modülünü kullanarak veritabanlarına
erişebileceğini ve buradaki verileri Web'e aktarabileceğini söylemiştik.
Form içeriğine girilen verileri ASP sayfalarına yollamak oldukça basittir
sadece ASP sayfasında bir değişkene form kontrollerinden birinin ismini
atamak yeterli. Aşağıdaki örnekleri inceleyince parametre mantığını daha
iyi anlayacaksınız.
GET
ile hazırlanmış formlarda değişkenlerin toplam karakterinde bir sınırlama
vardır. Bunun yanısıra geçtiğiniz parametreler Web tarayıcınızın URL kutusunda
görülecektir. ASP Script'inin bu tip formlardaki verileri alabilmesi HTML
kısmında ve script içinde aşağıdaki gibi kodlar kullanılması gerekir:
Formu
oluşturmak için:
<form
action="deneme.asp" method=GET>
.... Diğer form üyeleri ....
<input type=submit><input type=reset>
</form>
ASP
Script'inde okumak için:
<%degisken=request.querystring("form_bolgesi")%>
POST ile hazırlanmış formlarda ise karakter ve uzunluk sınırlaması GET
kadar sınırlı değildir. Web tarayıcınız geçtiğiniz değişkenleri adres
penceresinde göstermeyecektir. ASP Script'inin bu tip formlardaki verileri
alabilmesi HTML kısmında ve script içinde aşağıdaki gibi kodlar kullanılması
gerekir:
Formu oluşturmak için:
<form action="deneme.asp" method=POST>
.... Diğer form üyeleri ....
<input type=submit><input type=reset>
</form>
ASP Script'inde okumak için:
<%degisken=request.form("form_bolgesi")%>
ASP
ile başka ne gibi eklentiler kullanabilirim?
ASP
İLE BİLEŞEN KULLANMA
Microsoft'un sunucu
teknolojisi ASP için bir çok ikinci parti bileşen bulunuyor. ASP sayfaları
ile uyum içerisinde çalışarak sonuç sayfalarının oluşturulması, Web sayfası
sahiplerine işlenmiş bilgi aktarılması gibi işlere yarayan bileşenlerden
en popüler olanları ASPMail ve RoboHTTP. Server Objects firmasının bu
iki ürünü, sayfadaki formların içeriğinin kullanıcıya e-mail olarak kullanılması,
misafir defteri oluşturulması ve bir çok değişik bilginin bir sayfada
toplanması gibi işlemleri kolayca hallediyor. CGI Script yazmak veya NT
sunucularına bir servis daha yükleyerek meşgul etmek istemeyenler
http://www.serverobjects.com adresindeki Web sitesini ziyaret ederek daha geniş bilgi edinebilirler.
VERİTABANLARINI
ASP İLE ZAHMETSİZ NASIL KULLANIRIM?
Kurumunuzun veritabanını
ASP teknolojisini kullanarak Web sayfalarından ulaşılır ve değiştirilebilir
hale dönüştürmek istiyorsunuz. Bunu yapmak için işi bilen bir kişinin
saatlerce bilgisayarın başında oturup veritabanındaki field'leri girmesi,
sorgulamaları programlaması gerekmiyor. Microsoft'un, Internet teknolojilerinin
programlanmasını ve kullanımını kolaylaştıran ürünü Visual InterDev bir
Access97 veritabanını alarak bunu kolayca Web'den erişilebilecek duruma
getirebiliyor. Bu işi yapmak için kullanımı inanılmaz kolay sihirbazlar
içeren program hakkında daha fazla bilgi için
http://www.microsoft.com/vinterdev/
adresine bağlanın.
OTURUM
NEDİR?
Internet Information
Server'ın en vurucu özelliklerinden olan "oturum"dan ASP teknolojisi
sonuna kadar faydalanır. Bir kullanıcının Web sitenize bağlandığı andan
Web sitenizden ayrıldığı ana kadar olan zaman dilimine "oturum/ session"
adı verilir. Bu süre içerisinde sunucunuzdaki ASP eklentisi kullanıcıyı
takip eder ve yaptığı hareketleri, yolladığı tüm bilgileri kontrol eder.
Örneğin bir kullanıcının alışveriş sepetine koyduğu tüm ürünler ASP eklentisi
tarafından sunucunun belleğinde tutulur, kullanıcı siteden çıktığı anda
bellektekiler eğer aksi belirtilmediyse oturum sonlandığı için silinir.
Oturum takibi işini bir ISAPI (Internet Server Application Programming
Interface) filtresi olan Cookie Munger ile yapabilirsiniz, bu arabirim
aynı zamanda kullanıcıya yolladığı çerezler ile eğer silinmemişse sunucu
üzerinde bulunan bir oturumun devamını da sağlayabilir.
Sunucuya
oturumu hatırlatmak amacıyla kullanıcıya yollanan çerezlerin hiç bir zararı
yoktur. Aynı zamanda yollanılan çerezlerin içinde sadece bir hatırlatma
numarası olduğundan kullanıcının kendi bilgisayarında sunucuya ait olan
bilgileri ele geçirmesi mümkün değildir, bu yüzden çerezler bir güvenlik
açığı oluşturmaz.
Ücretsiz
olan Cookie Munger hakkında daha çok bilgi için
http://www.microsoft.com/workshop/server/toolbox/cookie.asp
adresini kullanabilirsiniz.
Kod örnekleri:
WEB
SUNUCUMA KİMLER BAĞLI?
Yukarıda IIS'ın
kendisine bağlı her bir kullanıcıyı takip ettiğini söylemiştik. ASP Script
ile Web sunucunuza bağlı olan kullanıcıları ve hangi sayfalarda bulunduklarını
kolayca ortaya çıkarabilirsiniz. Aşağıdaki kodları NT4 - Service Pack
3 yüklü ve Internet Information Server 4'e sahip bir sunucunun "execute"
hakkı verilmiş bir klasöründen çalıştırdığınızda size sunucunuzdaki kullanıcıların
IP adreslerini ve şu anda bulundukları sayfaları söyleyecektir. Sayfayı
her seferinde yenilemenize gerek yok, ASP sayfası bu işi kendisi hallediyor...
<!--
#INCLUDE VIRTUAL="/includes/tracker.asp" > -->
<%
MyServer=Request.ServerVariables("SERVER_NAME")
MyPath=Request.ServerVariables("SCRIPT_NAME")
MySelf="HTTP://"&MyServer&MyPath
%>
<html>
<head>
<meta HTTP-EQUIV="REFRESH" CONTENT="20;<%=MySelf%>">
</head>
<body BGCOLOR="#FFFFFF">
<%
Application.Lock
Set TempStats=Application("stats")
Application.Unlock
%>
<center>
<b>Toplam Kullanıcı:</b> <%=TempStats.Count %>
<table BORDER="1" CELLPADDING="10" bgcolor="#6699cc">
<tr><th>Kullanıcı</th><th>Bulunduğu sayfa</th></tr>
<%
TempItems=TempStats.Items
TempKeys=TempStats.Keys
For i=0 to UBOUND(TempKeys)
%>
<tr><td><%=Tempkeys(i)%></td><td><%=TempItems(i)%></td></tr>
<%
Next
%>
</table>
</center>
</body>
</html>
ZAMAN
ETİKETİNİ FORMATLAMAK
Aşağıdaki ASP
script'i o anki tarihi 5 ayrı formatta yazar. ASP scriptinin tarih formatlama
özelliğini göstermek için verdiğimiz örnek basit bir döngü ve fonksiyon
tanımlanmasından oluşuyor. Her tarihi yazdıktan sonra bir paragraf boşluk
veren ve ardından bir çizgi çeken script'i çalıştırdıktan sonra en çok
beğendiğinizi kullanmaya başlayabilirsiniz.
<html><head>
<title>Zamanı formatlamak</title>
</head><body bgcolor="#FFFFFF"><html>
<%
response.write "<hr>"
for counter=0 to 4
currentdate=now()
response.write "Bu gün..." & "<br>"
response.write currentdate & "<P>"
select case counter
case 0
whichformat="vbgeneraldate"
case 1
whichformat="vblongdate"
case 2
whichformat="vbshortdate"
case 3
whichformat="vblongtime"
case 4
whichformat="vbshorttime"
end select
response.write "FormatDate(now()," & whichformat & ")="
response.write Formatdatetime(currentdate,counter) & "<P><HR>"
next%>
</body></html>
(Bu yazı
http://rafet.hypermart.net adresinden alınmıştır, döküman
aybalanet@hotmail.com tarafından oluşturulmuştur)

|