Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi



Benzer belgeler
Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

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

Java Programlama Giriş

ÖZGÜR YAZILIMLAR İLE J2EE

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

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

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

ile Uygulama Geliştirme Teknikleri

YENİ TRADING DÜNYASINA ÇIKAN MERDİVEN

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

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

Java EE 5 Teknolojileri Jboss Seam

Başlık: Windows Sistem Yöneticisi Yardımcısı

Üst Düzey Programlama

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

LKD Kendi İlacını Kullanıyor

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

Veritabanı Uygulamaları Tasarımı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

EMRE CAMADAN. E-Posta: Cep: KİŞİSEL BİLGİLER. Doğum Tarihi: 28 Haziran 1989 Sürücü Belgesi: B Sınıfı / 2008 EĞİTİM

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

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

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

VERİ TABANI PROGRAMCILIĞI DALI

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

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

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

Java ve Linux. Bora Güngören Portakal Teknoloji Akademik Bilişim

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

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

Workcube dünyasında kariyeriniz nasıl ilerler?

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

İleri Java Programlama (COMPE 515) Ders Detayları

iş zekası business intelligence- harita- performans göstergeleri - balanced scorecard 7 boyut da görsel tasarım LOGOBI İş Zekası Platformu

BİLİŞİM TEKNOLOJİLERİ WEB PROGRAMCISI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

VERİ TABANI UYGULAMALARI

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

SYS Version Satış Yönetim Sistemi

JBoss Seam Next Generation Integration Framework

Öğr. Gör. Serkan AKSU 1

Web Uygulamaları Mimarileri ve Güvenliği

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

AKADEMEDYA YAZILIM BİLGİSAYAR EĞİTİM VE DANIŞMANLIK TİC. SAN. LTD. ŞTİ Kocaeli Üniversitesi Yeniköy Teknopark Yerleşkesi Başiskele / Kocaeli Tel Faks

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

Kurumsal Yönetim Sistemleri Sistemleri

DIGITAL MARKET GRUBU PROJE PLANI

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

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

YZM 3215 İleri Web Programlama

UZAY TEKNOLOJİLERİ ARAŞTIRMA ENSTİTÜSÜ

Üniversite Yerleşkelerinde İletişim Gereksinimi ve Bir Çözüm Önerisi

TÜRKSAT UYDU HABERLEŞME KABLO TV VE İŞLETME A.Ş. İŞÇİ STATÜSÜNDE PERSONEL ALIM İLANI (Bilişim Hizmetleri)

Nasıl Pardus Geliştiricisi Olunur?

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

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

KoçSistem. İK Uygulaması

Java Programlamaya Giriş

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

Client Server Database

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

Interneer Intellect Platformu. Interneer Intellect Platformu Kurumsal Teknoloji ve Mimarisinin Tanıtımı

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

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri

T.C. İSTANBUL ÜNİVERSİTESİ REKTÖRLÜĞÜ SÖZLEŞMELİ BİLİŞİM PERSONELİ SINAV DUYURUSU

Üst Düzey Programlama

TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4423

Gitlab ile Web Tabanlı Git Deposu Yönetimi

Inovasyonu Hızlandırın

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey


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

Akdeniz Üniversitesi

SUBVERSION VE TRAC A GİRİŞ

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

T.C. AKDENİZ ÜNİVERSİTESİ Uzaktan Eğitim Uygulama ve Araştırma Merkezi (AKUZEM) DİJİTAL PAZARLAMA VE SOSYAL MEDYA YÖNETİCİLİĞİ SERTİFİKA PROGRAMI

DHMİ Genel Müdürlüğü Mekansal Bilgi Sistemi Tabanlı Görsel Destekli Envanter Takip Sistemi

Smart Work ile SüreS. reçlerinizi Daha Verimli Hale Getirin Yeşim MUTLU. WebSphere Ürün Müdürü

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

