13

Bir önceki sayfa
Giriş Sayfası
Bir Sonraki sayfa

 

Nesne Kavramı

 

Günlük hayat da olduğu gibi proglamlamada da işlemlerimizi değişik nesnelere

yaptırırız. Örneğin birşey kesmek istediğimizde bıçak kullanırız, su içmek istediğimizde

bardak kullanırız vs. Kullandığımız her nesnenin ise belirli özellikleri vardır. Örneğin

kesme işlevini gerçekleştiren bıçak keskindir. Yada su içeceğimiz bardak suyun

dökülmesini engelliyecek şekilde kapalı bir cisimdir.

 

ASP tekniğinde işlemlerimizi gerçek hayat da olduğu gibi nesnelere yaptırtırız.

Nesne yönelimli programlama kavramı (Object Oriented Programming OOP) bu şekilde

ortaya çıkmıştır. Diyelim ki öğretmensiniz ve ASP programınızda her öğrencinin notunu

veritabanına işleyen, veritabanından notları alarak geçeni kalanı belirleyen veya

öğren cilerle ilgili yapılması gereken birçok işi yapan programcıklarımız mevcut; bu

programcıkların kullandığı birçok değişkenimiz var: demek ki sizin ASP programınızda

“öğrenci” diye bir nesneniz var. Ve siz bu nesneye yönelimli program yazmışsınız.

Her program nesnesi iki unsura sahiptir.

 

Özellik (property) : bir nesnenin özellikleri, onun değişkenleridir. “Öğrenci”

esnesinin “Öğrenci Adı”, “Notlar”, “Adresi” gibi değişkenleri yani özellikleri vardır.

Metod (method) : bir nesnenin işlemesi, çalışması için kısaca kendisinden bekleneni

yerine getirebilmesi için çalışma yöntemlerine ihtiyacı vardır. Dolayısıyla bir ASP

nesnesinin fonksiyonları, onun metodlarıdır.

 

Fakat ASP’de nesneler sadece sizin öbekler halinde toplayacağınız fonksiyonlar ve

değişkenlerden ibaret değildir. Bir kere, ASP programında kullandığımız script dilinin

getirdiği nesneler vardır. ASP programınız ı javascript ile yazarsanız başka, vbscript ile

yazarsanız başka nesnelere sahip olursunuz; ancak her ikisinde de ortak olan “scripting”

nesneleri vardır. Bunları birazdan ayrıntılı olarak ele alacağız. Sonra web serverin size

hazır sunduğu nesneler vardır. Bunları daha sonraki sayılarda göstereceğiz. Ve tabii,

browser’ın bir HTML sayfasının bölümlerini nesne sayarak oluşturduğu nesneler vardır.

Bunları da diğer nesneleri ele alırken sırası geldikçe değineceğiz. (Tabii bir de ASP

programınızı javascript ile yazarsanız vbscript’ten farklı olarak kendisi nesne-yönelimli bir

dil olan javascript’in oluşturmanıza imkan veren nesneleri vardır. Fakat bu nesneler bizim

konumuz dışında kaldığı için incelenmeyecektir.)

 

Nesneler nasıl olmuş olursa olsunlar, daima size bir değer verirler.

 

Nesne.Özellik = Değer

Bir nesnenin bir özelliğinin değeri, bizim için değişken değeri gibi önem taşır.

 

İf Nesne.Özellik > Değer Then

Nesnelerin özelliklerinin değerini değişkenlere atayabiliriz ancak bunu yaparken

nesnenin bir metoduna (fonksiyonu) göndermede bulunmamız ve gerekiyorsa bu

fonksiyona kullanması için veri göndermeliyiz. (bir fonksiyona kullanması için gönderilen

değere argüman/argument denir);

 

Değişken = Nesne.Metod (argüman1,argüman2..)

Tarayıcı nesne modelinin tam aksine ASP nesnelerinde bir hiyerarşi söz konusu

değildir. Nesne modeli, bize bir sunucu nesnesini metodları ve özellikleri ile birlikte,

scriptler arasında kullanabilmemizi, sağlar. Bir ASP uygulaması geliştirebilmek için server

(sunucu), application (uygulama), session (oturum), request (istek) ve (response) yanıt

nesneleri kullanılır.

 

 

 Uygulama ve Oturumlar

Aplication (uygulama) nesnesi bir ASP uygulamasının tamamını simgelendirir.

Session (oturum) nesnesi ise, her bir kullanıcının uygulamadan istediği sayfaları

simgelendirmektedir. Bu durum “Error! Reference source not found.)” de

