Makale Özeti

Windows 2000 ve COM+

Makale

Windows 2000i kullanan hemen herkesin fark ettiği ilk değişiklikler çok yüksek stabilitesi ve getirdiği bir çok yenilik olmuştur. Her ne kadar görsel yenilikler ister istemez kullanıcıları ilk aşamada cezbetse bile  :) Windows 2000 yazılım geliştirme açısından oldukça önemli bir takım adımları başarıyla atmış bir işletim sistemi. Bu yazıda uzun zamandır Windows ile programlamanın önemli noktalarından biri olan OLE, COM gibi teknolojilere Windows 2000 in COM+ ile neler kattığına kısaca bir göz atacağız. Eh, haydi o zaman...

 Bir başkasının yazdığı kodu kullanmak. Tek bir cümle ile ifade ettiğim bu basit görünen fikir bir çok programcı için bazen bir gereksinim, bazen de bir zorunluluktur.

Daha önce program yazdıysanız, belki de fark etmişsinizdir, mutlaka, ama mutlaka sizin yerinize önceden bir başkasının yazdığı kodu kullanmışsınızdır. Bunu bazen bilinçli, bazen de fazla düşünmeden yaparsınız. Internet üzerinden download ettiğiniz bir dlli kullanarak bir sorunu çözdüğünüzde, veya basit bir programcık için bir sıralama algoritmasına ait kodu copy paste ile kullandığınızda bir başkasının önceden hazırladığı bir kodu kullanarak işinizi daha kolay yaparsınız. İşletim sisteminin API fonksiyonlarından ActiveX dlllerine kadar bir sürü teknoloji sizin diğer programcıların yarattığı kodlar ile çalışmanızı sağlar, ve sizin kodlarınıza da başkalarına faydalı hale getirir.

Zaman içinde uygulama geliştirme süreci ve yazılması gereken programların boyutundaki inanılmaz artış yüzünden kodların yeniden kullanılması çok büyük bir önem kazanmaya başladı.

Bu gelişmeye  paralel olarak kod paylaşımı için geliştirilen teknikler de gittikçe ilerledi. Zamanla iş sadece bir görevi yerine getiren bir kod parçasından çok daha ilerilere vardı. Bir zamanlar c ile win32 API fonksiyonları programcıların eli ayağı iken, ihtiyaçlar doğrultusunda şekillenen teknolojiler sayesinde koskoca programlar bile paylaşılabilir birer yazılım bileşeni rolünü üstlenmeye başladı.

Hatırlayanlar için hayatımıza giren birkaç harfli teknik kısaltmalar silsilesinde en önemli adımlardan birisi OLE oldu. Her ne kadar İspanyolca bir sevinme , coşku nidasına benzese bile Object Linking and Embedding teknolojisi gittikçe gelişti ve tabiri yerindeyse bir teknolojiler şemsiyesine annelik yaptı.

OLE, COM, DCOM, derken bir anda kod ve uygulama paylaşımı ve yazılım bileşenlerinin birbirleriyle haberleşmesi bir çok programcının üzerinde çalıştığı ve ekmek yediği bir alan haline geldi .Hele Object Oriented programlama kavramının sağladığı büyük popülarite ve bu durumun yazılım geliştirme stratejilerindeki etkisi, bahsettiğimiz her biri ayrı birer derya olan bu teknolojileri iyice hızla gelişmeye zorladı.

Artık yazdığımız programlar basit birer exe dosyasından çok öte kimliklere bürünmeye başladı.

Windows üzerinde mevcut yazılım geliştirme teknolojileri sayesinde artık Excel, Word gibi uygulamaları kendi programlarımızdan kullanmak birkaç satırlık kod ile mümkün. Bir program içinde web sayfasını görüntüleyen bir kısım mı gerekiyor ? ActiveX sayesinde Internet Explorer kurulu her bilgisayarda çalışacak böyle bir programı bir iki dakikada yazabilirsiniz.

Çok verimli bir şekilde yazılım geliştirmeyi sağladığı için bileşen temelli geliştirme stratejileri programlamaya yeni bir soluk getirdi. İlk başta yazılımların birbiri ile haberleşmesini sağlamak için yaratılan teknolojiler yavaşça yazılım bileşenlerini arasında bir tutkal görevini de üstlendi ve hızla evrimleşti.

Windows 2000 ile birlikte bu evrimin en önemli sonuçlarından birisi daha sahneye çıktı : COM+

 

COM+ nedir ?

Biraz Windows programlama tecrübesi olanlar için vereceğimiz yanıt, "dağınık uygulamalar geliştirmek için MTS, MSMQ ve COM  teknolojilerinin oldukça iyi bir birleşimi" olacaktır.

