Üst Düzey Programlama



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

Üst Düzey Programlama

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

Üst Düzey Programlama

Üst Düzey Programlama

Üst Düzey Programlama

Üst Düzey Programlama

Client Server Database

.com. Özcan Acar 2009 Kurumsal Java.com

Java EE 5 Teknolojileri Jboss Seam

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

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

Üst Düzey Programlama

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

ÖZGÜR YAZILIMLAR İLE J2EE

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

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

Öğr. Gör. Serkan AKSU 1

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Programlama Yazılımı ile Web Sitesi Oluşturma

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Üst Düzey Programlama

Basit bir web uygulaması

Intercepting Filter Tasarım Şablonu KurumsalJava.com

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

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi İNTENT VE İNTENT. BLM401 Dr.Refik SAMET

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

YZM 3215 İleri Web Programlama

19 Şubat 2016 Cuma

Üst Düzey Programlama

BM-311 Bilgisayar Mimarisi

YZM 3215 İleri Web Programlama

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

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

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

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

Üst Düzey Programlama

Üst Düzey Programlama

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

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

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

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

THY A.O. Bilgi Teknolojileri Alanında Tecrübeli Çalışma Arkadaşları Arıyor

E-Mükellef Kontrol Programı Kullanım Kılavuzu

ASP.NET SAYFA DETAYLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Üst Düzey Programlama

İşletim Sistemlerine Giriş

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

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

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

Web Uygulama Güvenliği Kontrol Listesi 2010

BM-311 Bilgisayar Mimarisi

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

PROGRAMLAMA DERSİ 1. İNTERNET

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

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

YZM 3215 İleri Web Programlama

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

Genel Açıklama: Bu çalışmanın kullanıcılarıma yararlı olmasını temenni ederiz. Saygılarımızla, 15 Ekim 2012 Datasoft Yazılım

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

Kurulum ve Başlangıç Kılavuzu. DataPage için

1. Web Sitesine Giriş 1. Giriş Yapmak için tıklayın tıklanır.

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Swing ve JDBC ile Database Erişimi

FATURA ŞABLONU TASARLAMA KILAVUZU

VIO ERP12 Muhasebe Kurulum

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

İSTANBUL ÜNİVERSİTESİ. Kalite Yönetim Sistemi Kullanım Kılavuzu

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

E-FATURA /E-DEFTER / E-ARŞİV ÇÖZÜMLERİ

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI

GÖZETMEN İLE BAŞVURU FORMU DOLDURMA TALİMATI

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

2- Kontrol Sil En Öne Getir En Arkaya Gönder Resim Özellikler: Genel Özellikler...

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

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.

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Eczane İlaç Satış Onay Bildirimi Web Servislerinin Kullanım Kılavuzu

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.

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

ArcSight Logger Connector ArcSight Logger Connector Yapılandırması

MİCRODESTEK E-SMM UYGULAMASI TANITIM DOKÜMANI

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Java Programlamaya Giriş

Asp.Net Veritabanı İşlemleri

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

TÜİK e-vt. Web Servis Kılavuzu

Veritabanı. Ders 2 VERİTABANI

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

Ağ Yönetiminin Fonksiyonel Mimarisi

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

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

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

Transkript:

Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1

JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki temel fark, kullanıcıdan gelen isteğin (request) kim tarafından ve nasıl işleneceğidir. Üst Düzey Programlama-ders08/ 2

MODEL 1 JSP sayfası isteğin tüm işlemlerini yapar ve istemciye çıktıyı gösterir. Üst Düzey Programlama-ders08/ 3

MODEL 1 Şekildeki gibi süreçte herhangi bir Servlet kullanılmamaktadır. İstemcinin isteği direkt olarak JSP sayfasına gönderilir. Bu JSP işlemleri yapabilmesi için gerekli olan diğer sınıfları(javabean,...) ve servisleri kullanır. Bir sonraki görüntülenecek olan çıktıyı JSP sayfası kendisi ya da kullanıcıdan gelen bir parametreye göre belirler. Üst Düzey Programlama-ders08/ 4

MODEL 2 Bu modelde kullanıcıdan gelen istek bir Servet tarafından kesilir. Bu servlete genellikle Kontrolcü Servlet (Controller Servlet) denilir. Bu servlet gelen isteği ilk olarak işler ve bir sonraki adımda hangi JSP nin görüntüleneceğini karar belirler. Üst Düzey Programlama-ders08/ 5

MODEL 2 Üst Düzey Programlama-ders08/ 6

MODEL 2 Bir istemci hiçbir zaman bir JSP ye direkt olarak istek göndermez. Kontrolcü servlet bir trafik polisi biri görev yapar. İstekleri ilk olarak karşılar, doğrulama (authentication), yetkilendirme (authentication), merkezi günlükleme (logging), ulusallaştırma (internalization) gibi işlemleri yerine getirebilir. İşlemler sonunda ilgili JSP ye bu isteği gönderir. Üst Düzey Programlama-ders08/ 7

