Giriş

CORBA (Common Object Request Broker Architecture) ile çalışırken, geliştiriciler genellikle uygulamalarının arayüzlerini sürdürme ve güncelleme konusunda zorluklarla karşılaşırlar. Yaygın bir soru şu şekildedir: “Var olan sunucumun CORBA arayüzüne bir yöntem eklemek istiyorsam, tüm müşterilerimi yeniden derlemem gerekecek mi?” Bu soru, sistemlerini kapsamlı kesintiler veya yeniden mühendislik gerektirmeden geliştirmek isteyen birçok geliştirici için geçerlidir.

Bu blog yazısında, CORBA arayüzünüzü yeniden derleme gereksinimi olmadan değiştirmenizi sağlayan çözümü keşfedeceğiz ve bunun neden sorunsuz bir şekilde gerçekleştirilebileceğini açıklayacağız, özellikle de TAO (The ACE ORB) ile çalışırken.

CORBA ve TAO’yu Anlamak

CORBA, Object Management Group (OMG) tarafından tanımlanan bir standarttır ve farklı sistemler arasındaki iletişimi, konumları veya kullandıkları programlama dilleri ne olursa olsun, sağlamak için tasarlanmıştır. TAO, gerçek zamanlı ve yüksek performanslı sistemler için tasarlanmış bir CORBA uygulamasıdır.

CORBA’da arayüzlerden bahsettiğimizde, bu, müşterilerin sunucularla iletişim kurmak için kullandıkları ve bir Arayüz Tanım Dili (IDL) içinde tanımlanan tanımlara atıfta bulunmaktayız.

Sorun: CORBA Arayüzlerine Yöntemler Eklemek

Tipik bir CORBA uygulamasında, sunucunuz tanımlanmış arayüzleri aracılığıyla çeşitli müşterileriyle iletişim kurar. Sunucunun arayüzüne yeni bir yöntem veya operasyon ekleyerek işlevselliğini geliştirmek istediğiniz bir durum oluşabilir.

Geliştiricilerin en büyük endişesi, bu değişikliğin mevcut tüm müşterilerin yeniden derlenmesini gerektirip gerektirmesidir. Yeniden derleme, artırılmış iş yüklerine, potansiyel kesintilere ve doğru bir şekilde yönetilmediğinde risklere yol açabilir.

Çözüm: Yeniden Derleme Gerekmiyor

ACE/TAO tabanlı sistemlerle çalışmaktan elde edilen içgörülere göre, bir CORBA arayüzüne yeni yöntemler eklerken müşterilerin yeniden derlenmesi gerekmez. İşte nedeni:

İşlem Adı ile Arama

  • Metin Karşılaştırması: CORBA, yöntemler için işlemler isimlerine dayanarak basit bir metin karşılaştırma mekanizması aracılığıyla aramalar yapar. Bu, sunucuya yeni bir yöntem eklendiğinde, mevcut müşterilerin yeni yöntemi çağırmadıkları sürece kodlarını değiştirmelerine gerek olmadığı anlamına gelir.

Gerçek Dünya Uygulaması

  • Birçok geliştirici, ACE/TAO sistemlerini, farklı programlama dilleri (örneğin, C++, C#, Python) ile geliştirilmiş olsa bile, herhangi bir sorun yaşamadan başarıyla değiştirmiştir.
  • Örneğin, C#, Borland’ın Janeva veya OmniORBPy kullanan müşteriler, geliştirilmiş sunucu arayüzleri ile etkileşimde bulunurken yeniden derleme ihtiyacı olmadan çalışmaya devam etmiştir.

Sonuç

Özetlemek gerekirse, CORBA ile çalışırken ve özellikle TAO ile çalışırken, sunucunuzun arayüzünde (yeni yöntemler eklemek gibi) değişiklikler yapmak, tüm müşterilerin yeniden derlenmesini gerektirmez. İşlem adı ile arama yapabilme yeteneği, yazılımınızı sürdürmede daha fazla esneklik ve kolaylık sağlar.

Bu verimlilik, zaman ve çaba tasarrufu sağlayabilir, sizi güncellenmiş arayüzlerle uyumlu kalacak mevcut kodları derlemekten çok, yeni özellikler geliştirmeye odaklanmanıza olanak tanır.

Bu yazıyı faydalı bulduysanız, benzer sorunlarla karşılaşabilecek geliştirici arkadaşlarınızla paylaşmaktan çekinmeyin!