ihya.org
asp
Önce basitçe dosya sunucuları vardı. Internet browserları bir arayüz, sunuculardan aldığı dosyayı kullanıcının ekranında gösterirlerdi. Ama her şeyin hareket kazandığı günümüzde, Internet'in sabit kalması imkansızdı. Düşünüldü, taşınıldı ve Ortak Geçit Arayüzü (CGI) yaratıldı.
İlk sunucular sadece harddisklerdi aslında. Kullanıcı verilen IP'deki "harddisk"e bağlanır. Ordan uzantısı HTM olan bir dosya indirirdi. HTM dosyası kullanıcıların browserları tarafından derlenir, içinde taglerindeki dosyalar da indirilir, ekranda bir Word belgesi gibi şekiller yerine konulur ve gösterilirdi.
O zamanlarda, günümüzde kullandığımız Frontpage, Dreamweaver (hatta MS Word 97 ve sonrası) gibi kolay tasarım araçları bulunmadığı için, sayfaları güncellemek, hataları kontrol etmek gibi görevler ancak çok dikkatli insanların, özenli tasarımcıların oldukça fazla zaman alan ve alması da gereken işlerdi. Eğer ne kadar zaman aldığını öğrenmek istiyorsanız, herhangi bir portal sitenin ana sayfasını kaydedip, HTML kodunu Not Defteri veya herhangi bir metin editörü ile açıp, sadece 1-2 haber kısmını resimleri ile birlikte değiştirmeye çalışabilirsiniz. Eğer bir de sitenizin 100'den fazla güncellenecek sayfası varsa durum oldukça kötü anlamına gelmektedir.
Bunun böyle sürmeyeceğini öngören programcılar, web sunucularına ve doğal olarak Internet sayfalarına biraz daha dinamizm ve hız kazandırmak için yöntem arayışına girdiler. İlk web sunucuları Unix tabanlı sistemlerde çalışıyordu ve yine Unix tabanlı sistemlerin doğal dili olan C ile yeni bir sistem oluşturma çabalarına girildi. Mantık basitti. Kullanıcının browserı sunucudan bir HTM dosyası istediğinde, arkaplanda aslında normalde sunucu ekranından dahi çalıştırılabilecek bir dosyayı çalıştırıp, dosyanın çıktısını HTML olarak geri gönderecekti. Kullanıcı, sunucunun ne yaptığından haberi olmadan ekranında sadece "oluşturulmuş" HTML dosyasını görüntüleyecekti. Kullanıcılar, bir nevi o sunucudaki dosyayı kontrol edebildiği için buna Ortak Geçit Arayüzü [I][B](Common Gateway Interface veya kısaca CGI)[/B][/I] denildi.
İlk başta herşey çok yolunda gidiyordu. Kullanıcılar dinamik sayfaları gördükleri için mutlu, sunucu sahipleri sitelerini daha hızlı güncelleyebildikleri için memnundu. Ta ki Internet kullanıcılarının sayıları aniden patlama yaşayana dek.
CGI'lar sonuçta, basit, harici programlardı. Kullanıcı girdiğinde çalıştırılır ve işi bitince kapatılırdı (kill process). Kullanıcı sayısının artması burada devreye girdi. Ardı ardına siteye giren kullanıcılar, aynı programı çalıştırınca, sistemin yavaşlaması ile birlikte, bir süre sonra sunucu bu sürece yetişememeye, sonrasında sunucunun işlemez hale kadar gelebilmesine neden olabiliyordu. Daha sonra PERL gibi bir sistem geliştirilse de, CGI'ya göre performansı yine tartışılırdı.
Bunun üzerine her ne kadar benzeri bir sunucuyu Windows NT 4.0 Server üzerine eklemiş olsa da, Microsoft'u yeniden harekete geçirmeye zorladı. JavaScript'in tüm browserlarda standart haline gelmesi, kendi yarattıkları VisualBasic Scripting dilini en azından sunucularda kullanılabilirdi.
[B]Bunun üzerine IIS (Internet Information Services) 3.0 versiyonun üzerine ASP (Active Server Pages) adı altında bir web programlama dili geliştirdiler. CGI ve PERL'in aksine, ASP'nin belli başlı 3 önemli özelliği bulunmaktaydı.[/B]
1. [B]Belirli bir programlama diline bağlı değildi. Sunucu makinasında desteklenen her türlü programlama dilinin kullanabiliyordu. [/B]
2. [B]Tüm kullanıcıların aynı programı aynı kullanıcı gibi kullanılması değil, sanki her kullanıcı bir Windows oturumu açıyor gibi kullanmasıydı. [/B]
3. [B]Component (Dış bileşenler) kullanılabiliyordu. [/B]
IIS 4.0 (NT Option Pack ile birlikte gelmektedir) ile birlikte ASP günümüzde bulunduğu konuma oldukça yaklaşmış oldu.
Bunun arkasından çiçeği burnunda Unix klonları için de Perl'in geliştirilmiş şekli olan PHP oluşturuldu. ASP'nin özelliklerinin çok benzer bir kopyası olan PHP'de de oturum açabiliyordu.
[U][SIZE=3][COLOR=red][B]Veritabanı Kullanımı[/B][/COLOR][/FONT] [/U]
Web programlama dillerinin en önemli özelliklerinden biri veritabanlarıyla birlikte çalışabilmesidir. Peki veritabanı kullanımı bize ne avantajlar sağlar?
Veritabanları tabii ki pek çok alanda kullanılmaktadır. Ama web üzerinde görülen en yaygın kullanımı sitelerin güncel bilgilerle doldurulmasıdır. Oldukça geniş bir kapsama alanı bulunan veritabanları, sitelerde arama, ürün katalogları gibi alanlarda oldukça fazla kullanılıyor. [COLOR=darkred][B]ASP de pek çok veritabanını desteklemektedir. [/B][/COLOR]Bunlar arasında tabii ki Microsoft SQL server, Access veritabanları, mySQL, Paradox gibi sisteminizde DSN kaydı bulunan bir çok veritabanını başarıyla kullanabilmektedir. Bu yazı dizimizde ise en çok kullanılan veritabanlarından biri olan Access veritabanları üzerinde çalışacağız. Bunun yanında SQL server kullananlar için de örneklerimizi vereceğiz.
Peki ya gelecek?
ASP'nin geleceği şimdiden belirlendi diyebiliriz. Henüz beta uygulamalarıyla karşımıza çıkan ve Microsoft'un .NET projesi diye adlandırdığı, C# dili üzerine kurulmuş, ASP.NET şimdiden oldukça başarılı görünüyor. Henüz beta aşamasında olduğu için yine de kesin bir sonuca çıkamasak da, şüphesiz ki günümüzde kullanılan tüm sistemlerden oldukça belirgin bir şekilde daha hızlı.
Web programlama dillerinde çalışma prensipleri
Yazının başında da belirttiğimiz üzere bir web sitesinin işleyişinin en basit açıklaması [COLOR=darkblue][B]Request-Response [/B][/COLOR](İstek-Yanıt) diyebiliriz. Web browserınızda bir web adresi yazdığınız anda başlamakta olan bu süreç, yine browserınızın sağ alt köşesinde Bitti (Done) yazana kadar başka bir deyişle sayfanın tamamı yüklenene kadar devam eder. Bu süreç içerisinde istediğiniz dökümanın özelliğine göre sunucu içinde bir takım işlemler gerçekleşir.
Örneğin istediğiniz döküman bir HTML dökümanıysa (basitçe uzantısı htm veya html ise) sunucu size hiç bir işlem yapmadan o HTML dökümanını ekranınızda görüntülemeniz için "download" etmenize izin verir.
Ama web tabanlı çalışan bir uygulama uzantılı ise [I][B](asp, php, aspx, cgi, pl vb)[/B][/I] sizin isteğinize göre önce sunucu içerisindeki dosya, sanki siz bir program çalıştırıyormuşçasına derlenmeye başlanır. Çıkan sonuç size HTML olarak gönderilir. Siz basitçe bir HTML sayfası görüyormuşsunuz gibi sayfaya bakarsınız.
ASP de aslında bir metin dosyasıdır. Fakat sunucuda çalıştırıldığında içinde [COLOR=green][B]<% %>[/B][/COLOR] işaretleri arasındaki kodlar sunucunun işleyeceği kodlardır ve bu kodların sonucu ortaya çıkan sonuç ekranınıza yansayacak, siz bu kodları browserınızdan göremeyeceksiniz.
[U][COLOR=red][B]ASP için neler gereklidir? [/B][/COLOR][/U]
Kesinlikle Windows tabanında çalışan bir web sunucusu (IIS) gerekmektedir. Linux altında da Microsoft'a ait olmayan ASP çalıştırdığını söyleyen sunucu yazılımları yapılmış olsa da, ASP'yi verimli kullanabilmek için Windows şarttır diyebiliriz... ASP dosyalarının üzerine çift tıklayarak çalıştıramazsınız.
Peki evde Internete girmeden ASP'mizi nasıl deneyebileceğiz? Tabii ki kendi makinamıza da IIS/PWS kurarak..
[B]Windows 95/98/ME kullanıcıları: [/B]
PWS 4.0'ı Option Packten bulmalısınız. Yalnız Windows 98 kullanıcılarını bir avantajı, Microsoft Windows 98 kurulum CD'sinde PWS klasörü altında bu yazılımı bulabilirler. Fakat ne yazıkki PWS Windows 98 SE (Second Edition - İkinci Sürüm)'de bulunmamaktadır.
Windows 95 ve 98 Birinci sürüm kullanıcıları ise Internet Explorer 4.0 veya daha üstü (en son sürüm 5.5) kurmak durumundalar.
Windows NT 4.0 Server - NT 4.0 Workstation kullanıcıları:
Windows NT 4.0 ile IIS 3.0 gelse de ASP desteği için NT Option Pack'i download etmeliler. Tabi ki öncelikle Internet Explorer 4.01 veya daha üzerini kurmak gerekiyor.
Windows XP Proffesional, Windows 2000 Server, Windows 2000 Proffessional ve diğer Windows 2000 sürümleri kullanıcıları ise zaten paketlerinin içinden gelen IIS 5.0'ı kullanıyorlar. Eğer IIS kurulu değilse yine Denetim Masası - Program Ekle/Kaldır - Windows Bileşenleri (Control Panel - Program Add/Remove - Windows Components )'e girip kurabilirler.
[B]Gerekli Download Adresleri: [/B]
Internet Explorer'ın son sürümü için http://www.microsoft.com/windows/ie/default.htm
Windows NT Option Pack (veya PWS için) http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/ adresine bakabilirsiniz. (Tam kurulumu 31 Mb'dir.)
Yükleme Sihirbazı (Download Wizard) size hiç bir zorluk çıkarmadan download etmenizi sağlayacaktır. Önemli olan size en yakın sunucudan indirmenizdir. Geçerli sunuculardan birini seçin ve downloada başlayın. Eğer hızınız size yeterli gelmiyorsa başka sunuculardan birini deneyebilirsiniz.
[COLOR=red][B]Kurulum [/B][/COLOR]
1. Download sihirbazında belirttiğiniz klasöre gidip, "SETUP.EXE" veya Türkçe versiyonunu kullanıyorsunuz "KUR.EXE" 'yi çalıştırın.
2. Eğer Winsock 2.0'ınız yoksa zaten kurulacaktır. (Tabi Windows 95 kullanıcıları için geçerli bir özellik bu)
3. Kurulum sırasında "Typical" (Normal) kurulumu seçin. (Tabi biraz daha tecrübeli iseniz Özel kurulumu da seçebilirsiniz)
4. Bilgisayarınızı baştan başlattığınızda PWS kurulumu bitmiş oluyor.
Kurulum bittikten sonra, masaüstünüzde bir PWS simgesi göreceksiniz. Başlat çubuğunun sağ alt köşesinde de bir simge olacak. Herhangi birine çift tıklayıp açın. PWS'iniz çalışıyorsa ekranda "PWS'yi Durdur" (Stop PWS) düğmesi, eğer çalışmıyorsa "PWS'yi başlat" (Start PWS") düğmesi göreceksiniz. Eğer çalışmıyorsa başlatmanız gerekiyor.
Evet şimdi PWS'inizin doğru çalışıp çalışmadığını kontrol etmemiz gerekiyor. Bir browser (örneğin Internet Explorer) açın. Adres kutusuna http://127.0.0.1 yazın ve enter'a basın. Eğer herşey yolunda ise PWS tarafından hazırlanmış bir sayfa göreceksiniz. Eğer bu sayfa açılmıyorsa, bilgisayarınızı restart edin ve PWS'i açın. PWS şimdi elinizde hazır. Kurulum genelde basit ve problemsiz olarak gerçekleşmektedir.
Şimdi kurulumda belirttiğiniz yerde veya C: harddiskinizde InetPub dizini ve onun içinde WWWroot dizini göreceksiniz. Dosyalarınızı ve Web sayfalarımızı artık bu dizinde kullanacağız.
[B]İlk Aktif Sunucu Sayfalarımız (ASP) [/B]
Şimdi en çok kullandığınız Metin Editörünü veya daha önceden de kullandığımız Front Page'imizi açalım. ASP komutları komut tabanlı olduklarından HTML koduna yazılmaktadırlar. O yüzden Not Defteri de işimizi görecektir.
Burada ASP sayfalarını yazmak için Visual Basic Script dilini kullanacağız. ASP ile JavaScript ve Perl de kullanabilirsiniz. Şimdi aşağıdakileri HTML sayfamıza yazalım.
[CODE]
[/CODE]
Farkettiğiniz üzere bu basit ve içinde ASP kodu içermeyen bir HTML sayfası. Ama endişe etmeyin. Şimdi başlıyoruz. tagının üstüne aşağıdaki satırı girin. Bu satır sayfanız en üstüne gelmelidir.
[CODE]<% @ Language = VBScript %> [/CODE]
Evet bu bizim ilk ASP kodumuz. Bu satır, ASP komut yorumlayıcısının VBScript kullanacağını belirtmek içindi. Eğer Jscript veya Perl kullanacaksanız buraya VBScript yerine Jscript veya PerlScript yazmanız gerekir. Unutmayın ki PWS, varsayılan olarak VBScript kullanacaktır. Yani bu satırı her kodunuza yazmanıza gerek kalmayabilir.
Tamam Devam ediyoruz. taglarının arasına girip bir satır açın ve aşağıdaki komutu yazın.
[CODE]<% Response.Write "Bu benim İlk ASP Sayfam" %> [/CODE]
Şimdi bu sayfayı "ilkASP.asp" ismiyle C:\InetPub\wwwroot dizininize kaydedin. Not Defteri'nde bunu yazmak için Kaydet penceresinde en altta bulunan "Metin Belgesi (*.txt)" seçeneğini "Tüm Dosyalar (*.*)" olarak işaretleyin ve Dosya ismi kısmına ilkASP.asp yazın.
Şimdi browserınız açın ve adres satırına [B]http://127.0.0.1/ilkASP.asp [/B]yazın. Üst sol köşede "Bu benim İlk ASP Sayfam" yazısını göreceksiniz. Tebrikler, ilk ASP sayfamızı yazmış olduk böylece. Eğer browserınızın "Görünüm" menüsünden "Kaynak Kodunu Görüntüle derseniz." Aşağıdaki gibi göreceksiniz.
[CODE]
Bu Benim İlk ASP Sayfam
[/CODE]
Farkettiyseniz, [COLOR=green][B]<% %> [/B][/COLOR]işaretlerini ve Response.Write komutunu göremeyeceksiniz. Bunun sebebi ise ASP'nin Sunucu taraflı bir dil olması. Yani tüm komutlarınız sunucuda biçimlenip, kullanıcıya HTML olarak gönderilmektedir.
<% ve %> tagları
ASP scriptimiz <% ve %> komutları arasına yazılmaktadır. Bu tagler arasına yazılana tüm komutlar sunucuda değerlendirip, biçimlendirilmektedir. Diğerleri ise hiç dokunulmadan kullanıcıya gönderilmektedir. Dilediğiniz kadar <% ve %> kullanabilirsiniz. Bu komutlar sunucuda kalmaktadır ve ASP kodları hiç bir zaman (veya siz istemedikçe) kullanıcıya gönderilmez.
Bakınız: (din, aşk, nil, yol, insan, dil, özel, ırmak, inci, kazâ, resim, acı, bilgisayar, visual basic, asp)