21
1 BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

  • Upload
    nixie

  • View
    49

  • Download
    1

Embed Size (px)

DESCRIPTION

BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı. İçerik. Giriş BTME Çatısı BTME Uygulaması Sonuçlar. Giriş. - PowerPoint PPT Presentation

Citation preview

Page 1: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

1

BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama

Çatısı

Page 2: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

2

İçerik

Giriş BTME Çatısı BTME Uygulaması Sonuçlar

Page 3: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

3

Giriş

Geleneksel olarak, dağıtık hesaplamada ana görüş istemci-sunucu yaklaşımıdır. Bununla birlikte; istemci-sunucu yaklaşımında servislerin ve bilginin merkezileştirilmesi performans darboğazı ve tek nokta hatası yüzünden azalmış uygunluk problemlerini doğurur. Peer-to-peer mimarisinde; ağdaki bütün bilgisayarlar eşit olarak davrandığı için bu problem ortadan kalkar

Page 4: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

4

Giriş

Çoğu kablosuz cihazlar, irDA ve Bluetooth gibi kişisel alan ağı teknolojilerinden bazılarını destekler. Mobil cihazlar ve PCler ya da mobil cihazlar ve çevre birimleri (kulaklık ve klavye gibi) arasında veri transferi için genelde kişisel alan ağı kullanılır. Bir kişisel alan ağı; mobil cihazın etrafında yakın cihazlarla veri değişimine izin veren dijital bir küre olarak görülebilir.

Page 5: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

5

Giriş

Mobil telefon ve kişisel alan ad hoc ağlarını kullanan bluetooth mobil uygulamaları hızlı geliştirilmek zorundadır ve bu tarz uygulamaları geliştirmek çok çabaya ihtiyaç duyduğu için bir çatıya ihtiyaç vardır. BTME projesi, Java 2 Micro Edition (J2ME) üzerinde çalışan mobil cihazlar için yakınlığa dayalı peer-to-peer uygulamaları hızlı geliştirmeye imkan vermesi için başlatılmıştır. Ana amacımız, peer-to-peer MANET uygulamaları için bir çatı geliştirilmesiydi.

Page 6: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

6

BTME ÇatısıBTME ve J2ME

Sun Microsytems Java 2 Micro Edition'ı (J2ME) kaynak kısıtlamalı cihazlar için genel çalıştırma ortamı sağlamak için geliştirmiştir. J2ME; çeşitli türden cihazları desteklemek için çeşitli konfigürasyon, profil ve seçimlik paketleri içerir. Cep telefonları ve PDAler gibi mobil cihazlar için, kablosuz ağ yeteneklerine sahip cihazlar için uygun hale getirilmiş Connected Limited Device Configuration (CLDC) en genel konfigürasyondur. Mobile Information Device Profile (MIDP), bu türden cihazlar için en yaygın kullanılan profildir. MIDP, MIDlet adı verilen uygulamaları geliştirme ve yönetme için bir ortam sağlar. Bugün satılan çoğu cep telefonu J2ME ve MIDP 2.0'ı destekler. Bununla birlikte; bazı cep telefonu modelleri, konum, 3B grafik, çokluortam desteği, güvenlik, konuşma gibi çeşitli amaçlar için API sağlayan seçimlik paketleri destekler.

Page 7: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

7

BTME ve J2ME

Yandaki şekil, BTME çatısının J2ME ortamında nasıl konumlandığını göstermektedir.

BTME çatısı, MIDP 2.0'ın üzerine inşa edilmiştir çünkü MIDP bizim mobil cihazlara uygulama yazmamıza izin verir. Bununla birlikte, BTME çatısı bir seçimlik paket kullanır: JSR 82. JSR 82, destekleyen cihazlarda Bluetooth'u kullanmak için kullanılan J2ME API'sidir.

BTME Çatısı

MIDP 2.0

CLDC

MIDlet uygulaması

Page 8: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

8

BTME Mimarisi

BTME çatısı MVC(Model/View/Controller) tasarım desenini kullanır. Bu, farklı sınıf ve paketler kullanılarak model ve view'in ayrıldığı, controller'ın da ikisinin arasındaki boşluğu dolduran alt sistem olduğu anlamına gelir.

Grafiksel Kullanıcı Arayüzü-View

Form

ControllerMVCMidlet

Model

ServerClient

Threaded Handler

Page 9: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

9

BTME Mimarisi

BTME:– mobil peer-to-peer alanıyla ilgili sınıfları takdim ederek, modeli tam

olarak gerçekleştirir.– Form sınıfından miras alan View sınıfını takdim ederek View'i

gerçekleştirir. View, programın verilerini görüntüleyebilecek ekrandır.

– MIDlet'ten miras alan MVCMIDlet sınıfını takdim ederek controller'ı gerçekleştirir.

BTME çatısının bileşenleri Server, Client ve User Interface'dir. Server bileşeni, Server ve ThreadedHandler sınıflarından oluşur. Client bileşeni, Client sınıfından oluşur. User Interface bileşeni, View ve MVCMidlet sınıflarından oluşur

Page 10: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

10

BTME Mimarisi

Çatının sınıflar açısından fonksiyonalitesi:– View: View sınıfı veri görüntüler.– MVCMidlet: MVCMidlet sınıfı view'i etkileyen olayları işler.– Server: Server sınıfı, istemcilerden gelen Bluetooth

bağlantılarını bekler.– ThreadedHandler: Threadedhandler sınıfı, her bağlantıya

servis verir. Her bağlantı için bir tane yaratılır.– Client: Client sınıfı, sunucuya bağlanmaya izin verir.

Page 11: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

11

BTME Uygulaması

Geliştirilen uygulama en az üç cep telefonuna sahip olmalıdır. Geliştirilen uygulamada cep telefonlarının görevleri: bir tane servis sağlayıcı, bir tane servis kayıtçı ve bir veya daha fazla servis istemcisi/istemcileri

Page 12: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

12

BTME Uygulaması

Servis sağlayıcı, servisini servis kayıtçısına yayımlar ve servis istemcileri servisi servis kayıtçısından sorgular. Servis sağlayıcı tanışma servisini sağlar. Kayıtlı kullanıcıların bilgileri servis sağlayıcıda tutulur. kullanıcılar, kendi bilgilerini servis sağlayıcıya kaydederler ve diğerlerinin bilgilerini servis istemcileriyle listelerler. Aynı zamanda, servis istemcileri diğer servis istemcileriyle anlık mesajlaşabilmektedir. Belirli bir anda bir gruptaki anlık mesajlaşabilen servis istemcisi sayısı üç ile sınırlıdır. Bu, bir cep telefonuna bağlı cep telefonu sayısındaki kısıttan kaynaklanmaktadır. Dördüncü servis istemcisi, bir grupta konuşan üç servis istemcisinden biriyle anlık mesajlaşmak istediğinde yeni bir mesajlaşma grubu oluşturuluyor. Cep telefonları haberleşmek için Bluetooth'u kullanıyor.

Page 13: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

13

BTME UygulamasıMimari

Page 14: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

14

BTME UygulamasıServis Kayıtçısı

JSR 82 API'sine dayalı iki tane sınıf gerçekleştirilmiştir:– BTServer: Bu modül servis sağlayıcı ya da servis

istemcilerinden gelen bağlantıları bekler. – BTThreadedHandler: BTThreadedHandler her

bağlantıya servis verir. Her bağlantı için bir tane yaratılır.

Page 15: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

15

BTME UygulamasıServis Sağlayıcı

JSR 82 API'sine dayalı dört tane sınıf gerçekleştirilmiştir:

– BTServer: Bu modül servis istemcilerinden gelen bağlantıları bekler.

– BTThreadedHandler: BTThreadedHandler her bağlantıya servis verir. Her bağlantı için bir tane yaratılır.

– MsgTestClient: Bu modül servis istemcisinin telefonunun, Bluetooth'unun ve programının açık olup olmadığını kontrol eder.

– UDDIClient: UDDIClient servis kayıtçısına bağlanmaya izin verir.

Page 16: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

16

BTME UygulamasıServis İstemcisi

JSR 82 API'sine dayalı altı tane sınıf gerçekleştirilmiştir:– BTClient: BTClient servis sağlayıcıya bağlanmaya izin verir. – MsgServer: Anlık mesajlaşan servis istemcilerinden gelen

