25
1 MOBİL MOBİL TEKNOLOJİLERDE TEKNOLOJİLERDE SERVİS TABANLI SERVİS TABANLI YAZILIM GELİŞTİRME YAZILIM GELİŞTİRME Oğuz DÖNMEZ Oğuz DÖNMEZ Ata ÖNAL Ata ÖNAL Yasemin TOPALOĞLU Yasemin TOPALOĞLU Ege Üniversitesi Ege Üniversitesi

MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

  • Upload
    hedva

  • View
    48

  • Download
    3

Embed Size (px)

DESCRIPTION

MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME. Oğuz DÖNMEZ Ata ÖNAL Yasemin TOPALOĞLU Ege Üniversitesi. İçerik. Giriş Servis Tabanlı Yazılım Geliştirme Mobil Teknolojilerle Servis Tabanlı Yazılım Geliştirmenin Entegrasyonu Gerçekleştirimde Kullanılan Araç ve Teknolojiler - PowerPoint PPT Presentation

Citation preview

Page 1: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

1

MOBİL MOBİL TEKNOLOJİLERDE TEKNOLOJİLERDE SERVİS TABANLI SERVİS TABANLI

YAZILIM YAZILIM GELİŞTİRMEGELİŞTİRMEOğuz DÖNMEZOğuz DÖNMEZ

Ata ÖNALAta ÖNALYasemin TOPALOĞLUYasemin TOPALOĞLU

Ege ÜniversitesiEge Üniversitesi

Page 2: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

2

İçerikİçerik GirişGiriş Servis Tabanlı Yazılım GeliştirmeServis Tabanlı Yazılım Geliştirme Mobil Teknolojilerle Servis Tabanlı Mobil Teknolojilerle Servis Tabanlı

Yazılım Geliştirmenin EntegrasyonuYazılım Geliştirmenin Entegrasyonu Gerçekleştirimde Kullanılan Araç ve Gerçekleştirimde Kullanılan Araç ve

Teknolojiler Teknolojiler Sistem MimarisiSistem Mimarisi Sistem GereksinimleriSistem Gereksinimleri SonuçlarSonuçlar

Page 3: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

3

GirişGiriş Son yıllarda, mobil araçların kullanışlılığı ve Son yıllarda, mobil araçların kullanışlılığı ve

sundukları çözümler nedeniyle, geleneksel sundukları çözümler nedeniyle, geleneksel masaüstü sistemlerden mobil araçlara doğru masaüstü sistemlerden mobil araçlara doğru geçiş hızlanmıştır. Bunun sonucunda mobil geçiş hızlanmıştır. Bunun sonucunda mobil araçların kullanımı yaygınlaşmıştır. Toplum araçların kullanımı yaygınlaşmıştır. Toplum mobil hesaplama teknolojisini benimsedikçe; mobil hesaplama teknolojisini benimsedikçe; geleneksel sistemlerdeki yazılımın performans geleneksel sistemlerdeki yazılımın performans ve kalite standartlarını mobil cihazlarda da ve kalite standartlarını mobil cihazlarda da beklemektedirler . Geleneksel yazılım beklemektedirler . Geleneksel yazılım sistemlerindeki performans ve kalite sistemlerindeki performans ve kalite standartlarını mobil cihazlara aktarmada standartlarını mobil cihazlara aktarmada kullanılan paradigmalardan biri, kaynakları ve kullanılan paradigmalardan biri, kaynakları ve yetenekleri başka kullanıcılar için kullanışlı hale yetenekleri başka kullanıcılar için kullanışlı hale getiren, yetenekleri dağıtık cihazlara aktarmayı getiren, yetenekleri dağıtık cihazlara aktarmayı sağlayan servis tabanlı yazılım geliştirme sağlayan servis tabanlı yazılım geliştirme paradigmasıdır.paradigmasıdır.

Page 4: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

4

GirişGiriş Bu çalışmada mobil teknolojiler ve servis tabanlı Bu çalışmada mobil teknolojiler ve servis tabanlı

