One person successfully described SOA completely,
and immediately died ~ soafacts.com

SOA’nın Hakimi Olmak (SOA Yönetişimi)

Tarih: July 26th, 2007 | Mehmet Akyuz | Etiket: centrasite, jaxr, soa-governance, soa-yönetişimi | No Comments »

SOA bir takım teknolojileri tanımlayan, modelleyen bir kavram değil. Aksine teknolojilerden bağımsız, tamamıyla işe yönelmiş bir mimari model. Tüm SOA sürecinde de teknoloji en son sahnede yer alan kısmı oynuyor.

Süreç kabaca şöyle işliyor. Servis Mimarisi akılda tutularak iş süreçlerinizi ele alıyorsunuz, büyük resminizi çiziyorsunuz. Burada doğrudan bir BPM uygulaması yer alabileceği gibi sizin belirlediğiniz ve modellediğiniz senaryolar bütünü de olabiliyor. Örneğin B2B işlerinizi modellediğiniz süreçler. Sonrasında bu süreçlerinizde ihtiyacınız olacak servislerinizi, bu servislerin ihtiyaçlar doğrultusunda etkileşimlerini (orkestrasyon) tasarlıyorsunuz. Bu servisleri kategoriler altında düşünmek mümkün. Muhasebe Servisleri, Finans Servisleri, kimlik doğrulama, hesaplama gibi işleri yapan Destek Servisleri gibi…

Bundan sonraki adımlar ise bu servislere ilişkin kontrat (Contract) denilen, servislerin kullanımına ilişkin kısıtlamaları (SLA – Service Level Agreement) belirten politikaların hazırlanması, test senaryolarının oluşturulması ve en nihayet bu servislerin teknik olarak implementasyonu şeklinde ilerliyor.

Buraya kadar anlattığım özet SOA sürecinin amacı, hem servis mimarisinin tasarımında hem de bu mimarinin işletilmesinde ortaya çıkan bağımlılıklar bütünlüğünü ortaya koyabilmek. SOA eğer gerçekten işleri daha doğru ve daha hızlı gerçekleştirme vaadini yere getirecekse, tüm bu yaşam döngüsü içinde oluşan değişimlere de hızlıca ve en doğru şekilde adapte olmalı. Örneğin, eğer bir iş sürecinde yer alan doküman doğrulama işi yeniden elden geçiriliyorsa ve bazı değişikliklere gidilmesi öngörüldüyse, bu işi gerçekleyen servisin hangisi olduğu, bu servisin hangi diğer işlerin elementi olduğu gözlemlenebilmelidir. Bunun sonucunda olası değişikliğin hangi işleri etkileme olanağı olduğu görülmeli, değişiklikler buna göre yapılmalıdır.

Teknik açıdan bakılırsa servislerden sistemlere doğru bir bağımlılık da görülebilir. Örneğin bir veritabanı sisteminde yapılacak bakım çalışması hangi servislerin çalışmasını engelleyecek ya da aksatacaktır? Başka bir deyişle servislerimin taşıdığı risk tam olarak nedir? Benzer durumlar kontratlar için de geçerlidir. Hangi kontrat hangi servisler için kullanılmaktadır?

İşte tüm bu soruların cevabına heran ulaşabilmek, SOA’yı doğru şekilde kuruma kazandırmak için ortaya çıkmış bir kavram SOA Yönetişimi (SOA Governance).

İş kullanıcısı açısından bakarsak bir SOA Yönetişim aracı şu sorulara cevap verebilmelidir:

  • Servislerim nelerdir?
  • Servis politikalarım nelerdir?
  • SOA ortamımın riskleri nelerdir?
  • İş süreçlerim, bunların kullandıkları servislerim nelerdir?
  • İş süreçlerime ilişkin riskler nelerdir?
  • Kurum içi ve kurum dışı servislerim nelerdir?