bağlantıları bekler.– MsgServerHandler: MsgServerHandler, her anlık mesajlaşma

bağlantısına servis verir. Her bağlantı için bir tane yaratılır. – MsgClient: MsgClient anlık mesajlaşma için diğer servis

istemcilerinin bağlanmasına izin verir.– MsgTestServer: Bu modül, servis istemcilerinin telefonunun,

Bluetooth'unun ya da programının açık olup olmadığını kontrol etmek için yaratılmıştır. Aynı zamanda, servis sağlayıcılarından gelen bağlantıları bekler.

– UDDIClient: UDDIClient servis kayıtçısına bağlanmaya izin verir.

Page 17: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

17

BTME UygulamasıServis Kayıtçısının State Diyagramı

Başlangıçta bekleme durumuna geçilir. Bekleme durumundayken servis kaydetme mesajı alındığında servis kaydetme durumuna geçilir. Servis kaydedildiğinde tekrardan bekleme durumuna geçilir. Bekleme durumundayken servis sorgulama mesajı alındığında servis sorgulama durumuna geçilir. Servis sorgulandığında tekrardan bekleme durumuna geçilir. Herhangi bir durumda çıkış düğmesine basıldığında servis kayıtçısı programı sona erer.

Page 18: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

18

BTME UygulamasıServis Sağlayıcısının State Diyagramı

Başlangıçta bekleme durumuna geçilir. Bekleme durumundayken kullanıcı kaydetme mesajı alındığında kullanıcı kaydetme durumuna geçilir. Kullanıcı kaydedildiğinde tekrardan bekleme durumuna geçilir. Bekleme durumundayken kullanıcı sorgulama mesajı alındığında kullanıcı sorgulama durumuna geçilir. Kullanıcı sorgulandığında tekrardan bekleme durumuna geçilir. Bekleme durumundayken kontrol mesajı alındığında kontrol durumuna geçilir. Kontrol yapıldığında tekrardan bekleme durumuna geçilir. Herhangi bir durumda çıkış düğmesine basıldığında servis sağlayıcısı programı sona erer.

Page 19: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

19

BTME UygulamasıServis İstemcisinin State Diyagramı

Başlangıçta Bağlantı bekleme durumuna geçilir. Bağlantı parametreleri alındığında (Url ve Btadı) bağlantı kurma durumuna geçilir. Bağlantı kurulduktan sonra mesajlaşma bekleme durumuna geçilir. Mesajlaşma bekleme durumundayken gönder düğmesine basıldığında anlık mesaj gönderme durumuna geçilir. Anlık mesaj gönderme durumundayken gönder düğmesine basıldığında tekrardan anlık mesaj gönderme durumuna geçilir. Anlık mesaj gönderme durumundayken anlık mesaj gönderildiğinde tekrardan mesajlaşma bekleme durumuna geçilir. Mesajlaşma bekleme durumundayken anlık mesaj alındığında anlık mesaj alma durumuna geçilir. Anlık mesaj alma durumundayken anlık mesaj alındıkça tekrardan anlık mesaj alma durumuna geçilir. Anlık mesaj alma durumundayken anlık mesaj görüntülendiğinde tekrardan mesajlaşma bekleme durumuna geçilir. Herhangi bir durumda çıkış düğmesine basıldığında servis istemcisi programı sona erer.

Page 20: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

20

Sonuçlar

Bu bildiride, yakınlığa dayalı peer-to-peer uygulamaların hızlı geliştirimi için BTME çatısı sunulmuştur. BTME projesi, Bluetooth kullanan cep telefonlarının peer-to-peer haberleşmesi için API sağlar. BTME çatısının tasarımı, MVC (Model-View-Controller) tasarım deseni kullanılarak iyileştirilmiştir. Ayrıca bu çalışmada, BTME çatısı kullanılarak bir uygulama geliştirilmiştir.

Mevcut BTME çatı gerçekleştirimi sadece Bluetooth ağlarını desteklemektedir, fakat J2ME ortamında diğer ağlar da desteklendiğinde bu çatıyı diğer ağları da destekleyecek şekilde genişletmek düşünülmektedir.

Page 21: BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı

21

TEŞEKKÜR EDERİM