Java Server Faces

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Java Server Faces - Presentation Transcript

    1. Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007
    2. Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama
    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
    7. MVC – (View) View (Sunum katmanı) Client tiplerine göre sunumun düzenlenmesi ş katmanında işlenen verilerin gösterilmesi
    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ı
    17. Java Server Faces JSF önyüz (page1.jsp) <f:view> <h:form> <h:inputText id=\"name\" value=\"#{student.name}\" /> <br> <h:inputText id=\"lname\" value=\"#{student.age}\" /><br> <h:commandButton id=“click\" value=“click“ action=\"#{student.saveData}\" /><br> </h:form> </f:view>
    18. Java Server Faces ManagedBean / BackingBean public class Student { private String name; private String age; public Student() { } public String getName() { return name;} public void setName(String name) { this.name = name;} public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String saveData() { //save data to database and return “success” } }
    19. Java Server Faces faces-config.xml <managed-bean> <managed-bean-name>student</managed-bean-name> <managed-bean-class>edu.sabanciuniv.Student</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> Scopes request session application
    20. Java Server Faces Sayfa yönlendirmesi <navigation-rule> <from-tree-id>/page1.jsp</from-tree-id> <navigation-case> <from-outcome>success</from-outcome> <to-tree-id>/success.jsp</to-tree-id> </navigation-case> <navigation-case> <from-outcome>failed</from-outcome> <to-tree-id>/fail.jsp</to-tree-id> </navigation-case> </navigation-rule>
    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
    24. Java Server Faces Örnekler; Converter: <h:inputText value=“#{bean.date}”> <f:convertDateTime pattern=“MM/dd/yyyy”/> </h:inputText> Validator: <h:input_text valueRef=”#{testingBean.today}” > <f:validator_length minimum=”6” maximum='10” /> </h:input_text>
    25. J2EE Karikatürleri Java Server Faces
    26. J2EE Karikatürleri Dependency Injection
    27. J2EE Karikatürleri EJB
    28. Örnek Uygulama
    29. SORULAR ahmetdemirelli@sabanciuniv.edu http://people.sabanciuniv.edu/ahmetdemirelli

    + ahmetdemirelliahmetdemirelli, 3 years ago

    custom

    4134 views, 0 favs, 4 embeds more stats

    Türkiye Bilişim Derneğinde verdiğim JSF Semner more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 4134
      • 3696 on SlideShare
      • 438 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 148
    Most viewed embeds
    • 434 views on http://www.pecsimeth.com
    • 2 views on http://209.85.129.132
    • 1 views on http://74.125.39.104
    • 1 views on file://

    more

    All embeds
    • 434 views on http://www.pecsimeth.com
    • 2 views on http://209.85.129.132
    • 1 views on http://74.125.39.104
    • 1 views on file://

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories