3. Model 1 Mimari
1 2 3
JSP JavaBeans
4
(View) (Model)
6 5
Client Database
Server
HTML form bilgisini JSP veya Servlet`e gönderir (1)
JSP den ş bileşenlerine bağlanır (2)
ş bileşenleri database işlemlerini yapar (3-4)
Yapılan işlem sonucu JSP ye bil gi döner (5)
JSP dönen sonucu clienta gönderir (6)
4. Model 1 Dezavantajları
Bakım zorluğu
Hataların bulunma zorluğu
Sayfa akış düzenini değiştirme zorluğu
Modüler olmayan uygulamalar
Sisteme yeni modüller ekleme zorluğu
Güncelleme problemi
5. Model 2 Mimari (MVC)
1
Controller
2
(Servlet) 3
JavaBeans
2` 5 4
(Model)
JSP
6
(View) Database
Client Server
HTML form bilgisini Controller Servlete gönderir (1)
Controller Servlet yapılması gereken işlemi belirler
şlem sadece yönlendirme işlemi ise başka bir jsp ye yenlendirir (2)
şlem iş bileşenleri ile ilgili ise iş bileşenlerini çağırır (2`)
ş bileşenleri database işlemlerini yapar (3-4)
Yapılan işlem sonucu JSP ye bilgi döner (5)
JSP dönen sonucu clienta gönderir (6)
6. MVC – (Model)
Model ( ş bileşenleri katmanı)
Verilerin ve iş kurallarının işlendiği
katmandır
Bu katmanda yapılanlar;
Database sorgulamaları
ş kurallarının kontrolü
Veri ve uygulama kuralları katmanını
(business layer) sunum katmanından
(presentation layer) ayırır
8. MVC – (Controller)
Controller (Kontrol katmanı)
Uygulamaya gelen isteklerin nasıl işleneceğine ve
sonucunun nasıl gösterileceği bilgisini tutar
Kullanıcı isteklerine göre hangi iş bileşenlerinin
çalışacağına karar verir
ş bileşenlerinden gelen bilgilerin sunum
katmanında hangi görüntü bileşenine
yönlendirileceğineve nasıl görüntüleneceğine karar
verir
Ör : Dil seçenekeleri veya rollere göre sayfaların
görüntülenmesi
9. Model 2 (MVC) Avantajları
Hızlı uygulama geliştirme imkanı (RAD)
Esnek ve moduler yapı
Sayfa akış kontrolu merkezi olması
Katmanların net olarak birbirinden
ayrılması
10. Model 2 (MVC)Dezavantajları
Sağlam bir MVC uygulaması yazmak iyi
bir tasarım ve kodlama gerektirir
Her bir istek (request) için arka planı
tasarlanmalıdır.(Controller, Model ve
View bileşenleri tasarlanmalıdır)
Fakat bunun için sıfırdan başlamamız gerekmiyor
MVC Frameworkleri kullanabiliriz.
11. Neden MVC Framework?
Uygulamaları MVC mimarisinde geliştirmek için iyi
bir planlama ve katman tasarımı gerekir
MVC Uygulaması geliştirmek için kendi mimarinizi
oluşturmak uygulama geliştirme zamanını
uzatabilir
MVC Uygulamaları geliştirmeye hızlı bir başlangıç
yapmayı sağlar
Katmanların oluştururulmasını kolaylaştırır
Uygulama geliştiricilere kullanabilecekleri ve
genişletebilecekleri sınıflar sunarlar
Girdi kontrolü kolaylaştırır
Uygulamaların internalizationunu kolaylaştırır
12. Java Server Faces
Web uygulamala arayüzleri geliştirmeyi
kolaylaştıran java tabanlı Web
Framework tanımlaması ve referans
uygulamasıdır.
JSF Açık kaynak kodlu standarttır: JSR
127
Java Community Process : www.jcp.org
JSF, Java EE teknolojisinin bir parçasıdır
13. Java Server Faces
Neden Kullanılmalı ?
Hazır MVC altyaspısını sağlar
Uygulama geliştiricilerin rollerini ayırır
Genişletilerbilir bir komponent altyapısı sunar
Standarttır ***
Endüstri desteği hergün artmaktadır
Hızlı uygulamalar geliştirmemizi sağlar (uygun
geliştirme araçları ile sürükle-bırak yaparak
geliştirme imkanı sunar)
Java nın ASP.NET e cevabıdır
14. Java Server Faces
• JSF Framework içerisinde;
Java sınıfları
“Faces” bileşenleri : HTML bileşenlerinin sunucu
tarafındaki karşılıkları (text, buttons, checkboxes, etc.)
FacesServlet (Controller)
Yardımcı sınıflar (Validator, Converter..etc)
Tag kütüphaneleri
Hazır tag kütüphaneleri
Konfigürasyon dosyası (faces-config.xml)
JSF projesi konfigürasyonu: sayfa geçişleri ve
yönlendirmeleri, Uygulamada kullanılacak olan JavaBean
(ManagedBean / BackingBean) tanımları
15. Java Server Faces
JSF yaşam döngüsü;
Request geldiğinde sayfadaki view ID ile bir
16. Java Server Faces
JSF Request yaşam döngüsü
Komponent ağacının oluşturulması
Request değerlerinin atanması
Girdi kontrollerinin yapılması
Model değerlerinin güncellenmesi
Uygulamanın çağırılması
Response un oluşturulması
21. Java Server Faces
Arayüz Bileşenleri (UI Components)
Sunucu tarafında çalışır
form.jsp
Browser
UI
22. Java Server Faces
“Component tree”
View
Sayfaya request geldiğinde
eğer View Id mevcut değil ise
yeni bir component tree Form
oluşturulur
View-id var ise güncellenir input
input
command
23. Java Server Faces
“Validators” & “Converters”
Validators—Girdi kontrollerini yapar
UIInput bileşenlerini değerlerini kontrol eder
Bir veya daha fazla bileşen kontrolü yapabilir
Genel durumlar için hazır “Validator” ler vardır
Converters—Veri Tipleri dönüşüm
işlemlerini yapar
Output: Object to String
Input: String to Object
Genel durumlar için hazır “Converter” ler vardır