Model 2 mimarisi ile MODEL 2 iş mantığı (business logic -gerçekten yapılması gerekli olan işler), sunum (presentation-işlemlerin sonuçlarının ve verilerin görüntülenmesi) ve isteklerin işlenmesi (request processing) ayrılabilir. Bu ayırma Model-Görünüm-Kontrolcü Model- View-Controller (MVC) tasarım şablonudur. Üst Düzey Programlama-ders08/ 8

MODEL 2 Bu şekilde web uygulamasındaki bileşenler sorumluluklarına göre ayrılırlar. Bu şekilde uygulamanın geliştirilmesi ve bakımı daha etkin bir hale gelir. MVC tasarım şablonunun 3 temel bileşeni: Model: İş alanındaki bilgiyi tutar. Veri tutar. Görünüm(View): İş alanındaki bilgileri (model) görüntüler. Kontrolcü(Controller): Kullanıcının girdisine göre iş akışını yönetir. Üst Düzey Programlama-ders08/ 9

MODEL 2 Bu şablonda kullanılan Model kısmı farklı olabilmektedir. Örneğin; veritabanında işlem yapan bir uygulamada, sonuç kümesinin (ResultSet) satırlarına karşılık gelen sıradan Java Bean ler Model olarak kullanılır. Otomatik olarak veritabanından bu Java Bean lere dönüşüm yapan çatılar(framework) bulunmaktadır. Gerçekleştirilen bu işleme Nesne-İlişkisel Eşleme (Objectto-Relational Mapping : ORM) denilmektedir. -TopLink -CocoBase -Hibernate... Üst Düzey Programlama-ders08/ 10

MODEL 2 Daha karmaşık uygulamalarda EJB sunucularında bulunan EJB'ler Model olarak kullanılabilmektedir. Görünüm (View) olarak html, JSP kullanılmaktadır. Kontrolcü(Controller): Genellikle bir JavaServlet'tir. Görevleri: 1.) İstemciden gelen isteklerin yolunu keser. 2.) İsteği alarak gerekli işlemleri yapacak işlemlere (business operation) çevirir. 3.) Yapılacak işlemleri kendisi gerçekleştirir ya da bir işleyiciyi(handler) temsilci olarak seçer ve işi yaptırtır. 4.) İstemciye gösterilecek bir sonraki görünüme karar verir. 5.) İstemciye bu görünümü döndürür. Üst Düzey Programlama-ders08/ 11

MODEL 2 Tüm istek ve cevaplar kontrolcüden geçer. Bu durumda uygulamaya yeni bir özellik ekleneceğinde tüm JSP lere bu özelliğin eklenmesi yerine sadece Kontolcüye eklenir. Struts bir çatı(framework)dır ve MVC tasarım şablonunun gerçekleştirilmesini sağlayan birçok sınıf ve yapılandırma dosyası içerir. Üst Düzey Programlama-ders08/ 12

STRUTS GÖZDEN GEÇİRME -MVC tasarım şablonuna uygun bir çatı(framework) dır. -Kendine ait olan JSP etiketleri mevcuttur. Bu etiketler uygulamada kullanılır. -Merkezi bir yapılandırma(configuration) dosyası bulunmaktadır. Bu dosya xml biçimlidir. Yapılandırma dosyası ile Java kodunda değişiklik yapılmadan uygulamanın çeşitli davranışları farklılaştırılabilir. (struts-config.xml) -Form Bean'ler kullanılarak kullanıcı formlarından gelen veriler tek bir nesnenin özelliklerinde saklanır. Veriler bu nesne özelliklerine otomatik olarak aktarılır. Ayrıca bu nesnelerin gelişmiş özellikleri mevcuttur. Üst Düzey Programlama-ders08/ 13

STRUTS GÖZDEN GEÇİRME -Bean etiketleri, <jsp:usebean...> ve <jsp: getproperty...> etiketlerine eş, daha basit etiketleri bulunmaktadır. (<bean:write...> gibi) -HTML Form etiketleri vardır. -Form alanlarının geçerlilik kontrolü(validation): Form alanlarının istenilen biçimde girilip girilmediğinin test edilmesini sağlayan yerleşik mekanizmaları vardır. Değerler girilmemiş ya da hatalı girilmiş ise hata mesajları görüntülemesi yapılır. Bu geçerlilik kontrolü istemcide ya da sunucuda yapılabilir. Örnek struts siteleri : http://www.enterprise.com http://travel.travelocity.com http://www.bp.com http://www.mastercard.com Üst Düzey Programlama-ders08/ 14

