Makale Özeti

SaaS (Software as a Service) ve SOA bizlere sınırların kalktığı bir iş dünyasını fısıldıyor. Kurumlar ve mimariler içine kapanık kilişe sistemler ile daha fazla ayakta duramayacaklarının farkındalar. Paylaşım ve ortak çalışma anlamında kullanılan peering terimi her alanda kendini gösteriyor. Artık eskisine oranla iş süreçleri kurum dışına taşmış, bilgi servisleri ve iş entegrasyonu; ortaklar, dış paydaşlar ve 3. partiler ile birlikte çalışmayı zorunlu kılmış durumda. Servis yönelimli mimariler, servis tabanlı sistemler ve açık iletişim protokolleri son zamanların sıcak konularından biri. BT stratejilerini ve vizyonunu buna uygun olarak konumlandıramayan kurumlar ciddi riskler ile karşı karşıya.

Makale

SOA Projelerinde Yönetim Stratejileri

Giriş

SaaS (Software as a Service) ve SOA bizlere sınırların kalktığı bir iş dünyasını fısıldıyor. Kurumlar ve mimariler içine kapanık kilişe sistemler ile daha fazla ayakta duramayacaklarının farkındalar. Paylaşım ve ortak çalışma anlamında kullanılan peering terimi her alanda kendini gösteriyor. Artık eskisine oranla iş süreçleri kurum dışına taşmış, bilgi servisleri ve iş entegrasyonu; ortaklar, dış paydaşlar ve 3. partiler ile birlikte çalışmayı zorunlu kılmış durumda. Servis yönelimli mimariler, servis tabanlı sistemler ve açık iletişim protokolleri son zamanların sıcak konularından biri. BT stratejilerini ve vizyonunu buna uygun olarak konumlandıramayan kurumlar ciddi riskler ile karşı karşıya.

2008 SOA Tahminleri

-         2007 senesinde hızlanan SOA projeleri ile birlikte,  2008 – 2012 senesinde büyük ölçekli kurumsal projelerde SOA sıklıkla başrolde yer alacak.

-         Şirket evlilikleri, şirket satınalmaları ve şirket ortaklıkları artarken, BT’ in çevikliği sağlam SOA altyapıları ile ortaya çıkacak.

-         Kurumlar SOA’ ın getirdiği yeni bakış tarzına uygun SOA iş analistleri yetiştirmeye başlayacaklar

-         Başarısız SOA projeleri devam edecek, ta ki SOA yayılımı ve projeleri hakkında firmalar yeter ölçüde tecrübe kazanana kadar

-         Web 2.0 ve SOA terimlerini beraber duymaya başlayacağız

-         SOA konusunda uzman SOA mimarı açığı giderek artacak. Kurumlar SOA konusunda tecrübeli yazılım mimarlarına ihtiyaç duyacak

-         SOA projeleri kendine has yapısı ile standart projelerden bazı farklılıklar taşıyor, SOA Proje Yönetimi konusunda uzmanlar türeyecek

-         Kurum kültürü, kurumsal değerler, iletişim SOA projelerini en çok zorlayacak parametreler olacak

-         E-Devlet projelerinde SOA de-facto standart olacak, teklifinde SOA olmayan şirketler elenme tehlikesi ile karşı karşıya

-         SOA terimi teknik bir terim olmaktan çıkacak ve yönetim kademesine kadar yansıyan bir iş stratejisi halini alacak

-         Firmaların çevikliklikleri kurdukları SOA altyapısının gücü ölçüsünde değer kazanacak

Sıkıntılar ve Engeller

Görülen o ki, iş dünyası SOA’ a iyiden iyiye ısınacak. Peki SOA projelerini bu kadar zor kılan ne? Neden dünyada ve Türkiyedeki bir çok SOA projesi ya iptal ediliyor ya da zaman açısından ciddi sıkıntılara düşüyor. Problemin kaynaklarını aşağıdaki gibi sıralamak mümkün:

-         SOA mimarisi içinde bir çok alt uzmanlık alanı bulunduran karmaşık ve zor bir konu.