yazılım geliştirme paradigması incelenerek, bu yazılım geliştirme paradigması incelenerek, bu alandaki teknoloji ve araçlar ile örnek bir uygulama alandaki teknoloji ve araçlar ile örnek bir uygulama geliştirilmiştir. Bu uygulamada istemci cihazlar bir geliştirilmiştir. Bu uygulamada istemci cihazlar bir mobil cihaz olabilmekte ve bir iletişim teknolojisi mobil cihaz olabilmekte ve bir iletişim teknolojisi ile(örn., ile(örn., GPRSGPRS) uzaktaki servis sağlayıcı cihazla ) uzaktaki servis sağlayıcı cihazla iletişim kurabilmektedir. Ayrıca istemci cihazlarla iletişim kurabilmektedir. Ayrıca istemci cihazlarla servis sağlayıcı cihazlar arası iletişim servis sağlayıcı cihazlar arası iletişim JXTA ShellJXTA Shell’in ’in kurulu olduğu bilgisayar aracılığıyla gerçekleştirilir. kurulu olduğu bilgisayar aracılığıyla gerçekleştirilir. Bu uygulama ile bir yüksek öğrenim kurumundaki Bu uygulama ile bir yüksek öğrenim kurumundaki bölümlerin ders programlarının, sınav tarihlerinin, bölümlerin ders programlarının, sınav tarihlerinin, sınav gözetmenlerinin belirlenmesi yanında toplantı sınav gözetmenlerinin belirlenmesi yanında toplantı düzenlenmesi, öğretim elemanlarının derslerinin, düzenlenmesi, öğretim elemanlarının derslerinin, görevlerinin, toplantılarının, gözetmenliklerinin, ders görevlerinin, toplantılarının, gözetmenliklerinin, ders programlarının takibi amaçlanmaktadır.programlarının takibi amaçlanmaktadır.

Page 5: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

5

Servis Tabanlı Yazılım Servis Tabanlı Yazılım GeliştirmeGeliştirme

Servis; kendi kendini tanımlayan, platform bağımsız, Servis; kendi kendini tanımlayan, platform bağımsız, hızlı ve düşük maliyette dağıtık uygulamalar hızlı ve düşük maliyette dağıtık uygulamalar geliştirmeyi sağlayan bileşenlerdir. geliştirmeyi sağlayan bileşenlerdir.

Servis tabanlı yazılım geliştirme, servisleri Servis tabanlı yazılım geliştirme, servisleri uygulama/çözüm geliştirmek için temel elemanlar uygulama/çözüm geliştirmek için temel elemanlar olarak kullanır. olarak kullanır.

Servis tabanlı yazılım geliştirme nesneye dayalı yazılım Servis tabanlı yazılım geliştirme nesneye dayalı yazılım geliştirmeyi kendisine başlangıç noktası olarak kabul geliştirmeyi kendisine başlangıç noktası olarak kabul eder.eder.

Nesneye dayalı yazılım geliştirmeden ayrılan yanı; Nesneye dayalı yazılım geliştirmeden ayrılan yanı; problemlerin, nesnelerin sağladığı servisler cinsinden problemlerin, nesnelerin sağladığı servisler cinsinden modellenmesidir. modellenmesidir.

Servis tabanlı yazılım geliştirmede; istemci, istediği Servis tabanlı yazılım geliştirmede; istemci, istediği servisi noktadan-noktaya(peer-to-peer)tarzında servisi noktadan-noktaya(peer-to-peer)tarzında kullanabilir, belirli bir sunucuya bağlı değildir.kullanabilir, belirli bir sunucuya bağlı değildir.

Servisler; işbirliği yapabilen yazılım bileşenleri olup, Servisler; işbirliği yapabilen yazılım bileşenleri olup, çeşitli uygulamalar servis olarak tanımlanabilir.çeşitli uygulamalar servis olarak tanımlanabilir.

Page 6: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

6

Servis Tabanlı Yazılım Servis Tabanlı Yazılım GeliştirmeGeliştirme Servis tabanlı yazılım Servis tabanlı yazılım

geliştirmenin tipik geliştirmenin tipik kullanım senaryosukullanım senaryosu

1.1. Bir kuruluş sağladığı Bir kuruluş sağladığı kuruluş servisinin kuruluş servisinin tanımlamasını ve bu tanımlamasını ve bu servise nasıl servise nasıl erişileceğini servis erişileceğini servis kayıtçısına yayımlar.kayıtçısına yayımlar.

2.2. Öteki kuruluş, Öteki kuruluş, ihtiyaçlarını ihtiyaçlarını karşılayacak servis için karşılayacak servis için kayıtçıyı sorgular.kayıtçıyı sorgular.

3.3. Kayıtçı kuruluşun Kayıtçı kuruluşun isteklerini isteklerini karşılayabilecek karşılayabilecek servisleri döndürür.servisleri döndürür.

