Birçok yönden bu bileşenler active-x kontrollerine benzer. Fakat, aktif sunucu bileşenleri tarayıcıya bir nesne göndermektense nesneyi sunucu üzerinde çalıştırmak için tasarlanmıştır. Bunun da, bu yazımızda göreceğimiz gibi birçok avantajı vardır.

Sorulması gereken bir soru da şudur: Bu bileşenler nereden geliyor? Bunların bir kısmı ASP kurulumu sırasında sağlanır.

Diğerleri de ya satın alınır ya da bedava bulunabilir. Bu yazıda microsoft tarafından sağlanan birçok nesnenin aslında ne kadar çok faydalı olduğunu göstermeye çalışacağım. Bu bileşenleri kullanmaya alışırsanız başkalarının sağladığı bileşenleride kendi sayfanızda kullanırken zorlanmazsınız.

Bununla birlikte standart bileşenler vardır. Biz bu bileşeni bu yazımızda ele almayacağız. Dinamik web sitesi teknolojileri kullanmanın esaslarından bir tanesi de, farklı tipdeki veri tabanı yönetim sistemlerindeki bilgiyi doğrudan yayımlamaktır. Burada ihtiyaç duyulan veriyi toplamak ve bir veri tabanında saklamaktır. Bu hedefe, ASP kullanarak ulaşmak için özel fakat genel amaçlı bir bileşen olan Active-X veri nesneleri olarak bilinen bileşenin avantajlarını kullanacağız.

Sunucu Bileşenleri:

VBScript ve JSScript için kullanılabilir çeşitli script geliştirme nesnelerini görmüştük, şimdi bunların diğer bileşenlerle nasıl birlikte kullanıldıklarını göreceğiz. Buradaki önemli bir nokta da, sunucu bileşenleri ve hazır script geliştirme nesnelerinden bahsederken de bunları birbirine karıştırmamaktır. TextStream ve Dictionary gibi script geliştirme nesneleri script geliştirme ortamının birer parçasıdır. Bunlar ASP sisteminin bir parçası olan bir DLL tarafından oluşturulmuştur.

Sunucu bileşenleri, script geliştirme dilleri DLL’lerinden farklıdır. Bunlar kendilerine ait DLL’lerin içinde oluşturulurlar. Mesela bu yazıda inceleyeceğimiz Content Linking bileşeni NextLink.DLL dosyasının içerisinde oluşturulur. Bu, sunucu üzerine kurulup kaydedildikten (register) sonra ASP’nin kurulumunda desteklediği tüm script geliştirme dilleri ile beraber kullanılabilir.

Göreceğiniz gibi bazı sunucu bileşenleri daha önce gördüğümüz built-in script geliştirme nesnelerinin gücünü kullanır. Bu bileşenlerin herbirisine bakmadan önce genel olarak kullanacağımız sunucu bileşenlerine bakalım.

Genel Bakış:

Geçtiğimiz aylarda, ASP paketi tarafından sağlanan bileşenlerin kullanımının yönetimini gördük. Sunucu nesnesinin metodlarından birisini kullanarak browser capabilities bileşeninin bir kopyasını oluşturduk:

Set NT = Server.CreateObject

(“MSWC.BrowserType”)

Bu nesne NT değişkenindeki nesne için bir referans oluşturur ve biz daha sonraki scriptlerimiz içinde nesne ile çalışabiliriz. Başka bir değişle bu nesnenin özelliklerinin bize uygun olanlarını kullanır ve metodlarının gerektiği kadarını koddan çağırırız.

Standart bileşenlerin çoğu, web sitenizin veya şirket intranetinizin başarısı için belirli türdeki görevleri hedef edinmiştir. ASP kullanarak başarmak isteyeceğiniz şey kesinlikle yayımlamak istediğiniz bilginin türüne ve sitenizin genel amaçlarına bağlıdır. Hazır bir bileşeni kullanmak başlangıç için size bir yol gösterir.

Bileşenleri Kullanmak:

VBScript veya JSScript ile sunucu nesnesinin CreateObject metodunu kullanabiliriz. Bunu daha önce bir bileşenin kopyasını oluştururken anlatmışık. Ya da nesne referansını doğrudan bir değişkene atayarak daha sonra kodumuzda kullanabiliriz.

<Object> Kullanmak:

Başka bir yol olarak ASP’deki bir nesnenin kopyasını oluşturmak için <OBJECT> etiketini kullanabiliriz. Aynı yolla taryıcı üzerindeki bir Web sayfasındaki bir nesnenin kopyasını da oluşturabiliriz. ASP , HTML <OBJECT> etiketi için özel bir uygulama sağlar ve biz bunu sayfamıza bir nesne yerleştirmek için kullanabiliriz. Normal bir .asp dosyası içinde bir bileşenin kopyasını veya script geliştirme nesnesini tanımlamak için şöyle bir yazılım kullanırız:

<Object

