Askere gittim.Gelicem.

BAYRAK VE ASKER Nihayet askere gitme vakti geldi.  Dün açıklanan sonuçlardan sonra Diyarbakır 7. Kolordu Komutanlığı ‘nda kısa dönem er olarak askerliğimi yağacağımı öğrendim.

Bir süre bloguma birşeyler yazamayacağım. (Zaten iş nedeniyle yazacak vakit de bulamıyordum.) Dönüş için aklımda yepyeni bir blog projesi var. Muhtemelen birden çok yazar olacak bu defaki projede.

Bugüne kadar blogumu takip eden,soru soran, yorum yapan herkese çok teşekkür ediyorum. Dönüşte daha iyi bir içerikle görüşmek üzere. Sağlıcakla kalın, kendinize iyi bakın.

(Buradan bekleyenime de selam olsun …)

Axis2 SoapMonitor Kurulum Sorunu

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.applet

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)
final_working

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.

soapmonitor.zip

Windows 7 Seminerleri

Sizlerle 11 Temmuz’da Microsoft İstanbul ofisinde gerçekleştirilecek olan Windows 7 seminerlerini paylaşmak istiyorum. Birbirine paralel oturumlar halinde gerçekleştirilecek olan seminerlerin konu başlıkları şöyle :

BT Uzmanlarıwindows7

10.00-10.30 Windows 7′ye Genel Bakış, Sürümler, Language Packs
10.45-11.30 DirectAccess
11.45-12.30 Applocker
13.30-14.00 BitLocker & BitLocker To Go
14.15-14.45 Problem Steps Recorder & UAC Enhancements
15.00-15.30 Search Federation
15.45-16.15 BranchCache
16.30.17.00 Windows XP Mode

Yazılım Geliştiriciler

10.00-11.00 MultiTouch ve Ink Uygulamaları Geliştirmek
11.15-12.30 Ribbon kontrolünü nasıl kullanırız?
13.30-14.30 Sensor ve Location API’ları nasıl kullanılır?
14.45-15.15 Uygulama uyumluluğu
15.15-16.00 Taskbar ile gelen yenilikler
16.15-17.00 XPS ve Doküman yazdırma yenilikleri

Daron Yöndem, Baki Onur Okutucu, Burak Selim Şenyurt, Mesut Aladağ ve Muammer Benzeş ‘in de konuşmacı olacağı etkinlikte benim ilgilimi BT Uzmanları başlığı altındaki seminerler çekti.
Windows 7 ‘ye özel yazılım geliştirmekten şimdilik uzak olsam da işletim sistemi olarak kullanma planları içerisindeyim.
Windows 7 hakkında bugüne kadar okuduklarım, duyduğum olumlu eleştiriler ve izlediğim keyif verici videolar Windows 7 ‘ye geçiş konusundaki hantallığı üzerimden aldı desem yeridir.

www.inetatr.org adresinden kayıt olarak seminere gelebilirsiniz.
Ulaşım için de buradaki harita faydalı olacaktır.

Seminerde görüşmek üzere…

Organik Yazılım Söyleşisi

Geçtiğimiz cumartesi günü Daron Yöndem‘ in blogu aracılığıyla haberdar olduğum Organik Yazılım Semineri ‘ne katıldım. Her ne kadar evden çıkış amacım 10 otorumluk bir seminere katılmak olsa da Yıldız Teknik Üniversitesi ‘nde yaşanan elektirik fuji_1_kesintisinden dolayı kendimi bir anda açık havada yapılan bir söyleşinin ortasında buldum.  Okulumuzun orta bahçesinden sandalyeleri birleştirmek suretiyle oluşturduğumuz söyleşi alanında Kerem Küsmezer ‘in konusu olan “Açık Kaynak Lisanslama Modelleri” üzerine bir söyleşi gerçekleştirdik.
Aslında konu sadece açık kaynak lisanlama modelleriyle kalmadı. Open Source iş modellerinden tutun da ulusal işletim sistemi-Windows tartışmalarına kadar geniş bir alana yayıldı. Öğlene kadar söyleşinin ardından birlikte yediğimiz öğle yemeği ve akabininde gelen mini söyleşilerle günü tamamladık. (En azından tamamlamış görünüp ekibi küçülterek Taksimde soluğu aldık)

