Lutfen Tiklayin

İşinizi Internet’e hangi teknolojiyle taşımalısınız? -2

Geçtiğimiz hafta ticari bir kuruluşun Internet’te yer almak gereksinim duyduğu altyapıdan bahsetmiştik. Şimdi web uygulaması geliştirme şeçeneklerinizin en azından bir bölümünü kısaca gözden geçirelim;

Mahir B. Aşut

Active Server Pages (ASP):

ASP, Microsoft’un web dünyasına getirdiği bir yenilik. Daha doğrusu Microsoft’un Java’ya, JSP’ye, Perl’e cevabı. Adından da anlaşılacağı üzere buradaki tüm diller gibi sunucu tabanlı çalışıyor. Yani ASP uygulamaları sunucu üzerinde işleniyor ve çıktı doğrudan kullanıcının tarayıcısına geliyor. ASP aslında VBscript, JavaScript ve PerlScript gibi dilleri kullanıyor.

Microsoft’un desteği ile hızla gelişen ve yaygınlaşan ASP, MS IIS (Internet Information Server) üzerinde çalışıyor. Dolayısı ile Microsoft platformuna bağımlı oluyorsunuz (Linux üzerinde de ASP çalıştırmak mümkün ancak çok ucuz ve verimli bir çözüm değil). Ayrıca ASP kodları yeterince anlaşılır ve açık değil. Az işi yapmak için bile çok kod yazmanız gerekiyor (bu neredeyse tüm web programcılarının üzerinde birleştiği bir konu). Bunlar da ASP’nin eksi yönleri.

Java Server Pages (JSP):

Tıpkı ASP gibi ancak JSP yapısının büyük bir bölümünü ağabeyi Java’dan almış ve Sun Microsystems tarafından “geleceğin scripting dili” olması için sıkı şekilde destekleniyor. Birçok kodu açık olarak yayınlanıyor. ASP’nin en sıkı rakibi.

JSP, bildiğimiz HTML’i dinamik hale getiren bir teknoloji. Özel “tag”ler yani “etiketler” yardımıyla pratik uygulama geliştirme olanağı sunuyor. JSP’nin en kötü yanı yeterince hızlı olmaması. Ayrıca tıpkı ASP gibi farklı veritabanı bağlantılarında pahalı, ODBC arabirimlerine gereksinimi var. Ancak ODBC aracılığı ile portatif kod yazmanın avantajları da göz ardı edilmemeli.

PHP:

PHP, tıpkı ASP gibi çalışma anında sunucu tarafından yorumlanan bir dil. Öğrenmesi ve kullanılması çok kolay olan PHP’nin bir diğer önemli yanı Linux, Unix sunucuları üzerinde çalışabiliyor olması. Temelden başlayarak web için geliştirilen PHP’nin “native” veritabanı desteği onu çok önemli bir uygulama aracı kılıyor. Eğer mevcut bir ilişkisel veritabanınız varsa ve onu hızlı bir şekilde web uygulamalarınıza dahil etmek istiyorsanız PHP çok iyi ve performanslı bir seçenek olabilir. Yukarıdakiler gibi doğrudan HTML kodlarının içine gömülebilmesi de bir başka avantajı. Ayrıca PHP, web geliştiricileri arasında da popüler ve “in-house” programcılar tarafından kolaylıkla öğrenilebiliyor.

Ancak onun veritabanlarına has komut setlerini kullanır ve ODBC bağlantı olanağını es geçerseniz veritabanınızı değiştirdiğinizde bir sürü yararsız kodla başbaşa kalabilirsiniz, dikkat!

Perl:

Açılımı “Practical Extraction and Reporting Language” olan Perl bu ismi fazlasıyla hak ediyor. Hızlı, güvenilir ve sonuca ulaştırıcı Perl, atalarından olan C’nin iyi yönleri ile bir web yazılımcısının gereksinimi olan herşeyi bünyesinde barındırıyor.

Orijininde bir Unix programlama dili olan Perl’ü web’e, CGI (Common Gateway Interface) uygulamaları dünyasına taşıyan şey Perl’ün gücü ve güvenilirliği. Görev kritik uygulamaların vazgeçilmez aracı olan Perl, web dünyasında her gün milyonlarca hit alan siteleri ayakta tutan önemli bir dişli. IIS veya Unix tabanlı sunucularda sorunsuz olarak çalışabiliyor. Açık kod yaklaşımına uygun olarak binlerce geliştirici tarafından desteklendiğini ve her tür soruya en kısa sürede yanıt bulunabildiğini eklemek gerekiyor.

Modülleri dışarıda tutulup tek başına ele alındığında ileri düzeyde karmaşık web projeleri için zor, hatta zaman zaman yetersiz bir seçenek gibi görülebilir. Ancak modülleri ile birlikte bir İsviçre çakısının vazgeçilmezliğine ulaşıyor.

Perl DBI:

Bir Perl eklentisi (modülü) olan DBI, Perl programlama dili ve veritabanları arasında katman olarak işlev görüyor. Yani uygulamaların, veritabanından bağımsız olabilmesini sağlıyor. Bu şu demek: Bugün Oracle veritabanı için uygulama geliştirip yarın onu kolayca Sybase’e veya MySQL’e taşıyabilirsiniz.

Perl DBI, PHP’nin aksine veritabanlarına “native” bağlantılar yani her veritabanı için spesifik komut setleri içermiyor. Üretilen kodlar tamamıyla taşınabilir nitelikte. Motorola, NASA ve başka büyük kuruluşların bazı görev kritik uygulamalarında Perl ve DBI ikilisini seçmeleri rastlantı değil.

Embedded Perl:

Farklı yazılım geliştiriciler Perl dilini doğrudan HTML’in içine gömebilecek yorumlayıcılar üretiyorlar. Bunlar Perl’ün kullanım kolaylığı ve PHP’nin pratikliğini bir araya getirmeleri açısından incelemeye değer alternatifler olabilir. Örneğin ePerl, standart Perl kütüphanesini kullandığı için tüm Perl modülleri ile uyumlu, HTML içine doğrudan yazılabiliyor ve herhangi bir Apache sunucusuna kolayca yüklenebiliyor.

Allaire ColdFusion:

Bugünlerde Internet üzerinde CFM uzantısı ile karşımıza gelen ColdFusion script’leri, özellikle e-ticaret uygulamalarının vazgeçilmez seçenklerinden biri oldular. ColdFusion, HTML içine gömülen etiketler aracılığı ile işlev görüyor.

Hızlı yazılım geliştirme artısına karşın ColdFusion’un dezavantajları da var; birincisi küçük ölçekli bir işletme için çok pahalı bir seçenek olabilir. İkincisi yazılan kodların bir başka sunucu platformunda kullanılma olanağı bulunmaması ve üçüncüsü de tıpkı ASP gibi sizi tek bir üreticiye bağımlı kılması.

ColdFusion’a benzer birçok e-ticaret sunucu/scripting yazılım ve platformu mevcut ancak bunların arasında en yaygını ColdFusion.

Özeti olarak, web uygulamalarınız için hangi Internet ve yazılım platformunu seçerseniz seçin, amaç ve aracı asla karıştırmayın. Kullanacağınız (veya kullanılmasını isteyeceğiniz) uygulamalar yalnızca sizi temel amacınıza, yani “Internet’te dilediğiniz gibi var olmaya” götüren araçlardır. Hangi araçları kullanacağınız büyük ölçüde işbirliği yapacağınız web geliştiricilerine bağlı olacaktır.

mahir@mbaic.com