Bir J2EE Sunucusu kurulumu ve Web Uygulaması Yüklenmesi
j2ee, tomcat, java June 12th, 2007
![]()
Bir J2EE Sunucusu kurulumu ve Web Uygulaması Yüklenmesi
Jasfid’in Java4Nerds kod adlı muhteşem yazısını okudunuz, uyguladınız, fakat Tomcat’i tam bir J2EE sunucusu olarak görmüyorsunuz ve içinizde gerçekten J2EE uygulaması mı yazdım gibi bir şüphe var. Rahat olun J2EE yazdınız. Şimdi ise Java’nın “Bir kere yaz her yerde kullan” felsefesini başka bir J2EE sunucusu ile keşfetmeye geldi.
Kullanacağımız J2EE sunucusu dünyanın en küçük J2EE sunucusu olan Blazix. Blazix 1,5 MB civarı boyutu gerçekten öğrenim aşamasında çok büyük avantajlar sağlıyor. 90 MB’lık bir JBoss sunucusu ya da 65 MB’lık bir JOnAS indirmek yerine Blazix’i indirip kurmak ve ayarlarını yapmak tabii ki daha kolay. E peki neden böyle derseniz Blazix, standartları pek takmıyor, minimum özelliklere destek veriyor ve bolca sorun çıkarıyor.
Manyak Not:
Bu yazı yazıldığı sırada Blazix’in güncel sürümü 1.2.5 idi. Dolayısıyla kurulum aşamaları bu versiyona göre yazılmıştır. Sonra “Yok bende böyle değil” olayı olmasın. Elimizden geldiğince yeni versiyon için güncelleme yaparız.
Bu sürümde, Java 1.2, EJB 1.1, Servlets 2.3, JSP 1.2 ve JMS 1.0.2 tanımlamaları ile uyumlu. Bu biraz eskimiş bir teknoloji demek. Örneğin Jasfid’in yazısında kullandığı NetBeans ile gelen Tomcat 5.5 serisi Java 1.5 altı ile çalışmamakta ve JSP 2.0 desteklemekte.
Kurulum
Download Kısmısı’ndan Blazix’in Windows ya da Unix/Linux sürümünü indirin ki anlatmaya hemen başlayalım. Kurulum aşamalarını anlatırken Windows’tan başlayalım ki Unix’te paketlenmemiş özellikleri daha rahat anlayalım.
Windows
blazix12.exe dosyasını indirdiyseniz çift tıklayın ve gelecek olan pencerede kurulum yeri ve şifreleri girin. Bir sonraki ekranda lisans koşullarını kabul ettikten sonra kurulum işlemi gerçekleşecek. Kurulum başlangıç menüsüne bazı kısayollar oluşturacak. Bu kısayollara kısaca gözatalım:
Blazix Documentation: Blazix yanında gelen başvuru kaynağı. Kısa ve öz olarak yazılmış Blazix’e özel konuların ele alındığı yardım dökümanları.
Blazix EJB Server: Blazix EJB sunucusunu başlatır.
Blazix Web Server: Blazix Web sunucusunu başlatır.
Blizzard EJB Wizard: Veritabanından entity ya da session bean yaratmaya yarar. Bu aracı kullanmayacağız.
I18n Tag Extractor: Blazix’in uluslarasılaştırma (U16A :)) desteği ile ilgili bir araç.
JMS Manager: Blazix’in Java Mesajlaşma Servisi içinde Kuyruk (Queue) ya da Konu (Topic) ayarları yapmaya yarar.
Server Administration: Blazix EJB ve Web Sunucularini kontrol etmemize yarayan yönetim aracı.
Uninstall Blazix: İşimiz bittiğinde Blazix’ten kurtulmamızı sağlayan kısayol.
Web Archive Packer: Uygulamanızın bulunduğu dizinden war dosyası ve ona ait web.xml dosyası oluşturma aracı.
Bir dikkat etmemiz gereken konu da Blazix’in javac.exe yi direk çalıştırabiliyor olması. Bunun için bir command prompt açın ve javac yazın. Eğer komut bulunamadı gibi bir hata alıyorsanız javac’ı PATH’e eklemeniz gerekiyor demektir. Sistem javac komutunu bulduysa karşınıza kullanılan parametrelerin bir listesi gelecektir.
Unix(Linux)
blazix12.tar ise Unix tabanlı sistemler için indirilmesi gereken dosya adı.
Manyak Not:
İsimden de farkedeceğiniz gibi program o kadar küçük ki üretici firmanın, programı bir “zip”leyelim ya da “bz2″leyelim gibi bir derdi olmamış. Şahsi merak sonucu WinRAR ile ziplediğim bu boyutun 1,1 MB’a yaklaştığını gördüm; bz2′nin de daha iyi bir sıkıştırma sağladığı düşünülürse 1 MB’a kadar inebilirdi.
Kurulum için aşağıdaki komutu çalıştırıyoruz; bu komut tar dosyasını /usr/local dizinine açması gerektiğini beliritiyor. Tabii ki oraya yazabilmek için root olmamız gerekiyor:
tar xvf blazix12.tar -C /usr/local
Manyak Not:
tar komutu nedir ilim irfan yapayım kendime derseniz “man tar” komutunu çağırabilirsiniz. Kendisi bence Linux dünyasının en güzel komutudur. Söylemeden geçemeyeceğim.
Windows kurulumu yaptığımız sırada ayar dosyalarındaki bazı değerler otomatik olarak veriliyordu. Ne yazık ki Unix için indirdiğimiz kurulum dosyasını elle açtığımız için bu tip ayarlar yapılamamış oldu. Bunları yapmak için web.ini ve ejb.ini dosyaları içinde
{installation-directory}
gördüğümüz yerlere kurulum yerini yazmamız gerekiyor.
Unix’te eksik olan başka bir özellik ise işlevsellik kısayolları. Bunlar için Windows sürümünde bat dosyaları bulunurken Unix için karşılığı olan kabuk dosyaları yok, yerlerine kullanılacak komutlar ise dökümantasyonda işaret edilmiş. Kısaca bunlardan bahsedelim:
Blazix Documentation: /usr/local/blazix/docs/Index.html
Blazix EJB Server: java desisoft.ejb.server.EjbServer
Blazix Web Server: java desisoft.server.ServerMain
Blizzard EJB Wizard: java desisoft.ejbtools.blizzard.Blizzard
I18n Tag Extractor: java desisoft.tools.i18n.Xltagext
JMS Manager: java desisoft.jms.manager.JmsManager
Server Administration: java desisoft.blazixui.BlazixUi
Uninstall Blazix: Oluşan dizini silmemiz yeterli rm -rf /usr/local/blazix
Web Archive Packer: java desisoft.tools.blxpack.BlxPacker
Kurulum aşamalarını tamamladığımıza göre artık ilk web uygulamamızı hayata geçirebiliriz.
Proje ayarları ve yükleme
Web uygulaması proje dosyalarını indirin. Rar ile açtıktan sonra NetBeans’in bizim için hazırladığı dist içindeki war dosyasını herhangi bir yere(örneğin /usr/local/blazix/NerdWeb.war) kopyalayın. Aşağıdaki satırları /usr/local/blazix/web.ini içine en alta yazın
application.name: NerdWeb
application.NerdWeb.url: /NerdWeb
application.NerdWeb.jarFile: /usr/local/blazix/NerdWeb.war
İşte yapmamız gereken bütün ayarlama işlemi bundan ibaret. Unutmayalım ki çok büyük projelerde Sun rol tanımları yapıyor. Bunlardan biri “application developer”, yani war dosyasını oluşturacak (”context.xml” ya da “jboss-web.xml” gibi deployment descriptor dışındaki) herşeyi yazan kişiler ve “application developer” yani o war dosyasının bir sunucuda çalışması için kurulum yapan kişi. Bu muhteşem projemizde jasfid “application developer”, ben ise “application deployer” rolleri kestik.
Daha önce de belirttiğimiz gibi Blazix Sun tarafından yazılmış Java belirtimlerine tam bir uygunluk göstermiyor. Normalde WEB-INF/classes içindeki sınıfların Web uygulamamız tarafından görülebilmesi gerekirdi. Blazix ise bu şekilde çalışmıyor, burada bulunan sınıfların kurulum dizini altındaki classes dizini içinde bulunmasını istiyor. Bunun nedeni her Web uygulaması için ayrı bir sınıf yükleyici kullanmaması. Bu güvenlik açısından sorun yaratıyor olsa da bizim için şu anda bir önemi yok. Bunun yanında “Bir kere yaz her yerde kullan” felsefemizi de etkilemiyor çünkü yeniden program yazımı ile uğraşmıyoruz.
JavaNerd.war dosyası içinden WEB-INF/classes altındaki org folderını Blazix/classes’ın altına kopyalıyoruz.
Deneme
Sunucumuzu açıyoruz. Windows için “Blazix Web Server” bağlantısını tıklamamız ya da Unix için şunu yazmamız yeterli:
java desisoft.server.ServerMain
Sunucumuz açıldıktan sonra bir web tarayıcısı yardımıyla uygulamamızı kontrol ediyoruz.
Sonuç
Java’nın 10 yıl önceki ilk gününden bugüne kadar tasarımının her aşamasında özen gösterilmiş olan “Bir kere yaz her yerde çalıştır” felsefesinin web uygulamaları kısmına değindik. Bu kadarı bile bu felsefenin ne kadar doğru olduğunu kanıtlamaya yeterli. Hazırlanmış bir web uygulamasının hiçbir değişiklik yapılmadan değişik sunucular üzerinde çalışması hem zaman kazandırır, hem de sunucu yazılımı yetersiz geldiği anda değiştirebilme imkanı tanır. Üreticiler her an müşterilerini kaybetme korkusu yaşar ve ürünlerini daima daha iyi yapmaya gayret ederler.
Hepimize afiyet olsun
Social Bookmarking