Benim adıma tekrardan üniversite öğrencileriyle bir araya gelmek , iş hayatı içerisinde kaybettiğimi hissettğim heyecanı karşımdaki insalarda görmek ve okulumu ziyaret etmek çok keyif vericiydi. Bugünden geriye aklımda bazı notlar kaldı. Onları da maddeler halinde sizlerle paylaşmak istiyorum. Bu notlar tamamen o gün konuşulanlardan sonra altını çizmek istediğim ve şahsıma ait görüşlerdir. (Farklı görüşleri de duymak isterim elbette)

  • Açık kaynak kodlu bir proje yapmak sadece bu kaynak kodları insanlarla paylaşmak değildir. Eğer yaptığımız projenin gelişmesini ve kendi tekelimizden çıkarak herkesin birlikte geliştirebileceği bir proje halini almasını istiyorsak insanlara değişiklileri ve çalışmaları takip edecekleri (bugzilla,jira gibi) , kodlara erişip değişebilecekleri (SVN,CVS gibi) ve görüş alışverişinde bulunabilecekleri (wiki,e-posta grubu gibi) ortamlar da sağlamalıyız. (Zipleyip download linki koymak çok da açık kaynaklı bir hareket olmuyor özetle :) )
  • Her açık kaynak proje başarılı olacaktır diye bir kural asla yoktur. Başarısız olanlar zaten zaman içerisinde açık kaynak topluluklarının desteğini kaybederek yerlerini aynı alanda yeni projelere bırakırlar. O nedenle bugün X ihtiyacınız için kullandığınız açık kaynak kodlu bir projede Y ihtiyacınız oluştuğunda onu giderecek birilerini bulamayabilirsiniz. (Herşeyi devletten beklememek lazım) Ve bunu da proje riskleri arasına dahil etmek gerekir.
  • Bir ürün veya fikri açık kaynak kodlu hale getirerek para kazanma niyetindeyseniz mutlaka bu fikir etrafında belirli bir iş modeli oluşturmanız lazım, aksi halde beleş sirke satmaktan öteye geçemezsiniz. Özellikle de ürün belirli olgunluğa gelip, detsek buluncaya kadar kendinizi bir şekilde finanse etmeniz gerekecektir.
  • Açık kaynak kodlu projelere Türkiye’deki developer profili ile destek olmak nerdeyse imkansız. Muhtemelen ofisteki işlerinizi yetiştiremiyorsunuzdur yada vaktiniz varsa neden şirketiniz için biraz daha fazla çalışmıyorsunuzdur???? Özetle keyif ve yardımlaşma amaçlı kod yazmak fazlaca lükse giriyor bu memlekette.
  • Java topluluklarının açık kaynak kodlu projelere katılımı ve bu konudaki koordinasyonu .NET topluluklarından daha iyi bir noktada. (Aman tartışma başlamasın) Sanırım Java’nın daha köklü bir dil olması ve Apache gibi büyük gruplarca desteklenip kullanılması bunda büyük etken. Aynı şekilde .NET toplulularındaki bu içine kapanıklığın nedeni de başlarındaki üreticinin uzunca bir süre bu işlerden uzak durması olabilir mi diye insan düşünmekten kendini alıkoyamıyor.
  • Kullandığımız veya paylaştığımız açık kaynak kodlu projelerin lisans modellerine dikkat etmekte fayda var. Bu konuda ülkemizde ciddi bir yaptırım olmasada Kerem’in uyarıları yurtdışında başımızın yanacağı yönündeydi.
  • Açık kaynak kodlu ürün her zaman ücretsiz olacaktır diye bir kaide yoktur. Ücretli ürünler de ürünü alanların kendi ihtiyaçlarına göre özelleştirebilmeleri için açık kaynaklı olabilirler.
  • Açık kaynak kodlu bir projede committer olmak önemli bir artıdır. (Birlikte kod geliştirme alışkanlığı,üzerinde çalışılan ürüne hakimiyet vs) Öte yandan CV ‘nizde bu tip bir bilgi bulunması da size olan bakış açısını pozitif yönde etkileyecektir. Özetle karizmatik birşey diyebiliriz. (Umarım teşvik edici olmuştur…)

    Söyleşi sırasında aklıma belirlenler bunlar. Bir de söyleşi dışında gün içerisinde aldığım notlar var:
  • .NET kullanıcı deneyimi ve geliştirici dostluğu konusunda JAVA ile arasındaki farkı hızla açmaya başlamış durumda. (Daron yine kandırdı beni) Silverlight,WPF, LINQ insanın uzak kalamaycağı kadar cezbedici teknolojiler….
  • Üniversitelerin öğrencileri yanlış yönlendirmekten bir önce vazgeçmesi gerekiyor. Bazen hiç yönlendirme yapmayıp “ürün odaklı bir mühendislik eğitimi olamaz” felsefesini uygulamak daha sağlıklı oluyor. Aksi halde sadece bir ürün veya ürün modeli anlatıldığı için öğrenciler de bunun en doğrusu olduğunu akıllarına kazıyorlar.
  • Okullarda öğretilenler ve gerçek hayat her zaman senkronize ol(a)mayabilir. Hiçbir zaman okulda öğrendiklerimizi kesin kurallar olarak benimsemememiz gerekir. Aksi halde iş hayatı hayal kırıcı olabilir.
  • Linux-Windows tartışmaları hiçbir zaman bir sonuç doğurmaz. Hele de tartışanlar bu ürünlerin ikisini de aynı oradan kullanmamışlarsa bu tartışma bile olmaz.
  • Açık kaynak kodlu projelerimiz için mutluluğu codeplex.com vb. uzak diyarlarda değil yanı başımızdaki birliktegelistir.com ‘da aramamız daha sağlıklı olacaktır. (Azıcık reklam….)
  • FUJI Elması elmaların en güzelidir. Mutlaka yenilmesi gerekir. Önemli olanın görüntü değil içerik olduğunu organik yollarla ıspatlayan bir meyve türüdür kendisi…. ( Burak Selim Şenyurt’ a organik fuji elmaları için ayrıca teşekkürler…)

Şimdilik benden bu kadar. Tekrar görüşünceye kadar sağlıcakla kalın…

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.

Paylaşım Bilinci (Konuk Yazar: Emrah KOCAMAN)

Merhabalar;

Uzun zamandır blogumdaki Konuk Yazar köşesini harektlendirmeyi düşünüyordum ve bu defa kurbanımı yakın çevremden.Hatta yan masadan seçtim. Bu defaki konuk yazarımız ekip arkadaşım Emrah Kocaman. Emrah’ı cuma günü blogum için yazmasını istediğim yazıyı bugün elime ulaştırdığı için ayrıca tebrik ediyorum. Bu kadar hızlı bir geri dönüş beklemiyordum. Ama yazısı tam beklediğim gibi olmuş. Kendisi şu aralar Open-Source ürünlerle çok fazla zaman harcadığı için paylaşım odaklı bir yazı yazması beni hiç şaşırtmadı. Tabi kullandığı ürünlerle ilgili teknik bir yazı da isteyeceğim kendisinden. Lafı daha fazla uzatmadan sizleri nam-ı diyar Commons-Emrah’ın yazısı ile başbaşa bırakıyorum…

—–

Hali hazırda quartz ya da  commons-vfs gibi API’lerle oldukça haşır neşir olmuşken içimden bol kod örnekli sayfa sayfa yazı yazmak gelmişti. Ne yazacağımı toparlamaya çalışırken yanlızlıktan mı bilinmez neden Java geliştirici olmayı tercih ettiğimi sorgularken cevabını bulmam çok uzun sürmedi. “Paylaşmayı seviyorum :)

Açık kaynak kodlu dünyanın temel prensibi olduğuna inandığım paylaşım isteği, tabiki insandan insana ve ortamdan ortama farklılıklar gösteriyor.Bart_simpson_open_source

Bana kalırsa bilişim seköründe iki tip insan var.

1) Hayat boyu öğrenmeyi vazife edinenler

2) Bildiklerim bana yeter diyenler.

İlk grup devamlı araştırma ve öğrenme konumunda olan insanlar. Bildiklerini paylaşmaktan çekinmeyen ve bulundukları her projeye büyük katkılar sağlayan, paylaştıkça parlayan insanlar.

