İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Burak İnner
binner6@yahoo.com

JSP ASP COLDFUSION ve PHP KARŞILAŞTIRMASI

JSP Nedir ?

JavaServer Pages (JSP) teknolojisi basit, hızlı bir şekilde dinamik olarak üretilen web sayfaları yapmak için kullanılan bir teknolojidir. JSP specification, Sun Microsystems in öncülüğünde gereçekleştirilmiş olup, hizmet birimi işe JSP sayfa arasındaki etkileşimi tanımlar, aynı zamanda JSP sayfanın formatını ve sözdizimini de (syntax) tanımlar.

JavaServer Pages (JSP) Java Servlet API'nin bir uzantısıdır. Servlet ler platform-bağımsız %100 saf Java modulleri olup, bir web server in yeteneğini, yapabileceği işleri arttırırlar. Diğer scripting dilleri gibi, servletler platforma özel durumlar ya da değişiklikler gerektirmez. İkisi birarada, JSP teknolojisi ve servletler ASP ve Perl gibi dinamik web script/programlama araçlarına Java temelli bir alternatif teşkil ederler.

JSP XML' e ve scriptlet lere çok benzeyen taglar kullanır. Bu taglar Java programlama dilinde yazılıp sayfanın HTML içeriğini üretirler. Aynı zamanda uygulama matığı server-tabanlı kaynaklarda mesela JavaBean lar da durabilir. Dokumanın içindeki bütün diğer HTML ya da XML tagları direkt olarak istemicinin önüne gelecek HTML sayfaya gönderilir. Sayfanını akışını ve mantığını dizayn ve görüntüsünden ayırmak ve tekrar kullanılablen bileşen-tabanlı teknolojiyi kullanabilmek, JSP teknolojisini diğer teknolojilerden daha hızlı ve kolay web uygulamaları yapar hale getirmiştir.

JSP ASP COLDFUSION KARŞILAŞTIRMASI

Dinamik içerik hazırlamak için en sık dört betik dili kullanılıyor. Bunlar Allaire'nin bir teknolojisi olan ColdFusion Server, Apache Group'un Tomcat (bu aslında Sun Microsystems JSP referans uygulaması), Microsoft'un ASP'si (Active Server Pages) ve açık kaynak kodlu PHP.Şu ana kadar CGI programları dinamik betik dilleri tarafından sunulan birçok yeteneği gerçekleştirebiliyordu. Bu CGI dillerinin en çok tanınanı ve en çok uygulama geliştirileni ise Perl'di. Bu tür diller geliştiricilere esneklik gibi avantajlar sunabiliyorken betik dillerinin yakaladıkları popülariteyi yakalayamadılar.Betik dillerini karşılaştırmak için izlenecek en uygun yöntem farklı dillerde geliştirilmiş olan elektronik ticaret sitelerinin API'lerini, araçlarını ve arka sistemlerle bağlanabilirliklerini incelemek olacaktır. Yapılan test sonuçlarına da bakacak olursak çok hızlı bir şekilde uygulanması gereken projelerde ColdFusion oldukça etkili görülüyor çünkü API'lerinin kullanımı kolay ve geliştirme araçları pazarda bir numara.JSP kullanımı da birden fazla katmanlı yapılar ya da kritik altyapı projeleri için biçilmiş kaftan. Java'nın kullanılıyor olması çok zengin bir API setinin kullanımını da beraberinde getiriyor. Bu set Web sayfalarından arka sistemdeki son uç nesnelere ve sunuculara kadar ölçeklenebiliyor.

ASP dinamik içerik için en genel seçeneklerden biri haline geldi. Çok iyi bilinen bir geliştirme dili olmasının avantajı yanında mükemmel geliştirme araçları ve Microsoft platformları üzerindeki etkinliği ASP'nin dinamik Web için çok kullanılan araçlar olmasına neden oluyor. Türkiye'deki duruma baktığımızda ise dinamik içerik sunan sitelerin %90'anına yakınının ASP ile geliştirildiklerini görüyoruz. PHP çok geniş bir platform desteği sunuyor. Dil genişletilebilir ve performans bakımından iyi. Bir Web uygulama geliştirme dili olarak geliştirilebilir.

Betik dillerini seçerken şirketlerin dikkat etmesi gereken konular arsında önceliği yönetilebilirlik, ölçeklenebilirlik ve hata toleransı yer alıyor.Programların ölçeklenebilirlikleri ve daha gelişmiş mimarilere sahip olmaları Web'in gelişimi ve büyümesi için ileride kilit elemanlar olacaklar.

ASP, JSP, PHP ve CFM İle Geliştirme Daha Hızlı