açıklanmıştır. Her istemci için ayrı ayrı oluşturul n “session” nesnesi yine her kullanıcı için

oluşan request ve response nesneleri ile iletişim sağlanır. Bütün bunları kapsayan

“application” nesnesi ise tüm kullanıcı oturumlarını kapsar şekilde oluşacaktır. Uygulama

objesi siteden herhangi bir sayfa istendiği an otomatik olarak oluşacaktır fakat oturum

objesi sadece isteyen kullanıcı için oluşacaktır.

 

Bir oturum, bir request nesnesinin HTTP iletişimini başlatır, bir web gezgininden, bir

sunucuya gönderilir ve sunucudan response nesnesi ile geri gönderilen sonuç bilgisi ile

sonlanır.

 

Resim 6 : Kullanıcıya göre ASP obje dağılımları.

 

Hafızada oluşturulan kullanıcıya veya aplikasyona ilişkin objeler içinde herhangi bir

terslik olması halinde bu diğer çalıştırılan objeleri de etkileyecektir. Bunu önlemek için

Microsoft firması “IIS” üzerine bir opsiyon koyarak her sitenin kendisine ait bir bellek

Alanında  çalışmasını olağan kılmıştır. Bu seçenek normalde kapalı haldedir yani

sunucudaki tüm objeler tek bir bellek alanında çalışacaktır. Bu özelliği aktif hale getirmek

için “IIS” üzerinden, genel bellek alanından ayırmak istediğimiz sitenin özelliklerine girilir.

Açılan özellik alanında en üstteki sekmeleri kullanarak “Home Directory” kısmına gelinir

(Error! Reference source not found.).

 

 

Resim 7 : IIS Site Özellikleri.

 

Bu alanda yer alan “application protection” yani “uygulama koruma” alanında üç

maddeden oluşan seçenek kısmı görülmektedir bu seçeneklerden bizim için hangisi

uygunsa onu seçeriz ve okleyip işlemi sonlandırabiliriz. Bu seçeneklerin neler olduğunu

isterseniz teker teker inceleyelim.

Low (IIS Process) : Bu seçenek aktif olduğu zaman tüm asp uygulamaları ve

nesneler tek bir hafıza alanında ortak çalışıyor olacaktır. Bu hafıza alanı web sunucunun

kendi işlemleri ile aynı yerde tutulacaktır ve “Windows Görev Yöneticisi” nde

“Inetinfo.exe” dosyası olarak gözükecektir. Ve bu uygulamanın sonlandırılması halinde

sunucuda yer alan ve ortak çalışan uygulamalara ait bilgiler (çalışma ve oturum bilgileri)

silinecektir. Bu seçenek aktif olduğu zaman sunucu bir risk altında olacaktır çünkü tüm

uygulamaların tek bir alanda çalışması ki özellikle bu alanın web sunucu çalışma alanı

olduğu düşünülürse, uygulamaların birinde hata olsa bile diğerlerini etkileyeceği için;

ayrıca herhangi bir hatanın web sunucuyu şişirip çalışmaz hale getireceği için uygunsuz

olacaktır. Mümkün oldukça seçili olmamasına dikkat ediniz.

Medium (Pooled) : Bu seçeneğin aktif olması halinde tüm asp uygulamaları ve

nesneleri tek bir hafıza alanında çalışacaktır fakat bu alan web sunucunun işlemlerinin

yapıldığı alandan farklı olacaktır. Bu sebepten dolayı sitede herhangi bir aksaklı olsa bile

bu sadece siteleri etkileyecektir. Sunucunun şişmesini ve çalışmaz hale gelmesini

engelleyecektir. Bu web sunucudan bağımsız yerde işletilen uygulamalar “Windows Görev

Yöneticisi” nde ektir.

High (Isolated) : Bu seçenek aktif olduğu zaman her sitenin uygulamaları ve objeleri

kendisine ait za alanında çalıştırılmasına olanak verecektir. Böylece sitelerde

oluşacak aksaklılardan sadece kendisi sorumlu olacaktır ne web sunucuyu nede diğer

siteleri aksatabilecektir. Bu hafıza alanı bir önceki seçenekte olduğu gibi “Windows Görev

Yöneticisi” nde “DLLHost.exe” olarak gözlemlenecektir fakat te k fark her site için ayrı

ayrıbir “DLLHost.exe” olmasıdır. Seçenekler arasında en sağlıklı olanı budur fakat

sunucunun sistem kaynaklarının yeterli olması gerekmektedir.