Category Archives: J2EE

Axis2.war 1.4.1 Deployment Sorunu

Merhaba;
Axis2 ‘nin 1.4.1 versiyonuna ait war uygulamasını JBoss ‘a deploy ederken aşağıdaki gibi bir hata mesajı alabilirsiniz.

axis2

[Utils] Exception extracting jars into temporary directory : java.io.FileNotFoundException: —–\JBoss\server\default\.\deploy\axis2.war\WEB-INF (Access is denied) : switching to alternate class loading mechanism[JAXWSDeployer] Deploying Exception Occured with java.io.FileNotFoundException:—\JBoss\server\default\.\deploy\axis2.war\WEB-INF (Access is denied)java.lang.RuntimeException: java.io.FileNotFoundException: —\JBoss\server\default\.\deploy\axis2.war\WEB-INF (Access is denied)at org.apache.axis2.deployment.util.Utils.findLibJars(Utils.java:870)at org.apache.axis2.deployment.util.Utils.createClassLoader(Utils.java:918)
at org.apache.axis2.jaxws.framework.JAXWSDeployer.deployServicesInWAR

Bu hata yüzünden bir müddet 1.3 versiyonu ile yolumuza devam etmek durumunda kalmıştık fakat 1.4.1 ile gelen yeni özelliklere ihtiyaç duyunca sorunun üzerien gitmek kaçınılmaz oldu.

Sorunu çözmek için:
axis2.war\WEB-INF\conf dizinindeki axis2.xml konfigürasyon dosyasında yer alan aşağıdaki satırı silebilir veya comment- out edebilirsiniz.

<deployer extension=”.jar” directory=”servicejars” class=”org.apache.axis2.jaxws.framework.JAXWSDeployer”/>

İyi çalışmalar.

Keyifli Bir J2EE Eğitimi

Yeniden Merhaba;

Melih Sakarya 26 Haziran 2009 tarihinden başlayarak toplam 72 saat sürecek keyifli bir

J2EE eğitimi veriyor. Eğitimin içeriğinde JSF, EJB, JPA,SEAM gibi J2EE uygulamalarında önemli bir yere sahip API ‘ler var.

Eğitim ile ilgili detaylara ve başlıklara http://www.mergecons.com/JSF-EJB-JPA-Seam.pdf adresinden ulaşabilirsiniz.

Hazır konu eğitime gelmişken bugün üye olduğum mail gruplarından birine gelen  eleştireye de burada değinmek istiyorum. Eleştiriyi yapan arkadaş bu tip eğitimlerin bu kadar zengin bir içeriği  bu kadarlık bir zaman diliminde öğretemeyeceğini , bahsi geçen API ‘lerin dokümantasyonlarının kaçar sayfa olduğunu örnek göstererek söylemiş.

Eğer olaya uzun yıllar bu teknolojileri kullanarak deneyim kazanan birinin tüm deneyimini bu kadarlık bir zamanda aktarması olarak bakarsak… Evet bu mümkün değil. Yani bu tip beklentiyle eğitime katılınmamalı. Burada asıl amaç yoğun iş temposu nedeniyle yanımızdan hızla geçen teknoloji trenine bir yerden tutunmak ve bu teknolojiler hakkında bilgi sahibi olabilmek. En azından hangi teknolojiyi ne tip bir uygulamada kullanacağınızı bilirseniz zamanınızı karar vermekle değil, kullanacağınız teknolojinin detaylarını öğrenmekle harcarsınız. O nedenle bu tip eğitimlerin özellikle de çalışan kesim için çok faydalı olduğunu düşünüyorum.

Zaten her eğitmen eğitimin başında başarının katılımcıların eğitimden sonra yaptıklarına bağlı olduğunu belirtir. Yani katılımcılar öğrendiklerini bir şekilde uygulama fırsatı bulup kullanırlarsa eğitimin faydasını işte o zaman görmüş olurlar. Aksi halde öğrenilen herşey birer anı olarak kalacaktır…

Sağlıcakla kalın.

SQL SERVER JDBC DRIVER 1.2 CTP

Geçtiğimiz ay Microsoft SQL Server için Type 4 özelliklerini sağlayan yeni JDBC sürücüsünün 1.2 sürümünü yayınladı. Yayınlanan bu sürücü hem SQL Server 2005 hem de 2000 sürümüyle uyumlu olarak çalışabilen bu yeni sürücü JDBC 3.0 spesifikasyonunyla tamamen uyumlu olarak hazırlanmış.