4.4. Kuruluş en uygun Kuruluş en uygun servise bağlanabilir. servise bağlanabilir.

Servis Kayıtçısı

KuruluşKuruluş

KuruluşServisi

1

23

4

Page 7: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

7

Servis Tabanlı Yazılım Servis Tabanlı Yazılım Geliştirmenin YararlarıGeliştirmenin Yararları

Bir sistem kolayca genişletilebilir.Bir sistem kolayca genişletilebilir. Gerçek anlamda yeniden kullanılabilir Gerçek anlamda yeniden kullanılabilir

bileşenler geliştirilebilir.bileşenler geliştirilebilir. Yazılım daha kısa sürede Yazılım daha kısa sürede

gerçekleştirilebilir.gerçekleştirilebilir. Yazılım için başlangıç yatırımları azalır.Yazılım için başlangıç yatırımları azalır. Yazılım geliştirme ücreti azalır.Yazılım geliştirme ücreti azalır. Risk azalır.Risk azalır. Servislere değişik şekilde bağlanıp yeni Servislere değişik şekilde bağlanıp yeni

yetenekler ve değerler kazandırılabilir.yetenekler ve değerler kazandırılabilir.

Page 8: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

8

Mobil Teknolojilerle Servis Mobil Teknolojilerle Servis Tabanlı Yazılım Tabanlı Yazılım

Geliştirmenin EntegrasyonuGeliştirmenin Entegrasyonu Mobil cihazlar, yerel olarak sınırlı Mobil cihazlar, yerel olarak sınırlı

miktarda kaynağa sahiptir ve kullanıcıya miktarda kaynağa sahiptir ve kullanıcıya daha fazla işlevsellik sağlayabilmek için daha fazla işlevsellik sağlayabilmek için diğer mobil cihazların kaynaklarını diğer mobil cihazların kaynaklarını kullanmak zorundadırlar. Servis tabanlı kullanmak zorundadırlar. Servis tabanlı yazılım geliştirme de kaynakları ve yazılım geliştirme de kaynakları ve yetenekleri diğer kullanıcılar için kullanışlı yetenekleri diğer kullanıcılar için kullanışlı hale getirdiğinden mobil teknolojiler ve hale getirdiğinden mobil teknolojiler ve servis tabanlı yazılım geliştirme birbirini servis tabanlı yazılım geliştirme birbirini tamamlayan iki kavramdır. tamamlayan iki kavramdır.

Page 9: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

9

Mobil Teknolojilerle Servis Mobil Teknolojilerle Servis Tabanlı Yazılım Tabanlı Yazılım

Geliştirmenin EntegrasyonuGeliştirmenin Entegrasyonu Servis tabanlı yazılım geliştirme Servis tabanlı yazılım geliştirme

paradigmasında bir kullanıcı yerelde paradigmasında bir kullanıcı yerelde sadece küçük miktarda kod bulundurur. Ve sadece küçük miktarda kod bulundurur. Ve görevini tamamlayabilmek için öteki görevini tamamlayabilmek için öteki servisleri keşfederek onların yeteneklerini servisleri keşfederek onların yeteneklerini kullanır. Mobil cihazlarda sınırlı depolama kullanır. Mobil cihazlarda sınırlı depolama kapasitesi ve pil gücü olduğundan bu kapasitesi ve pil gücü olduğundan bu cihazların yerelde depolayabileceği ve cihazların yerelde depolayabileceği ve çalıştırabileceği program sayısı sınırlıdır. çalıştırabileceği program sayısı sınırlıdır. Servis tabanlı yazılım geliştirme bu Servis tabanlı yazılım geliştirme bu probleme çözüm olabilir.probleme çözüm olabilir.

Page 10: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

10

Mobil Teknolojilerle Servis Mobil Teknolojilerle Servis Tabanlı Yazılım Tabanlı Yazılım

Geliştirmenin EntegrasyonuGeliştirmenin Entegrasyonu Bu uygulama ile bir yüksek öğrenim kurumundaki Bu uygulama ile bir yüksek öğrenim kurumundaki

