4 Mayıs 2011 Çarşamba

JSP Makaleleri 0001 – JavaServer Pages (JSP) nedir ne değildir?

 
          JavaServer Pages (JSP) bir programlama dili değilidir. Java diline ait teknolojilerden bir tanesidir. JavaServer Pages (JSP) sayfalarının uzantısı. jsp dir. JSP müthiş bir hızla gelişmektedir. Geliştirilen yeni ürünler, araçlar ve teknolojiler ile de sürekli olarak desteklenmektedir. JSP dinamik web siteleri geliştirmek için kullanılmaktır. JSP, HTML kodlarının arasına yazılır ve Server (sunucu) tarafındaki Java class(sınıf)ları ile birlikte çalışır. 

Neden JSP kullanmalıyım?

JSP gücünü nesne yönelimli JAVA dilinden almaktadır. JSP’nin temelinde Java olduğundan Java diliyle yazılan hemen hemen her şeyden istifade eder. JSP teknolojisi Java’nın hazır sınıflarından tutunda API setlerine oradan etiket kütüphanelerine kadar hemen hemen bütün Java sofrasından kolaylıkla yer içer. JSP web projeleri geliştirme için çok sağlam bir altyapı sunmaktadır.


Java’yı bu kadar önemli kılan sebepler nelerdir?

Günümüz teknolojilerinde pastanın en büyük dilinmini Java proglama dili tutmaktadır. Java en basit elektronik araçtan tutunda marstaki uzay aracına kadar kullanılmaktadır.


Java imparatorluğunun web kanadı denince ilk akla neler gelmelidir?

En meşhuru ve yaygın kullanılan Java Server Page (Java Sunucu Sayfası) dır. Applet ,Servlet  ve diğer yardımcı teknolojileride unutmamk lazım.



JSP’nin geliştirilmesinde hangi kurumlar rol aldılar?

Java Servlet’in kullanımı web alında güzeldi fakat programcıların Servletleri kodlamaları oldukça uzun zaman alıyordu.  Sun Microsystems bu duruma bir çare aradılar ve  JavaServer Pages (JSP) betik dili doğdu. Sun Microsystems yöneticileri JSP’nin daha etkin hale getirmesilmesi gerektiğini düşünüyorlardı. Apache Group'a JSP ve Java Servlet kodlarının üzerinde çalışmaları için bu dev projeyi verdiler. Kısa bir zaman sonra Apache Group'ta Tomcat adlı ürünü piyasaya sürdü. Sonuçta meşhur Apache's Tomcat ortaya çıktı.


Web Server (Sunucu) nedir?

Web sunucuları farklı istemcilerden gönderilen isteklere cevaplar vermektedir. En popüler web sunucusu Unix üzerinde çalışan ve Apache’dir. Günümüzde çok çeşitli web sunucuları bulunmaktadır.



Application Server(Uygulama Sunucusu) Nedir?

JSP sayfaları sıradan Web Serverlerde değilde Application Server(Uygulama Sunucusu)nda çalışır. JSP ile yazılan sayfaları server (sunucu)da Servletlere yani saf java kodlarına çevrilir. Servletler özünde saf java kodlarıdır. Java kodlarının çalışması demek uygulama demektir. O zaman Application Server(Uygulama Sunucusu)nda her JSP sayfasının çalıştırılması bir java uygulamasının çalışması demek oluyor. Konuyu şöyle bağlaya biliriz. Web sunucusunda java kodlarının çalıştırılması Application Server(Uygulama Sunucusu) olarak isimlendirilir. Java imparatorluğunda JSP sayfalarının sunucusuna “Uygulama Sunucusu” denir.


JSP ve Servlet ilişkisi nedir?

