Client Server Database



Benzer belgeler
JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

.com. Özcan Acar 2009 Kurumsal Java.com

JavaServer Faces (JSF) Sunucu Yazılım Teknolojileri 2008

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Üst Düzey Programlama

Java EE 5 Teknolojileri Jboss Seam

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

JSF Melih Sakarya. Java Server Faces Facelet

JBoss Seam. Melih Sakarya

JSF Melih Sakarya. Java Server Faces

ÖZGÜR YAZILIMLAR İLE J2EE

Intercepting Filter Tasarım Şablonu KurumsalJava.com

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

Basit bir web uygulaması

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme

YZM 3215 İleri Web Programlama

Web Uygulamaları Mimarileri ve Güvenliği

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ SUNUCU YAZILIM TEKNOLOJİLERİ LABORATUAR PROJESİ JAVA SERVER FACES

JBoss Seam Next Generation Integration Framework

.com. Kurumsal Java. Özcan Acar com

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Üst Düzey Programlama

Üst Düzey Programlama

Özcan Acar 2009 Kurumsal Java.com

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

JAVA API v2.0 Belge sürümü: 2.0.2

Java Programlama Giriş

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER

Bilgi Servisleri (IS)

Algorithm of Your Life. AJAX ve...

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

MVC, MVP ve Mediator ile TDD Tecrübeleri. Kenan SEVİNDİK

BAŞKENT ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ JAVA TEKNOLOJİLERİ İLE BİR MİLLETVEKİLİ DANIŞMANLIK VE ZİYARETÇİ TAKİP SİSTEMİ GELİŞTİRİLMESİ


Üst Düzey Programlama

1.Mailbox Server Role:

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

Spring Application Framework Harezmi Bilişim Çözümleri

Cahit GÜNGÖR Hacettepe Üniversitesi Bilişim Enstitüsü. Sorumluluk Zinciri. Kod Üretme (Code Generation)

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması

Spring Framework Eğitimi

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

BAŞARIM ÖLÇÜTLERİ 1. ASP.NET MVC nin kullanım alanlarını sıralar. 2. ASP.NET MVC çalışma prensibini örneklerle açıklar.

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

1.1. Referans Kodu: TBTK.KAMU-SM / AR-GE Personeli: Kamu Sertifikasyon Merkezinde yürütülen projelerde;

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

PHP CodeIgniter MVC Framework

BİL-141 Bilgisayar Programlama I (Java)

Java. Hakkımızda. Java Eğitimi

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Selçuk Akyıldız. Kişisel Bilgiler. Eğitim Bilgileri 1 / 5. Adres Bilgileri

Tasarım Desenleri ve Java Web Servisleri ile Çok Katmanlı Bir Sistem Tasarımı

Internet: Tarihçe ve Kavramlar

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

MASTER PAGE SAYFASI KULLANIMI

RoboGuice ve Android Annotations ile Verimli Android Uygulama Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan. Inet-TR 12 9 Kasım 2012

Dinamik Proxy Tabanlı View Model API

Selahattin Esim CEO

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Android e Giriş. Öğr.Gör. Utku SOBUTAY

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

NETWORK BÖLÜM-5 OSI KATMANLARI. Öğr. Gör. MEHMET CAN HANAYLI CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU 1/27

Öğr. Gör. Serkan AKSU 1

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009

Spring Framework Eğitimi

Spring Framework Eğitimi

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Front Controller Tasarım Şablonu KurumsalJava.com

DERECESİ: ARANAN ŞARTLAR: İLAN TARİHİ:

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Sürücü Belgesi B. Firma Sektörü Bilişim. Bitiş Tarihi Hala çalışıyorum. Firma Sektörü Bilişim. Bitiş Tarihi

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri

Business Delegate Tasarım Şablonu KurumsalJava.com

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

Açık Kaynaklı J2EE Geliştirme Araçları. Ahmet Işık İdeal Teknoloji A.Ş.

Symfony Doctrine. Symfony-Doctrine. Deniz Bahadr GÜR, Mehmet Onur YALAZI. Özgür Web Teknolojileri Günleri, 2010

Java 2 Micro Edition (J2ME)

Web Tabanlı J2EE Uygulamalarında Struts Framework & Hibernate Desteği

AIF: Kurumsal Uygulamalar İçin Bir Yazılım Çerçevesi

PROGRAMLAMA DERSİ 1. İNTERNET

Tekir (Ön Muhasebe Yazılımı)

Transkript:

Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007

Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama

Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client Server Database 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)

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

Model 2 Mimari (MVC) 6 1 Controller (Servlet) 2` JSP (View) 5 2 JavaBeans (Model) 3 4 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)

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

MVC (View) View (Sunum katmanı) Client tiplerine göre sunumun düzenlenmesi İş katmanında işlenen verilerin gösterilmesi

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

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ı

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.

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

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

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

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ı

Java Server Faces JSF yaşam döngüsü; Request geldiğinde sayfadaki view ID ile bir

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ı

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>

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

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

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>

Java Server Faces Arayüz Bileşenleri (UI Components) Sunucu tarafında çalışır form.jsp Browser UI

Java Server Faces Component tree Sayfaya request geldiğinde eğer View Id mevcut değil ise yeni bir component tree oluşturulur View-id var ise güncellenir View Form input input command

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

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} > </h:input_text> <f:validator_length minimum= 6 maximum='10 />

J2EE Karikatürleri Java Server Faces

J2EE Karikatürleri Dependency Injection

J2EE Karikatürleri EJB

Örnek Uygulama

SORULAR ahmetdemirelli@sabanciuniv.edu http://people.sabanciuniv.edu/ahmetdemirelli