STRUTS AKIŞ KONTROLÜ 1.istek: sayfa.jsp JSP 2 3. submit form istemci Form istek: /action.do Kontrolcü ActionServlet 5: Action'ı Belirler 6:çalıştırır 7:geriye değer döndürür Action 6:execute() 4 struts-config.xml 8 9: yapılandırma dosyasından geriye gelen değere göre gidilecek sayfayı seçer 11: sonu. (view) istemciye gönderilir. 10 JSP Üst Düzey Programlama-ders08/ 15

STRUTS GÖZDEN GEÇİRME ActionServlet: Kontrolcü sınıfıdır. struts-config.xml yapılandırma dosyasını uygulama çalışmaya başladığında okur. Bu dosyadan, gelen isteklere karşılık hangi Action sınıfın seçileceği, kullanıcıdan gelen istek bir formdan geliyorsa bu form bilgilerinin hangi Form Bean'e konulacağı, Action sınıfından geri dönen değere göre nereye yönlendirilme yapılacağı gibi bilgileri alır. Action: Belirli bir işi yerine getirir. ActionServlet bu nesneleri ihtiyaç halinde otomatik olarak oluşturur. Daha önceden oluşturulmuş var ise bu nesneyi kullanır. Action sınıfında bulunan execute() metodu Action sınıfın işlerinin yapıldığı metottur ve ActionServlet tarafından otomatik çalıştırılır. Üst Düzey Programlama-ders08/ 16

STRUTS GÖZDEN GEÇİRME ActionForm: Kullanıcıdan gelen form bilgilerinin doldurulduğu Java Bean sınıfıdır., Java Bean'den farklı olarak validate(), reset() gibi metotları vardır. validate() metodu form verileri nesne içerisindeki değişkenlere doldurulduktan sonra otomatik olarak ActionServlet tarafından çalıştırılır. Bu metotta oluşan hatalara göre farklı işlemler yapılır. Üst Düzey Programlama-ders08/ 17

STRUTS GÖZDEN GEÇİRME Üst Düzey Programlama-ders08/ 18

STRUTS ÇALIŞMA ADIMLARI 1.) Kullanıcı bir form isteğinde bulunur. html formu ya da <html:form> struts etiketi ile oluşturulmuş bir form dur. 2.) Bu form action_adı.do şeklinde bir adrese gider. Bu adres değeri struts-config.xml dosyası içerisindeki bir Action sınıfı ile eşleştirilmiştir. 3.) Bu ayar dosyasından tespit edilen Action sınıfı ile ilişkili bir ActionForm olup olmadığına bakılır. 4.) İlişkili bir ActionForm var ise, belirtilen scope da bu nesneden var mı diye kontrol edilir. Var ise kullanılır yok ise yeni bir nesne oluşturularak bu scope a eklenir. Üst Düzey Programlama-ders08/ 19

STRUTS ÇALIŞMA ADIMLARI 5.) ActionForm nesnesinin reset() metodu çalıştırılır. 6.) Kullanıcı formundan gelen bilgiler bu form nesnesinin elemanlarına doldurulur. 7.) ActionForm nesnesinin validate() metodu çalıştırılır. 8.) validate() metodundaki hata durumuna göre forma geri dönülür ve hata mesajları gösterilir ya da bir sonraki adıma geçilir. 9) Tespit edilen Action sınıfına ait olan yönlendirme (forward) bilgileri ActionMapping nesnesine depolanır. Bu nesnede forward adı=gidilecek yer şeklinde kayıtlar bulunur. Üst Düzey Programlama-ders08/ 20

STRUTS ÇALIŞMA ADIMLARI 10.) ActionServlet, seçmiş olduğu Action sınıfının execute() metodunu ActionMapping, ActionForm nesneleri ile birlikte request ve response nesnelerini de parametre olarak göndererek çalıştırır. 11.) Action metodu çalışması sonucunda ActionServlet' e bir yönlendirme (forward) bilgisi gönderilir. 12.) ActionServlet belirtilen yönlendirme bilgisine göre yönlenme işlemini gerçekleştirir ve sonuç görünüm(view) kullanıcıya gönderilir. Üst Düzey Programlama-ders08/ 21

Örnek Üst Düzey Programlama-ders08/ 22

Üst Düzey Programlama-ders08/ 23

Üst Düzey Programlama-ders08/ 24

Her action için bilgiler ayrı ayrı tutulur. Bu action a ait yönlenme bilgisi Üst Düzey Programlama-ders08/ 25

Üst Düzey Programlama-ders08/ 26

Üst Düzey Programlama-ders08/ 27

Üst Düzey Programlama-ders08/ 28

Üst Düzey Programlama-ders08/ 29

Üst Düzey Programlama-ders08/ 30

Üst Düzey Programlama-ders08/ 31

Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 32