Sayfalar

Mimari Stillerin Birleştirilebilirliği Hakkında

  BT dünyası hakkında zihnimdeki serbest çağrışımları paylaşacağım güncenin ilk yazısına sebep olan şey bir meslektaşımda rastladığım zihin karışıklığı oldu. Benzer durumlarla daha önce de karşılaştığımdan ve futbol taraftarı gibi bir yazılım mimarisi taraftarı olmayı hiç de doğru bulmadığımdan bu yazıyı ele almaya karar verdim.
     Genel bir prensip olarak,  yazılım mimari stilleri karşılıklı olarak birbirlerini dışlamıyorlar ise birleştirilebilirler (Zannediyorum  bu özellik bilgi teknolojileri dışındaki çeşitli alanlar için de geçerlidir). Bir başka deyişle hazırlanan bir sistem içerisinde farklı mimari stilleri aynı anda bir arada uygulanabilir. Üstelik bu sıklıkla arzu edilen de bir durumdur.  Örneğin bir uygulama ilişkisel veri mimarisi, nesne yönelimli mimari ve model yönelimli mimariyi bir arada rahatlıkla bulundurabilir.

   Hal böyleyken sıklıkla karşılaştırma yapma ya da bir mimari stili öldürme meraklıklarına rastlıyorum. Bu yazıyı yazmamdaki sebep bu kişilere çatma isteğim değil elbette, özellikle IT dünyasına yeni adım atan kişilerin gereksiz  zihinsel karmaşalara kapılmalarını önlemeleri için küçük bir tavsiye vermek. Nesne yönelimli yazılımı öldürüp yerine servis odaklı mimari geçirmeye çalışanlar, ya da servis odaklı mimariyi işe yaramaz ilan edip yerine kaynak odaklı mimari geçirmeye çalışanlar sıklıkla herhangi bir yazılım departmanında karşınıza çıkabilir ve daha da kötüsü sizide saflarına çekebilirler.Benim durumumda iseniz de size gereksiz ikna seansları yaşatabilirler.

 Bu tarz karşılaştırmalara dalmadan evvel size önerim karşılaştırılan stillerin gerçekten birbirini dışlayan ve birbirini ikame eden  stiller olup olmadığını iyice düşünmenizdir. Eğer böyle değil ise sadece birinin tarafı olmak yerine her iki stilin de en iyi yönlerinin birleştirilebilirliği konusunda kafa yormak daha iyi olacaktır.

  Aksine karşılaştırmalar görseniz de varsayımsal bir yazılım sisteminin şu stilleri bir arada taşıması pekala da mümkündür: Object Oriented, Aspect Oriented, Process Driven, Event Driven, Resource Oriented, Web Oriented, Service Oriented.

   Sağlıcakla Kalın

Hiç yorum yok:

Yorum Gönder