bölümlerin ders programlarının, sınav tarihlerinin, bölümlerin ders programlarının, sınav tarihlerinin, sınav gözetmenlerinin belirlenmesinin yanında sınav gözetmenlerinin belirlenmesinin yanında toplantı düzenlenmesinin, öğretim elemanlarının toplantı düzenlenmesinin, öğretim elemanlarının derslerinin, görevlerinin, toplantılarının, derslerinin, görevlerinin, toplantılarının, gözetmenliklerinin, ders programlarının takibinin gözetmenliklerinin, ders programlarının takibinin yapıldığı bir sistem geliştirilmesi hedeflenmiştir. yapıldığı bir sistem geliştirilmesi hedeflenmiştir. Sistemin mobil cihazlar üzerinde çalışması Sistemin mobil cihazlar üzerinde çalışması hedeflenmiş ve görevler şu şekilde dağıtılmıştır. hedeflenmiş ve görevler şu şekilde dağıtılmıştır. Birinci servis sağlayıcıda; ders programının Birinci servis sağlayıcıda; ders programının oluşturulması, toplantı düzenlenmesi, sınav yeri ve oluşturulması, toplantı düzenlenmesi, sınav yeri ve zamanının ayarlanması, gözetmenlerin belirlenmesi zamanının ayarlanması, gözetmenlerin belirlenmesi işlemlerinin yapıldığı servisler bulunur. İkinci servis işlemlerinin yapıldığı servisler bulunur. İkinci servis sağlayıcıda; birinci servis sağlayıcıdan gelen veriyi sağlayıcıda; birinci servis sağlayıcıdan gelen veriyi formatlayan servisler bulunur. İstemci cihaz, birinci formatlayan servisler bulunur. İstemci cihaz, birinci servis sağlayıcının servislerine uzaktan istekte servis sağlayıcının servislerine uzaktan istekte bulunmak için kullanılır.bulunmak için kullanılır.

Page 11: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

11

Gerçekleştirimde Gerçekleştirimde Kullanılan Araç ve Kullanılan Araç ve

TeknolojilerTeknolojiler JBuilder9JBuilder9: : Uygulamayı gerçekleştirmek için Java Uygulamayı gerçekleştirmek için Java

programlama dili seçilmiş ve Java programlama programlama dili seçilmiş ve Java programlama dilinde uygulama geliştirmek için ortam olarak dilinde uygulama geliştirmek için ortam olarak JBuilder9 seçilmiştir. JBuilder9, mobil teknolojiler ve JBuilder9 seçilmiştir. JBuilder9, mobil teknolojiler ve öteki kablosuz araçlar için yazılım geliştirmeye imkan öteki kablosuz araçlar için yazılım geliştirmeye imkan sağlayan J2ME Wireless Toolkit’i içinde barındırır. sağlayan J2ME Wireless Toolkit’i içinde barındırır.

Palm OS Emulator: Palm OS Emulator: PalmPalm OS yazılımının test OS yazılımının test edilmesini ve bu yazılımdaki hataların ayıklanmasını edilmesini ve bu yazılımdaki hataların ayıklanmasını sağlayan ve bu işlemi Macintosh, Unix ya da sağlayan ve bu işlemi Macintosh, Unix ya da Windows-tabanlı masaüstü bilgisayarlarda yapmayı Windows-tabanlı masaüstü bilgisayarlarda yapmayı sağlayan, sağlayan, palmpalm donanım araçlarını benzeştiren donanım araçlarını benzeştiren yazılımdır.yazılımdır.

Geliştirilen uygulamada Geliştirilen uygulamada palm OS emulatorpalm OS emulator’ler, servis ’ler, servis sağlayıcı olarak kullanılmıştır.sağlayıcı olarak kullanılmıştır.

Page 12: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

12

Gerçekleştirimde Gerçekleştirimde Kullanılan Araç ve Kullanılan Araç ve

TeknolojilerTeknolojiler MIDP4Palm1.0MIDP4Palm1.0: : MIDP(MIDP(Mobile Information Device Mobile Information Device

ProfileProfile); mobil telefonlar, gelişmiş sayfalayıcılar ve ); mobil telefonlar, gelişmiş sayfalayıcılar ve PDA’lar gibi taşınabilir elektronik cihazlar için Java PDA’lar gibi taşınabilir elektronik cihazlar için Java teknolojisidir. MIDP J2ME teknolojisinin bir teknolojisidir. MIDP J2ME teknolojisinin bir parçasıdır. parçasıdır.

Geliştirilen uygulamada MIDP4Palm1.0, istemci Geliştirilen uygulamada MIDP4Palm1.0, istemci palmpalm cihazlarına yüklenmiştir. Bu sayede istemci palm cihazlarına yüklenmiştir. Bu sayede istemci palm cihazlarında Java tabanlı uygulama çalıştırılabilmesi cihazlarında Java tabanlı uygulama çalıştırılabilmesi sağlanmıştır.sağlanmıştır.