Kurumsal bilgi işlem ortamlarında uygulama geliştirmenin bazı sorunları var. Birden fazla son uç olabiliyor ve kod kaynaklarının farklı türdeki geliştiriciler tarafından yönetilmesi, bakılması ve yeniden kullanılması gerekebiliyor. Bu kısıtlamalara rağmen BT yöneticileri yeni projeleri daha hızlı hayata geçirmek için çabalar sarf ediyorlar ve bu projeler Web'e atıldıklarında betik dilleri çoğu zaman iyi birer tercih olabiliyorlar.Betik dillerinin sınıflandırılmasında kullanım kolaylığı, güçlü ve tam bir API ve hızlı geliştirme göz önüne alındığında ColdFusion iyi bir ürün olarak göze batıyor. Java Server Pages ise kurumsal kullanımda tercih edilebilecek bir betik dili. JSP Tomcat tarafından temsil ediliyor. ASP ve PHP ise işi yapıyorlar ama asıl tam bir tercih sebebi oluşturamıyorlar.PC Week'in daha önce yaptığı testlerin sonuçları bu betik dillerinin karşılaştırılmasında oldukça yararlı olabiliyor. PC Week bu testleri yaparken Quest Software test araçlarını kullanmış. Performans değişken olmasına rağmen her ürün yeteri kadar hızlı çalışıyor. (Kullanılan makinenin performansı ve İnternet bantgenişliği de burada önem taşıyor)

ColdFusion (CFM)

Cold Fusion kolay programlama dili, iyi yönetim, performans izleme, geliştirme ve hata ayıklama araçları ve zengin API'ler sağlıyor. Ürün farklı platformlar üzerinde çalışabiliyor ve güçlü bir arka uç veri bağlanabilirliği sunuyor.ColdFusion etiket (tag) temelli bir dil sentaksı kullanıyor ve betik bloklarını kullanmıyor. Çıktı ve yazdır gibi fonksiyonları kullanmaya gerek kalmıyor çünkü sadece HTML ile yazılabiliyor. Sayfanın bu belirli bölgesi yaratıldığında HTML istemciye gönderiliyor. Dilin sentaksı ve yazılmayan değişkenler yüzünden ColdFusion'la yapılan siteler yazılması en kolay olanlardan.Daha ileri özellikleri desteklemesi için ColdFusion geliştirilmiş bir API setini de içeriyor. Bunlar arasında diziler, yapılar ve hata ayıklama için dene ve yakala anahtar sözcükleri bulunuyor. ColdFusion kendi kullanımı kolay API'sini sağlayarak farklı veritabanlarına erişim sağlıyor.Allaire ColdFusion Server Professional 4.5.1'i 1295 dolara satıyor. Sadece masaüstü veritabanlarını destekleyen ücretsiz ColdFusion Express versiyonu bazı basit projeler için uygun olabilir. 4995 dolarlık ColdFusion Enterprise paketi hata toleransı ve kümeleme yeteneklerini de içeriyor. Allaire'nin geliştirme ortamı olan ColdFusion Studio'nun fiyatı ise 495 dolar.

Apache's Tomcat (JSP)

