14 Temmuz 2007 Cumartesi

'Reverse AJAX'

AJAX'ın çok önemli bir eksikliği var; tek yönlülük. İstemci tarafı yazılım sunucuya başvurmadığı sürece, güncel bilgi edinilemiyor. Yazı, bu eksikliği gideren 'Reverse AJAX' yaklaşımına değinmektedir.

AJAX; iyi, güzel, pratik. Fakat çok önemli bir sıkıntısı var; sunucudaki bilgi güncellendiğinde istemcideki bilgi anında nasıl güncellenecek? Her 30 saniyede bir kere sunucu HttpRequest ile kontrol mü edilecek? Hmmm. Kolay ve pratik bir yöntem, ama çok önemli dezavantajları var; sunucu yorulur, istemci yazılım yorulur, bantgenişliğine yük biner, istemci tarafı ânında güncellenemez (finans uygulamaları) vs... Bu sorunların çözümü için teknik yaklaşım şu şekilde olmalıdır; bir bilgi güncellendiğinde, sunucunun kendisi istemcilere yeni bilgiyi göndermelidir. İşte bu teknolojik yaklaşıma bugünlerde 'Reverse AJAX' deniyor. Konu hakkında güzel, az, öz ve ilginç bir kaynak: http://www.reverseajax.com/

Not: AJAX frameworkleriyle ilgili olarak harika bir konferans söz konusu. Oturumların kısa özetleri yayında. Hangi AJAX/Javascript Framework'ü seçilmeli sorusunun yanıtını bulmaya yardımcı olabilir: http://ajaxexperience.techtarget.com/west/html/frameworks.html

13 Temmuz 2007 Cuma

ColdFusion 8 Beta - Kurulum

Hep şuna inanırım; görüntüler herşeyi anlatır... ColdFusion geleneksel kurulum sihirbazındaki yeni aşamalar ve ekran görüntüleri. Kurulumda J2EE-WAR kurulum tercih edilmiştir.





































Microsoft'tan Firefox plug-in'i

Firefox'un tarayıcı pazarında ne kadar yayıldığına dair en güzel gösterge, pazarın "eski" hakiminin tavırlarıdır sanırım. Microsoft, Firefox için bir plug-in hazırladı: Windows Genuine Advantage plug-in. Söz konusu plug-in, kullanıcının bilgisayarındaki Windows işletim sisteminin lisans kontrollerini yapıyor. Eskiden, Microsoft sitesindeki bazı sayfalara girildiğinde, "Bu sayfa Firefox'la çalışmaz" anlamına gelebilecek bir uyarı görüntülenirdi. Artık Firefox kullanıcılarına aşağıdaki gibi bir sayfa görüntüleniyor:


http://www.microsoft.com/downloads/MozillaValidation.aspx?familyid=26f11f0c-0d18-4306-abcf-d4f18c8f5df9&displaylang=tr


Plug-in sayesinde Firefox kullanıcıları Microsoft sitesinden dosya indirme imkanı elde etmiş oluyorlar. Web'in ilk günlerinden beri, insanlar bir internet sitesinden herhangi bir tarayıcıyı kullanarak dosya indirebiliyorlar. Microsoft da bu geleneğe dahil oldu. Kendisini kutluyoruz!

12 Temmuz 2007 Perşembe

Adobe Integrated Runtime (AIR) duyuruldu.

İşletim sistemi-bağımsız uygulama geliştirme kulvarına, bambaşka bir yaklaşımla dahil olan Adobe, bu amaçla AIR'in ilk sürümünü duyurdu.

Adobe Integrated Runtime (AIR), eski adıyla 'Apollo', işletim sistemi-bağımsız uygulama geliştirme sektörüne yep yeni bir yaklaşım kazandırmış oldu. Java ve .NET gibi benzer teknolojiler, herhangi bir ortamda (Örn: masaüstü, web, mobil vs) kullanılmak üzere hazırlanmış bir altyapının, diğer ortamlarda kullanılmasına olanak sağlamaktadırlar. AIR'in farkı ise; web için hazırlanmış bir yazılımın ve arayüzün, masaüstünde kullanılmasına olanak sağlaması... Javascript, AJAX, HTML, CSS... kullanılarak hazırlanmış her türlü yazılım, masaüstünde kullanılabilir. Üstelik, işletim sistemi bağımsız; Linux, Mac, Windows...

Eskiden, yazılımların masaüstü sürümlerine alternatif olarak web tabanlı sürümleri duyurulurdu. Günümüzde, bu yaklaşım tam tersine dönmüştür. Yazılımlar tamamıyla web tabanlı olarak oluşturulmaktalar; Google Docs, web tabanlı Outlook, Google SpreadSheet, çevrimiçi topluluk yazılımları, Workcube... Bu durum, masaüstü yazılımların tahtının sallandığının en belirgin göstergesi durumundalar. Kurulumsuz kullanımın ve her yerden erişimin en güzel yöntemi durumunda olan Web'in önemli bir avantajı daha vardır; taşınabilir cihazlardan kullanım... Günümüzde, Web için hazırlanmış bir yazılımın, taşınabilir cihazlara adapte edilmesi çok kolaylaşmıştır. Bu durum göz önüne alındığında, platform-bağımsız uygulama geliştirme amacına ulaşmak için en makul yöntemin Web tabanlı teknolojiler olduğu sonucuna varılabilir. Adobe bunun farkına vardığı için olsa gerek, AIR'e benzer teknolojilerin (Java, .NET...) vaadettiği platform-bağımsızlık konusunda çığırtkanlık yapmaya gerek duymuyor.

AIR hakkında daha fazla bilgi için, Adobe Labs: http://labs.adobe.com/technologies/air/

23 Haziran 2007 Cumartesi

SATA - SCSI (Düzeltme: NOD32)

Artık sunucu makinelerde de SATA diskler kullanılmaya başlandı. SATA disk içeren bir makine kullandık. Tecrübemizi paylaşıyoruz.

Makine:

Anakart: Intel S5000VCL
RAID Controller: Intel Embedded Server RAID Technology II
Bellek: 3GB
İşlemci: Intel Xeon 5140@2.33 Ghz
Fiziksel İşlemci Sayısı: 2
Mantıksal İşlemci Sayısı: 4
İşletim Sistemi: Windows 2003 R2 SP2

Production ortamında çalışmakta olan sunucunun işlemci ve bellek kaynakları ortalama olarak %50 oranında kullanılıyor. Bu durumdaki sunucuda C:'den D:'ye 2GB'lik bir log dosyasını taşımaya çalıştığınızda, sunucu kilitleniyor. IIS hizmet vermeyi durduruyor. Benzer işlemleri, yine "yakın" özelliklere sahip ve aynı yük altındaki HP DL380 tipi sunucuda yaptığımızda, herhangi bir yavaşlık veya kesinti söz konusu olmamaktaydı. HP DL380'ler SCSI disk kullanmaktadır.

Sorun çıkartan makine test ortamındayken, aynı işlemi çok hızlı ve aksamasız bir şekilde yapmaktadır.

Sonuç:

Bu tecrübeden şu sonucu çıkartmaktayız; SATA diskler, yalnızca okuma (disk read) yapıldığında, SCSI disklere yakın performans sergilemektedirler. Fakat, okuma ile birlikte yoğun yazma (disk write) işlemleri yapıldığında, performans sorunları yaşatmaktadır. RAID kullanarak performans artırımı sağlanabilir.

Önemli Not: Makalede bahsedilen sorunların nedeninin, SATA diskler olmadığı, sunucu üzerinde çalışmakta olan NOD32 anti virüs sisteminin, sorunlara neden olduğu gözlemlenmiştir. Ek olarak, söz konusu antivirüs sisteminin, bazı IIS loglarını truva atı olarak işaretlediği ve karantinaya aldığı da gözlemlenmiştir. Sonuç: SATA disklerle ilgili bir sorun yok. Bilgilerinize ve değerlendirmelerinize sunarız.

21 Haziran 2007 Perşembe

Bilgi sorumluluktur

Bilmek sorumluluktur; hem iş dünyasında, hem hukukta hem de islamda. Bu yazı, bilmek ve sorumluluk almak üzerine bir değerlendirmedir.

İster dini açıdan bakılsın ister hukukî açıdan, durum aynıdır; bilmek sorumluluktur. Örneğin; suçlunun kim olduğunu bildiği halde gizleyen bir kişi, hukuken suç işlemiş olur. İslamda da aynı şey geçerlidir; suçlunun açıklanması farzdır. İş dünyasına uyarlandığında... Ne kadar bilgiliyseniz, sorun çözme yeterliliğiniz o kadar fazladır. Bu şu anlama gelir; her sorun anında size o kadar fazla iş düşecektir. Bu türlü "sorun çözme" işleri, adil ve makul bir şekilde yargılandığında, üretime yapılan gizli ve önemli katkılardır. Tespit edilmesi ve değer biçilmesi zor katkılar.

Başka bir açıdan bakıldığında; fertlerin 'ben duymadım, bilmiyordum' bahaneleri kalmasın diye Resmî Gazeteler yayımlanır. İslamda ise Kur'an-ı Kerim benzer bir işlev görür. İş dünyasına uyarlandığında ise... Dökümantasyonlar tech spec'ler vs vardır. 'Duymadım', 'bilmiyordum' sözleri bahane değildir. Okunmalı. Bilinmeli. Sorumluluk alınmalı.

20 Haziran 2007 Çarşamba

ColdFusion: 'Connection reset by peer: socket write error'

Uygulamanıza bir tane sunucu yeterli geliyorsa, teknik ekibin yalnızca kodlama, veritabanı vs gibi klasik konuları bilmesi yeterli olabilir. Fakat eğer birkaç sunucu kullanarak kümeleme/cluster yöntemiyle vs çalışılıyorsa durum değişir. Teknik ekip, temel ağ bilgilerine vakıf olmalıdır. Makale, yaşanmış bir örnek üzerinden bu tezi savunur.

ColdFusion kodu, diğer makinedeki veritabanı sunucusuyla iletişim kurarken, ağ mekanizmasında bir aksama yaşanırsa, ColdFusion aşağıdaki hata mesajını göstermeye başlar:

Connection reset by peer: socket write error

Hata mesajındaki "socket" kelimesinden de anlaşılacağı üzere, bu bir ağ sorunudur. Ağı oluşturan tüm bileşenler kontrol edilmelidir;

  • Kablolar/jag'lar
  • Switch'ler/Hub'lar
  • Ağ kartları (ethernet card)
  • ...
Sorunu tecrübe etmek için, ColdFusion ile veritabanı makinesi arasındaki kabloyu birkaç saniyeliğine çıkartın ve tekrar takın. Bahsi geçen hata mesajı belirmeye başlayacaktır.