RAD’in dort katmanina kiyasla dusundugumuzde JavaServer Faces bunlardan ucunu tanimlar: uygulama mimarisi, standart kullanici arayuzu(UI) seti ve uygulama altyapisi. JSF’nin bilesen altyapisi UI bilesenleri olusturmak icin ortak bir yol tanimlar. Bu mimari standart JSF UI bilesenleri(hyperlink, button, secme kutulari, text alanlari gibi) yaninda, ucuncu parti bilesenleri icin de bir ortam olusturur. Bilesenler olay tabanlidir, dolayisiyla JSF istemci tarafinda olusan olaylari(ornegin text-box’in degerinin degistirilmesi ya da butona tiklanmasi gibi) islememizi saglar.
Web uygulamalarinin masaustu olanlardan farkli olarak genellikle bircok istemciye destek vermesi gerektiginden JSF’nin bilesenleri degisik yollarla gostermek
Sekil 1: IBM’in WebSphere Application Developer’i (WSAD) degisik teknolojiler yaninda JSF uygulamalarini destekleyecek sekilde genisletilmistir. WSAD’in alisildik Eclipse-bazli ortami ile gorsel JSF uygulamalari gelistirebilir, baska JSP tag kutuphaneleri ile butunlestirebilirsiniz.
icin guclu bir mimarisi bulunmaktadir. Ayrica girisin “validate” edilmesi, nesneleri gostermek icin string’e veya string’den nesneye donusturulmesi gibi islem ozelliklerine sahiptir.
Faces otomatik olarak UI bilesenleri ile giris degerlerini tutan ve cevap ureten Java nesnelerini senkron halde tutabilir. Bu nesnelere backing beans adi verilir. Ayrica guclu bir navigasyon sistemi ve coklu dil destegi bulunur. Her yeni system icin gerekli temel yapi-taslari olan bu ozellikler JSF’nin uygulama altyapisini olusturur.
Sekil 2: Oracle JDeveloper JSF icin tam bir destek saglayacak ve ayrica standart JSF uygulamalari ile butunlesebilen genisletiletilebilen bir dizi UIX bileseni ile gelecek.
JavaServer Faces tool destegi icin altyapiyi tanimlarken ozellestirilmis tool’larin gelistirilmesi, Java’da oldugu gibi yazilim firmalarina birakilmistir. Endustri liderlerinin gelistirdigi, RAD gelistirme araclari(Visual Studio.NET gibi) kullanicilarina yakin gelecek bircok gorsel web arayuz olusturma araci arasindan tercih sansina sahipsiniz. Ya da isterseniz, Faces uygulamalarini tasarim araclari olmadan da gelistirebilirsiniz.
Sekil 3: Sun’in Java Studio Creator’u JavaServer Faces uygulamalari icin kolay kullanimli, gorsel tabanli bir ortamdir. Gorsel JSF sayfa tasarimindan, JSP koduna ve ilintili Java koduna, Visual Studio.NET, ya da Delphi kullanicilarinin aliskin olduklari sekilde kolaylikla gecebilirsiniz.
JavaServer Faces ile swing ya da Standart Widget Toolkit gibi diger masaustu kullanici arayuzu frameworkleri arasindaki esas fark ise JSF’nin server tarafinda calisiyor olmasidir.
Bir Swing uygulamasindaki bir butona tikladiginizda kodda direk isleyebileceginiz bir olay olusturur. Oysa ki web tarayicilari JSF bilesenleri ya da
Sekil 4: Bir JavaServer Faces uygulamasinin yuksek kademe gorunusu.
olaylari hakkinda hicbirsey bilmezler, sadece HTML sayfasini gosterirler. Dolayisiyla bir Faces uygulamasindaki bir butona tikladiginizda bir istegin web tarayicinizdan sunucuya gonderilmesine yol acar. Ayrica sunucuda tanimladiginiz her UI bileseninin duzgun gosterilmesinden sorumludur.
Sekil 4 bir Faces uygulamasinin gorunusunu vermektedir. Uygulamanin sunucuda calistigini ve ve diger alt-sistemlere(Enterprise JavaBeans servisleri ya da veritabani gibi) entegre olabildigini gorebilirsiniz. JSF ek olarak daha az efor sarfederek daha guclu web uygulamalari hazirlamaniz icin bircok servis sunmaktadir. Java ServerFaces’in esas amaci web gelisimini hizlandirmaktir. Uygulama gelistiricilerin istekler(requestler), cevaplar ve markup dili yerine bilesen, olay, “backing bean” ve bunlarin iliskileri seklinde dusunmelerini saglar. Baska bir degisle web uygulama gelistirmedeki bircok karmasikligi maskeliyerek, gelistiricinin en iyi gerceklestirdikleri seye- uygulama gelistirmeye odaklanmasini saglar.