Yazılım Mimarisi ve Yazılım Mühendisliği hakkında herşey...

20070130

Yeni UML editörü





Yeni UML editörüm nasıl ama?....:)

20070126

Mümkün olabilir mi?




Mümkün müdür?

Metalli-simpsons



Bu bölümü hatırlıyor musunuz bilmiyorum ama bu fotoğrafı nette görünce ekleyesim geldi bloga...

20070125

Superior being....




(from Dilbert.com)

Hasta la Vista

Microsoft Zirve'de Vista'nın lansmanı yapıldı dün. Zaten bir süredir betası, RC'si derken birçoğumuz Vista'yı inceledik ettik. Kimimiz çok sevdi, kimimiz beğenmedi. Ama sevgili William'ın bizim için yaptığı bu. Açıkçası ben sevdim Vista'yı. Çünkü, yapısal ve mimari olarak çok köklü değişiklikleri içeriyor ve bu değişiklikler, özellikle biz yazılım geliştiriciler için çok önemli değişiklikler. Konunun detayları msdn'de mevcut ama .NET teknolojisi üzerine/yanına inşa edilmiş bir mimariye sahip olması bile çok anlamlı.

Bu noktada yine geçmişe gidip o zamanlar çok popüler olan bir ahkamı tekrar yazmak istiyorum:

"Madem .NET diye bişi yaptılar neden kendileri kullanımıyorlar. Demek ki güvenmiyolar kendi yaptıklarına. Sırf pazarlama hilesi"

Aramızda kalsın...

Java ile web servisi konusunda uğraşmaktayım bugünlerde. Daha önce ilk izlenimlerimi aktarmıştım konuyla ilgili ama şimdi keseceğim bi ahkam daha var. O da AXIS ile yaşadığım ilginç problemler.

Bir de daha 0.2 sürümü olan bir kodu niye kullanmak gereksinimi hissedersiniz ki? İşi gücü bıraktım eloğlunun kodunun içinde bug böcü avına çıktım.

Üstüne üstlük daha öncede belirttiğim yığın API kullanımının hasını AXIS içinde yaptıkları için daha da bi uğraştırıcı oluyor.

AXIS'in J2EE olmayan bir alternatifinin yok olması da cabası. .NET bu açıdan daha güzel arkadaşlar kim nederse desin.

Bi kere [WebService] dedin mi oluyor. İkincisi deployment çok kolay. Şimdi .NET 3.0 ve Vista ile birlikte Windows Workflow Foundation, Windows Communication Foundation gibi çok şık framework'ler de olunca Web Servisi yapmak .NET ile çok keyifli oluyor.

ve zirve...

Microsoft Zirve'deydim dün. msakademik.net editör olağan toplantımızı yaptık. ve günün finalinde Cem Yılmaz sahnedeydi. Detaylarına girmiycem çünkü yarın öbürgün YouTube'da izlersiniz. Ama diyeceğim, bu adam hakkatten süper...

20070124

SOA üzerine bi ahkam

SOA ile ilgili gelen maillerden anladığım kadarıyla SOA konusunda herkesin kafası karışık.

Kimisi SOA'nın bir yazılım geliştirme yaklaşımı olduğunu söylüyor, kimisi de SOA'nın bir implementasyon biçimi olduğunu...Benim görüşüm yerine göre ikisi de doğrudur.

