logo

26 Ocak 2014 Pazar

ASP Ders 2

ASP sayfaları web sunucusu altında çalışan, içindeki scriptler sayesinde aktif olarak web sayfası oluşturan ve oluşturduğu sayfayı sunucuya bağlanmış olan internet browser' ına gönderen interaktif sayfalardır. Internet ortamında çalıştığı için herkesin aşina olduğu aşağıdaki temel elemanları kullanır:
ASP, 1996 yılının Kasım ayında Microsoft’un bir Active Platform dizaynını açıklaması ile doğdu. Active Platform, Microsoft’un bir masaüstü bilgisayar ile bir server bilgisayarın nasıl haberleşmesi gerektiği konusundaki fikirlerini yansıtmaktadır. Active Desktop ve Active Server olarak iki bölümden oluşur. Active Desktop client tarafını ya da HTML sayfalarının bir web browser üzerinde izlendiği kullanıcı tarafını temsil etmektedir. Active Server ise server tarafı componentini temsil etmektedir. Server tarafından işlenen sayfalar da Active Server Pages adını almaktadır.
Microsoft’un dökümanları ASP’yi “dinamik, interaktif, yüksek performanslı Web server uygulamalarını yaratıp çalıştırmak için kullanabileceğiniz bir server tarafı scripting ortamı” olarak tanımlamaktadır. ASP dosyaları sade HTML dosyalarının verebileceğinden çok daha yüksek seviyede interaktiflik sağlayabilmek için HTML’i, scriptleri ve ASP kodlarını birleştirmektedir. ASP ile Windows NT üzerinde çalışan programcılar dışarıdan gelen bilgileri temel alarak sayfalarının nasıl görüntüleneceğini düzenleyebilirler. Her hafta farklı bir resim veya kullanıcının yaşına göre bilgi gösterilebilir. Durum dallanması (Condition Branching) olarak adlandırılan bu işlem ASP’ye belirli durumlar karşısında ne göstereceğine karar verme olanağı sağlamaktadır.
Diğer yanda HTML’in bunu yapmak için hiç bir şansı yoktur. Çünkü HTML sadece gösterme amaçlı bir dildir. Gerçek hayatta genellikle kullanıcılarınızın tecrübelerine bağlı olarak farklı içeriklere sahip olan sayfalar sunmak isteyeceksiniz. Bunun için önce karar verme yeteneğine sahip olmanız lazım.
DOSYALAR NASIL İŞLENİR?
Normalde HTML dosyaları client tarafında (yani kullanıcının web browserında) işlenmekedir. Microsoft’un Active Server Platform’u sayesinde artık server tarafı da dosyaları işleyebilecektir. Burada server’ın işlemesinden kasıt bir dosyanın kullanıcının browser’ında gösterilmeden önce server tarafından bazı temel adımların tamamlanmasıdır:


Dosyanın uzantısına bakar. Eğer dosya .html ya da .htm gibi standart bir uzantıya sahipse server dosyayı browser’a gönderir. Eğer dosya .asp (ya da .asa) gibi bir uzantıya sahipse server dosyayı açar ve içinde ASP kodunu belirten tag’ları aramaya başlar. ASP kodu özel tag’lar dahilinde yazılır; "<%" kodun başlangıcını," %>" ise kodun bitişini gösterir.

Server bu işaretlerin dahilindeki kodu işleme koyar ve onun yerine HTML kodu yazar. Bu HTML kodu kullanıcının ayarları ile bilgiye ya da client tarafındaki diğer durumlara dayanmaktadır.