Sürücünün Type 4 özelliklerini sağlaması performans konusunda ciddi avantajlar getirecektir. Pure Java Driver yada Thin Driver denilen bu tipteki sürücüler istemcilerden (yazdığımız Java uygulamalarından) gelen JDBC çağrılarını DBMS ‘in anlayacağı şekilde network çağrılarına çevirerek veritabanına doğrudan erişim sağlar. Arada database middleware olmadığı için de diğer sürücülere göre daha hızlı çalışır. (Ne kadar az katman o kadar çok performans) Özellikle intranet uygulamalarında bu tip bir sürücüyü tercih etmek avantajlı olacaktır diye düşünüyorum.(Tabi ne kadar az katman o kadar az kontrol ?? Ondan ötürü kullanım öncesi iyi bir analiz şart.)

Bu sürücü ile uygulama geliştirmek için JDK 1.4 veya daha ileri bir sürümünün makinanızda kurulu olması gerekiyor. Yapılan açıklamalara göre BEA WebLogic, IBM WebSphere, JBoss, and SunBu gibi uygulama sunucuları ile sürücünün sorunsuzca çalıştığı görülmüş. Ama her Microsoft ürününe olduğu gibi bu sürücüye de şüpheyle yaklaşıp kendim de denedim ve ben de SQL Server 2005 Enterprise Edition üzerinde önceden yazdığım ufak uygulamayı sorunsuzca çalıştırdım . Fakat bu herşeyin yolunda olduğu anlamına gelmiyor elbette. Bu adresteki gibi stored proc. içerisinde geçici tablo kullandıklarında sorun yaşayanlar da var. (Final sürümüne ulaşmadan kritik uygulamalarda Mcirosoft ürünlerini kullanmayı Microsoft çalışanları da tavsiye etmiyorlar.)

Bu ücretsiz sürücü ile sağlanan Adaptive Buffering ve SSL Encription gibi özelliklerden uygulamalarınızda faydalanmak isterseniz mutlaka bir test sürüşü yapmalısınız. Adaptive Buffering özelliği sayesinde büyük boyutlu verilerle yaşadığınız performans darboğazlarını aşabilme şansınız var.

Aslında JDBC Type 4 sürücülere çoğumuz büyük umutlar bağlamıştık ama nedense DBMS üreticileri bu konuda beklenen çevikliği gösteremediler. Fakat Microsoft herkesten hızlı davranıp Type 4 sürücüsünü herkesten önce çıkarmıştı. Hatta JDBC-TR mail grubunda bunun önemli bir şirket stratejisi olduğunu daha doğru güzel bir Microsoft Uyanıklığı örneği olduğunu konuşmuştuk.

Yazının sonuna Type 4 sürücülerle ilgili iki tane kısa ve öz yazıyı ekledim. Özellikle de devx.com ‘daki yazıya göz atmanız sürücü seçimi sırasında doğru kararı almanızda faydalı olacaktır.

Şimdilik benden bu kadar. Yaşadığım bir dolu aksilikten sonra blogumu güncellemeye kaldığım yerden devam ediyorum. İlerleyen zamanlarda özellikle de üzerinde çalıştığım Test Driven Development ve Unit Testing konularında keyifli paylaşımlarda bulunmaya çalışacağım.

Types of JDBC technology drivers
JDBC Drivers: How Do You Know What You Need?
Microsoft SQL Server 2005 JDBC Driver 1.2 Community Technology Preview August 2007

KARİYERİNİZE TURKCELL ‘DE YÖN VERMEYE NE DERSİNİZ?

turkcell_oracle1.jpgDaha önce blogumda IBM ve Microsoft ‘taki yaz okulu ve staj çalışmalarından bahsetmiş ve bunların önemini vurgulamıştım. Bu sırada çok önemli bir çalışmayı atladığımı fark ettim ve geç de olsa yolun başındaki arkadaşlara yol göstermesi açısından bu konuyu bloguma taşımaya karar verdim.
Turkcell ‘de son senelerde yoğun bir emek harcanarak R&D Software Development ekibine stajyer arkadaşlar alınıp , eğitilerek kariyerlerinde önemli bir adım atmaları sağlanıyor.