Teknik kullanıcı için de şu sorulara cevap vermek önemlidir:

  • Servislerim hangi ürünleri ve teknolojileri kullanır?
  • Servislerimin bağımlı olduğu sistemler nelerdir?
  • SOA ortamıma ilişkin metaverilerim (WSDL, XPDL, BPEL vb) nelerdir?
  • Hangi tüketici hangi servisimi ve bu servisimin hangi versiyonunu tüketir?
  • Servis politikalarım nelerdir? Bu politikalar düzgün çalışmakta mıdır?
  • Servislerim (ya da süreçlerim, uygulamalarım vb) hangi aşamamadır? Tasarım, test, ürün?

Bu sorulardan yola çıkılarak SOA Yönetişiminin sağlıklı bir “SOA Gelişimi” için ilk adımlardan itibaren ortamda mevcut olması gerekliliği görülebilir. SOA’nın, bir kere implemente edilip bir daha dokunulmayan ya da sadece yazılım bazında güncellemeleri olan bir ürün olmaması, sürekli gelişen ve “değişen” bir “iş mimarisi” yaklaşımı olması da SOA Yönetişimini önemli kılmaktadır.

Bir SOA Yönetişim aracının yapıtaşlarını iTKO’nun bu post’unda görmek mümkün. Buna göre bir SOA Yönetişim aracı şu kısımları içerir:

Registry/Repository: Servisler ve ilişkili nesnelerin haritasını tutan bir Registry ve bunlara ilişkin metaveriyi depolayan, sunan bir Repository.
Politikalar: Servislere ait kontratları saklayan ve işleten bir kısım.
Test: Servislerin sağlıklı çalışırlılığını test eden araçları sağlayan bir kısım.

Bu üç kısımdan Registry/Repository SOA Yönetişimin temel parçası olmakla beraber, diğer iki parça ana parçayla entegre çalışabilen ayrı parçalar (ürünler) da olabilmektedir.

SOA Yönetişim araçlarında aranması gereken önemli bir özellik JAXR gibi diğer SOA ürünlerinin entegrasyonuna izin veren standartları destekliyor olmasıdır. Örneğin bir BPM çözümü doğrudan süreçlerine ait proseslerini, bu süreçlerin kullandığı servislerin listesini SOA Yönetişim aracına kayıt etme imkanına sahip olabilmelidir. Bu amaçla mevcut SOA Yönetişim ürünleri geniş komüniteler dahilinde geliştirilmeye çalışılmaktadır. Bunlara örnek olarak Centrasite komünitesini ve Systinet‘i verebiliriz.

Son olarak Gartner’ın SOA projelerinin başarısız olmasının temel nedenlerinden biri olan SOA yönetişim eksikliği hakkındaki şu yazısını okumanızı tavsiye ediyorum.


SOA Strateji Planınızı Belirleyin

Tarih: July 25th, 2007 | Mehmet Akyuz | Etiket: soa strategy, soa strategy plan, soa strateji planı, soa stratejisi | No Comments »

SOA Stratejisi

IT Strategy Plans İngiltere merkezli Macehiter Ward-Dutton danışmanlık firmasının oluşturduğu bir platform. Platformun amacı farklı IT başlıklarında, kurumların kendilerine uygun stratejileri geliştirmelerine yardımcı olmak. Basitçe, tamamlamanız gereken bir test sonrasında size bir rapor sunuyorlar. Bunun için tabiki platforma üye olmanız gerekiyor.

Şu anda sadece SOA başlığı altında strateji planı sunuyorlar. Üretilmiş örnek bir planı da buradan görebiliyorsunuz.

Daha önceki SOA’nın Getirdikleri, Götürdükleri postumda SOA Value Assessment aracından bahsetmiştim. Bu plan bu araçtan sonraki, tamamlayıcı ikinci adım olabilir.


En İyi SOA Ürünleri

Tarih: July 23rd, 2007 | Mehmet Akyuz | Etiket: firmalar, soa, soa-ürünleri | 2 Comments »