Runat=Server ID=NesneReferansı ProgID=”Nesne Tanımlayıcı”>

</Object>

Nesne Referansı, Nesne Kopyası gibi bir isimdir. Bu isimler kodumuz içinde kullanacağımız nesneleri gösterir. Nesne Referansı Windows Registry içindeki bir nesnenin veya bileşenin ismidir. Mesela MSWC. Adrotator gibi. Böylelikle Ad Rotator nesnesinin bildirimini kodumuz içerisinde aşağıdaki gibi yapabiliriz:

<Object

Runat=Server ID=ObjAdRot ProgID=”MSWC.Adrotator”>

</Object>

Sunucu olarak ayarlanması gereken RUNAT özelliğine dikkat edin. PROGID,[Vendor.] Component [.Version]. formunda bir bileşeni veya nesneyi tanımlayan tek (unique) bir metin dizisidir.

Ya da PROGID yerine nesnenin CLASSID’ sini kullanabiliriz:

<Object

Runat=Server ID=ObjAdRot ClassID=”Cisid: OACE4881-8305-11CF-9427-444553540000”>

</Object>

Çalışma Alanı:

Normal bir .asp dosyası içerisinde CreateObject veya <OBJECT> etiketinin kullanılması genel olarak bir performans farkına sebep olmaz.Gerçek fark nesnenin yaratıldığı veya kopyalandığı noktadır. CreateObject metodu nesnenin kopyasını, çağnldığı zaman oluşturur. <OBJECT> etiketi ile tanımlanan bir nesne ise kendisine ilk referans verilen noktaya kadar gerçek olarak oluşturulmaz. Bu da bize, nesnenin global.asa dosyasında tanımlanıp .asp dosyasında gerçek olarak tanımlanmadığı yerlerde, kaynak kullanımını azaltmamıza veya sunucu performansını arttırmamıza olanak verir.

Geçmiş sayılarda global.asa ve Session ve Application nesneleri ile karşılaşmıştık. Biz sadece bu dosya içerisinde nesnelerin kopyalarının oluşturmanın önemini anlamalıyız ve böylece bunlar Session veya Application’ da tanımlanan bir çalışma alanına sahip olurlar.

Bunu <OBJECT> etiketi içinde SCOPE özelliğini koyarak sağlanz:

<Object

Runat=Server Scope=Session ID=ObjAdRot ProgID=”MSWC.Adrotator”>

</Object>

SCOPE için geçerli değerler Session.Application veya Page’dir. Eğer <OBJECT> etiketini normal bir .asp dosyası içinde kullanırsak ya Page’i kullanmalıyız ya da SCOPE özelliğini tamamen ihmal etmeliyiz. Eğer <OBJECT> etiketini global.asa içerisinde kullanırsak bir nesne oluştururuz, bu nesne ya mevcut oturumun tamamı için kullanılabilir olur ya da global olarak uygulamanın tamamen dışında olur.

Bileşen Metodları:

ASP içerisindeki bileşenleri kullanmamızın tüm sebebi sağladıkları ekstra işlevsellikten faydalanmaktır. Bu işlevselliğe sadece script geliştirme dillerini kullanarak erişmek ya mümkün değil ya da ulaşılsa bile etkisiz veya zordur. Bir nesnenin kopyası kullanılabilir olduğu zaman onun için bir referansımız olur ve ihtiyaç duyduğumuz sonuçlara ulaşmak için onun metodlannı çağırabilir, özelliklerini kullanabiliriz. Her bileşenin kendine özgü metodlan ve özellikleri vardır. Bu yüzden, bunlann ne olduğunu ve her birinin sağladığı argümanlan ve doğru yazılımlarını bilmeliyiz. Mesela, Content Linking bileşeni GetNextURL adındaki bir metoda sahipken, Advertisement Rotator bileşeni de GetAdvertisement metoduna sahiptir.

Birçok bileşen metodu bir değer döndürür. Birçok durumda bu bizim istediğimiz birşeydir. Mesela Content Linking bileşeninin GetNextURL metodunun döndürdüğü URL gibi. Diğerleri ise, sadece dışardan değer alırlar. Mesela User Properties bileşeninin Append metodu gibi. Ayrıca bu metodlar işlemin başanlı olup olmadığından emin olmamız için True veya False değeri döndürürler.

Standart Bileşenler :

ASP onbir tane standart Sunucu bileşeni içerir. Bu bileşenleri bir sonraki makalemizde ayrıntılı olarak ele alacağız.

Favorilerinize Ekleyin.
  • BlinkList
  • del.icio.us
  • Digg
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • blogmarks
  • Furl
  • Netscape
  • NewsVine
  • Reddit
  • Shadows
  • Technorati
  • YahooMyWeb
  • Fark
  • feedmelinks
  • Fleck
  • kick.ie
  • LinkaGoGo
  • Linkter
  • MyShare
  • Spurl
  • Webride