Sun Microsystems JSP betik dilini daha popüler hale getirmek için JSP ve Java Servlet kodlarını Apache Group'a verdi .Apache de Tomcat adlı ürünü piyasaya sürdü. JSP oldukça yeni bir ürün ve araçlar, destek kaynakları ve deneyim bazında hala bazı gelişmemişlikler gösteriyor. JSP Java temelli olmasına rağmen (ve hemen hemen Java'nın yapabildiği her şeyi yapıyor; büyük bir API setini ve seçilen sınıf kütüphanelerini açabiliyor) ve etiket kütüphaneleri denen JSP eklentisi JSP'yi ColdFusion'ın etiket stilli API'sine benzetirken JSP'nin birkaç yıl içinde temel Web betiği dili olacağı düşünülebilir.JSP son uç uygulama sunucusu ürünleri arasında ise diğer betik dilleri arasında (ki bu uygulama sunucularının çoğu Java temelli) en çok desteği alıyor. Böylelikle JSP geliştiricileri için daha fala ölçeklenebilirlik ve hata toleransı sağlanmış oluyor.JSP Java temelli olduğu için değişkenlerin tipleri tanımlanmak zorunda ve bunlar arasında değişiklik yapılacakken el yordamıyla düzletme yapılması gerekiyor. Bu özellikler JSP'yi diğer üç betik dili arasında en zoru yapmaya yetiyor. Özellikle programcılık geçmişi olmayanlar için öğrenme süreci çok uzuyor. Java hakkında biraz bilgisi olan birinin ise JSP'yi öğrenmesi çok kolay.Java veritabanı bağlanabilirliği kullanılarak Java veritabanlarına erişim için tam bir API sunabiliyor.Sunucu tarafında Apache Group'un ücretsiz Tomcat 3.2'si kullanılabilir. PC Week'in testlerinde Tomcat bir Linux makinede saniyede 13 sayfa iişleyebilmiş. Tomcat'in performans izleme ve yönetim araçları ise diğerlerinin ki kadar gelişmiş değil. Aynı sorun PHP'de de var. Daha yüksek seviyeli Java temelli uygulama sunucuları daha iyi yönetim araçları sunabiliyorlar.Sun'ın tüm çabalarına rağmen (Sun Java 1.0 için Forte Community Edition'ı çıkarmıştı ve ücretsiz) geliştirme araçları bakımından JSP alanında hala boşluklar var.Kurumsal geliştirme için JSP (yeni olmasına rağmen) uygun seçenek çünkü Java kullanılıyor ve birçok uygulama sunucusunun Java desteği bulunuyor.

Microsoft ASP

Microsoft ASP (Active Server Pages) dili en yaygın ve en çok destek gören Web betik dillerinden biri. Bu yüzden ASP geliştiricisi bulmak kolay oluyor. ASP Windows NT Server ve Windows 2000 Web sunucularının varsayılan parçaları olarak dağıtıldığı için teknoloji çok yaygın olarak dağıtılmış durumda. ASP yazılmayan değişkenleri desteklerken programlama işlerini kolaylaştırıyor. Zengin Windows API sertine Microsoft COM (bileşen nesne modeli) standardı desteği üzerinden erişim sağlaması da ASP'yi avantajlı kılan özelliklerden biri. Bu özelik tüm COM nesnelerine erişim sağlarken kodun yazımını daha karmaşık ve zor bir hale getiriyor. Microsoft ADO (Active Data Objects) COM arayüzleri anlaşılabilir bir veritabanı erişim API'si hazırlıyor.Microsoft'un ASP konusunda yaptığı yatırımların en büyüklerinden biri de kümeleme alanında gerçekleşiyor. Yeni çıkacak Microsoft Application Center Server (bu yılın sonlarında çıkması bekleniyor) ASP siteleri için kümeleme ve içerik yönetimi özellikleri getirecek."Dene-gör" anahtar sözcükleri olmadığı için hata işleme mantığı sorun yaratıyor çünkü hataların oluşup oluşmadığını görmek için kontroller elle yapılmak zorunda. Bunun yanında ASP JScript desteği de içeriyor. JScript'te ise dene-gör anahtar sözcükleri destekleniyor.ASP geliştirme araçları oldukça fazlalar ama bunların çoğu olgunlaşmamış. Microsoft'un Microsoft Script Editor (Microsoft Office ile birlikte geliyor) sayfaları düzenlemek için kullanılabilir. Araç üretken ve entegre bir düzenleme ortamı ve hata ayıklayıcısını içeriyor. (PC Week'in testlerinde Windows 2000 Server üzerinde çalışan ASP ile yapılmış bir site saniyede 43 sayfa işleyebilmiş.)

PHP Development'ın PHP'si

PHP Linux'un Web betik dili olarak ün kazandı. Özellikle bu yıl içinde çok popüler oldu. Yeni betik motoru ve dilin standardize edilmiş anahtar parçalarını içeren (HTTP oturum yöneticisi gibi) PHP 4'ün piyasaya sürülmesinden sonra büyük bir momentum kazandı.

The PHP Development Team'in PHP dili açık kaynak kodlu ve kaynak halinde indirilebilir şekilde İnternet'te bulunuyor. Windows için daha önceden derlenmiş ikililer (binaries) de İnternet'te var. PHP birçok Web sunucusu ile beraber çalışabiliyor. Bu sunucular arasında Apache ve Microsoft Internet Information Server da bulunuyor.PHP ise Perl, C, Java ve hatta biraz ASP karışımı bir dil. Yazılmayan değişkenleri destekliyor ve geliştirme işleri böylelikle daha kolay hale geliyor. PHP çok esnek bir dil. Kaynak kodunu görebildiğimiz için veritabanı bağlanabilirliğinden postaya, XML parsing'den LDAP desteğine kadar birçok yeni özellik ürüne farklı kişiler tarafından eklenebiliyor. Bunun yarattığı sıkıntı ise açık kaynaklarda çoğu zaman yaşanan sıkıntıların aynısı. Dile eklemelerin çok olması API'lerdeki tutarlılığı düşürüyor. Kullanıcıların kullandıkları PHP'nin bileşenlerinin değişikliklerini izlemek için kararlı bir çaba harcamalılar.Kullanıcılar ve geliştiriciler açısından önemli konulardan biri de PHP'nin standart bir veritabanı API'sinden yoksun olması: Oracle veritabanına ulaşmak için Oracle8 API'sine doğrudan kod yazmak gerekiyor. Bu da sayfaların taşınabilirliğini azaltırken geliştirme maliyetlerini artırıyor. Bu konuda devam eden bazı projeler var. Bunların en büyüklerinden biri ise Microsoft ADO API'yi PHP'ye taşımak. PHP için entegre geliştirme araçları ve hata ayıklayıcılar çok az. Bunun yanında PHP için kümeleme yapmak isteyen organizasyonları işi ise oldukça zor.Linux sunuculardaki testlerde PHP ortalama olarak saniyede 47 sayfa gösterme hızına ulaşabiliyor.

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır