Bu Çalışmayı yapan Staj Adayları JEE konseptini yakalamış, Spring Frameworku Anlamış Olacaklardır.

Tuesday, 8 April 2008

Spring ile Merhaba Uygulaması ve DI Hakkında Makale

UYGULAMA TANIMI

Basit bir ekran tasarlanacak. İki adet text field ve bir buton olacak.Butona basıldığında text field ların altında Merhaba $1.textfield $2.textfield ve veritabanından gelen rastgele bir değer yazacak.Bu işlem alttaki 10 kısıtlama ile beraber yapılacak.



Örnek1:
-----------

1.text: Selo
2.text: Can
Butona basıldıktan sonra
Merhaba Selo Can, Nasılsın?

Örnek2:
------------

1.text Yeni
2.text: Turkcelli
Butona basıldıktan sonra
Merhaba Yeni Turkcelli, Heyecanla Seni Bekliyoruz?

KISITLAMALAR


1.Butona basıldıktan sonra sayfa tamamı ile post olmayacak.
Ajax requesti gönderilerek veritabındaki değer alınacak.

2.Uygulama Spring framework kullanılarak yazılacak.

3. Controller, View , Data katmanı olacak.
uygulamanın paket yapısı şu şekilde olacak. Aşağıdaki yapıya uygun geliştirme yapılacak.
com.turkcell.intern.hellospring.data
com.turkcell.intern.hellospring.data.impl
com.turkcell.intern.hellospring.model
com.turkcell.intern.hellospring.view

4. Veritabanı olarak H2 text bazlı veritabanı kullanılacak,H2 uygulama içine gömülü olacak, Veritanında bir tane tablo tabloda "nasılsın", "hoşgeldin", "Ne zaman başlıyoruz?", "tebrikler" , “Heyecanla Seni Bekliyoruz” kelimelerinden oluşan değerler olacak.

5. Data katmanında Singleton Design patterni kullanılacak.

6. war dosyası ant scripti ile oluşturulacak.(Proje ile birlikte bu scriptte gönderilecek.)(war dosyası tomcat,jetty,jboss veya weblogic uygulama sunucularından çalıştırılıp denenebilir.)

7. Uygulama deploy edildiğinde çalıştırılabilir olacak. Başka bir ayar gerektirmeyecek.

8. Uygulama Log4j yardımı ile D: dizini altına log yazacak. Log atacağı dosyanın adı hellojava.log olacak. Başladığı süre ve bittiği süre loglanacak. ve yine loga uygulamanın toplam çalışma süresi yazılacak. Her metoda girildiğinde giriş parametreleri fonsiyon içinde
aldığı değerler ve fonksiyondan çıkarken çıkış değerleri yazılacak.

9. Validasyon yapılacak. TextFieldlardan birisi boş olduğunda validation katmanından uyarı getirilmesi sağlanacak. (Uyarılar java script ile verilmeyecek. )

10. Uygulama 8003 nolu portta denenecektir ve Uygulamanın ihtiyaç duydugu jar dosyaları uygulamanın içinde olacak.

İPUÇLARI


İnternetteki benzer örnekler ve Spring, Ajax ile ilişkili kitaplar yararlı olacaktır. Yazılacak olan kod incelenecek ve Standartlara ne derecede uygun olduğu gözlenecektir.

GÖNDERİLECEK DOSYALAR VE DEĞERLENDİRME

1.war uzantılı dosya. (Deploy edilip çalıştırılacak, çalışmazsa 2. adıma geçilmeyecek) (10 puan)
2.projenin kendisi. (Kodları incelenecek, kısıtlamalardan biri eksikse 3. maddeye geçilmeyecek) (40 puan)
3.Ant scripti. (.war dosyasının oluşmasını sağlayan) (.war dosyası başka bir yöntemle oluşturulmayacak.) (başka bir yöntem kullanılmışsa değerlendirme iptal edilecek) (10 puan)
4.Makale.(40 puan)

DEĞERLENDİRME NASIL OLACAK?


1. .war(Web Archive) deploy edilecek.(Bunun dışında her hangi bir ayar yapılmayacak.)
2. Browsera http://localhost:8003/hellojava yazılacak. Uygulama çalıştırılacak.(Kısıtlamalardan biri atlanmışsa değerlendirilmeyecek.)
Çalışmayan veya eksik çalışan uygulama değerlendirilmiyecek.(Örn: Server requesti ajax kullanılmadan göderilmişse eksik çalışıyor demektir.(Değerlendirilmeyecek))

BONUS


8. maddedeki loglama işlemi AOP ile yapılırsa 15 bonus puan daha verilecek.


MAKALE HAKKINDA


Uygulamayı yapan adaylar, Dependency Injection hakkında
Türkçe
1 sayfa
Times New Roman 12 punto
A4 ebatında dependency injection ı özgün biçimde
örneklerle anlatan yazı yazıp pratik çalışma ile beraber gönderecekler.
Uygulamayı eksik yapan ya da yapmayan adayların makalesi okunmayacak.

YARDIMCI OLACAK LINKLER


H2
Log4j
Spring
DI
Ajax
Design Patterns
Ant
J2EE
AOP

No comments: