BEN GEÇERKEN… [A Blog by İBRAHİM DEMİR ]
İBRAHİM DEMİR’ İN RESMİ WEB SİTESİ
İBRAHİM DEMİR’ İN RESMİ WEB SİTESİ
Jul 1st
Merhabalar;
Axis2 web uygulaması ile birlikte sunucu ve istemci arasındaki SOAP mesajlarını izlemeniz ve neler olup bittiğini görebilmeniz için SOAPMonitor uygulaması daha doğrusu modülü geliyor.
Elbetteki SOAP mesajlarını izlemenin tek yolu bu araç değil. İnternette bu iş için pek çok uygulama bulabilirsiniz hatta Ecplispe J2EE versiyonuyla gelen TCP/IP Monitor ‘den de faydalanabilirsiniz. Fakat söz konusu uygulama sunucuları olunca stand-alone bir java uygulaması çalıştırmak yerine web arayüzü üzerinden herkesin erişebileceği bir uygulama haliyle tercih sabebi oluyor.
Axis2 de beraberinde SOAPMonitor’un applet versiyonuyla geliyor fakat bu applet uygulmasını çalıştırmak için ufak bir değişiklik yapmanız gerekli. Her ne kadar bu adreste yazılanları harfiyen yapsam da bir süre aşağıdaki hata mesajıyla boğuştum.
java.lang.ClassNotFoundException: org.apache.axis2.soapmonitor.applet.SOAPMonitorApplet.class
Uygulama sunucumun classpathinde ilgili sınıfın yüklendiğini kontrol etmeme rağmen applet uygulamasını bir türlü çalıştıramamıştım. Okuduğum yazılar sonucunda appletin çalışması için gerekli sınıfları axis2.war uygulamasının içinde o dizin senin bu dizin benim diyerek dolaştırdım ama bir türlü sonuç alamadım. Tabi en basit yer aklıma gelmemişti…
Sınıfları war uygulamasının ana dizinine ekleyince hiçbir sorun kalmadı. Siz de ekteki zip doyasını axis2.war dizinine açtıktan sonra SoapMonitor hizmetinizde olacaktır.
axis2.war\org\apache\axis2\soapmonitor\applet\*.class şeklinde bir hiyerarşiyle açmış olmanız lazım.
Daha sonra da uygulama sunucunuzu ayağa kaldırıp aşağıdaki adresten SoapMonitor uygulamasına erişebilirsiniz.
http://localhost:8080/axis2/SOAPMonitor (8080: uygulama sunucusunun çalıştığı port)
SoapMonitor kurulumu işte bu kadar. Ne şekilde kullanılacağı ve hangi durumlarda hayat kurtarıcı olacağını da ayrı bir yazı ile anlatmayı planlıyorum.
Sağlıcakla kalın.
Jun 18th
Merhaba;
Axis2 ‘nin 1.4.1 versiyonuna ait war uygulamasını JBoss ‘a deploy ederken aşağıdaki gibi bir hata mesajı alabilirsiniz.