One ASP.NET. 5 bileşen barındırmaktadır. Web Forms Model View Controller (MVC) Web Pages Web API SignalR

Yazılımlarının İncelenmesi

Üst Düzey Programlama

Üst Düzey Programlama

<Insert Picture Here> Primavera P6 Enterprise PPM

Algorithm of Your Life. AJAX ve...

Selahattin Esim CEO

Servis olarak Altyapı

Transkript:

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1

İçerik Giriş Mevcut Sistem Özgür Web Teknolojisi olarak Google Web Toolkit (GWT) Geliştirilen Sistem Mevcut Detaylar Kullanılan Teknolojiler Gerçekleştirilen Modüller Gerçekleştirilecek Modüller Sonuç 28.11.2014 inet-tr'14 : GWT AUFaculty Project 2

Mevcut Sistem 28.11.2014 inet-tr'14 : GWT AUFaculty Project 3

Genel Olarak GWT GWT kodunuzu optimize edilmiş JavaScript e (JS) derler. Sonuç kod HTML + CSS + JS olduğundan konuşlandırma işlemi (deployment) kolaydır. (statik içerik için HTML, görsel tasarım (styling) için CSS ve dinamik içerik için JS [1]) Grafiksel kullanıcı arayüzü bileşenleri olarak kendi Widget ları vardır. Temel amaç, farklı alanlardan Java geliştiricilerini web uygulamaları geliştirme dünyasına kolayca dâhil etmek 28.11.2014 inet-tr'14 : GWT AUFaculty Project 4

Geliştirilmekte Olan Sistem (AUFaculty Projesi) Projede, GWT Widget larını kullanmak yerine, Bootstrap karşılıkları ile arayüzler tasarlanmaktadır (mobil için). Bu amaçla, LoginView ve NavbarView gibi görünüm örnekleri oluşturulmuştur. Katkı: JS bilgisi gerektirmeksizin sadece Java programlama dili ile esnek ve verimli, web tabanlı ve mobil uyumlu uygulama geliştirebilme 28.11.2014 inet-tr'14 : GWT AUFaculty Project 5

Öğretim Elemanları için Bilgi Yönetim Sistemi Geliştirme Ortamı [Ubuntu 14.04] JDK 1.7u55 Eclipse 4.3.2 Maven 3.2.1 (External) m2e 1.4.0 Subversive SVN 1.1.3 (SVN Kit 1.6) Google Plugin for Eclipse 3.5.1 Altyapı Bileşenleri UiBinder GWT-Bootstrap Google Guava EventBus MyBatis 28.11.2014 inet-tr'14 : GWT AUFaculty Project 6

Öğretim Elemanları için Bilgi Yönetim Sistemi Proje Yaşam Döngüsü Proje Yönetim Aracı: Trac. (Yapılan değişikliklerin detayları trac üstünden görülebilir.) Sürekli Entegrasyon Sunucusu: Jenkins. Proje her gece 23:00 te derlenir. JavaDoc oluşturulur ve yayınlanır. * Derlemeyi kıran geliştiriciler e-posta ile uyarılır. Düzeltildiğinde de bilgilendirilirler. Derleme başarılı ise otomatik olarak uygulama sunucusuna konuşlandırılır. Geliştirici referans kaynakları: JavaDoc. Test uygulama sunucusu: Tomcat. 28.11.2014 inet-tr'14 : GWT AUFaculty Project 7

Genel Noktalar GWT uygulaması oldukça modüler bir yapıda geliştirilmekte? Sürdürülebilirlik sağlanmalı Bakım işlemleri kolaylıkla yapılabilmeli Takım büyüyebilir Veri Tabanı (VT) Yönetim Sistemi olarak MS SQL Server (eskiden kalan / mevcut veriler [legacy data] var) kullanılmaktadır. Mobil ve Masaüstü erişim söz konusu Kullanıcı arayüzü tasarımı önemli VT yapısı değişime açık 28.11.2014 inet-tr'14 : GWT AUFaculty Project 8

