Previous
Next

Service Oriented Architecture (SOA)

by Cem Kefeli 6. Ekim 2013 14:29

Service Oriented Architecture (SOA)Müşterilere verilen hizmetlerin birer servis olarak düşünülmeye başlamasını ve SOA (Service Oriented Architecture) yaklaşımını birbirlerini tamamlayan, bir elmanın iki parçası gibi düşünebiliriz. Bu bir dönüşüm... Uygulama/sistem temelli bir yaklaşım yerine servis kavramı üzerine inşa edilen bu konseptin çok anlamlı bir gerekçesi de var aslında. Bu gerekçeyi basit anlamda ele alalım;

Müşteriler almış oldukları hizmetin hangi uygulamadan hangi sistemden sağlandığını ve bu hizmetin teknolojideki karşılığını tabiki bilmiyorlar. Ama biliyor oldukları en önemli veri, örneğin telekomünikasyon sektörü için ‘Telefon numarası yönlendirme hizmeti’ aldıkları ya da örneğin bankacılık sektörü için ‘Vadeli hesap oluşturma’ hizmeti aldıkları diyebiliriz. Sunulan çeşitli hizmetlerin teknolojik karşılığı olarak bu işi gerçekleştiren uygulamalar dünyasına şimdi tekrar dönelim. Müşterinin almış olduğu bu hizmetlerin her birinin karşısında bir IT/NW servisi bulunuyor. Bu servisler de farklı farklı uygulamalar, farklı farklı sistemler üzerine dağıtılmış halde bulunabiliyor. Yani müşteriye verilen bir hizmetin mutlaka tek bir uygulama üzerinden sunulması gibi bir zorlama yok. Hatta tam tersine günümüzde işler kompleks bir hal aldığı ve her hizmeti tek bir uygulama üzerinde toplamanın imkan dahilinde olmadığı bir noktaya geldiğimiz için bir servisi verebilmek amacıyla birden çok uygulama/sistem/servis senkron ya da asenkron bir şekilde iş yapmak durumunda kalıyor. Dolayısıyla en başa dönecek olursak, bugünün koşullarının ve iş gereksinimlerinin getirmiş olduğu doğal bir sonuçtur aslında SOA yaklaşımının oluşması. Madem müşteri servis temelli hizmet alıyor, aldığı hizmet kompleks ve iş ihtiyaçlarına göre değişiyor o halde bu hizmetin karşılığındaki teknolojik yapının da servis temelli bir yaklaşım üzerine temellenmesi daha sağlıklı olacaktır. Sonuç olarak bir tanım ortaya koymamız gekirse;

SOA, iş gereksinimlerini esnek bir şekilde karşılayabilmek amacıyla her birisi kendi işinde özelleşmiş, tanımları da net bir şekilde ortaya koyulmuş servislerin birbiri ile uyum içinde çalışmasını sağlayan bir orkestrasyondur.

Dilimiz döndüğünce bir tanım ortaya koyduğumuza göre artık bu tanımın içerdiği söyleme biraz daha yakından bakabiliriz;

İş gereksinimleri
SOA, günün birinde teknoloji ile ilgilenen birkaç mühendisin çay sohbetinde ‘Hadi bizim şu mimarimizi bir değiştirilim!’ düşüncesiyle ortaya çıkan bir konsept olarak düşünülmemelidir. Bu noktaya gelinmesini sağlayan yegane etmen yine iş gereksinimleridir. Yani bu düşünce "Yapılan işi nasıl daha düzenli, esnek ve yüksek çıktı alacak şekilde tasarlayabiliriz?" sorusuna cevap olarak doğmuştur.

Esnek
SOA, yinelenen yapıları pek sevmez. Bir servis, birden fazla servis tarafından kullanılabilir. Yani bir servis, yalnızca tek bir başka servis tarafından kullanılması amacıyla yazılmıyor. Süreçler de zaten bu felsefeye göre tasarlanırlar ki bir iş isteği sonucunda yapılacak değişiklik kolayca tüm servislerde aktif olabilisin. Dolayısıyla irili ufaklı birçok servisin varlığı, değişiklik yapılması ve süreçlerin güncellenmesi aşamasında esneklik sağlamaktadır. SOA, iş yapma, iş değiştirme becerisine hız kazandırmaktadır. Fazlası...

Weblogic şifre değişikliği

by Cem Kefeli 14. Nisan 2012 01:38