Daha önce MTS işletim sisteminin bir parçası olmadığı halde Windows 2000 ile birlikte MTS işletim sistemine entegre bir hale geliyor ve geliştiricilere sağladığı faydalar artık hiçbir extra kuruluma gerek bırakmadan hizmetinizde oluyor.

Biraz daha mı teknik konuşsak ? Hay hay yeter ki siz isteyin :)

 

COM+ ın yenilikleri..

COM+, Microsoftun .NET ile bir adım ileri götürdüğü managed environment düşüncesinin bazı ipuçlarını taşıyor. COM bileşenleri aslında birer client tarafından kullanılmak üzere bekleyen, görev aşkıyla yanıp tutuşan kod parçacıklarıdır. COM, bu kodlara erişim için bazı standartlar tanımlar ve bu standartlara uyan programcıları da ödüllendirir :)

COM+, COM ve DCOM ile oluşan standart bazı prosedürlerde verimliliği ve güvenliği arttırmak için tasarlanmış bir sürü yeniliği size Windows2000 ile sunuyor.

İlk değişiklik, kaynak yönetimi gibi önemli bir konuda karşımıza çıkıyor. COM+ bileşenleri, artık bu bileşenlere yapılacak çağrılar sonucu devreye girecek bir framework tarafından yönetiliyor. Eğer Windows 2000 de çalışan tasklara baktığınızda gördüğünüz DLLHost.exe ne işe yarıyor diye düşünüyorsanız, artık öğrendiniz :)

Herhangi bir COM+ component’ine yapılan bir çağrı artık bir interceptor layer tarafından ele alınıyor ve Framework oluşturulan instance için kendi management algoritmasını devreye sokarak JITA, yani Just in Time Activationu kullanıyor.Daha açık bir ifade ile siz bir COM+ objesini kullanmak istediğinizde Windows 2000 size ihtiyaç duyacağınız bazı kolaylıkları  sağlamak için hazır bekliyor. JITA sayesinde siz çağırmadan bileşen oluşup hafızada beklemediği için daha verimli kaynak yönetimi gerçekleşmiş oluyor.

COM+ ve onun ev sahibi Windows 2000 Transaction desteğini COM+ bileşenleri için size sağlayarak, daha verimli, ve güvenli uygulamalar geliştirmenize olanak veriyorlar.

COM+ ile gelen bir başka yenilik ise Attribute  temelli COM+  bileşenleri. Attributelar kendini tanımlayan (self describing) bileşenler yaratmanız için oluşturulmuş bir mekanizma ( ve .NET framework ile daha da yaygınlaşacaklar ). COM ile gelen klasik sorun olan bir bileşene ait bilgilerin kullanılması  ve registry ızdırapları  Attributelar sayesinde bir miktar da olsa hafifliyor.COM+ ayrıca events, load balancing, gibi alanlarda getirdiği yenilikler sayesinde de ileriye bir adım atıyor.

 

 

.NET ve COM+

Eveeet, geldik bir parça teknolojiyi takip eden herkesin soracağı soruya: .NET bangır bangır gelirken COM+ ve Windows 2000 ne derecede önemli ? Yanıt : ÇOK önemli !!!

Neden mi ? Çünkü aklı başında işletmelerde sadece programcıların istekleri değil, maliyetler de dikkate alınır.

Mevcut yatırımları COM üzerine olan bir çok firma için, COM+ hala çok değerli bir opsiyon.Koskoca bir firmanın tüm altyapısı birden bire yeni bir teknolojiye taşınamaz. Bugün hala bir çok işletmede milyonlarca satır COBOL kodu hala neden çalışıyor dersiniz? Eğer COM+ ve Windows 2000e dikkatle bakarsanız hatırı sayılır bir süre için ikisinin de önemini koruyacağını göreceksiniz. Zaten COM+ .NET ile gelen bir çok teknolojik yeniliğin öncülüğünü yapıyor, yani eski sıfatını pek hak ettiği de söylenemez.

Üstelik .NET Framework de COM+ gibi mevcut teknolojilere desteği ihmal etmiyor. Dolayısı ile eğer önümüzdeki bir kaç sene için  Windows 2000 ve onunla gelen yeniliklere bir parça vakit ayırırsanız, kendinize iyilik etmiş olursunuz :)

Windows 2000 ve programlama üzerine daha detaylı bir başka yazıda görüşmek üzere hoşçakalın.Eğer bu konuda sizin de yazmak istediğiniz bir şeyler varsa www.yazgelistir.com  un  kapısının size her zaman açık olduğunu unutmayın.