Weblogic server side-by-side (çalışan bir kod varken, aynı kodun farklı bir versiyonunu deploy etme)  adı verilen son derece faydalı bir deployment seçeneği sağlamaktadır. Bir uygulamanın yeni bir versiyonunu devreye almak ve aynı zamanda eksi versiyondaki uygulamanın çalışır durumda kalmasını istiyorsanız side-by-side deployment tam da sizin aradığınız bir çözüm olacaktır. Eski versiyonu kullanan sessionlar expired olduğunda weblogic bunu anlayarak eski versiyonlu uygulamayı deaktif duruma getirecektir. Aynı anda, yeni versiyona sahip olan uygulama aktif olacak ve tüm yeni sesionlar da bu uygulamaya bağlanacaktır.

Bir uygulamaya versiyon tanımlayıcısı atamak için, uygulamanın bir parçası olan MANIFEST.MF dosyasına sürüm adını veren bir satır ekleyebilirsiniz. Alternatif olarak sürüm adı, dağıtım sırasında weblogic.Deployer komut satırı aracının -appversion argümanı veya WLST komutlarının deploy () ve updateApplication () ‘nin archiveVersion argümanı kullanılarak belirtilebilir.

Eğer aşağıdaki gibi bir manifest dosyasını uygulama içerisine META-INF/MANIFEST.MF dosyası olarak daha ilk deployment aşamasında uygulama versiyonlanmış olacaktır.

cat /u01/deploy/deployversion1/simple/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Class-Path:
Created-By: Bill Bell
Weblogic-Application-Version: v1

Eğer aşağıdaki gibi bir sonraki güncel uygulamada (Yani bu örnek için ‘v2’) versiyon bilgisi değişirse, Weblogic bu durumdan da haberdar olacak ve hem mevcuttaki uygulamanın hem de güncel uygulamanın admin kontrolünde birlikte yaşamasına imkan tanıyacaktır.

cat /u01/deploy/deployversion2/simple/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Class-Path:
Created-By: Bill Bell
Weblogic-Application-Version: v2

Bilinen yöntemlerle bu uygulamanın deploymentı yapılır.

Bu aşamada daha önce karşımıza çıkmayan ‘Archive Version’ etiketi ile de artık karşılaşmış oluyoruz. Weblogic, uygulama içerisine gömmüş olduğumuz manifest dosyası içerisindeki versiyon bilgisini okuyarak uygulamayı versiyonlamış oldu.

 

Aslında versiyon bilgisinin alınması dışında şu aşamaya kadar farklı birşey ile karşılaşmadık. İlgili IP:Port üzerinden uygulamayı çağıracak olursak mavi görüntülü ilk versiyon ile uygulamayı açmış oluruz.

Bu aşamada artık mevcutta var olan uygulamayı yeni versiyon ile update etmeye başlıyoruz.

 

Yeni versiyonu deploy ederken dikkat edilmesi gereken bir önemli nokta eski ve yeni versiyon uygulamaların disk sistemi üzerinde ayrı ayrı path’lerde aynı isimle bulunmalarıdır. Eğer yeni versiyon, mevcut uygulamanın üzerine yazılacak olursa update sonrası rollback imkanımız kalmamış olur ve update özelliğinden faydalanılamaz.

Yeni versiyon algılandı.

 

Tam bu aşamada daha önce görmeye alışık olmadığımız bir görüntü ile karşılaşıyoruz. Aynı hedef (Managed server, cluster, …) üzerinde aynı isimli iki farklı uygulama aynı anda bulunuyor.

 

Test edersek;

Deployment tamamlandıktan kısa bir süre sonra ilk eski versiyonun state’inin artık ‘stop Running’ olarak işaretlendiği görülür.

Artık yeni uygulama ‘Active’ olmuştur. Fakat her iki versiyon da halen ekranda görülmeye devam eder.

Bu aşamada yeni versiyonu yalnızca admin isteklerine açabilir testlerinizi yaptıktan sonra tüm kullanıcıların hizmetine sunabilirsiniz. Ya da eğer testleriniz başarısız olduysa eski pakete dönme imkanınız da halen mevcut. Eski pakete dönülmesi için yapılması gereken yalnızca ilk versyonun kendisi üzerinden update/re-deploy edilmesidir.

NOT: Weblogic server maksimum 2 farklı versiyonu deploy etmenize izin verir.

war dosyalarını indirmek için bağlantıya tıklayabilirsiniz.

Mustafa Bektaş Tepe
İyi Çalışmalar

 794 total views,  2 views today