-         SOA projeleri kapsam itibariyle çok geniş ve kurumların tüm departmanlarına etki ediyor. Bu kadar çok paydaşın olduğu yerde ortak hedefleri belirlemek, eş güdümü sağlamak ve müşteriyi memnun etmek kolay değil!

-         SOA kurumların operasyonel süreçlerini de etkilediğinden kurum kültürünü değişmeye zorlar. SOA projeleri ister istemez BPM’ e bulaşır. Bu da iş süreçlerini tekrardan tasarlanması ve iyileştirmesi anlamına gelmekle beraber kurumunu dönüşüme zorlar

-         Proje yönetimi diğer projelere benzemez, standart proje yaklaşımları dışında farklı bir yönetim stratejileri ve disiplinleri işin içerisine girer

-         Proje ekibinde üst yönetim kademesinden bir temsiliyetin olmaması ve getirdiği kurum içi anlaşmazlıklar

Proje Yönetimi

Peki bu zorluktaki bir projede hangi adımları takip etmeliyiz?

1.      Gerçekçi net hedefler belirleyin

2.      Kurum içi farkındalık, PR çalışmalarını başlatın

3.      Farklı fonksiyonel birim ve rollerden oluşan proje ekibinizi oluşturun

4.      Ortak standartlarınızı belirleyin. SOA tarafında bir çok teknik standart bulunmakta. Bu standartlardan hangilerinin proje içinde uygulanacağı hakkında bir ön çalışma gerçekleştirin.

5.      Pilot için uygun bir proje seçin

6.      Pilot projeyi tamamlayın

7.      Pilot projenin sonuçlarını değerlendirin

8.      Analiz

8.1.  Üst seviye analiz. Kurum süreçlerinin master analizi ile büyük resmi görmeye çalışın.

8.2.  Süreçlerin BPM seviyesinde detay analizi ile mevcut operasyonel süreçlerinizin detaylı analizlerini fonksiyon veya departman bazında yapın. Her departman ya da fonksiyon için ayrı iş analistlerini kullanın.

8.3.  Yapılan süreç analizleri sonrasında SOA servis noktalarını tespit edin. Servis noktalarının birbirinden bağımsız olmasına dikkat edin. Kesişen servis noktaları varsa bunların üzerinden geçin.

8.4.  Ana iş akışlarının analizi. Ana iş akışları bir ya da birden fazla servis noktasının etkileşiminden oluşur. Ana iş akış senaryolarının oluşturulması, dokümante edilmesi ve gerekli tekrar mühendisliklerinin bu aşamada yapılması tercih edilir.

8.5.  İş akışında yer alan servislerin etki analizi ile birbirlerini etkileyen servis noktalarını tespit edin. Bu aşamada süreçlerin bütününe hakim master iş analistlerini kullanarak servisleri tek hat üzerinde birleştirerek olası süreç aksaklıklarını tespit edebilir ve gerekli önleyici aksiyonları alabilirsiniz. Süreç revizyonları bu aşamanın çıktısıdır.

8.6.  Süreç doğrulama ve validasyon. Analizi gerçekleştirilen tüm süreç ve servislerin tekrar üzerinden geçilerek analizin doğruluğu ve gerçekçiliği validasyondan geçirilir.

8.7.  Son olarak yapılan analizlerde ortaya çıkan servisleri kurum açısından katmadeğer ve riskine göre önceliklendirmelisiniz. Etki analizleri bağımlılık matriksleri bu aşamada kullanılan temel tekniklerdir.

9.      Tasarım

9.1.  Üst seviye mimari tasarım

9.2.  Ortak etmenlerin tasarımı

9.3.  ESB (Enterprise Service Bus) tasarımı

9.4.  Güvenlik tasarımı

9.5.  Performans Tasarımı

9.6.  Altyapı ve Sistem Tasarımı