Eğer bu süreci yeterince iyi bir şekilde değerlendirirseniz kariyerinize Turkcell ‘de devam etme şansınız da var. Şöyleki staj döneminden sonra part-time çalışma şansına ardından da okul bitiminde full-time çalışma şansına sahip olabilirsiniz.

Her yılın Temmuz ayında başlayan ve Eylül ayının sonunda biten 3 aylık bir süreci kapsıyor bu staj dönemi. Burada 3 ay staj yapmak zorunlu. Yani yoğun ve ciddi bir staj dönemine hazırlıklı olun. Elbette bu dönem sonunda da kolay kolay hiçbir yerde elde edemeyeceğiniz bir bilgi birikimine sahip oluyorsunuz.

Staj döneminiz Turkcell ‘in kullandığı teknolojilere bağlı olarak Oracle ve Java ağırlı bir çalışma dönemini kapsıyor. Bu konularda üç aylık bir dönemi kapsayan teori ve uygulamayı birarada bulabileceğiniz bir staj dönemi geçiriyorsunuz. Burada Turkcell ve Oracle kelimelerini yanyana görmek sizlere birisini çağrıştırdı mı?

Evet bildiniz Hasan Tonguç YILMAZ. Eğer bu staj sürecine dahil olursanız Hasan Tonguç YILMAZ ile birlikte çalışma ve kendisinin deneyimlerinden faydalanma şansına da sahip olacaksınız. Kendisini tanıyanlar ve blogunu takip edenler Tonguç Abi ‘nin engin Oracle bilgisini sadece kendi işi için kullanmayıp etrafındaki kişilere çeşitli yollarla (forumlar,e-mail grupları , blog yazıları vb. ) paylaştığını bilirler. (O nedenle benim gözümde pek çok Oracle uzmanından daha değerlidir.)

Burada en önemli nokta paylaşımın ve iletişimin staj döneminden sonra da devam etmesi. Açıkcası benim öğrenciyken en çok imrendiğim ve başımı taşlara vurmama sebep olan nokta bu olmuştu. (Tonuguç Abi ‘nin Oracle Cost-Based Optimization çalıştayında stajyerlerine ne kadar çok değer verdiğini ve ne kadar çok şey kattığını görünce kıskanmadım desem yalan olur.)

Yazının başında da belirttiğim gibi şu anda staj süreci sürüyor. Bir sonraki alımlar seneye yapılacak ama şimdiden hazırlık yapmakta fayda var. Bu blog yazısına özel bir kaç da tüyo vereyim. Eğer Turkcell ‘deki bu staj sürecine kabul edilmek istiyorsanız önünüzdeki bu eğitim öğretim yılını çok iyi değerlendirin ve SQL, PL/SQL, APEX, JAVA konularına ağrılık verin. Bu noktada yapabileceğiniz en faydalı şey ara projenizi veya diğer derslerden aldığınız projeleri bu teknolojileri kullanarak gerçekleştirmek olacaktır.

Bu teknolojilerle ilgili olarak Oracle ‘ın sitesinde fazlasıyla kaynak mevcut. Ama ben yine de APEX (Application Express) ile yeni tanışacak olanların bu yazıya ve Oracle ile yeni tanışacak olanların da bu yazıya bakmalarını önereceğim. Turkcell ‘deki bu staj süreci ile ilgili olarak Hasan Tonguç Yılmaz ‘ın blogunda yazdığı bu yazıya bakmak da faydalı olacaktır. Yine aynı şekilde staj süreci hakkında bilgi alabileceğiniz diğer bir kaynak da şu anda hala stajyer olarak Turkcell ‘de bulunan Bilal Hatipoğlu ‘nun Blogu. Bilal gerçekten de çok yalın ve anlaşılır bir dille bu süreci ve öğrendiklerini bloguna taşımış. (Bu güzel paylaşımından ötürü Bilal ‘i tebrik ediyorum.)

Umarım bu blog yazısı öğrenci arkadaşlar için motive edici ve yol gösterici olur. Bu yıl içerisinde gereken çabayı gösterip yazıda bahsi geçen teknolojilere odaklanarak seneye siz de Turkcell ‘de stajyer olmaya ve kariyerinize yön vermeye ne dersiniz?