JXTA: JXTA: ağa bağlı cihazların birbiriyle iletişimde ağa bağlı cihazların birbiriyle iletişimde bulunup işbirliği yapmasına imkan sağlayan açık ve bulunup işbirliği yapmasına imkan sağlayan açık ve genelleştirilmiş genelleştirilmiş peer-to-peerpeer-to-peer protokoller kümesidir. protokoller kümesidir. JXTA ağına, hücresel telefondan PDA(JXTA ağına, hücresel telefondan PDA(Personal Personal Digital AssistantDigital Assistant)’ya, PC’den sunucuya kadar her )’ya, PC’den sunucuya kadar her türlü cihaz bağlanabilir. JXTA protokolleri türlü cihaz bağlanabilir. JXTA protokolleri programlama dili bağımsızdır ve farklı ortamlar için programlama dili bağımsızdır ve farklı ortamlar için farklı gerçekleştirimlere sahiptirfarklı gerçekleştirimlere sahiptir..

Page 13: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

13

Gerçekleştirimde Gerçekleştirimde Kullanılan Araç ve Kullanılan Araç ve

TeknolojilerTeknolojiler JXTA Shell: JXTA Shell: JXTA Shell, Sun’ın JXTA JXTA Shell, Sun’ın JXTA

peer-to-peer çatısı için komut satır peer-to-peer çatısı için komut satır arayüzüdür. JXTA platformunun bazı arayüzüdür. JXTA platformunun bazı anahtar özelliklerini içinde barındırır.anahtar özelliklerini içinde barındırır.

Geliştirilen uygulamada JXTA Shell’in Geliştirilen uygulamada JXTA Shell’in bir bilgisayara kurulması gerekir. Bu bir bilgisayara kurulması gerekir. Bu bilgisayar sayesinde istemci ve servis bilgisayar sayesinde istemci ve servis sağlayıcı cihazlar arasında iletişim sağlayıcı cihazlar arasında iletişim kurulabilir.kurulabilir.

Page 14: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

14

Gerçekleştirimde Gerçekleştirimde Kullanılan Araç ve Kullanılan Araç ve

TeknolojilerTeknolojiler JXME: JXME: JXME projesinin amacı, CLDC(Connected JXME projesinin amacı, CLDC(Connected

Limited Device Configuration)ve MIDP kullanan Limited Device Configuration)ve MIDP kullanan mobil cihazlara JXTA uyumlu fonksiyonları mobil cihazlara JXTA uyumlu fonksiyonları sağlamaktırsağlamaktır. .

JXME API, sadece üç sınıftan oluşur:JXME API, sadece üç sınıftan oluşur: MessageMessage, JXTA mesajları yaratıp bu mesajları işlemek , JXTA mesajları yaratıp bu mesajları işlemek

için kullanılan metodları içerir.için kullanılan metodları içerir. ElementElement, JXTA mesajlarının temel bileşenlerini , JXTA mesajlarının temel bileşenlerini

oluşturup işlemek için kullanılan metodları içerir.oluşturup işlemek için kullanılan metodları içerir. PeerNetworkPeerNetwork, JXTA ağından çağrılan işlemleri içerir., JXTA ağından çağrılan işlemleri içerir.

Üç sınıftan oluşan API, J2ME için JXTA Üç sınıftan oluşan API, J2ME için JXTA uygulamaları yazmayı hızlandırır uygulamaları yazmayı hızlandırır

Geliştirilen uygulamada JXME API, istemci ve Geliştirilen uygulamada JXME API, istemci ve servis sağlayıcı cihazlardan JXTA fonksiyonlarını servis sağlayıcı cihazlardan JXTA fonksiyonlarını kullanabilmek için kullanılmıştır. kullanabilmek için kullanılmıştır.

Page 15: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

15

Gerçekleştirimde Gerçekleştirimde Kullanılan Araç ve Kullanılan Araç ve

TeknolojilerTeknolojiler GPRS: GPRS: Verilerin mevcut GSM şebekeleri Verilerin mevcut GSM şebekeleri