10.  Servis Üretim Hattının oluşturulması. Servislerinizi hızlı ve sorunsuz olarak kullanmak istiyorsanız servislerin nasıl bir hat üzerinde geliştirileceğini kurgulamanız gerekiyor. Bu üretim hattı yazılım fabrikası analojisine dayanan tamamen sizin SOA yapınıza uygun bir üretim aşamasının oluşturulmasıdır. Üretim hattına sahipseniz geliştirmiş olduğunuz servisleri çok daha hızlı ve sorunsuz olarak devreye alabilirsiniz. Bu üretim hattının alt bileşenleri şunlardan oluşmaktadır

10.1.                   Ortak etmenlerin geliştirilmesi ve Enterprise Framework yaklaşımı

10.2.                   Servis tasarımı

10.3.                   Servis yayınlama

10.4.                   Servise üye olma

10.5.                   Güvenlik düzeyleri

10.6.                   Test Prosedürü

10.7.                   Yayılım prosedürü

11.  Servis Geliştirme (bu aşama tüm servisler için ortak olup analiz aşamasında belirlenmiş servis önceliklerine göre paralel yürüyen veya sıraya konulmuş alt projeler olarak yürütülmektedir. Servis geliştirme sürecinde çevik yaklaşımlar rahatlıkla benimsenebilir.)

11.1.                   Mikro tasarım

11.2.                   Geliştirme

11.3.                   Servis özelinde test

11.4.                   İş akış ve entegrasyon testleri

11.5.                   Canlıya alma

12.  Sonuçları değerlendirin.

13.  Değişime ayak uydurun. SOA projeleri hiç bitmez. Bir kere bu yola girdikten sonra yeni projeler, yeni teknolojiler, yeni süreçler ve yeni ortaklıklar karşınıza çıkar. Bu değişimlere dinamik olarak tepki vermek ve SOA mimarinizi adapte etmek kaçınılmaz bir gerçektir.

14.  Bakım ve Yönetim

Proje Ekibindeki Roller

SOA proje ekipleri belki size biraz yağlı gelebilir fakat uzun vadeli projeler için bu rollerin benimsenmesi bir zorunluluktur.

Program Yöneticisi : Tüm SOA dönüşüm projesinin başındaki kral roldür. Projenin vizyonu, strateik hedeflere uygunluğu, zaman planlaması ve üst yönetime raporlanması gibi sorumlulukları vardır. Özellikle şirket içinde söz sahibi olması, açık iletişime değer veren, kurum kültürünü tanıyan, güçlü liderlik vasıfları projenin başarıya ulaşması için aranan özelliklerdir. Proje yöneticileri ile beraber çalışarak projenin bütününü takip etmek, planlamak ve master risk analizlerini yürütmek ana görev alanları arasındadır.

Proje Yöneticisi : SOA içinde yer alan alt projelerin yönetilmesi, planlanması aşamalarında liderlik görevi üstlenir. Program yöneticisi ile sürekli iletişim halindedir.

SOA İş Analisti : Tüm iş süreçlerine hakim, aralarındaki bağıntıları anlayabilecek, olası aksaklıkları tespit edip kusursuz süreçlerin tasarımını üstlenecek olmazsa olmaz en önemli roldür. Altındaki tüm iş analistlerinden aldığı bilgilerin sentezlenmesi ve yorumlanması, iş vizyonun belirlenmesi önemli sorumluluk alanlarındandır.

SOA Yazılım Mimarı : SOA mimarisinin üst seviye tasarımı, teknik standartların belirlenmesi ve üretim hattının kurulması aşamasında görev alır. Mimari vizyonun çizilmesi ve stratejinin uygulanması için diğer yazılım mimarlarına liderlik yapar. Güçlü teknik liderlik yeteneği önemli rol oynar.

Altyapı Mimarı : SOA uygulamasının koşacağı sistem ve donanımların tasarlanması, planlanması ve network topolojisinin kurulmasında görev alır. 

Yazılım Mimarı : projelerin ve servislerin fiziksel ve mantıksal mimari tasarımını yapar. Bileşen tasarımı, servis tasarımı temel görevleridir. Yazılım kalite güvencesi, standartlara uygunluğun denetlenmesi ve koçluk temel sorumluluk alanlarıdır.