Şimdi şöyle kabaca bi kaç sene öncesine dönelim. Web Servisi kavramı hızla yaygınlaşıyor ve hemen herkes bu yeni kavramı kendi sistemine entegre etmeye çalışıyordu hatırlayacağınız üzere. O dönemde o kadar abartıldı ki bu olay, nerdeyse Web Servisi olmayana kız verilmez durumuna dönüştürüldü. O zamanlar IT içinde (donanımsal ve yazılımsal yada kısaca sistemsel) konsolidasyon, entegrasyon kavramları en temel (main-stream) pazarlama terimleriydi (business-hype'ın türkçesini bilmiyorum) İşte o akımdır bizi buralara sürükleyen. Herkes sisteminde Web Servis barındırmaya başlayınca, bu sistemleri entegre eden bişiler yapalım aman konuşsun, kaynaşsın sistemlerimiz diye bazı entegrasyon arayüzleri tanımlayınca sektör olarak bu yaklaşıma heman bi kısaltma uyduruverdik.

İşte bu yüzdendir ki herkesin kafası karışık. Çünkü SOA'yı tanımlamaya çalışanlar bu servis yaklaşımını esas alırken, Web Servis furyası sonrasında kimisi de SOA'yı bu servislerin birlikte çalıştırılması (yani bir gerçekleme) olarak gördü. Dahası bazılarımız bu yüzden Web Servisi = SOA gibi bir anlayışa girdi.

Neyse, es-cümle SOA dediğimiz böylece, başlı başına bir pakettir yerseniz...Ünlü bir Türk büyüğümüzün dediği gibi; "estarabim" nereye çekersen oraya...

20070123

SOA = Sonuç Olarak Anlamadım

YORUMSUZ

20070120

İyi Servis, Memnun Müşteri

Servis Yönelimli Mimari (SOA) bugünlerde çok konuşulan bi mevzu, ancak şunu demek istiyorum ki SOA'nın bir yaklaşım mı, yoksa yazılım mimarisi mi olduğu daha netleştirilebilmiş değil. Hayır, SOA konusunda kafa karıştırıcı bi yazı yazmayı düşünmüyorum. Benim üzerinde duracağım sadece Servis kavramı.

Servis dediğimizde doğal olarak Web Servisleri aklımıza gelse de aslında XML Web Servisleri bu kavramın sadece bir uygulaması. Yani CORBA veya RMI üzerinde de Servis oluşturulabilir.

Diyelim ki o veya bu şekilde bir servis yaratacaksınız. Bu servisi tasarlarken en başta düşünmeniz gereken konu servis kalitesi. Servis Kalitesi yüksek olmayan (yüksek??? bu ayrı bir yazı konusu) bir servis üzerine inşa edilen bir yazılım sisteminin memnuniyet yaratması söz konusu olamaz.

Ayrıca, servis tasarımında öngörülmesi gereken bir konu da servisin bakım ve yönetim kolaylığıdır. Yönetimi ve bakımı kolay olan bir servis tasarlamak için de bağımlılıklarınızı iyi bilmeniz gerekmektedir.

Konuyu bağlayacağım nokta şu:

Geçen gün Java Web Servisleri konusunda çalışırken Tomcat 4.1 üzerine Axis 1.2 kurdum. Yaptığım Web Servisi gayet şık ve smart-ass denilen türden işler başarıyor olsa da çalıştırdığım platform kararsız olduğu için bir çok şikayete yol açtı. Alternatif olarak JWSDP-1.3 kurdum ve onda da servisi ayağa kaldırdım ancak bir süre sonra benzeri kararsız durumları o da sergiledi. Bu uygulamaların farklı sürümlerini ve içlerindeki temel kütüphanelerin farklı sürümleri türlü kombinasyonlarla denediysem de bir türlü kararlı duruma getiremedim. Tek seçenek olarak elimde bu uygulamaları source kodlarından tekrar derlemek kaldıysa da bezginliğimden uğraşmadım.

Sonuç:
1. Java Web Servisi geliştirirken çokbin $ ve J2EE ye bulaşmamak için iki alternatifiniz var:
Axis ve JWSDP.
2. Axis kullanımı kolay ama kararlı değil (binary sürüm)
3. JWSDP productive sistem olarak kullanılması düşünülmemiş bir ürün.
4. Tomcat üzerinde Web Servis diyorsanız Axis kullanmalısınız.
5. Her halükarda Web Servisiniz güzel de olsa platformunuz kararlı değilse "Hadi canım sen de!" şeklinde tepkilerle karşılaşıyorsunuz.
6. .NET ile Web Servisi geliştirmek Java'ya göre daha kolay.
7. Sırf hava olsun, "SOA kullanıyoruz biz, siz kullanmıyor musunuz?" diye geyikler çevirmek için Web Servisi yapmayın. Web Servisine gerçekten ihtiyacınız var mı? yoksa gidin RMI, CORBA, Remoting, ... gibi daha kararlı ve oturmuş sistemler kullanın. Unutmayın, SOAP en nihayetinde HTTP ile çalışan ve birçok servisi eksik olan bir protokol ve SOA dediğiniz Web Servisi değildir.
8. Kullanıcıyı düşünün, kim takar sizin sunduğunuz servisin nasıl gerçeklendiğini?

20070116

...tez vakitte tez

Doktora isimli oyunda level atlıyorum. En kritik dersimden de geçecek kadar not almışım. Bundan sonra yeterlilik isimli ara bölümü oynayacam sonrada en kısa zamanda tez yapacam...

Sonra mı? Öğrencilikten emekli olucam ondan sonra...

tüm bunlar zaten "o kadar emek vermişken hadi şunu da yapayım hadi bunu da yapayım" şeklinde gerzek bi felsefe ile başlamıştı...

Macera...

Nokia 6600 cep telefonumun bluetooth özelliğini kullanan bi uygulama yazmaya başladım. Forum Nokia'daki ve java.sun.com daki makaleleri okudum, SDK'ları indirdim, çalıştırdım filan. Herşey çok güzel ve yolunda gidiyo gibi şimdilik. Bugün yarın kodlamaya başlıyorum...

bi yığın kod...

Java konusunda en çok canımı sıkan şey, belirli bir işlevi gerçeklemek için çok sayıda API'yi yığın biçiminde kullanmak. Bu durumda bağımlılık oluşturan durumlarda sürümler arasındaki bi uyumsuzluk başa büyük bela oluyor.

Bu bağımlılık konusu belki sıfırdan uygulama yaparken problem olmuyor ama eskiden yazılmış ve çalışan bir kodun yeni platforma uyarlanması esnasında problemlere yol açabiliyor. O yüzden yazılım geliştiren arkadaşların yazmış olduğu Release Notes belgeleri çok büyük önem kazanıyor.

Niye mi yazdım bunları? Dün bayaa bi Java 6 ile uğraşmak zorunda kaldım da. Sebebin API sürümlerindeki ufak bi farklılık olduğunu bulduğumda gözlerimden ateş çıkardım. Cidden...

20070112

Hızımı almışken...

Hazır hızımı almışken bloglamaya devam edeyim. 24 Ocak 2007'de Microsoft Zirve'de msakademik.net editörler toplantısını yapacağız. Bu toplantıya gitmeden önce en kısa süre içinde "Nuri (Çankaya), valla usta yapacam, söz" dediğimden dolayı yazılmış kabaca 3 makale ve bir dergi yazısından oluşan naçizane görev listemi bu hafta bitircem. Valla bak!...

Aplikasyon Server

Evlerde duvarlardaki şık lambalara aplik deniyo ya, işte aplikasyon server dedikleri zaman da böyle bi süs eşyası geliyo aklıma en nihayetinde...Bu terimi kullanan arkadaşları kınıyorum, ya uygulama sunucu diyin yada application server diyin (Siyetıl Süpır Soniks diyen basketbol sunucusu gibi yayarak değil ama...)

Sisler arasından

Bu hafta başından beri sisler arasından Eskişehir'e gidip geldim günübirlik. Halk arasında Doktora diye tabir edilen, Ph.D. (Permanent Head Damage) hastalığı ile uğraşmaktayım. Kısmetse, (Aydın Hoca insaf ederse yani) ders aşamasını tamamlayıp tez aşamasına geçeceğim. Tabi bu arada Yeterlilik sınavından bahsetmek dahi istemiyorum...

Kısacası, Yüksek Lisans (nam-ı diğer Mastır) veya Doktora yapmayı hedefleyen kardeşlerime şu naif öğütü vermek istiyorum:


DELİ MİSİNİZ LAN?

20070104

Mutlu Yıllar, Mutlu Bayramlar

Herkesin yeni yılını ve bayramını kutluyorum...Umarım yeni yıl hepimize mutluluk ve huzur getirir...