[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.
Jun 7th
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.
May 28th
Uzun zamandır sahipsiz bıraktığım blogumda askere gidene kadar tips&tricks tarzında kısa ipuçları paylaşmaya karar verdim. Artık zaten trend micro-blogging yönüne doğru kaymaya başladı. Uzun blog yazıları yerlerini kısa ve öz başlıklarına bıraktı. Ben de o nedenle sağ taraftaki alana twitter üzerinden paylaştıklarımı da ekledim.
Başlığa konu olan sorun ise jasper-reports kaynak kodlarını makinama alıp beraberinde gelen build.xml ile jar dosyalarını oluştururken başıma geldi.
Tam hata mesajı şu şekilde:
org.apache.bcel.generic.ClassGenException: Illegal opcode detected
İnternet üzerinde arayınca pek birşey bulamadım ve ofis arkadaşımın önerisiyle işletim sisteminin bölge ve dil ayarlarını değiştirdim.Bölge ve dil tanımlarınızı kontrol panel üzerinden Türkçe’den İngilizce’ye çevirince hata mesajı ortadan kalkacaktır.
Aynı sorun pek çok kod üretici de mevcut malesef. Java ile çalışanların aklında daima bu ayarı değiştirmek (veya kontrol etmek) bulunmalı.
Kolay gelsin..
Nov 23rd
Merhaba;
Uzun bir aranın ardından tekrar blog yazmaya çalışıyorum. Zaten cümleleri kurmakta yaşadığım zorluk ne kadar uzun zamandır blog yazmadığımı yüzüme vuruyor. Bakalım becerebilecke miyim?
Geçtiğimz hafta izlediğim ve çok beğendiğim bir video linkini paylaşmak istiyorum. “Atlassian Core Values” . Videoda Atlassian firmasının ne şekilde çalıştığını ve hangi değerleri baz aldıklarını görebilirsiniz.
Genelde bu gibi videoları izleyenlerde 2 tür fikir belirir:
1-Yok böyle birşey. Sırf video çekiliyor diye böyle bir ortam yapıp dümenden “Çok Mutlu, Çok Dürüst ve Arkadaş Canlısı” bir ortam oluşturuyorlar.
2- Vay beee. Türkiye ‘de ne mümkün. Gelin de bizim şirketin haline bakın. Keşke olsa da yesek…
(Sizde bunların dışında bir düşünce belirdiyse yazıya yorum olarak ekleyebilirsiniz.)
Ama şunu söyleyebilirim ki ufak bir Youtube ve Google araması ile Atlassian firması hakkında pek çok eğlenceli videoya ulaşabilirsiniz.
Atlassian ürünlerini yoğun olarak iş hayatımda kullanıyorum. Her ofis çalışanı gibi “Milliyet.com.tr” adresini açtıktan sonra şirketimize ait JIRA ve CONFLUENCE sayfalarını açıyorum. Bu ürünleri kullanmayı alışkanlık haline getirirseniz zaten vazgeçme gibi bir lüksünüz kalmıyor. Tabi alışkanlık haline getirmek , getirtmek biraz aman alıyor. (Bknz: Yeni Müşteriler) .
Ürünlerin başarısı zaten ortada. Dünyada kullanan firmalara bakarsanız, yada Open-Source bir ürünle ilgili bir hataya denk geldiyseniz er geç aramanızda bir Jira Issue sayfasına düşersiniz. Ve zaman içerisinde ürünlere kazandırılan özellikleri de göz önüne alırsak firma çok iyi bir şekilde ilerliyor diyebiliriz.
Bu başarının arkasında doğru zihniyet, iyi niyet ve düzgün çalışma koşulları olduğuna innaıyorum ben. Çalıştığınız ortamın fiziksel koşulları, aydınlatması, havalandırması, sıcaklığı, gürültü seviyesi yazılım gibi yüksek konstrasyon gerektiren işlerde çok önemli. Bunun yanına ortamın psikolojik rahatlığı da eklemek gerekir. Çalışana güvenmek, sorunmluluk vermek, tek hayatının işi olmadığını kabullenmek, gaza getirip iş yüklemekle motive etmek arasındaki çizgiyi bilmek bu başarının kriterlerinden olsa gerek.
Tabi video içerisinde geçen DFTC (Value 3) kavramı var ki başlı başına bir blog yazısı olur. İşimizi böyle yapabilecek olgunluğa ne zaman sahip oluruz bilemiyorum. Ama üstlerimizin, yöneticilerimizin yaklaşımının bizi büyük ölçüde etkisi altına aldığıortada. Yani üst taraf müşteri memnuniyetini (görsel değil gerçek memnuniyet) ne akdar önemserse alt taraf da işini o kadar iyi yapma sorumluluğunu üzerinde hisseder. Ama biz de genelde işporta usulü ürünü satana kadar “Beyim,ağam,paşam” sonra da çantayı al ve kaç yaklaşımı hakim.. (Aksini görenler güzel örnekler verip içimizi açabilirler.)
Belki bizler de uygulama geliştiricilerimize bu imkanları sağlarsak ve yönetim tarafında daha olgun bir zihniyetle çalışırsak bir gün Atlassian gibi firmalar çıkarabiliriz..
Mutlu pazarlar…
Jun 13th
Bu sektörde olup da herhangi bir e-posta grubuna üye olmayanınız yoktur sanırım. Nice umutlarla üye olup sonra da mesajlar arasında kaybolduğum e-posta gruplarının haddi hesabı yok. Hatta bazı gruplarda moderatörlük yaptığım için bu gibi ortamların amaçları dışında kullanımına pek çok kez şahit oldum.
Sorulan ciddi sorular cevap bulamazken , kişilere yönelik atışmalar günlerce durmak bilmiyor. Yada ortaya atılan saçma sapan bir kod bloğu insaların günlerine mal olabiliyor. Hoş ortaya kod bloğu atılmasında sorun yok ama verilen cevaplar bir süre sonra asıl sorunun unutulduğu yönünde bir izlenim bırakıyor.
Tüm bunlara rağmen takip ettiğim ve TDD (Test Driven Development) hakkında çok güzel şeyler öğrendiğim JUnit e-posta grubu var. Geçtiğimiz günlerde belirli aralıklarla yayınlanan JUNit Etiquette yine yayınlandı. Bakın bir e-posta grubunda olmaması gerekenleri ne şekilde ifade etmişler:
Around here, we love testing. Not only do we love testing, we love to
discuss any and all aspects of testing, often with enthusiasm and
passion. This is good, This is the reason that this mailing list
exists. On top of all this, we are very keen to help others understand
this strange affliction we have; medical name “testus infectus”,
better known as being test infected. We love to answer questions and
help those new to the joy move further down the road towards test
enlightenment. In the classic spirit of hospitality, our list is your
list, our test cases are your test cases. Please make yourself at home
and enjoy the journey.
That said, there are some things that we don’t love, so sit tight and listen up.
We don’t love people who haven’t, or won’t, read the JUnit Frequently
Asked Questions (FAQ) document, lovingly maintained by Mike Clark or
the “Smart Questions” document written and maintained by Eric S.
Raymond. Here are the links, go forth and read …
http://junit.sourceforge.net/doc/faq/faq.htm
http://www.catb.org/~esr/faqs/smart-questions.html
We don’t love people who think that we’ll do their homework
assignments for them. Back when I was a lad, we didn’t have the
Internet and we had to do our own homework assignments without the aid
of all the knowledge and information that you have available to you
today. (And yes, now that you ask, I did walk uphill both ways to
school through the snow.)
We don’t love people who are incapable of using a search engine, but
are yet somehow capable of signing up onto this mailing list so that
they can ask questions that ten seconds of searching would reveal the
answer to. Learn how to use a search engine. Around here, Google seems
quite popular. Here’s a link; learn to love it and use it.
We don’t love job postings. We do love having jobs (or at least, we
like the pay) and we do like to look at job postings, but we like to
look at them in more logical places like job websites. So, please
don’t be upset when a moderator deletes your carefully worded prose
describing yet another testing job.
We don’t love thread hijacking. That’s when you start a different
subject by replying to a previous conversation and not even changing
the subject line. We like to discuss a variety of subjects, so please
feel free to be inspired to ask side-questions during ongoing
conversations. Just do so by starting a fresh thread with a unique
subject line.
Lastly, we don’t love people who whine, moan and generally sound like
petulant children after they’ve been told that they have violated one
of the “laws of the land” around here. It’s a big old Internet; feel
free to take your questions and/or tantrums somewhere else if you
don’t like the way we do things around here.
Özetle bizdeki e-posta grupları için de bu tür bir uyarı yazısı lazım… Tabi okuyan ve uyan olursa…
(Bloguma gönderdiğim postlar yüzünden hayrete düşen eşin dostun hayretlerini ve “Aaa İbrahim hangi dağda kurt öldü ” şeklindeki şaşkınlık ifadelerini gizlemelerini rica ediyorum
)
Feb 25th
Bu yazı ile sizleri üyesi olduğum Konfigürasyon ve Değişiklik Yönetimi Yahoo Grubu ‘ndan haberdar etmek istedim.
Özellikle iş hayatının içine girince gördüm ki kod yazmanın yanı sıra bu kodları çekip çevirmek ve yüzlerce uygulama geliştiricinin havuza eklediği kodlardan ortaya bir ürün çıkarmak ayrı bir yetenek. Hatta işi o boyuta götürmeden yazdığımız ufacık kodları kendi makinamızda çekip çevirmek bile bir sanat oldu. (2 kişi proje yaparken aynı proje dizinini network üzerinde paylaştığım günler geldi aklıma
) Read the rest of this entry »
Recent Comments