üzerinden saniyede 28.8 Kb'den 115 Kb'ye üzerinden saniyede 28.8 Kb'den 115 Kb'ye kadar varabilen hızlarda iletilebilmesine imkan kadar varabilen hızlarda iletilebilmesine imkan veren, cep telefonu, dizüstü bilgisayar, PDA ve veren, cep telefonu, dizüstü bilgisayar, PDA ve diğer mobil cihaz kullanıcılarına kesintisiz diğer mobil cihaz kullanıcılarına kesintisiz İnternet bağlantısı sunan bir mobil iletişim İnternet bağlantısı sunan bir mobil iletişim servisidir.servisidir.

İstemci cep telefonlarının uzaktaki servis İstemci cep telefonlarının uzaktaki servis sağlayıcıları sorgulayabilmesi için sağlayıcıları sorgulayabilmesi için kullanılmıştır.kullanılmıştır.

Cep Telefonu: Cep Telefonu: Uygulamada istemci cihaz olarak Uygulamada istemci cihaz olarak Nokia 6630 cep telefonu kullanılmıştır.Nokia 6630 cep telefonu kullanılmıştır.

Page 16: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

16

Sistem MimarisiSistem Mimarisi Geliştirilen sistemde Geliştirilen sistemde palm OS emulator’palm OS emulator’ler ve ler ve

cep telefonu kullanılmıştır. GSM özelliği cep telefonu kullanılmıştır. GSM özelliği olmayan mobil cihazlar, internete bağlanmak olmayan mobil cihazlar, internete bağlanmak için cep telefonuna ya da internet bağlantısı için cep telefonuna ya da internet bağlantısı bulunan bir bilgisayara ihtiyaç duyarlar. bulunan bir bilgisayara ihtiyaç duyarlar. Ayrıca diğer mobil cihazlar cep telefonlarına Ayrıca diğer mobil cihazlar cep telefonlarına göre daha az yaygındır.göre daha az yaygındır.

Bir bilgisayarda JXTA Shell’in kurulu olması ve Bir bilgisayarda JXTA Shell’in kurulu olması ve çalıştırılması gereklidir. Cep telefonlarının ve çalıştırılması gereklidir. Cep telefonlarının ve emülatörlerin birbirleriyle iletişimde emülatörlerin birbirleriyle iletişimde bulunması için JXTA Shell’in kurulu olduğu bulunması için JXTA Shell’in kurulu olduğu bilgisayarı kullanmaları gerekmektedir. JXTA bilgisayarı kullanmaları gerekmektedir. JXTA Shell cep telefonlarının ve emülatörlerin JXTA Shell cep telefonlarının ve emülatörlerin JXTA ağına erişmelerine izin verir.ağına erişmelerine izin verir.

Page 17: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

17

Sistem MimarisiSistem Mimarisi Sistemde iki tane servis sağlayıcı bulunmaktadır. Sistemde iki tane servis sağlayıcı bulunmaktadır.

Birinci servis sağlayıcı yerelde işlem yapabilmek için Birinci servis sağlayıcı yerelde işlem yapabilmek için arayüze ve dersleri, öğretim elemanları, bölümleri ve arayüze ve dersleri, öğretim elemanları, bölümleri ve salonları tutmak için veritabanına sahiptir. Ayrıca, salonları tutmak için veritabanına sahiptir. Ayrıca, istemci cep telefonları için servis sağlar ve JXME istemci cep telefonları için servis sağlar ve JXME API’yi kullanarak JXTA Shell ile haberleşir. İkinci API’yi kullanarak JXTA Shell ile haberleşir. İkinci servis sağlayıcı birinci servis sağlayıcı için servis servis sağlayıcı birinci servis sağlayıcı için servis sağlar ve JXME API’yi kullanarak JXTA Shell ile sağlar ve JXME API’yi kullanarak JXTA Shell ile haberleşir. haberleşir.

İstemci cep telefonlarında ise servislere erişmek için İstemci cep telefonlarında ise servislere erişmek için arayüz bulunur. Ayrıca istemciler JXME API’yi arayüz bulunur. Ayrıca istemciler JXME API’yi kullanarak JXTA Shell ile haberleşirler.kullanarak JXTA Shell ile haberleşirler.

İstemci cep telefonlarının JXTA Shell ile İstemci cep telefonlarının JXTA Shell ile haberleşebilmesi için haberleşebilmesi için GPRSGPRS ağ bağlantısını kullanması ağ bağlantısını kullanması gerekir. gerekir.

Page 18: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

18

Sistem MimarisiSistem Mimarisi

