JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO...
Transcript of JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO...
![Page 1: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/1.jpg)
JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması
Hakan ALBAĞTahsin Barış AKAN
Bitirme Projesi
05.06.2006
![Page 2: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/2.jpg)
Giriş
Ticari yazılımlarda ortak ihtiyaçlarBirden fazla kullanıcıYoğun veritabanı işlemleriGenişletilebilirlikKullanıcı dostu
Geliştirme süreçleri ve maliyetler
![Page 3: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/3.jpg)
Amaç
Ortak ihtiyaçlara sahip yazılım sistemlerinin geliştirilmesine hizmet edecek bir altyapı
Geliştirme sürecini hızlandırmakBirden fazla kullanıcı tarafından uzaktan erişimVeritabanı erişimleriKullanıcı / grup / yetki yönetimiStandard arayüzlerDinamik modüler yapı
![Page 4: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/4.jpg)
e-cza
Ecza deposu stok otomasyon yazılımı
Stok takibiİlaç – Firma tanımlama / alım / satım işlemleriGeçmiş satışlara yönelik stok analizi
![Page 5: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/5.jpg)
Java RMI
Dağınık uygulamalarda uzaktaki nesnelerle yerel ortamdaki esneklikte çalışmayı sağlar.Dağınık bir uygulamanın gerçekleştirdikleri:
Uzak nesneleri belirlemekUzak nesnelerle iletişim kurmakNesnelerin derlenmiş kodunun (bytecode) yüklenmesi
![Page 6: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/6.jpg)
Java RMI (2)
RMI basit bir kavram üzerinde yükselir:''Davranışın tanımı ve davranışın geliştirilmesi ayrı kavramlardır.''
![Page 7: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/7.jpg)
Java RMI (3)
RMI Katmanları
Kütük ve iskelet :İstemci çağrılarını keserek RMI servisine yönlendirir.
Uzak referans katmanı:Uzak nesneler yapılan referans istemlerini yönlendirir.
Ulaşım Katmanı:Temel bağlantı özelliklerini sunar.
![Page 8: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/8.jpg)
Hibernate
Java için ORM / Object-Relational Mapping kitaplığı
Veritabanı işlemlerini nesneye dayalı yürütmekTemel işlemler için programcı yükünü azaltmakCep bellek mekanizması
![Page 9: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/9.jpg)
Hibernate (2)
Varlık nesneleri (POJO)XML eşleme dosyaları (.hbm.xml)
Java tipi – SQL tipiJava sınıfı – SQL tablosu1-1,1-n ,m-n ilişkiler
KonfigurasyonSQL diyalekti
JDBC ( mySQL,MS SQL Server,Oracle,vs.)
![Page 10: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/10.jpg)
Sistem - Genel yapı
![Page 11: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/11.jpg)
İstemci & Sunucu
İstemciArayüzYerel veri işlemeRMI çağrıları
SunucuUzak nesnelerin yönetimiTüm veritabanı işlemleri
![Page 12: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/12.jpg)
Varlık nesneleri
POJO ( Plain old java objects)İlac,Firma,Kampanya gibi temel nesnelerİstemci de Sunucu da ihtiyaç duyar
Veri modelinden nesne modeline geçişEclipse Hibernate Tools
![Page 13: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/13.jpg)
GenericDAO
DAO – Data Access ObjectŞablon sınıfTüm varlık nesneleri için veri erişimi Standard veritabanı işlemleriSQL
T getByID(Integer ID)List<T> findAll()List<T> findByCriteria(Criterion ... criteria) List findByQuery(String sql)
![Page 14: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/14.jpg)
GenericDAO (2)
İstemciden veritabanı erişimiDoğrudan veritabanı bağlantısıSorunlar
Hibernate cep bellekDüşük performansMimari
Çözüm : RemoteGenericDAO
![Page 15: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/15.jpg)
RemoteGenericDAO
Veri tabanı erişiminin tek yerden yapılması
GenericDAO RMI istemcisiRemoteGenericDAO Veritabanı erişimi
Hibernate cep bellek kullanımdaŞablon sınıf ama nesneler açılışta yaratılmalı
![Page 16: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/16.jpg)
Kullanıcı Arayüzü
Java SwingArayüz KalıtımıDinamik menu elemanları
GenişlitilebilirlikErişim denetimi
![Page 17: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/17.jpg)
Arayüz kalıtımı
Ortak görünüm ve işlemlerTablo yapısıEkleme / Silme / Güncelleme
AbstractGridFrame sınıfıTüm tablo yapılı ekranlar için soyutlama sınıfı
![Page 18: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/18.jpg)
![Page 19: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/19.jpg)
Dinamik menu ve erişim
Menu elemanları veritabanındaMenu grupları (Modüller)
Menu elemanlar ve çalıştıracakları java sınıfları
1. Yeni modüller eklenebilir2. Kullanıcı erişim kontrolü
![Page 20: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/20.jpg)
Kullanıcı yönetimi
Çekirdek modüle dahil / Sistem menüsü
Kullanıcı ve Grup tanımıHer kullanıcı bir gruba dahil olmak zorundaErişim denetimi gruplar üzerinden yapılır
![Page 21: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/21.jpg)
Stok Modülü
Bir ezca deposu stok yapısına göreİlaç , firma , kampanyaStok hareketleri
Alış hareketleriSatış Hareketleri
Satın alma analizBelirli tarih aralığında tükenmesi beklenen ilaçlar
● Genel● Dönemsel
![Page 22: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/22.jpg)
Stok Analiz
Geçmiş satışlar üzerinden analiz hesaplamaROP(adet) = (Birim zamandaki talep) * (temin süresi)
![Page 23: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/23.jpg)
Stok Analiz (2)
Analiz için gerçeklenen adımlarNormal dağılıma göre veri üretmeİleriye yönelik test verisiDönemsel veri üretme
![Page 24: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/24.jpg)
Sonuçlar & Yorumlar
Hibernate kullanımıUygun şartlar & doğru kullanım
Web Servis RMIPerformansGeliştirme kolaylığıBirlikte işlerlik (interoperability)
![Page 25: JAVA RMI ve Hibernate teknolojileri kullanılarak çok ... fileEclipse Hibernate Tools. GenericDAO DAO – Data Access Object Şablon sınıf Tüm varlık nesneleri için veri erişimi](https://reader031.fdocuments.net/reader031/viewer/2022031503/5c7cc38f09d3f2772a8b5bfb/html5/thumbnails/25.jpg)
Teşekkürler
Demo ve sorular