JSP (Java Server Pages), Javanın Servlet teknolojisinin bir uzantısıdır. Servletler platformlardan-bağımsız %100 Java modül(parça)larıdır. Yazılan JSP sayfasının java koduna çevrilmiş hali Servlettir. Html kodlarının arasına yazılan her JSP sayfası sunucuda servlete yani java koduna çevriliyor. Böylece her sayfanın servleti sunucuda oluşturuluyor. Biz hangi JSP sayfasının web tarayıcımızda görüntülenmesini istiyorsak isteğimiz JSP sayfasının sunucudaki servletini yani java kodunu bulup o servleti çalıştırır. Daha sonra onun çıktısı tarayıcıya gönderiliyor. Servletler web serverlerin yeteneklerini ve yapabilecekleri işlerin kalitesini arttırırlar. Servletler diğer scripting dilleri gibi platformlara, özel durumlara göre değişiklikler gerektirmezler. JSP sayfaları HTML ve sunucu taraflı Java progamlarının birlikte çalışmasını sağlar.


JSP, Servletin devamıdır diyebilir miyiz?

JSP den önce Servletler vardı. Servletler üzerinden proje geliştirmek çok uzun zaman alıyordu ve çokta zahmetliydi. Sun Microsystems Firması çok zaman harcamadan daha kolay web projeleri geliştirmek için JavaServer Pages (JSP) nin üretilmesi gerektiğine inandı ve syntax (sözdizimi) ile işe başladılar. Bu işin özü şu şekilde olacaktı. JSP Servletlerin yapabildiği herşeyi daha kolay yapacaktı. JSP betik yapısını Sun Microsystems geliştirdi. Sonuçta JSP ile Servletler rakipmiş gibi bir hava ortaya çıktı. Cin başkadır, şeytan başkadır. JSP ile Servletler rakip değil aksine birbirini tamamlayıcı iki teknolojidir. Evet, sonuçta JSP Java Servlet API'lerin bir uzantısıdır. JSP nin elinin uzanamadığı meyveleri Servletler koparmaktadır. JSP ile yazılan kodlar uygulama sunucumuzda Servletlere çevrilmektedir. JSP teknolojisi ve servletler ikisi birarada düşülmelidirler. Servletsiz JSP veya JSPsiz Servlet düşünülemez.


JSP ve Diğerleri! 

Günümüzün en çok takip edilen web programlama dilleri ve web teknolojileriyle JSP arasındaki ilişki üzerine bir kaç söz etmeden geçmeyelim.

HTML, PHP, ASP, ASP.NET gibi dil veya teknolojler ile web projeleri geliştirmiş programcıların JSP deryasında yollarını bulmaları biraz daha kolaydır. Önceden sahip oldukları tecrübeleri kendilerine JSP projelerinde yardımcı olacaktır. Yapılamasını istediğimiz işlerin benzer olmasına rağmen JSP dünyasındaki kullanılan kavramlar diğerlerinden çok çok başkadır. Web dünyasından söz ederken şu sözü söylemek sanırım abartı olmaz. JSP ve diğerleri. JSP yi öğrenip keşfettikçe bu sözün yerinde bir söz olduğuna hak vereceksiniz.
Web uygulama sunucusundaki JSP sayfalarımızın tutulduğu kısım.

Web uygulama sunucusundaki JSP sayfalarımızdan bir çok veritabınına bağlanabiliriz

JSP kaynak kodları JSP Servlet Motoru içinde web uygulama sunucusunda çalışır. JSP Servlet motoru dinamik olarak HTML üretir ve istemciye HTML çıktılarını gönderir. Web tarayıcısında JSP kodları gönderilmez. İstemciye sadece Applet,Javascript ve HTML kodları gibi sunucu tarafında çalışan kodlar gönderilir.
 
  
JSP ile ASP arasında ne fark var?

Asp bir programlama dili degildir.Web sunucusu ile çalışan bir tekniktir.ASP programcıları için bir adet web sunucusu IIS gereklidir. Web tarayacısında görüntülenmek istenilen sayfa wwwroot kaslörünün içine bırakılır. Asp Activ Server Pages ( Aktif sunucu sayfaları )nın kısaltılmıs biçimidir.

JSP programcıları için bir adet Application Server(Uygulama Sunucusu) gereklidir. Web tarayacısında görüntülenmek istenilen sayfa web kaslörünün içine bırakılır. JSP sayfasının adresi tarayıcının adres satırına yazılır JSP sayfamız öncelikle Application Server(Uygulama Sunucusu)nda Servlete dönüştürüldükten sonra çalıştırılır.

