Previous
Next

Java Memory Yönetimi

by Cem Kefeli 3. Şubat 2016 02:39

En sıkıntılı konulardan birisidir bir uygulamayı geliştirirken ve de canlıya alınması sonrasında karışılaşılan memory problemleri. Eğer geliştirme aşamasında tecrübelerinizden de faydalanarak olası memory problemlerini öngörebilirseniz canlıya çıkış sonrası oluşabilecek problemleri azaltabilirsiniz. Ya da daha geliştime ve test aşamasında bir memory problemi ile karşılaşırsanız, ki genelde uygulama gerçek yük altında çalışmaya başladığında açığa çıkarlar, fix etme imkanınız olur ve şanlısınız demektir.

C/C++ ile uygulama geliştirdiyseniz bilirsiniz ki bellek yönetimini tamamen geliştiriciye bırakır. Geliştirici istediği adresteki istediği bellek gözüne kadar herşeye hakimdir. Örneğin işaretçiler yardımıyla bellek gözlerini dilediği gibi yönetebilirler. Bu durum iyi kodlanmış yazılımlar için daha optimal memory kullanımlarını birlikte getirir. Düşünsenize tasarladığınız yazılımın her bir byte seviyesinde her bir bellek gözüne hakimsiniz ve nerede ne var tamamen biliyorsunuz, işlerinizi ona göre planlıyorsunuz. Ama ya iyi kodlanmamış bir yazılım varsa elinizde? Belki de iyi bir uygulama geliştirici değilsinizdir... Bellek yönetiminin esnekliği yerini bir anda bir kaos ortamına bırakıverir. Belki erişmemeniz gereken, sizin olmayan bir bellek gözlerine erişirmişsiniz ve hata alırsınız. Belki de ayırdığınız bellek alanlarının dışına çıkarsınız çalışma anında ve de yine hata alırsınız...

Bununla birlikte eğer nesle yönelimli (Object Oriented Programming - OOP) bir yazılım dili kullanarak uygulama geliştiriyorsanız sevindirici haberler de vardır. OOP konsepti herşeyi birer nesne olarak ele almak istediği için, nesnelerin varlığından ve de yokluğundan haberdar olmak isterler. Nesneleri doğduğu andan öleceği ana kadar takip ederler. Nesne doğduğu anda ona bir yuvacık sunarlar. Biraz ergenleştiği zaman onu yuvacıktan alıp yeni bir yuvaya nakleder ki yeni doğanlara yer açılsın. Nihayetinde zaman gelip de nesnenin ömrü dolduğunda kalıcı olarak yuvayı bozarlar ve nesne de artık yok olur. Bu yuva ve yuvacıkları bellek bölümleri olarak düşünebilirsiniz. Yuvaların tahsisi konusunu yöneten bir birim de vardır tabiki ve örneğin java için bu işi üstenen Garbage Collector (GC)'dür. GC, neslerin ömrü boyunca bellek işlerinden sorumlu müdürlüktür. Yeri geldiğinde kullanılmayan nesneleri de temizleyerek ilgili belleğin tekrar kullanılabilmesi amacıyla geliştiricinin hizmetine sunar. Geliştirici bu konseptte bellek işleri ile ilgilenmez.

Java Memory Management
Fazlası...

IBM Websphere profil oluşturma

by Cem Kefeli 4. Ocak 2016 05:22

Websphere kurulumu sonrasında uygulama sunucusu yönetimini sağlayacak olan dmgr (Deployment Manager) ve uygulamaların üzerinde çalışacağı serverların (Application Server - App. Server) oluşturulması gerekmektedir. Websphere, dmgr ve app. server için ayrı ayrı profiller üzerinden gerekli yapının oluşturulmasını sağlamaktadır. Dolayısıyla işlevsel bir yapı elde etmek istiyorsak hem dmgr hem de app. server profilleri oluşturmamız gerekmektedir.

İlerleyen bölümlerde adım adım bu işlemlerin nasıl yapıldığına ulaşabilirsiniz;

[websphere@localhost ProfileManagement]$
[websphere@localhost ProfileManagement]$ pwd
/u01/app/websphere/was855/AppServer/bin/ProfileManagement
[websphere@localhost ProfileManagement]$
[websphere@localhost ProfileManagement]$ ls -lrt
total 12
-rwxr-xr-x. 1 websphere websphere  336 Apr 16  2012 wct.sh
-rwxr-xr-x. 1 websphere websphere  336 Apr 16  2012 pmt.sh
drwxr-xr-x. 5 websphere websphere 4096 Dec 23 16:44 eclipse32
[websphere@localhost ProfileManagement]$