Geliştirilen Geliştirilen sistemin sistemin mimarisi mimarisi yandaki yandaki şekilde şekilde gösterilmiştir.gösterilmiştir.

Page 19: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

19

Sistem MimarisiSistem Mimarisi

Servis sağlayıcı olarak emülatörler Servis sağlayıcı olarak emülatörler kullanılmıştır. Servis sağlayıcı olarak kullanılmıştır. Servis sağlayıcı olarak gerçek mobil cihazlar uygun gerçek mobil cihazlar uygun donanım temin edilemediği için donanım temin edilemediği için kullanılamamıştır. Servis sağlayıcı kullanılamamıştır. Servis sağlayıcı olarak gerçek mobil cihazların olarak gerçek mobil cihazların kullanılmasının taşınabilirlik avantajı kullanılmasının taşınabilirlik avantajı vardır. vardır.

Page 20: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

20

Sistem GereksinimleriSistem Gereksinimleri Sistem donanım olarak bir cep telefonuna ihtiyaç Sistem donanım olarak bir cep telefonuna ihtiyaç

duymaktadır. Servis sağlayıcı olarak emülatörler duymaktadır. Servis sağlayıcı olarak emülatörler kullanıldığı için emülatörlerin bulunacağı bilgisayar kullanıldığı için emülatörlerin bulunacağı bilgisayar ya da bilgisayarlara ihtiyaç duymaktadır. Ayrıca ya da bilgisayarlara ihtiyaç duymaktadır. Ayrıca istemci ve servis sağlayıcılar arası iletişimi sağlamak istemci ve servis sağlayıcılar arası iletişimi sağlamak için ayrı bir bilgisayara ihtiyaç duymaktadır. Fakat için ayrı bir bilgisayara ihtiyaç duymaktadır. Fakat herhangi bir servis sağlayıcı da iletişimi sağlamak için herhangi bir servis sağlayıcı da iletişimi sağlamak için gerekli bilgisayar olarak kullanılabilir.gerekli bilgisayar olarak kullanılabilir.

Yazılım olarak istemci tarafında JXTAIstemci.jar Yazılım olarak istemci tarafında JXTAIstemci.jar programının kurulu olması gerekir. programının kurulu olması gerekir. Birinci servis Birinci servis sağlayıcıda BolBasMIDlet1.prc ve sağlayıcıda BolBasMIDlet1.prc ve PalmPalm OS OS Emülatörün, ikinci servis sağlayıcıda ise Emülatörün, ikinci servis sağlayıcıda ise FormatServer.prc ve FormatServer.prc ve PalmPalm OS Emülatörün kurulu OS Emülatörün kurulu olması gerekir. İletişimi sağlayacak olan bilgisayarda olması gerekir. İletişimi sağlayacak olan bilgisayarda ise JXTA Shell’in kurulu olması gerekirise JXTA Shell’in kurulu olması gerekir

Page 21: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

21

SonuçlarSonuçlar Masaüstü sistemlerden mobil sistemlere Masaüstü sistemlerden mobil sistemlere

geçişin hızlanmasıyla birlikte mobil sistemlerin geçişin hızlanmasıyla birlikte mobil sistemlerin yerel kaynaklarının yetersizliği yeni çözümler yerel kaynaklarının yetersizliği yeni çözümler bulma gerekliliğini ortaya çıkarmıştır.bulma gerekliliğini ortaya çıkarmıştır.

Servis tabanlı yazılım geliştirme Servis tabanlı yazılım geliştirme paradigmasında; servis sağlayıcılar, paradigmasında; servis sağlayıcılar, kaynaklarını ve yeteneklerini istemcilerin kaynaklarını ve yeteneklerini istemcilerin kullanımına sunarlar. Mobil teknolojiler yerelde kullanımına sunarlar. Mobil teknolojiler yerelde sınırlı miktarda kaynağa sahip olduğundan sınırlı miktarda kaynağa sahip olduğundan bütün kodu kendi üzerinde tutma durumunda bütün kodu kendi üzerinde tutma durumunda kaynakların azaldığı veya yetmediği durumlarla kaynakların azaldığı veya yetmediği durumlarla karşılaşılabilir. Kaynak azalması veya karşılaşılabilir. Kaynak azalması veya yetmemesi durumuyla başa çıkabilmek için yetmemesi durumuyla başa çıkabilmek için servis tabanlı yazılım geliştirme kullanılabilir. servis tabanlı yazılım geliştirme kullanılabilir.