JSP nin öğrenilmesi ASP ye göre zordur. ASP çoğunlukla Microsoft platformlarında çalışır. JSP bu J2EE özelliklerine uygun her platformun üzerinde çalışabilir. JSP JavaBeans ve EJB’leri kullanarak bileşenleri tekrar tekrar yeniden kullanmayı sağlar. ASP ise COM / ActiveX kullanımları ile denetimlerini sağlar.
 
JSP ile ASP.NET arasında ne fark var?

ASP.NET programcıları için bir adet web sunucusu IIS gereklidir. Asp.NET ile yazılan kodlar IIS ile sorunsuz çalışır.

JSP programcıları için bir adet Application Server(Uygulama Sunucusu) gereklidir.

ASP.NET Microsoft ürünüdür .NET Framework (Çatı) uygulamalarında kullanılan Visual Basic, C# (keskin si - sişarf) gibi farklı programlama dilleri kullanılarak web projeleri geliştirme imkânı sunmaktadır.

JSP ise Javanın avantajlarından sonuna kadar yararlanmaktadır. Farklı programlama dillerini kullanma gibi bir durum söz konusu değildir. Sadece Java programlama dili tek başına yeterlidir. JSP Java topluluklarının kullandığı ve geliştirmekte olduğu kurumsal kaliteli ölçeklenebilir uygulamaların, tasarımlarından kodlanmasına kadar yılların deneyimini birçok farklı platformlarda çalışır ve destekler. Java diline dayanmaktadır dolayısı ile JSP her zaman geriye uyumlulukla çalışmaktadır. ASP kodları incelendiğinde arada uçurum olduğunu göreceksiniz. Bu durumda geriye uyumluluğa destek faktörünü görmezden gelemeyiz.Ek olarak ASP.NET’in internette çok yavaş çalışması özellikle Ajax uygulamalarında ağır ve hantal kalmasıda ayrı bir derttir.

   
JSP ile PHP arasında ne fark var?

Personal Home Page (PHP) programcıları için bir adet web sunucusu Apache gereklidir. Web tarayacısında görüntülenmek istenilen sayfa www kaslörünün içine bırakılır. PHP ücretsizdir. PHP için en iyi performans LAMP (Linux - Apache – MySQL - PHP) ile sağlanır.
           
JSP programcıları için bir adet Application Server(Uygulama Sunucusu) gereklidir.

İnternette PHP web programlama dili ile yazılmış oldukça profesyonel siteler bulunmaktadır. PHP’nin JSP’den en belirgin farkı paket kavramlarıdır. PHP fonksiyonlarla birçok işlemin üstesinden gelmektedir. JSP bu tarzda zaten çalışmaktadır evet birçok işini fonksiyonlarla halledebileceği gibi bu işi bir kaç kilometre daha ileriye taşıyarak alt yapılarında Spring web MVC – JavaServer Faces – Struts – Hibernate gibi framework(çatı) ve teknolojilerden de faydalanmaktadır. İşte JSP burada bütün rakiplerine fark atmaktadır.
     

JSP ile Servlets arasında ne fark var?

Servlet sunucu tarafında hizmet veren özel bir Java kodudur. Servletlerin içinde HTML kodu yazılarak çalıştırmak oldukça zahmetli ve zordu. Servlet içinde HTML kodlarını yazmak için tek satırlık println’leri kullanıyorduk. Bu tarz bir yaklaşımda println’lerin kullanım sayısı oldukça fazla oluyordu. JSP sayfalarında ise bu durum ortadan kalkmaktadır. Servlet ile yapabileceğimiz bütün işlemleri JSP sayfaları ile de yapabiliriz. JSP ve Servlet bir birine karşı değil tam aksine bir birini destekleyicidirler. Rakip değil kardeştirler. Duruma göre projelerde bazen JSP sayfalarımızı bazende Servletleri kullanmayı tercih edeceğiz.



Bilgisayar Mühendisi Mimar ASLAN

Ukrayna-Donetsk

Makaleleri referans göstermek kaydıyla alıp yayınlayabilirisniz.

Mimar ASLAN

Hiç yorum yok:

Yorum Gönder