Teknolojiler UiBinder: Kullanıcı Arayüzü ve İş Mantığı (Business Logic) kodlarını birbirinden ayrık tutarak modülerliği desteklemek için çözüm. [2] GWT-Bootstrap: GWT Widget larının mobil platformlarda performansı kötü, Bootstrap bu alanda da facto* çözüm. GWT-Bootsrap, Twitter Bootstrap bileşenlerinin GWT Widget ları hâlinde marshall^ edilmiş hâli. [3] MyBatis: VT katmanını ve yapısını uygulamanın diğer katmanlarından ayrık tutabilmek için bir çözüm. ibatis tabanlı (geliştiricileri de ortak). Diğer ORM (nesne ilişkisel haritalama) çerçevelerinden farklı olarak, Java nesneleri tablolara değil yöntemler sorgulara eşlenir. [4] 28.11.2014 inet-tr'14 : GWT AUFaculty Project 9

Detaylar Kullanıcı (LoginView) arayüzleri tamamen istemci tarafında (Views) Veri Tabanı (FacultyServiceProxy) işlemleri tamamen sunucu tarafında (Proxy/RPC Services, DAO, Servlets) Paylaşılan Kısım Ortak işlemler, yordamlar, varlık nesnelerini içeren sınıflar vs. Tanımlanan Kontrolör: EventBus (*) kanalı kullanılarak, kullanıcı tarafı ile veri tabanı tarafı tamamen birbirinden ayrılmaktadır. [5] * (edu.akdeniz.faculty.shared.utility.event_bus) 28.11.2014 inet-tr'14 : GWT AUFaculty Project 10

Web Sayfalarını JAVA da Geliştirmek Uygulama konuşlandırma (deployment) Hata giderme (debugging) İyileştirme ve düzenleme Sürdürülebilirlik ve bakım Öğrenme süreci uzun olabilir; fakat son derece esnek, özelleştirilebilir ve özellikle büyük ölçekli uygulamalar için uygun Sunucu tarafının Java ile kodlanmasında GWT RPC kullanımı uygun 28.11.2014 inet-tr'14 : GWT AUFaculty Project 11

Tamamlanan Modüller Genel Tercihler Akademik Yıl ve Dönem Seçimi Aktif Ders-Şube Belirleme Şube İşlemleri Ders Programı Şube Öğrencileri (+Yoklama Listesi) Sınav İşlemleri Sınav Oluşturma Not Girişi Excel den Not Yükleme 28.11.2014 inet-tr'14 : GWT AUFaculty Project 12

Geliştirilen GWT Uygulaması 28.11.2014 inet-tr'14 : GWT AUFaculty Project 13

Sonuç Java geliştiricileri için düşük ölçüde öğrenme çabası Geliştiriciler için farklı alanların yetenekleri Geniş bir takımla çalışabilme imkânı Web projelerinde nesne yönelimli programlama Hem HTML ve CSS hem de GWT Widget larını kullanabilme imkânı GWT ile Zengin Arayüz Uygulamaları Geliştirebilme Hız ve işlevsellik Mobil Uyumluluk (Responsive) Sürdürülebilirlik ve yönetilebilirlik 28.11.2014 inet-tr'14 : GWT AUFaculty Project 14

Referans [1] Java Web Application Frameworks, http://www.syger.it/topics/javawebapplicationframeworks.html [2] UIBinder, http://www.gwtproject.org/doc/latest/devguideuibinder.html [3] GWT-Bootstrap, http://gwtbootstrap.github.io/ [4] SQL Mapping Framework for JAVA, https://code.google.com/p/mybatis/ [5] Event Bus: GWT Tutorial (Google Web Toolkit), http://www.youtube.com/watch?v=2939gdrnymg 28.11.2014 inet-tr'14 : GWT AUFaculty Project 15