Previous
Next

Weblogic shared library kullanımı

by Cem Kefeli 4. Ekim 2015 10:34

SOAP vs. RESTFULGünümüzde kurumsal birçok uygulama çok katmanlı yapılardan meydana geliyor. Bu çok katmanlı yapılar, uygulamaları artık basit tek bir uygulama olmak yerine, kendi işlerinde özelleşmiş birçok uygulama olmaya yönlendiriyorlar. Örneğin çok katmanlı mimariler veri katmanını, lojik katmanı ve sunum katmanını ayrı ayrı ele alıyor. Durum böyle olunca da aynı işleve sahip farklı uygulamalar zaman zaman aynı işleri yapan kod parçacıkları içermek durumunda kalabiliyorlar. Yazılan kodların modüler olması çok büyük kazanımlar getirdiği için bu yinelenen kod parçacıklarının birer library (kütüphane) olarak yazmak tabiki çok avantajlı. Özellikle de kütüphane boyutları arttığında, bu kütüphanelerin uygulamalar içerisine gömülmesi daha da güç hale geliyor. Yüksek boyutlu kütüphaneler hem uygulamanın deploy edilmesi aşamasında uzun zaman kayıpları oluşturmaktadır hem de uygulamaların yönetilmesini zor kılmaktadırlar. Kütüphaneler genellikle asıl işi yapan kod parçacıkları olduğu için akışta bir değişiklik yapılması durumda uygulamalarda her hangi bir major değişiklik yapılmasına gerek de kalmaz.

Trend Analyzer - Shared Library yapısıWeblogic, kütüphanelerin farklı uygulamalar tarafından paylaşılmasını desteklemektedir. Bu işi yapmak hem uygulama hem de kütüphane tarafında olduça basittir ve kodlama seviyesinde ayrıca bir efor gerektirmez. Kütüphane tarafında yapılması gereken, manifest dosyasında kütüphanenin adı, versiyonu, vb... gibi tanımlayıcı bilgilerin belirtilmesidir. Uygulama tarafında yapılması gereken ise, kütüphane manifest dosyasında belirtildiği gibi uygulamanın hangi kütüphaneyi kullanacağının belirtilmesidir.

Bir süre önce geliştirmiş olduğum Trend Analyzer uygulaması bu şekilde bazı ortak kütüphanelerin kullanılması ile oluşturulmuştur. Bu uygulamadan örnek verecek olursak şekildeki gibi ortak kullanılan kütüphaneleri görebiliriz. Örneğin TA.Core kütüphanesi her üç uygulama tarafından da kullanılmakta, TA.DataLayer kütüphanesi ise Servis ve yönetim panelleri uygulamaları tarafından kullanılmaktadır.

Yalnızca TA.DataLayer kütüphanesini ele alacak olursak, bu kütüphanenin manifest dosyasında aşağıdaki gibi tanımlamalar yapılamsı gerekecektir;

MANIFEST.MF (TA.DataLayer)  |  Gizle  |  Göster
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: Cem Kefeli (cemkefeli.com)
Extension-Name: trendAnalyzer.datalayer
Implementation-Version: 1.0.0
Specification-Version: 1.0

Uygulama tarafında ise weblogic.xml içerisine kullanılması istenen kütüphanenin tanımlayıcı bilgileri verilmelidir. Buradaki versiyon ve kütüphane isimleri birebir olarak kütüphane tanımlamasında yapıldığı şekilde olmalıdır;

weblogic.xml (TA Services)  |  Gizle  |  Göster
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
    .
    .
    <library-ref>
        <library-name>trendAnalyzer.datalayer</library-name>
        <implementation-version>1.0.0</implementation-version>
        <specification-version>1.0</specification-version>
    </library-ref>
    .
    .
</weblogic-web-app>

Weblogic açısından kütüphanelerin deploy edilmesi aşamasında çok farklılık bulunmuyor. Kütüphaneler de uygulamalar nasıl deploy ediliyorsa o şekilde deploy edilmektedir. Fakat dikkat edilmesi gereken en önemli nokta uygulama/kütüphane deployment sırasıdır. İlk önce uygulamaların kullandığı kütüphaneler deploy edilmeli sonrasında ise uygulamalar deploy edilmelidir. Çalışan bir sistemde up&running olan bir uygulamanın kullanıdğı kütüphanenin silinmesine Weblogic izin vermez. Çünkü izin vermesi durumunda aktif uygulamanın kararlılığında ve fonksiyonalitesinde problem oluşacaktır. Nasıl ki ilk önce kütüphaneler deploy ediliyorsa, undeployment aşamasında da tam tersten önce uygulamalar sonra ise kütüphaneler undeploy edilmelidir.

Dikkat edilmesi gereken bir diğer nokta ise uygulama ile kütüphanenin aynı managed server'lar üzerinde deploy edilmiş olmasıdır. Eğer bu koşul sağlanmazsa uygulama, kütüphane tanımını göremeyecektir ve çalışmasında fonksiyonel oalrak problem oluşacaktır.

Aşağıdaki adımlar takip edilerek bir shared library deploy edilebilir;

Weblogic - Shared Libraries

Weblogic - Shared Libraries

Weblogic - Shared Libraries

Weblogic - Shared Libraries

 

Kütüphaneyi hem Management Panel hem de Servis uygulamasına deploy ediyoruz.

 

Weblogic - Shared Libraries

Weblogic - Shared Libraries

Weblogic - Shared Libraries

Weblogic - Shared Libraries

Weblogic - Shared Libraries

 

Deploy edilen kütüphane isminde görülen (1.0, 1.0.0) ifadesi manifest dosyası içerisinde yapılan tanımlamalardan gelmektedir.

 

Etiketler: , , ,
Kategoriler: Makaleler | Makaleler - Middleware

Yorum ekle

biuquote
  • Yorum
  • Canlı önizleme
Loading

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