Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanIsil Tatli Değiştirilmiş 10 yıl önce
1
1 BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı
2
2 İçerik Giriş BTME Çatısı BTME Uygulaması Sonuçlar
3
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
4
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.
5
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.
6
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.
7
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ı
8
8 BTME Mimarisi BTME çatısı MVC(Model/View/Contr oller) 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 Controller MVCMidlet Model Server Client Threaded Handler
9
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
10
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.
11
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
12
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.
13
13 BTME Uygulaması Mimari
14
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.
15
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.
16
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.
17
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.
18
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.
19
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.
20
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.
21
21 TEŞEKKÜR EDERİM
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.