IBM Websphere Profile CreationFazlası...

Web Health Check (WHC)

by Cem Kefeli 19. Ekim 2015 11:06

ÖZETÇE: WEB temelli uygulamalar için servislerinin çalışır durumda olup olmadığının (Erişilebilirlik - Availability) ve hatta çalışır durumda olan servislerin de ne kadar sürede cevap verdiğinin (Cevap süresi - Response time) takip edilebilmesi önemli bir yer kaplamaktadır. Çoğu zaman, bir servisin içeriğinden bağımsız olarak bile yalnızca çalışırlığının takibi birçok önemli problemin tespit edilebilmesini ve önlenebilmesini mümkün kılmaktadır.

WEB Health Check (WHC), bir WEB servisinin iki temel sağlık göstergesi olan 'availability' ve 'response time' değerlerinin takibinin sağlanabilmesi amacıyla Java programlama dili ile geliştirilmiş bir yazılımdır. WHC, availability için servisten dönen HTTP return code'ları tespit eder. Response time için ise milisaniye cinsinden servisin cevap süresini hesaplar. WHC, tüm bu işlemler için management panel'i üzerinden girilen adresler için birer periyodik sentetik transaction oluşturur.

Anahtar Kelimeler: WEB health check, WEB monitoring tool

WHC Response Code WHC Response Time
Şekil-1: WHC Availability - Response Code Şekil-2: WHC Performance - Response Time
 
WHC Management Panel (Login)
Şekil-3: WHC Management Panel (Login)
 
WHC Management Panel (WEB Entities)
Şekil-3: WHC Management Panel (WEB Entities)

 

Weblogic - Active Directory entegrasyonu

by Cem Kefeli 13. Ekim 2015 15:33

Weblogic uygulama sunucusu, yönetim ekranlarına giriş ve giriş sonrası yapılabilecek işler için oldukça esnek olanaklar sağlıyor. Entegre LDAP sunucusu üzerinde manuel olarak yeni kullanıcılar, yeni gruplar oluşturabiliyorsunuz. Bu kullanıcılara dilediğiniz rolleri atayabiliyorsunuz, isterseniz yeni roller oluşturabiliyorsunuz. İsterseniz aynı işlevdeki kullanıcıları bir grup altında toplayarak, grup bazlı yetkilendirme yapabiliyorsunuz. Fakat, bu bahsettiğim işlemler Weblogic’in kendi entegre LDAP yapısı üzerinde yapılan işlemlerdir ve tamamen o Weblogic domainine aittirler. Yani burada yapılan işlemler bir kullanıcıyı ya da bir grubu başka bir yapı üzerinde kullanmak gibi bir hedefle yapılan işlemler değildir. Yalnızca ilgili lokal yapı üzerinde etkilidir bu işlemler.

İşte tam bu aşamada, kullanıcı ve grup bazlı yetkilendirme dediğimizde artık neredeyse her şirkette kullanılan Microsoft Active Directory (AD) yapısı mutlaka aklınıza geliyordur. Basit bir şekilde ifade etmek gerekirse AD üzerinde tanımlı kullanıcılar, gruplar, vb.. merkezi bir yapı üzerinden yönetilirler. Kullanıcı ve grup bilgileri bu merkezi yapı üzerinde saklanır. Eğer aynı AD ile entegre olmuş sistemler varsa, tüm bu sistemlere aynı kullanıcı adı ve şifre ile girilebilir. Bu sistemler üzerinde eğer grup bazlı yetkilendirme yapılmışsa, grup üyelerinin yalnızca AD üzerinde değiştirilmesi tüm sistemlerde senkron bir şekilde etkisini gösterecektir.

Bu yazının ana konusunu oluşturmadığı için AD ile ilgili çok daha detaylı bilgilere MSDN linkinden ulaşabilirsiniz. Bu yazının ana konusunu ise Weblogic yönetim ekranlarının AD ile nasıl entegre edileceği oluşturuyor. Bu entegrasyon sonrası AD kullanıclarıyla ekranlara giriş yapılabilir ve AD grupları seviyesinde de yetkilendirme yapılabilir.

Aşağıdaki adımlar takip edilerek Weblogic için Active Directory entegrasyonu gerçekleştirilebilir;

Weblogic - Active Directory (AD) Integration

Weblogic - Active Directory (AD) IntegrationFazlası...

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