Sonuç olarak kendi orijinal ve ayrıca ASP tarafından üretilen işaretleri taşıyan sayfa kullanıcının browser’ına gönderilir.
Bir alışveriş kartı örneğini ele alalım. Bir müşterinin mağazanın kataloğundan 5 tane malzemeyi seçtiğini farzedelim. Bu seçimler satır sütunları olan bir tablo içeren bir alışveriş kartı sayfasında listelenecektir. Her sütunun en üstünde örneğin miktar, stok numarası ya da fiyat gibi bir başlık olacaktır. İçeriği müşterinin ne seçtiğine bağlı olarak değişen bu sayfayı nasıl dizayn etmeyi düşünürdünüz?
Sütun başlıkları değişmeyeceği için onlar orijinal HTML kodunun içine yerleştirilebilir. Tablonun pozisyonu da büyük ihtimalle değişmeyeceği için o da HTML dosyasına dahil edilebilir. Sayfaya ne kadar geri dönüp tekrar izlesenizde bunlar değişmeyecek olan değerlerdir.
Ancak tablonun içi alışveriş için kullanıcının ne seçtiğine bağlı olarak değişecektir. Siteye giren herkes değişik malzemeler seçebilir. Bunu gösterebilmek için ASP bilgileri bir database’den çeker ve kullanıcaya gönderilmeden önce bunları HTML kodunun içine gömer. Programcılar bu tür sayfaları “on the fly” olarak tanımlıyorlar çünkü gerçekte böyle bir sayfa yok. Bunun yerine gerektiğinde istek üzerine (on the fly) oluşturuluyor. ASP scripti statik sayfa elemanları ile database’den seçilen bilgileri birleştirerek safyanın tamamını oluşturur.
ASP’ Yİ GENİŞLETMEK İÇİN SCRIPT KULLANMAK
VBScript, JavaScript ve JScript bir HTML dosyasına eklendiğinde görüntü üzerinde değişikliklere olanak sağlayan scripting dilleridir. Bu diller genellikle client tarafında çalıştırılırlar yani başka bir deyişle kullanıcının browser’ı tarafından işletilirler.
Ancak bazı ciddi dezavantajları mevcuttur:
- Browser’a özeldirler. Yani aynı kod browser’a bağlı olarak farklı çalıştırılabilirler.
- Bir database ile ilişki (ürün kataloğu gibi) kuramazlar ve bilgi saklayamazlar.
Bu dezavantajlarına rağmen scripting dilleri kullanışlı olabilirler. Muhtmelen en iyi kullanılabilecekleri alan bilgi onaylamaktır (data validation). Mesela server’ a işleme konması için gönderilmeden önce bir giriş formu üzeinde eksik alan olup olmadığının kontrol edilmesi gibi. Bu gönder düğmesine basıldığı zaman çalışan bir script sayesinde gerçekleştirebilir. Fonksiyon formun bütün alanlarını kontrol edecek ve eğer bir alan boş bırakılmışsa kullanıcıyı bilgilendirecek şekilde bir hata mesajı gönderecektir.
Scriptler server tarafında da kullanılabilir ama genellile kullanıcı tarafında kullanılırlar. SCRIPT tag’ının bir özelliği sayesinde programcı kodun nerede çalışacağını tayin edebilir. Default olarak kod client tarafında işleme konur ancak bunu değiştirmek programcının elindedir.
COMPONENTLER VE OBJECTLER (BİLEŞENLER VE NESNELER)
Componentler ve objectler server’ın ortamı ve sistemi ile haberleşmek için kullanılan araçlardır. Bir component bir ya da birden fazla object’i içerebilir. Ve bir object de bir ya da daha fazla metod ve bir ya da daha fazla özellik (properties) içerebilir. (Metodları dilbilgisindeki fiiller özelikleri de sıfatlar olarak düşünebilirsiniz). Bir object’in bir örneğini (instance) yaratarak görevleri yapmak için metodlarını kullanabilirsiniz. Bir object’in özelliklerini değiştirmek metodlarının görevleri farklı icra etmesine sebep olur.
Bazı objectler ASP, bazıları VBScript ve bazıları da server sisteminin içine gömülmüştür. Bir uygulamayı daha rahat geliştirmek için başka componentler de yaratılabilir.

Ortak Componentler ve Objeler
Object / Component
Fonksiyonu
Kaynak
Request Object
Browser’dan gelen istekleri düzenler
ASP içine gömülmüş
Response
Browser’a gönderilen bilgiyi düzenler
ASP içine gömülmüş
Server Object
Bazı temel server servislerine erişimi sağlar
ASP içine gömülmüş
Application Object
Bir uygulamanın yaşamı için bilgileri düzenler
ASP içine gömülmüş
Session Object
Bir session’ın yaşamı için bilgileri düzenler
ASP içine gömülmüş
Text Object
Text dosyalarını kullanır
VBScript scripting object
Error Object
Hata analizi sağlar
VBScript scripting object
Dictionary Object
Lookup referans oluşturur
VBScript scripting object
File System Object
Dosya sistemlerine erişim sağlar
VBScript scripting object
Content Linking
Sitedeki sayfalara bir düzen verir
Server Component
Browser Capabilities
Browser’ının ne yapabileceğini belirler
Server Component
Ad Rotator
Sayfa üzerinde bir noktada reklamları döndürür
Server Component
Voting
Kullanıcı havuzundan bilgi toplar
Server Component
Active Database
Bir database ile iletişim kurar
Server Component
MUHTEMEL DEZAVANTAJLAR
ASP dinamik web içeriği için kuvvetli bir araç olmakla beraber diğer çözümler gibi onun da bazı dezavantajları mevcuttur. ASP sadece Windows NT ve 95 içinde çalışır. ASP kullanmak için bir Microsoft web server’ına (genellikle Internet Information Server) ihtiyaç duyulur. Diğer sunumcularda ASP için Chili!ASP adlı ürünü kullanmak gerekir. Ayrıca ASP cookie kullanmaktadır. Bu da Lynx kullanan kullanıcıların sayfalara erişememesi demektir. Gerçi günümüzde Lynx kullanan kullanıcıların sayısı oldukça az ve hedef kitlenin büyük bir kesimine hitap etmemektedir.
Durumunuza ve ihtiyaçlarınıza bağlı olarak ASP sizin için en iyi çözüm olabilir. ASP’nin piyasada şu an rekabet halinde bulunduğu diğer rakibinin adı Cold Fusion’dır. Allaire Grubu tarafından yaratılan Cold Fusion da sizin Access ve SQL Server gibi database’lere erişmenize olanak vermektedir. Bunun yanında Cold Fusion’ın tagları biraz kafa karıştırıcı ve hata ayıklaması biraz daha zor olabilir ve bazı kullanıcılar bellek problemleri ile karşılaşmışlardır

0 yorum:

Yorum Gönder