Ve Microsoft ASP’yi Yarattı
Asp January 24th, 2008->
Artık internet herkesin ve hepimizin oluyor bunun farkında mısınız? Her client (kullanıcı) aynı düzeyde sörf hakkına sahip. İntenet bize bu özgürlüğü getirdi. Nasıl mı? Siz kendinizi en samimi arkadaşınıza bile anlatmakta zorlanırken, sanal alemde dünyaya istediğiniz gibi tanıtıyorsunuz. Bu kendimizi anlatma olgusu sanal alemde “Homepage” lerin doğmasına neden oldu. Peki nasıl oluyor da çalışıyor bu web sayfaları!
İnternetin geliştirilmeye başladığı sıralarda yazılımcılar HTML kullanmaya başladılar. Ancak bu kodla yapılabilecekler çok sınırlıydı; sadece resimler, metinler ve linkler üzerine kurulmuş bu sistem web sayfalarında monoton bir ortam yarattı. Başlarda interaktiflik yoktu yani sayfa ile client (kullanıcı) arasında bir bir bağ mevcut değildi. Bir mağazanın vitrininden bakar gibi bakıyorduk yapılanlara. Daha sonraları insanlar bu monotonluktan kurtulmak için çabaladılar ta ki Microsoft’un dehaları BackOfice tabanlı işletim sistemi mimarisini bulana kadar.
Artık Back Ofice sayesinde server (sunucu) yapıları gelişmeye başladı işin içine etkileşim girdi ve NT4 ile IIS (internet information server) geliştirildi, böylece komplex bir internet programlama dili için çalışan microsoft ASP’yi (active server pages) piyasaya sürdü.
HTML dilinde program kodları client taraflı çalışır, yani server komutları yolar client ise bu kodları yorumlayarak ekrana yansıtır. Bu sistem güvenlik ve etkileşim açısından çok zayıftı. Web sayfalarının kodları her ziyaretçinin browserına (internet tarayıcısına) gönderildiği için kodların güvenliği azalır. Bütün kod client tarafında çalıştığı için etkileşim olmaz, tıpkı mağaza örneğinde olduğu gibi vitrinden bakmakla yetiniyorduk.
ASP dilinin çalışma tarzı ise tamamen farklıdır. Asp ile yazılmış bir kod tamamen server (sunucu) tarafında çalışır ve client’a sadece çıktılar gelir (yani client asp ile yazılmış bir sayfaya girdiği zaman, server direkt olarak sayfayı tıpkı bir program çalıştırır gibi işletir). Ve sayfa çıktılarını HTML diline çevirir. Daha sonra elde edilen veri çıktılarını sizin browserınıza gönderir. Bu çıktılar ise browserinızca yorumlanarak ekrana yazdırılır.
Asp’nin çalışma mantığından bahsettiğimize göre asp nin neye benzediğine bakalım. Server taraflı programlar (asp) herzaman “<%” ile başlar ve yine herzaman “%>” ile biterler bunlar (taglar) dışında yazacağınız kodlar server tarafından çalıştırılmayacak ve client’a direkt yollanacaktır. Bu taglardan “<%” a açılış tagı “%>” tagınada kapanış tagı denmektedir.
“Server server, Peki ama benim serverım yok ki!” diyenleri duyuyor gibiyim. Sizin için Microsoft PWS (personal web server) denilen yazılımı geliştirdi. Bu yazılım sayesinde windows 95 veya 98 işletim sistemleriniz üzerine ufak çaplı bir asp sunucusu kurma şansınız olacak ve yazdığınız kodlarını kendi sisteminizde çalıştırabileceksiniz. Server dışında, başka yazdığınız kodların nasıl çalıştığını görmeniz için bir web browserınız olmalı (internet explorerı tavsiye ederim). Kodlarınızı yazmanız için bir metin editorune ihtiyacınız olacak (ben notepad kullanıyorum ve tavsiye ediyorum) bunun dışında bir de front page programınızın kurulu olması size hız kazandıracaktır. Unutmayın asp çalıştırmak için sadece server gerekmektedir. Diğer bileşenler işlemlerimizi hızlandırması için araçtır.
Sayfalarınız internetten yayımlamanız için bir hosting ihtiyacınız olduğunu belirtmeden geçmeyelim ancak bu hizmeti veren serverların neredeyse hepsi paralı firmalardır. Benim tavsiyem kendi bilgisayarınızda yazdığınız ve çalıştırdığınız (PWS kullanarak) programcıklarını internet üzerinden bedava hizmet veren serverlar üzerinden yayımlamanız ve bu işi öğrenene kadar bedava serverlarda kalmanız ve acemilik atmanızdır. Bu bedava hizmeti veren firmalardan en iyisi (benim tercihim) Ewebcity dir.. (http://www.ewebcity.com)
Pws e geçmeden önce biraz ewebcity den bahsedelim; ilk tercih nedenim reklamsız bir servis olmasıdır yani diğer bedava hizmet sağlayıcılar gibi sayfalarımızda isteğimiz dışında reklam olmamasıdır. Diğer özelliklerine yakından bakarsak. Asp scriptlerine izin veriyor olması (asp nesnelerini isteğimiz dahilinde kullanabiliyoruz), database desteğinin mevcut olması (MS Access türü veritabanlarımıza işlem yapmamıza olanak sunuyor.), veritabanları kök dizini altındaki “/db“ dizini dışında çalıştırılamaz. Öte yandan asp ile oluşturacağınız text dosyalarınızı da bu dizin içerisinde bulunduracaksınız (çünkü tahmin etdiğimiz üzere yazma izni sadece o klasöre verimiş), ewebcity nin kötü yanlarından birisi ftp desteği olmaması. “E peki nasıl yükleyeceğiz sayfaları” diyen arkadaşlar için bir dosya yükleme sayfası yapmış ewebcity. Ancak testlerimde bu sistemin ftp erişimine göre çok daha hızlı olduğunu fark ettim), mail bileşeni yok (evet maillarımızı web üzerinden göndermek için kullanacağımız bileşenlere erişim hakkı yok) size verdiği url (internet adresi) ise http://wwwX.ewebcity.com/uye_adi/ (buradaki X yerine size o anda müsait olan numara geliyor. Örneğin www4…)
Pws (personal web server) adından anlaşılacağı üzere “kişisel web sunucusu” dur. Yani sizin işletim sisteminizi basit bir web sunucusuna çevirir. Bundan sonraki tüm işlemlerinizi bu server üzerinden gerçekleştireceğiniz için bu basamak çok önemlidir. PWS kurmak için ilk önce bu programı bulmanız gerekiyor. Microsoft kolayca bulabilmemiz için windows 98 cd’sinde bu programa yer verdi.
Personal web server’ı kurabilmeniz için bilgisayarınızda ya bir ethernet kartı yada bir modemin bulunması ve TCP/IP protokolünün yüklü olması gerekmektedir (zaten bu protolün yüklü olmaması halinde internete bağlanamazsınız). Şimdi personal web server kurulumuna geçebiliriz. Bunun için windows 98 cd’sinde bulunan \add-ons\pws\ dizini altındaki kur (yada setup) programına tıklayınız. Açılacak pencerede sizden yüklemek istediğiniz bileşenleri soracaktır. Bu alanda “Front Page 98”, “Microsoft Data Access Components”, “Ortak Program Dosyaları” (Comman Program Files), “Personal Web Server”, “Transection Server” seçeneklerini mutlaka kurmanız gerekmektedir. Çünkü ASP ve benzeri web uygulamaları bu bileşenler yüklü olmadan çalışmaz.
Pws kurduktan ve bilgisayarınızı yeniden başlattıktan sonra masa üstünüze de bir icon ve taskbarda (sağ alt tarihin yanı) bir simge belirecektir. Masa üstünüzdeki yayımla butonuna tıkladığınızda “Persona web mamager” başlıklı bir pencere açılacaktır. Pencerenin sağ tarafında beş adet buton göreceksiniz. Bu butonlardan en üstdeki “Ana” butonuna bastığınız zaman sağ tarafdaki ekranda çıkan buton yardımı ile serverınızı başlatıp durdurabilirsiniz. (buton üzerinde “dur” yazıyorsa sistem çalışıyor demektir). Web serverinız http://bilgisayar_adi şeklinde aktif hale geçecektir (bilgisayar_adi sizin bilgisayarınızın kurulumu sırasında network tanımında verilmiş isimdir eğer bilmiyorsanız http://localhost da yazabilirsiniz). Bir siteye erişmek için yazdığınız url adresi bir siteye gitmektedir (http://www.jeoloji.net gibi) bu site isimlerine “hostname” diyeceğiz “localhost” ise özel bir hostname dir. Sizin bilgisayarınızdaki serverı işaret eder (herzaman) ip adresi olarak da “127.0.0.1” adresini kullanır. Yani bu iki adres aynıdır (http://localhost , 127.0.0.1).
Gelişmiş menusu ise web serverınızla ilgili ince ayrıntıları yapmanızı bunlardan en önemlisi olan sanal dizinler (virtual directorys) bilgisayarınızın fiziksel dizinlerinden farklıdır. Adı üstünde sanal dizin. Birbiriyle alakasız iki fiziksel klasörü “home” ana dizini altında sanal dizin olarak tanımlayabilirsiniz. “home” ifadesi sunucunuzun ismine tekabul eder. Benim sunucumun (PWS) ismi “akkoyun” olduğuna göre buradaki sanal dizinler browserdan http://akkoyun/sanal_dizin_adi şeklinde yazılarak çağrılabilir. (veya http://localhost/sanal_dizin_adi ). Buradaki sanal dizin ağacına istediğiniz kadar sanal dizin ekleyebilirsiniz. İsterseniz ekleme işine bir göz atalım.
Ekle butonuna bastığınız zaman açılacak pencerede “dizin” alanına sunucunuz üzerindeki fiziksel yolunu yazdıktan sonra “diğer ad” kısmına sanal dizininize ulaşmak istediğiniz isimi yazmanız gerekmektedir. Erişim seçenekleri kısmına hiç dokunmadan “tamam” butonuna basarak işlemimizi bitiriyoruz. Bu işlemden sonra sanal dizininimizin dizin ağacında görünmesi gerek. Şunu belirtmek istiyorum : sanal dizin olarak eklediğiniz fiziksel klasörün tüm alt dizinleride sanal dizin olacaktır. İstemediğimiz sanal dizinleri “kaldır” butonuyla kaldırmak mümkündür.
Varsayılan belgeyi etkinleştir alanında ise, browserdan siteniz (http://akkoyun/) veya bir alt bir alt dizini (http://akkoyun/jeoloji) çağrıldığında sunucu o dizinde belirli isme sahip belgeler aramaya başlar. Eğer bulursa onu browsera gönderir. İşte sunucunun otomatik olarak açmak istediği dosyalara PWS “varsayılan belge” diyor. Varsayılan belgeler genellikle şunlar dır: “index.html, index.htm, index.asp, default.asp, default.html main.asp, main.html vs…”. Varsayılan belgeyi etkinleştir seçeneği tıklanmış ise sunucu belirtilen isimdeki dosyaları otomatik açmaya çalışır. Biz o seçili olarak kullanacağız. O alandaki metin kutusuna ise istediğiniz varsayılan belgeleri yazmakta özgürsünüz, ama unutmayın ki bu sadece sizin serverınız için geçerlidir. Örneğin Pcnet hostinglerinde varsayılan belgelerini şu şekilde sıralamaktadır : “Default.htm, default.asp, index.htm, index.html, index.cfm, index.asp”. Yani bu şu demek bu serverlarda mevcut bir hostinginizde (web sayfasını sizin yerinize serverlarında bulundurma işlemi) ana dizinde bulunan default.asp ve main.asp dosyalarından default.asp sıralamada yukarıda olduğu için çalışacaktır. Diğer dosya (main.asp) ise sadece http://xxxxxxx/main.asp yazınca çalışacaktır.
Daha altta bulunan seçeneklerden “dizinde göz atmaya izin ver” seçeneği tıklanırsa ziyaretciler sitenizin klasörlerinin içeriklerini gözleme imkanına kavuşur, tabi o klasörde varsayılan belgenin yokluğu veya varsayılan belgenin etkin olmadığı durumlarda. Diğer seçenek ise sunucunun ziyaretçi loglarını tutmasına yarar (ziyaretçilerin tüm bilgilerini bir dosyada saklar) ama bizim işimize yaramayacağı için işaretlemiyoruz.
Pws kurulurken c sürücünüz üzerinde bir “inetpub” dizini oluşturacaktır. Bu dizin içerisindeki “wwwroot” dizini ismindende anlaşılacağı üzere web sitenizi yayımlayacağınız dizin olmaktadır. Web browserınızdan http://localhost yazdığınız zaman wwwroot dizini altındaki sayfalarınız gösterilecektir.
Şimdi ilk asp programcığımızı yazarak programcılığa merhaba diyelim isterseniz. İlk programcığımızda ekrana serverın o anki tarihini yazan bir script yazacağız. (ilk olarak basit sistemlerden başlıyarak ileriki sayılarda daha komplex programcıklara geçeceğiz).
<html>
<head>
<title>Merhaba Dünya</title>
</head>
<body>
<%
response.write date
%>
</body>
</html>
Evet bu programcıkta kullandığımız “response.write” fonksyonun anlamı kendinden sonra gelen fonksyon veya değişkeni ekrana yazdır demektir. Bu fonksiyonların kullanımını ilerde ayrıntılı şekilde inceleyeceğiz.
Programda yer alan başlangıç ve bitiş tagları arasındaki komutlar server tarafından çalıştırılarak client tarafına çıktıları yollanacaktır. Bakın yukardaki programımız clint tarafındaki browserımıza nasıl yollanmış (internet explorerda kaynağı görüntüle diyebilirsiniz).
<html>
<head>
<title>Merhaba Dünya</title>
</head>
<body>
3/27/2001
</body>
</html>
Gördüğünüz gibi client (kullanıcı) a hiçbir asp kodu gitmedi. Sadece sunucu tarafından çalıştırılan programımızın çıktısı olan tarih değeri gitti. Sanki biz bu sayfayı günlük değiştirip her gün yeni tarihleri giriyormuşuz gibi. işte asp teknolojisi webmasterlara böyle kolaylıklar sağlıyor. Bütün işlemi sunucuya yüklemiş oluyoruz.


























Son Yorumlamalar