Java EE 5 Teknolojileri Jboss Seam

advertisement
Java EE 5 Teknolojileri
Jboss Seam
Hakan Uygun
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
İçerik
Kurumsal Uygulama Nedir?
Java Teknolojileri
Web Uygulaması
Java EE Bileşenleri
JBoss Seam
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Yazılım İhtiyaçları
Bireysel Kullanıcı
Kurumsal Kullanıcı
Eğitim
İş Çözümleri
Eğlence
Güvenlik
İletişim
Veri İşleme
Farklı İhtiyaçlar
Farklı ölçekler
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Kurumsal Uygulama
Kullanıcı sayısı
Süreklilik
Ağ
Güvenlik
Veri yoğunluğu
Tekrar kullanılabilirlik
Entegrasyon olanakları / Birlikte
çalışabilirlik
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Kurumsal Uygulama
Uzaktan Erişim
Yük dengeleme / Kümeleme
Otomatik hata giderme
Veri bütünlüğü
Sistem yönetimi
Güvenlik
Entegrasyon sistemi
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java Teknolojileri
Ağ Çözümleri
Donanım ve Platform Bağımsız
Bir kez yaz her yerde çalışsın
Açık Mühendislik ve Standartlar
JCP, JSR
Özgür Yazılım
Apache, java.net
Seçim Özgürlüğü
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java EE
Katmanlı Uygulama Mimarisi
Sunum Katmanı
Uygulama Katmanı
Kalıcılık Katmanı
Haberleşme Katmanı
Bileşen Tabanlı Uygulama
Ağ Uygulamaları
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
MVC – Model View Control
DRY – Don't Repeat Yourself
%80-%20 oranı
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java EE
Sunum Katmanı
Kalıcılık Katmanı
Tarayıcı
Masaüstü
Uygulama
(Java)
Web Suncu
Uygulama
Sunucu
İş Kuralları
Masaüstü
Uygulama
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Sunum Katmanı
Masaüstü
AWT / JFC ( Swing ) / SWT
Web Teknolojileri
Applet
Servlet
JSP
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JSP - Servlet
Nesne yönelim API
JSP
Bileşen tabanlı
uygulama
Servlet.java
Tanımlama tabanlı
Sorumluluk zinciri
Servlet
hakan.uygun@uygunteknoloji.com
Etiket tanımlama
( TagLib )
Uygun Teknoloji
Web Uygulama Çatıları
Strust
WebWorks
Wicket
Tapestry
Spring MVC
JSF
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JSF
Bileşen Tabanlı
Görsel Yorumlayıcılar Değişebilir
Uygulama Akış Yönetimi
MVC ( Model-View-Control ) yalıtımı
İyi tanımlanmış yaşam döngüsü
İyi tanımlanmış makro dili ( EL )
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JSF - Facelet
Tek bir servlet ( Facelet-servlet )
xhtml tabanlı - şablon sistemi
Gerçek kod yalıtımı
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JSF Görsel Bileşenleri
Standart JSF bileşenleri ( RI ve MyFaces )
Trinidad
Woodstock
Richfaces
IceFaces
...
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Kalıcılık Katmanı
Kalıcılık Araçları
Veri Tabanları
Dosyalar
Ağ Bileşenleri
Kalıcılık Katmanına Erişim
JDBC
Nesne Yönelimli Programlama
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JPA
ORM : Nesne – Veri Tabanı Eşleme
CRUD işlemleri
JPA – Gerçeklemeleri
Hibernete
Toplink
OpenJPA
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
JPA
@Entity
@Table(“accounts”)
public class Account extends AuditBase implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column( name="CODE", length=20, nullable=false, unique=true )
private String code;
@Column( name="NAME", length=50 )
private String name;
@Column( name="INFO" )
private String info;
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
EJB
Session Bean
Stateless - Durumsuz
Statefull - Durumlu
Message Bean
Entity Bean
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
EJB
İş kurallarını merkezileştirir
Ağ dağıtık bileşenler
Transaction
Güvenlik
Süreklilik
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
EJB3
XML tanımları yok
@Stateless
@Statefull
@Local
@Remote
POJO tabanlı
Uygulama sunucuları arasında
taşınabilirlik artışı
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Mevcut Gerçeklemeler
Özgür Yazılım
Glasfish
Jboss AS
Geronimo
Ticari Yazılımlar
WAS
WebLogic
OC4J
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java EE 5 - Sonuç
Avantajlar
Standartlar ile çalışmak
Kurumsal uygulama geliştirme olanakları
Geniş kullanıcı desteği
Geniş kurum desteği
Dezavantajlar
Öğrenim zorluğu
Seçim zorluğu
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Seam Nedir ?
Yeni bir tane daha uygulama çerçevesi
mi?
Gavin King / Jboss / RedHat
LGPL
Java EE 5
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java EE 5 Teknolojileri
Annotation / Bijection
JSF
EJB3 / JPA
Facelet
Ajax
TestNG
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Seam Uygulaması
JSP
EJB
Facelet
Portal
hakan.uygun@uygunteknoloji.com
JSF
Seam
ORM
Uygun Teknoloji
Seam Bileşenleri
@Name
EJB3 Entity Bean
EJB3 Session Bean
EJB Message Bean
POJO
Spring Bean
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Seam Süreçleri
@Scope
Event
Page
Conversation
Session
Application
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Seam Navigasyonu
Standart JSF yöntemleri
Page.xml
View.page.xml
JBPL
Seam Event Mekanizması
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Kullanıcı Hak Yönetimi
Basit
Denetleyici tanımı
Login Formu
Gelişmiş
JAAS
Drools
SSL
Captcha
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Genel Kullanım
Login Formu
Login Forma Yönlendirme
Exception
Login Requried
@Restrict
s:hasRole
s:hasPermission
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Varsayılan Bileşenler
Log
Session
EntityManager
Debug
Locale, TimeZone, Theme v.b.
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Ajax
Ajax ve Javascript desteği ( Seam
Remoting )
Ajax4Jsf
RichFaces
IceFaces
Trinitad
Woodstock
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Seam-gen ve IDE Desteği
seam-gen ve seam framework
seam new-project
seam new-action
...
Eclipse
NetBeans
Exadel / JBoss Developer Studio
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Java EE İçin araçlar
JBoss AS
Hibernate
NetBeans
Ant
TestNG
Hudson
Sun JDK
JBoss Seam
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Örnek Kod
www.tekir.com.tr
JBoss Seam Örnekleri
SourceForge Projeleri
Google Code Search
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Teşekkürler
hakan.uygun@uygunteknoloji.com
Uygun Teknoloji
Download