24 Ağustos 2011 Çarşamba

Servis Temelli Uygulamalar (Service Oriented Applications)

Günümüzde şirketler piyasada var olabilmeleri için rakipleri ile herzamankinden daha fazla rekabet içinde olmaları gerekiyor. Bu da şirketin tüm yöneticilerinin üzerinde daha fazla baskı oluşturmaktadır. Bu baskıyı CEO’lardan sonra en çok şirketlerin bilgi teknolojilerinden sorumlu yöneticileri (CIO’ları) hissetmektedirler. Süreçlerin sürekli değişiyor olması, müşterilerle entegrasyon yapma gereksinimleri, gelişen teknolojiler ve getirdiği imkanlar karşısında tüm ihtiyaçlara zamanında ve en az maliyetle cevap verebilme (bir bakıma hizmet verme) durumundadırlar. Müşteriler karşılarında yenililer getiren ve bunu yaparkende maliyet yüklemeyen şirketleri seçmektedirler. Bunun içinde şirketler süreçlerle yönetim felsefesini benimseyerek, içerde birimler arasında ve dışarda müşteri ve/veya tedarikçileri arasında entegrasyon temelli iş modellerini uygulamaktadırlar.

Şirketlerin iş yapış şekillerini temelde ikiye ayırabiliriz. Ana işleri (core business) ve değişken iş gereksinimleri (business functions). Basitçe bunları açıklarsak Ana iş ; ürün satmak, hizmet vermek gibi çok sık değişmeyen temel fonksiyonlardır, Değişken İş fonksiyonları ; Fiyatlar, kataloglar, yeni ürünler, müşteri istekleridir. Ana iş çok sık değişmez ama iş gereksinimleri çok sık ve hızlıca değişebilir. Fonksiyonların (süreçlerin) standart olmayışları, departman/müşterilerin “nokta atışı çözüm” arayış ve istekleri, kullanılan yazılımların farklılıklar göstermesi, birbirinden bağımsız mimariler gibi noktalar iş esnekliğinin önündeki engellerdir.

2000’li yılların sonuna kadar şirketlerde kullanılan iş uygulamaları birbirlerinden bağımsız ve ayrık olarak sunucu siloların üzerinde çalışmaktaydılar. Birbirleri entegre olamayan hatta farklı uzmanlar tarafından destekelenen bu uygulamalar yerlerini ERP dediğimiz uygulamalara bıraktılar. Belki şirket içindeki süreçler ve dolasiyle departmanlar entegre olabildiler ama dışarda entegre olması gereken müşteri veya tedarikçilerin sistemleri de bulunmaktaydı. Bunun içinde teknoloji imdada yetişti ve XML BT profesyonellerinin hizmetine sundu. Böylece çoklu platformlarda entegre olabilen sistemler geliştirilerek istekler cevaplanabildi.

İşte tüm bu gelişmeler sonrası karşımıza SOA (Service Oriented Architecture - Application) denilen kavram çıktı. SOA ; ana işin (core business) değişen iş fonksiyonlarıyla birlikte çalışması, sürekli değişime ayak uyduracak esneklikte, tekrar kullanımı destekleyecek, çerçevesi iyi tanımlanmış, dışarıya açık bileşenlerden oluşan mimaridir. Bu mimariyi kullanan uygulamalardır. İşin Mimari kısmı Bilgi teknolojilerini ilgilendirmekte işin uygulama kısmı ise kullanıcılara bırakılmaktadır.

Bu tanımı sadeleştirirsek, “legolarla yeni bir yapı inşa etmek”, “notalarla yeni bir beste yapmak” yada “VOLTRAN’ı oluşturmak” diyebiliriz.

Bilgi teknolojileri açısından SOA uygulamasına geçiş özellikle yazılım geliştirme hizmetini kendi bünyesinde barındıran BT departmanları için hayati bir olgudur. Bunun için öncelikle işin teknik ve teorik kısmı özümsenmeli ve kadro oluşumuna gidilmelidir. Geleneksel programlama hizmetlerinin ve programcıların dışında işi sadece bu mimariyi uygulayacak , geliştirecek kişilerin istihdam edilmesi gerekmektedir. Şirketin iş süreçlerinin analiz edilerek ihtiyaçlara göre tek seferlik olarak yazılacak servisler inşa edilmeli ve birlerinden bağımsız servisler uygulamaların içinde birlikte çalışabilir hale getirilmelidir.

BT’Nin tek başına SOA yapısına geçmesi düşünülemez. Ancak şirketin topyekün olarak SOA’yı benimsemesi , CEO’nun önderliğinde ve diğer departman yöneticilerinin katılımı-desteği ile gerçekleştirilebilir. Finans ve Telekom sektöründeki şirketlerin BT departmanlarına ayırdıkları bütçeler büyük olduğundan ve kullandıkları uygulama ve ekipmanların çeşitliliği nedeniyle SOA geçişleri mecburi olmakta ve daha başarılı olmaktadırlar. Daha düşük bütçelere sahip şirketlerin BT departmanları açısından SOA bir “lüks” olarak nitelendirilebilir. Burada dikkat edilmesi gereken nokta en azından bağımsız servisler geliştirilmese bile entegrasyona açık ve üzerinde en az değişlikle uygulanabilir servislerin geliştiriliyor olması bile bir avantaj getirecektir.

Önümüzdeki Pazartesi Sabahı ;

Mutlaka önünüzde bir entegrasyon projesi durmaktadır. Bunu gerçekleştirmeye başlamadan önce SOA konusunda kapsamlı bir araştırma yapın ve mümkünse işin detaylarını öğrenin. Daha sonra şirketinizin gelecek yıllarda ki hedeflerine bakarak stratejinizi belirleyin. Gelecek yıllarda ihtiyacınız olacak geliştirmeler için bütçenize ilave kalemleri koymanın ve her sene belli bir miktar arttırmanın planlarını yapın. Yazılım geliştirme ekibinizi bu yönde eğitin ve hazırlayın.

Bana göre ...

Mütevazi bütçeye sahipseniz SOA size avantaj değil dezavantaj getirecektir. Bunun için dikkatli olun ve büyük denizlere açılmayın. Tekniği bilerek yazılım geliştirmelerinizi daha etkin nasıl yapabilirim diye kafa yorun. Unutmayın ki eğer şirketiniz süreç bazlı yönetim felsefesini benimsemiş ve bu konuda her türlü gereken yatırımları yapmışsa siz de BT departmanı olarak buna uyabilirsiniz. Aksi durumlarda sadece bir fantezi olarak kalır.
24/06/2001

Hiç yorum yok:

Yorum Gönder