Yazılım Uzmanı : servislerin ve uygulamaların yazılım mimarınca belirlenmiş standartda kodlanmasında görev alır.

Güvenlik Uzmanı : Dağıtık sistemlerde güvenliğin sağlanması. SOA güvenlik politikasının oluşturulması, prosedürlerin takibi. Güvenlik alanındaki teknolojilerin seçiminden tutun da güvenlik çeki kontrol listelerinin devreye alma aşamalarında kontrol edilmesi bu rolün sorumluluk sahası içindedir. Dijital sertifikalar, PKI, donanımsal çözümler gibi çeşitlik disiplinler konusunda uzmanlık gerektirir.

Veritabanı Yöneticisi : Veritabanı normalizasyonu, bakımı, performans gereksinimlerinin belirlenmesi, Veritabanı standartlarının belirlenmesi, ölçeklenmesi gibi veritabanına özel roldür. Veritabanı güvenliği de bu rolün sorumluluk alanına dahildir.

İş Analisti : Servis ve süreçlerin BPM standartlarına uygun olarak fonsiyonel gereksinim analizini yapar ve dokümante eder. Endüstri ve alana özel (domain specific) bilgi sahibi olması kritiktir. Son kullanıcı, sponsorlar ve yazılım mimarları ile beraber çalışırlar.  

Test Uzmanı : Birim test, entegrasyon testleri ve UAT testleri bu kapsamda yer almaktadır. Projelerin büyüklüğüne göre servis bazında birim ve UAT testlerini yapanlar ile entegrasyon testlerini yapanlar arasında bir ayrışma olabilir.

Servis Deployer : Servislerin standartlara uygun olarak hedef sistemlere kurulması, kurulum prosedürlerinin uygulanması ve kontrol edilmesinden sorumludur.

Başarının 5 Altın Kuralı

  1. SOA projelerine önce ufak loklamalar ile başlayıp alacağınız lezzete göre büyük lokmalara geçin. Küçük lokma olarak kendinize pilot bir SOA projesi seçin. Önce bu proje üzerinde teknik ve iş anlamında tecrübe kazanın sonrasında büyük hamlenizi yapın. Bu sizin büyük ölçekli SOA projenizin büyük risklerini ön görmenizi sağlar. Pilot proje seçimi burada çok kritik. Genellikle yeni servis projeleri ya da düşük risk seviyesine sahip, katmadeğeri yüksek projeler pilot için daha uygun.
  2. Farklı organizasyon düzeylerinde farklı SOA beklentilerinin farkında olun. SOA projesi yaparken bunu allayıp pullayıp satmak yerine gerçek katmadeğerinin anlaşılması için önemli bir PR çalışması yürütün. İletişime her zamankinden daha fazla önem verin. Tüm departman müdürlerinin temsil edildiği düzenli proje toplantılarında projeyi tartışın ve ilerlemeleri şeffaf olarak konuşun.
  3. SOA projelerinde daima açık standartları uygulayın ve bunu denetleyin. SOA uygulamaları uzun vadeli projeler olduğundan teknoloji seçiminde her zamankinden daha stratejik ve dikkatli olmalısınız. Teknik standartlar konusunda uzman bir kadro yetiştirmeye dikkat edin.
  4. SOA’ ı teknik bir terim olmaktan çıkartıp, stratejik bir enstrüman olarak şirket içi jargonlarında kullanın. Yayacağınız iletişim metaforu ile kurum genelinde bir motivasyonun önünü açmış olursunuz.
  5. Proje ekibinde yer alan 3 kritik role en doğru kaynakları atayın. Bu roller Proje Yöneticisi (Program Yöneticisi), Master Çözüm Mimarı, Master İş Analisti. Bu roller projenizin başarıya ulaşması için hayati öneme sahip liderlerdir. Dolayısıyla lider vasıflı olmalarına ve gerçekten SOA alanında tecrübeli olmalarına dikkat edin.

Oğuz BAYRAM

www.oguzbayram.com