Page 22: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

22

SonuçlarSonuçlar Bu çalışmada bir yüksek öğrenim kurumundaki Bu çalışmada bir yüksek öğrenim kurumundaki

bölümlerin ders programlarının, sınav tarihlerinin, bölümlerin ders programlarının, sınav tarihlerinin, sınav gözetmenlerinin belirlenmesinin yanında sınav gözetmenlerinin belirlenmesinin yanında toplantı düzenlenmesinin, öğretim elemanlarının toplantı düzenlenmesinin, öğretim elemanlarının derslerinin, görevlerinin, toplantılarının, derslerinin, görevlerinin, toplantılarının, gözetmenliklerinin, ders programlarının takibinin gözetmenliklerinin, ders programlarının takibinin yapıldığı bir sistem geliştirilmiştir. yapıldığı bir sistem geliştirilmiştir.

Sistem, iki tane servis sağlayıcı ve bir tane istemci Sistem, iki tane servis sağlayıcı ve bir tane istemci cep telefonundan oluşmaktadır. Servis sağlayıcı cep telefonundan oluşmaktadır. Servis sağlayıcı olarak olarak palmpalm OS emülatörler kullanılmıştır. Bu OS emülatörler kullanılmıştır. Bu işlemler birinci servis sağlayıcıda gerçekleştirilip işlemler birinci servis sağlayıcıda gerçekleştirilip biçimlendirme için ikinci servis sağlayıcı kullanılıp biçimlendirme için ikinci servis sağlayıcı kullanılıp sonuçlara uzaktaki cep telefonundan sonuçlara uzaktaki cep telefonundan ulaşılmaktadır. İstemci cep telefonları servis ulaşılmaktadır. İstemci cep telefonları servis sağlayıcılara ulaşmak GPRS ağını kullanırlar. sağlayıcılara ulaşmak GPRS ağını kullanırlar. İstemci ve servis sağlayıcılar arası iletişimi İstemci ve servis sağlayıcılar arası iletişimi sağlamak için JXTA kullanılmıştır. Sistemde servis sağlamak için JXTA kullanılmıştır. Sistemde servis kayıtçısı bulunmamaktadır. kayıtçısı bulunmamaktadır.

Page 23: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

23

SonuçlarSonuçlar

Servis sağlayıcı olarak emülatörler Servis sağlayıcı olarak emülatörler kullanılmıştır. Servis sağlayıcı olarak kullanılmıştır. Servis sağlayıcı olarak gerçek mobil cihazlar uygun donanım gerçek mobil cihazlar uygun donanım temin edilemediği için temin edilemediği için kullanılamamıştır. Servis sağlayıcı kullanılamamıştır. Servis sağlayıcı olarak gerçek mobil cihazların olarak gerçek mobil cihazların kullanılmasının taşınabilirlik avantajı kullanılmasının taşınabilirlik avantajı vardır. vardır.

Bu çalışmada, servislerin mobil Bu çalışmada, servislerin mobil cihazlara dağıtılması uygulanmıştır.cihazlara dağıtılması uygulanmıştır.

Page 24: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

24

SonuçlarSonuçlar

Mobil teknolojilerde servis tabanlı yazılım Mobil teknolojilerde servis tabanlı yazılım geliştirme kullanılarak geliştirilen sistem ile geliştirme kullanılarak geliştirilen sistem ile öğretim elemanları ders yüklerini, kendi ve öğretim elemanları ders yüklerini, kendi ve bölümlerinin ders programlarını, katılmaları bölümlerinin ders programlarını, katılmaları gereken toplantıları, görevlerini, sınav gereken toplantıları, görevlerini, sınav tarihlerini ve gözetmenliklerini uzaktan tarihlerini ve gözetmenliklerini uzaktan mobil istemci cihazlar ile mobil istemci cihazlar ile öğrenebileceklerdir. öğrenebileceklerdir.

Bu çalışma toplantıların ve görevlerin Bu çalışma toplantıların ve görevlerin öğretim elemanlarına SMS yoluyla öğretim elemanlarına SMS yoluyla hatırlatılması sağlanarak geliştirilebilir.hatırlatılması sağlanarak geliştirilebilir.

Page 25: MOBİL TEKNOLOJİLERDE SERVİS TABANLI YAZILIM GELİŞTİRME

25

TEŞEKKÜRLERTEŞEKKÜRLER

Oğuz DÖNMEZOğuz DÖNMEZ