SOAP vs. RESTFULWeblogic, yönetim ekranları için lokal kullanıcılara ait şifre bilgilerini lokal LDAP yapısı içerisinde tutmaktadır. Console üzerinde yeni bir kullanıcı oluşturduğunuzda bu kullanıcı Weblogic'e gömülü LDAP üzerinde saklanmaktadır ve bu LDAP yapısı üzerinden yönetilmektedir.

Weblogic yönetim panellerine ait domain'in sahibi bir ana kullanıcı bulunmaktadır. Genellikle de bu kullanıcının varsayılan ismi 'weblogic' olarak verilmektedir. Farklı nedenlerden dolayı bu kullanının şifresini değişitirmek isteyebilirsiniz. Ya da bu kullanıcının şifresini resetlemek de isteyebilirsiniz. Bu tür durumlarda aşağıdaki yol haritasını izleyerek şifre değişikliği işlemini başarıyla gerçekleştirebilirsiniz.

  1. İlerleyen bölümlerde zaten yapacağımız işlem ile birlikte değişecek bölümlerin yedeğini alıyor olacağız ama yine de adettendir ve usüldendir herhangi bir işleme başlamadan önce ve 2. adımdaki tüm server'lar kapatıldıktan sonra tüm makinelerde üzerinde işlem yapıalcak olan domain'in yedeği alınması faydalı olacaktır. Yedek alma işlemi domain dizininin doğrudan olduğu gibi kopyasını almak şeklinde de yapılabilir ya da tüm ortamı yedeklemek istemiyorsanız yalnızca konfigüratif yapının yedeğini almak istiyorsanız domain'in template'ini de oluşturabilirsiniz.
     
  2. Admin console, node manager ve üzerinde işlem yapılmak istenen domain üzerinde çalışan tüm manager server'lar kapatılmalıdır. Üzerinde işlem yapılmak istenen domain'e ait tüm process'ler kapatılmış olmalıdır. Eğer birden fazla makineden oluşan bir cluster sistem varsa tüm makinelerde ilgili domain'e ait process'ler kapalı olmalıdır.
     
  3. 'Middleware home' ve 'Domain home' değişkenleri aşağıdaki gibi export edilmelidir;

    export MW_HOME=/u01/app/weblogic/wls1213
    export DOMAIN_HOME=$MW_HOME/user_projects/domains/baseDomain
  4. Admin server altındaki 'data' dizininin yedeği alınmalıdır;

    cd $DOMAIN_HOME/servers/AdminServer
    cp -r data data_old
  5. Ortam değişkenleri aşağıdaki script yardımıyla set edilmelidir;

    cd $DOMAIN_HOME/bin
    ./setDomainEnv.sh
  6. Admin server altındaki 'security' dizini altında 'DefaultAuthenticatorInit.ldift' dosyasının yedeği alınmalıdır;

    cd $DOMAIN_HOME/security
    mkdir old
    mv DefaultAuthenticatorInit.ldift old
  7. Aşağıdaki komut yardımıyla yeni şifre belirlenmelidir. Burada varsayılan domain sahibi kullanıcının 'weblogic' olduğu düşünülerek yazılmıştır. yeni şifre yazıldıktan sonra bir boşluk ve nokta karakteri unutulmamalıdır. Bu komut koşturulduktan sonra yeni ldift dosyası oluşacaktır.

    cd $DOMAIN_HOME/security
    java weblogic.security.utils.AdminAccount weblogic yeni_sifre .
  8. Eğer boot.properties dosyası daha önceden set edilmişse ve kullanılıyorsa bu dosya içöerisinde de yeni kullanıcı adı ve şifre yedeği alındıktan sonra güncellenmelidir;.

    $DOMAIN_HOME/servers/AdminServer/security
    cp boot.properties boot_old.properties
  9. Son adım olarak domain varsayılan start komutu yardımıyla ayağa kaldırılarak yeni kullanıcı adı ve şifre ile login olunabilir;

    $DOMAIN_HOME
    nohup ./startWebLogic.sh >> startWebLogic.out &
    tail -f startWebLogic.out

Tabiki her zaman hata oluşma ihtimali mevcut ve hata oluşması durumunda en azından yeni yapı çalışmıyor olsa bile eskiye geri dönebiliyor olmamız gerekir. Eğer bir hata ile karşılaşılırsa aldığımız backup dosyalarına geri dönülerek domain değişiklik öncesi hali ile çalıştırılabilir.

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General