İkinci grubu ise paylaşmayı sevmeyen insanlar oluşturuyor. Bildikleri yıllar öncesine dayanan ve yıllardır kendini tekrar eden insanlar, paylaştıkça birilerinin onlardan daha üstün olabileceği korkusuyla bildiklerini kendine saklarlar.

Bilişim sektörü için konuşacak olursak, hergün gelişen ve değişen yazılım teknolojilerini öğrenmekten başını kaşımaya vakit bulamayan bilişim işçileri  bence isteselerde istemeselerde birinci gruba doğrudan dahil oluyorlar (İbrahim’i ve kendimi bu yolda görüyorum :) ).

İkinci grupta ise artık sadece rutin işleri yapan, sorumlu olduğu katmanı bir milimetre dahi ileri götüremeyen, paylaşmaktan hoşlanmadığı gibi kendisine dışarıdan yöneltilen önerileri hakaret olarak kabul edenler var. Doğruluğu tartışılır elbette fakat benim tespitim insanların tecrübe kazandıkça bu tanıma dahada yaklaştıkları yönünde.

Bu yazıyı okuyan insanların zaten birinci grupta olduğunu varsayarak paylaşmaya, hayat boyu öğrenmeye devam diyorum…

Herkese iyi çalışmalar…

Apache Axis2 1.5 Hazır

Merhaba;

Bugün apache-axis mail grubuna gelen bir mail ile Apache Axis2 uygulamasının 1.5 versiyonunun kullanıma açılmış olduğunu öğrendim. Yaklaşık 1 ay evvel mail grubu üzerinden beta testleri gerçekleştirilen uygulama artık herkes tarafından kullanılabilir durumda.

Mail grubuna gelen duyuru şu şekildeydi:

The Apache Axis2 team is pleased to announce the release of Axis2 version 1.5.

axis2 Major Changes Since 1.4.1:
- Refactored, pluggable tra
nsports (separate jars, with deployer)
- Clustering improvements (works with EC2)
- Over 100 JIRA issues resolved

You can find the new version at the usual location:
http://ws.apache.org/axis2

Please report any issues via JIRA:
http://issues.apache.org/jira/browse/AXIS2.

Java uygulamaları içerisinden web servisi çağırma yada yazdığınız Java uygulamalarını web servisi olarak yayınlama konusunda gayet yetenekli bir uygulama AXIS2. Yetenekli olmaktan öte elimizde Axis2 üzerinde birikmiş bir know-how var.

Açıkcası web servis altyapımızda Axis2 kullanmadan evvel uzun uzadıya bir araştırma yapıp en sonunda ELİMİZDEKİ KISITLARI da göz önüne aldığımızda Axis2 ‘ye karar vermiştik. Şu an hem client hem de server tarafında Axis2′den faydalanıyoruz.

Client tarafında günde minimum 500-600 web servisi çağrısını sorunsuzca gerçekleştirirken , server tarafında da günlük minimum 150-200 civarında web servisi çağrısına cevap veriyoruz. Diğer modüllerimizin dış sistemlerle entegrasyonu arttıkça cevap verilen çağrı sayısı kısa sürede 1000 ‘i aşacaktır ve Axis2 ‘nin server-side perfomansını işte o zaman net bir şekilde gözlemlemiş olacağız. (O konudaki gelişmeleri de buradan paylaşmayı planlıyorum)

Eğer sizin de bu tip bir web servisi altyapısına ihtiyacınız varsa ve hızlı bir çözüm arayışındaysanız rahatlıkla Apache Axis2 ‘yi tavsiye edebilirim.
IntelliJ,Eclipse gibi uygulama geliştirme ortamları için de pluginler mevcut. Uygulama sunucusu olarak da kendi çalışmalarımda Tomcat (uygulama sunucusu sayılmaz aslında) , prod ortamında ise JBoss ve IBM Websphere üzerinden Axis2 ‘yi sorunsuzca çalıştırdığımızı da belirtmek isterim. (Şu an Axis2 1.4.1 kullanıyoruz.)

Yakında blogumda Axis2 ile ilgili daha keyifli yazılara yer vereceğim.

Görüşünceye kadar sağlıcakla kalın…