SOA World okuyucuları en iyi SOA ürünlerini seçmiş. Her kategoride en az 4 kazanan olması biraz düşündürücü. Bunu “şu anda yeterli farklılığı sağlayabilen lider ürün eksikliği” olarak algılamak mümkün, ya da “SOA World okuyucuları ne yardan vazgeçmiş ne de serden” de diyebiliriz. İlk bakışta dikkatimi çeken kategoriler arasında en iyi uygulama sunucusu kategorisi de var. Uygulama sunucularının SOA ürünü olarak gösterilmesi ne kadar doğru, tartışılır. Dikkat çeken başka birşey de bu kategoride IBM Websphere ve BEA WebLogic’in yer almaması :

Best App Server
Java System Application Server, Sun
Microsystems
Oracle Fusion Middlware
Pramati Application Server,
Pramati
Borland Enterprise Server

Kategorilerde genel olarak Oracle, Software AG + webMethods ve biraz da TIBCO ağırlığı var. Software AG’nin webMethods’u satın almış olmasına rağmen Forrester Research‘ün lider gösterdiği webMethods BPM çözümü yerine Software AG Crossvision BPM çözümünün kazananlar arasında olması da ilginç bir başka nokta. Bu satın almanın bir başka dikkat çekici noktası da iki firmanın da suit çözümlerinin aynı kategoride kazananlar arasında yer alıyor olması. İşte bazı kategoriler ve kazananları:


Best BPM Engine
TIBCO iProcess Suite
Oracle BPEL
Process Manager
Software AG Crossvision Business Process Manager
Adeptia BPM Server

Best Framework
Java Web Services Developer Pack, Sun
Microsystems
Software AG Crossvision
Service Manager, SOA Software
UI Framework, Helmi Technologies

Best GUI for Web Services Product
TIBCO
Business Works
Infragistics NetAdvantage for .NET
soapUI, eviware
Software AG Crossvision Application Composer
Oracle JDeveloper

Best Integrated Services EnvironmentOracle
JDeveloper
Ivory Service Architect, GT Software
Software AG Crossvision
webMethods Fabric

Best SOA/Web Services Platform
TIBCO Business
Works
Java EE, Sun Microsystems
Oracle Fusion Middleware
Software AG
Crossvision


Ormanda Bir Ağaç Düşerse, SOA Bunu Bilir

Tarih: July 4th, 2007 | Mehmet Akyuz | Etiket: soa | 1 Comment »

click to comment

If a tree falls in the forest, SOA knows about it.

SOA yakın zamanda bilişim dünyasında en sık konuşulan konulardan birisi, dolayısıyla kendisinden önce gelen akımlar gibi abartılmaya aday bir konu. SOA Facts üşenmemiş ve SOA hakkında “gerçekleri (!)” bir liste halinde yayınlamış. İşte benim favorilerim :

  • SOA is the mistress to all CIOs. (SOA’yı anlattığımız IT müdürlerinin sevgi dolu bakışlarını düşündüm bunu okurken :) )
  • SOA can write and compile itself. (Self Oriented Application? :) )
  • One person successfully described SOA completely, and immediately died. (Hmm, belki de blog’uma SOA Hakkında Herşey ismini vermemeliydim…)
  • In the last year, SOA increased Turkey’s GDP by a factor of 10. (Her zamanki dış mikrahlar… Mikrah? :) )
  • SOA is not complex. You are just dumb. (Ningunos Comentarios)
  • The solution to SOA is 42, which begs the question… (Evet, blog’un ismi SOA Mimarının Galaksi Rehberi de olabilirdi)
  • If you plug SOA into the back of your head, you’ll know Kung Fu. (Grid computing dedikleri Matrix olsa gerek)
  • SOA can do it in one line. (Bunu bir sunumumda kullanmalıyım :) )
  • SOA is also a yoga posture that consists of performing all other yoga postures simultaneously. (Bunu da!)
  • Pluto is no longer the ninth planet, because SOA wanted the job. (Birşey diyemedim buna :) )
  • SOA knows what you did last summer, and is disappointed that it wasn’t SOA. (Bunu da sunumda kullanılacaklar arasına ekliyorum)

Kendi SOA “gerçeklerinizin (!)” de SOA Facts’de yer almasını istiyorsanız şu adrese bir mail atıp bildirebiliyorsunuz. Bir tane de benden:

SOA is the short way of saying “So What?” :)