28 Ocak 2017 Cumartesi

RAP-1 ( REMOTE APPLICATION PLATFORM )

RAP(Remote Application Platform) geliştiricilerin zengin içerikli internet uygulamaları geliştirebilmeleri için yaratılmış bir platformdur. AJAX kullanılarak yapılabilen projelerin SWT, JFace ve Eclipse Workbench (Java Kütüphaneleri ve Eclipse API’leri) kullanılarak yapılabilmesini sağlamaktadır. RAP, RCP(Rich Client Platform)’yi temel almaktadır. RCP ile uygulamalar sadece tekil son kullanıcılar için geliştirilirken, RAP ile bir server üzerinden bir çok kullanıcıya ya da internet üzerinden web browser ve mobil kullanıcılara ulaştırılabilecek uygulamar geliştirilebilmektedir. JAVA kütüphaneleri ve API’leri kullanıldığından hızlı bir şekilde yüksek görsellikli uygulamalar gerçekleştirilebilir.

RAP’ın ilk sürümleri Rich Ajax Platform adı ile geliştirilmiştir. İlk versiyonu (1.0) Ekim-2007 tarihinde piyasaya sunulmuştur. Haziran 2015 tarihinde 3.0 versiyonunun kullanıcılara sunulması planlanmaktadır. Bu versiyon ile önceki versiyonlarda bulunan performans sorunlarının azaltılması düşünülmektedir.

RAP’ın daha rahat anlaşılabilmesi için RCP ile ilgili temel bir bilgiye sahip olunması gerekmektedir. Aslında RAP, RCP özelliklerinin gelişen web teknolojileri uygulamalarında kullanılmasını sağlamaya çalışmaktadır.


RCP – Remote Client Platform

İstemciler için zengin içerikli uygulamalar geliştirmeyi sağlayan bir platformdur. OSGi modelini baz alır. Kısaca dinamik yazılım parçaları tanımlayabilmenize ve sağlamak istediğiniz özellikleri eklenti olarak geliştirebilmenize olanak sağlar. Java SWT ve JFace ile kısa zamanda kullanıcı dostu ve zengin görsellik içeren uygulamalar yaratmanıza olanak tanır.

RAP – Remote Application Platform

RAP (Remote Application Platform) farklı tipteki istemcilerin uygulamlara erişebilmesini sağlamak için geliştirilmiş bir komut kümesidir (framework). RAP projesinin temelinde; geliştirilmek istenen web tabanlı  uygulamaların tek bir programlama dili (JAVA) ile yazılarak farklı platformlarda da değişiklik yapılmadan kullanılmasını sağlama isteği yatmaktadır. RAP, geliştiricilere zengin JAVA kütüphaneleri ve komut kümeleri ile daha kısa zamanda daha zengin içerikli uygulamalar geliştirme imkanı sunmaktadır. Ayrıca uygulamalar JAVA (ağırlıklı olarak SWT API) ile geliştirileceği için daha önce gerçekleştirilmiş benzer uygulamalardaki kodların tekrar kullanılması imkanı sunması ile geliştirme sürecini daha da kısaltma imkanı sağlar.

RCP uygulamalarının aksine RAP uygulamaları bir sunucu üzerinde çalışır ve istemciler ile HTTP protokolü üzerinden haberleşir. RAP’ın bir başka avantajı ile istemci uygulamaları için kullanılan RCP ile komut kümesini kullanmasından ötürü hem sunucu hem de istemci tarafında geliştirilmesi gereken uygulamalar için kolaylık sağlamasıdır. RCP ya da RAP ile yazılan kodlar hiçbir değişiklik yapılmadan ya da çok az bir değişiklik ile birbirlerinde kullanılabilir.

Şubat-2013 tarihinde piyasaya sunulan 2.0 versiyonu ile sunucu ve istemci arasındaki bütün haberleşme işlemlerinde JSON kullanımı standart haline getirilmiştir.

RAP Mimarisi

RAP, RCP’nin bütün özelliklerini taşımaktadır. RCP’de bulunan eklenti tabanlı geliştirme, olay tetiklemeli (event-driven) SWT/JFace API’lerinin kullanımı, JAVA kütüphanelerinin kullanımı özelliklerinin hepsi RAP tarafından desteklenmektedir. Bu iki platform arasındaki en büyük farklılık SWT/RWT API’leridir. Aslında RWT, SWT’nin web’e özel uygulamalar gerçekleştirebilmek için (qooxdoo toolkit baz alınarak) geliştirilmiş bir türevidir. RAP’da gerçekleştirilen sunucu tabanlı bir uygulamada SWT API’leri neredeyse hiç bir değişiklik yapılmadan kullanılabilir.



RAP ile istemci tarafı destekli bir uygulama geliştirildiğinde, bütün işlemler uygulama sunucusu üzerinde yapılmakta ve istemci tarafı sadece yapılan işlemlerin kullanıcıya sunulması kısmında görev almaktadır.


RAP ile uygulama geliştirilirken özellikler eklenti ya da paketler halinde geliştirilir. Bu paketler ve eklentiler OSGi yapısı sayesinde dinamik olarak eklenebilir ve çıkartılabilir.

RAP ile geliştirilen uygulamalarda kullanıcı arayüzü için HTML ve browser özelliklerinin yerine RWT API’leri kullanılır. RWT (RAP Widget Toolkit) SWT’den geliştirilen düzen yönetim araçlarını (layout manager) ve olay dinleyicilerini (event listener) içeren bir komut kümesidir.

RAP web istemci platformu Internet Explorer 7.0 , Google Chrome 7.0, Firefox 3.5, Safari 4, Opera 10 ve üzeri browser versiyonlarını desteklemekle birlikte mobil cihazlar için kullanılan Android 3 ve iOs 5 versiyon ve üzerindeki işletim sistemlerini de desteklemektedir. RAP 3.0 versiyonunda performans arttırmaya yönelik çalışmalar için eski versiyon desteklerinin kaldırılacağı bilinmektedir. RAP istemci kısmı için Javascript çıktıları ürettiğinden browser kullanımında herhangi bir eklenti kurulmasına gerek duymamaktadır. Sunucudan gelen cevapların kullanıcıya iletilebilmesi için sadece browser Javascript özelleğinin aktif edilmesi yeterlidir. Sunucudan gelen cevap ile kullanıcı arayüzünün sadece belirli kısımları ya da tamamı güncellenebilir.

RAP 2.0 versiyonundan itibaren sunucu ve istemci arasındaki bütün haberleşme protokolü JSON tabanlı bir yapıya dönüştürülmüştür. Bu şekilde özellikle mobil cihazlar için geliştirilen istemci uygulamalarının programlama dilinden bağımsız bir hale getirilmesi sağlanmıştır.
RAP istemci uygulamalarında istemci ile ilgili bütün işlemler istemci sınıfı ve istemci servisleri tarafından yapılır. Bu işlemler içerisinde browser geçmiş desteği, Javascript çalıştırma ve istemci zaman dilimi gibi özellikler de bulunmaktadır.


Hiç yorum yok:

Yorum Gönder