GİRİŞ
Kablosuz uygulama protokolü (WAP) kablosuz iletişim
ile ilgilenen şirketlerin birleşerek WAP forumu meydana
getirmeleriyle oluşmuştur. Bu forum grubunun kurulması ile
kablosuz mobil bir ortamda herkesimin serbestçe bilgi transferi sağlaması
ve uygulama geliştirmesi amaçlanmıştır. Gelişmekte olan
internet protokolleri bu yönde de geliştirilerek internet ve WWW
tabanlı olarak tasarlanmıştır. Böylece küresel bir kablosuz
network protokolü olarak ortaya çıkmıştır. Bu bağlamda WAP,
internet ve mobil protokollerinin bir kesişimi olarak ta tanımlanabilir.
1995 yılında Ericsson’un bir projesi olarak
ortaya çıkmış ve Ericsson’a özgü bir protokol tanımlanmıştır.
Daha sonra bu oluşum mobil ağa eklenmiş ve ilk olarak Intelligent
Terminal Trasfer Protocol (ITTP) olarak adlandırılmıştır. Bu
protokol uygulamanın bulunduğu servis noktası ile uygulamayı
kullanabilen mobil telefon arasında haberleşmeyi sağlamaktadır.
1996 ve 1997 yıllarında Unwired Planet ve Nokia
ve diğer haberleşme şirketleride çeşitli protokoller yazarak bu
platforma girdi.
Unwired Planet HDML (Handheld Device Markup
Language) adı altında mobil cihazlarda bulunacak bir arabirim
tarafından derlenerek desteklenecek bir işaretleşme dili ve bunu
destekleyen HDTP (Handheld Device Transport Protocol) bir protokol
yazdı. Bu dil ve protokol aynı internette tekst taşıma ve sunma
protokolü olan HTML ile aynı özelliklere sahip web tabanlı bir işaretleşme
diliydi.
1997 Mart ayında ise Nokia Smart Messaging’i
tanımladı ve internet erişimli ilk seri mobil GSM haberleşme
cihazlarını üretti. Bu cihazlar mobil kullanıcı ile sunucu arasında
kısa mesaj servisi ve TTML (Tagged Text Markup Language) denilen
bir işaretleşme dili kullanıyorlardı.
Bu şekilde haberleşme şirketlerinin
kendilerine özgü çeşitli platformlar oluşturmaları üzerine
pazarın parçalanması ve uyumsuzluklar gündeme geldi. Bunun üzerine
şirketler birleşerek ortak bir protokol tanımlama yoluna
gittiler. Böylece WAP’ı oluşturmak için WAP Forum’u
kurdular.
WAP FORUM
26 Haziran 1997 yılında Ericsson, Motorola,
Nokia ve Unvired Planet bir araya gelerek ortak bir standart oluşturmak
için çalışmalara başladılar. Aralık 97 de Wap Forum tamamlandı
ve Nisan 98’de WAP 1.0’ın standartları belirlendi. Bu gelişmeler
dahilinde Wap Forum platformu WAP ile ilgili çalışma yapmak
isteyen herkese açıldı. http://www.wapforum.org
WAP – KABLOSUZ UYGULAMA PROTOKOLÜ ( Wireless
Application Protocol )
İnternet için tasarlanan çoğu teknoloji geniş
bant aralığında veri transferi sağlayan dektop veya server tipi
bilgisayarlarda kullanılmak için geliştirilmiştir. Fakat mobil
cihazlar:
- Düşük CPU gücü,
- Düşük hafıza (ROM veya RAM),
- Sınırlı güç tüketimi,
- Dar görüntü ara birimi,
- Farklı keyboard,
gibi özelliklere sahip olduklarından ve diğer
teknolojik avantajların hiçbirine sahip olmadıklarından daha
farklı teknolojilere ihtiyaç duymaktadırlar. Temel internet
protokolleri üzerinde kullanılan WAP mimarisinin genel ihtiyaçlarını
şu şekilde sıralayabiliriz.
- Her platformda kullanılabilen ortak standartlar,
- Esnek ve yeni gelişmelere açık bir mimari yapı,
- Mümkün olduğunca çok kablosuz ağları destek,
- Cihaz kaynaklarının optimizasyonu (düşük hafıza/CPU
kullanımı/güç),
- Güveli uygulama ve haberleşmenin desteklenmesi,
- İnsan makine arayüzünün olabildiğince esnek ve kullanışlı
olması,
- Gelecek üçüncü nesil için operatör ve network uygunluğunu
kolaylaştırmak,
- Program geliştirme ve uygulama.
Bilindiği üzere WAP mimarisi internet mimarisi
üzerine kurulmuş ve geliştirilmiştir. Bu yüzden WAP
mimarisinden önce internet mimarisini incelemekte yarar vardır.
WORLD WIDE WEB MODELİ (WWW)
WWW
mimari yapısı çok güçlü ve esnek bir programlama platformuna
sahiptir. Uygulamalara ve içeriklere standart bir data formatında
bilinen web browserlar yoluyla ulaşılabilir. Web browser ağda çalışan
bir uygulamadır ve isimle belirlenmiş bir data yığınını
network sunucusundan ister. Network sunucusu ise standart format yapısına
uygun olarak veriyi göndererek yanıt verir. (Şekil 1) Bu iletişim
temel olarak iki protokol ve bir işaretleşme dilinin birbiriyle
uyumlu bir şekilde çalışmasıyla sağlanır.
Üniform Kaynak Konumlandırıcı (URL-Uniform
Resource Locators)
İnternet
sunucu (server)kaynağının nerede olduğunu bulan ve nasıl
belirleneceğini tesbit eden bir şemadır. Örneğin, Gopher, FTP
veya WAIS sunucularını bulmak için kullanılır. URL bir dosyanın
hangi makinada, nasıl bulunduğunu gösterir. WWW hiper tekst dökümanları
diğer URL’leri kullanarak, diğer hipertekst kaynakları referans
ederler.
Şekil 1 -
WWW programlama modeli.
Hipertekst Transfer Protokolü (HTTP-Hyper Text
Transfer Protocol)
HTTP, hypertekst dökümanlarının
(imaj,ses, görüntü ve tekst içeren sayfalar) hızlı bir şekilde
tasarlanıp, internet üzerine dağıtılıp hizmete sunulmasını
sağlamak için kurulmuş bir protokoldür. Diğer internet araçları,
FTP, WAIS veya Gopher gibi HTTP’de bir istemci-sunucu
(client-server) protokolüdür.
İstemci-sunucu modelinde, bir istemci(client)
programı kullanıcının bilgisayarında çalışır. Sunucuya
hizmet istemek için mesaj gönderir. Mesaj gönderdiği makina
internet üzerinde çalışır ve böylece birden çok kişiye
hizmet verebilir. FTP, WAIS ve Gopher; internet istemci sunucu
protokolüne örnek olarak verilebilir. Bunlara www browsers
Netscape, Internet Explorer gibi internet sayfaları erişim
programları ile erişilir. Ancak, HTTP protokolü hipertekst döküman
teslimi için tasarlanmıştır. Dolayısı ile iletişimin çoğunluğu
HTTP sunucuları ile yapılır.
Sunucu tarafından çalışan programlara geçiş
yolu (gateway) programları denir. Çünkü HTTP sunucusu da birçok
farklı geçiş yolu programlarına erişebilir. Hangi programı
istiyorsanız, URL boyunca belirleyebilirsiniz. Sunucu ve bu geçiş
yolları programları arasındaki etkileşim, yaygın geçiş yolu
arayüzü (common gateway interface CGI) aracılığı ile
belirlenir.
Hipertek st
İşaretleşme Dili (HTML-Hypertext Markup Language)
HTML, hipertekst dökümanlarını
hazırlamada kullanılır. Bu dökümanlar, WWW üzerinde karşılaşılan
sayfalardır. HTML özel tag denilen komutlardan oluşur. Taglar
teksti, paragraflar, listeler, başlıklar vurgular gibi işaretler.
Aşağıdaki örnektede görüldüğü gibi her komut başka temel
bir komutun içerisinde bulunmakta ve koyulan tekstin başına ve
sonuna tekstin özellikleri işlenmektedir.
<html>
<head>
<title>Başlık</title>
</head>
<body>
<p>tekst’in yazılacağı bölüm </p>
</body>
</html>
Günümüz gelişmeleriyle birlikte bu dilde gelişmiş
ve daha karmaşık özelliklere sahip olmaya başlamıştır. Günümüzde
artık XML denilen yeni bir işaretleme diline yerini bırakmaktadır.
Bu dil ise bölgesel kendine özgü komutlar geliştirebilme
olanakların sunmaktadır. İşte bu dil sayesinde WAP’ın
temelini oluşturulan WML ( Wireless Markup Language ) dili XML üzerinden
tanımlanarak mobil cihazların ihtiyaçlarına göre geliştirilmiştir.
WAP MODELİ
WAP
programlama modeli, WWW programlama modeli ilebenzerlik gösterir.
Bu sebepten daha önceden geliştirilmiş çeşitli uygulamaları,
bilinen programlama modellerini ve www modeli için kullanılan (Web
server, XML vb.) çeşitli uygulamaların kullanılmasına olanak sağlar.
Ayrıca kablosuz mimarinin karakteristik özelliklerinin
optimizasyonuna ve ilavelerine izin verir. Mümkün olan her yerde
WAP teknolojisinin kullanılmasına ve adepte edilmesine olanak sağlar.
Şekil 2- WAP programlama modeli ve WAE yapısı
WAP içerik ve uygulamaları bilinen WWW tabanlı
formata uygun olarak tanımlanmıştır. İçeriğin tranferinde
kullanılan protokoller ise WWW tabanlı haberleşme protokolleridir
ve uygulamalar mobil cihazlarda bulunan mikro browserlar tarafından
çalıştırılarak kullanılır. WAP, mobil cihaz ile network
sunucuları arasında bağlantıyı aktif kılabilmek için çeşitli
özellikler tanımlamıştır:
- Standart İsimleme Modeli -WWW- standart URL isimleri
merkezi bir sunucuda bulunacak WAP içeriğine ulaşmak için
kullanılabilir.
- Tüm WAP içeriğinin formatı WWW tabanlı olduğundan bu
durum kullanıcıların hatasız olarak içeriğe ulaştırılmasını
sağlar.
- WAP içeriği WWW tanbanlı olduğundan markup, calendar
information, electronic business card objeleri,imajlar ve
script dilleri içerir.
- Standart haberleşme protokollerini kullanan WAP haberleşme
protokolleri mobil cihazdaki browser ile network web sunucusu
arasındaki bağlantıyı mümkün kılar.
WAP içerikleri ve kullandığı protokoller geniş
bir market olan kablosuz cihazlar için optimize edilmiştir. WAP
sistemi mobil domain ile WWW arasındaki bağlantıyı kurmak için
proxy teknolojisini kullanır. Bu teknolojinin tipik özellikleri aşağıda
anlatılmıştır:
- Protokol köprüsü- protokol köprüsü WAP protokol yığınından
( WSP, WTP, WTLS, WDP ) gelen isteği WWW protokol yığınına
( HTTP ve TCP/IP ) dönüştürerek aktarır.
- İçerik şifreleme ve çözme- Şifreleyiciler WAP içeriğini
kodlayarak network ağında taşınabilecek bir veri boyutuna
indirir.
Bu yapı mobil terminallerin WAP içerik ve
uygulamalarını çalıştırabilmelerini sağlar ancak bu
uygulamalar geniş özellikleri olan mobil cihazlar için geliştirlmektedir.
WAP proxy tüm wap uygulamalarının bir web sunucusu üzerinden çalıştırılabilmesini
ve CGI gibi script dillerinin kullanılmasını sağlar.
WAP sisteminin kullanılmasında web sunucusu,
WAP proxy ve WAP cihaz bir biri ile ilişkili olarak kullanılmaktadır.
Bunun yanında WAP mimarisi diğer yapılarıda desteklemektedir. Bu
durum merkezi bir WAP proxy sunucu yolu ile araya herhangibir (web
sunucusu gibi) teknoloji sokmadan son kullanıcıya yönelik
uygulamalar ve içerik sağlama hizmetinin verilebilmesini sağlar.
WAP AĞININ ÇALIŞMA PRENSİBİ
WAP
kullanıcı ağda iki sunucu ile bağlantı kurar. WAP Proxy, WAP
isteğini web isteğine çevirir. Böylece WAP kullanıcı web
sunucusuna isteğini bildirebilir. Bunun yanında proxy web
sunucusundan almış olduğu yanıtı WAP kullanıcısının
anlayabileceği bir binary modda kodlayarak WAP kullanıcıya gönderir.
Eğer web sunucusundaki bilgiler WAP içerikliyse
(WML gibi) ozaman WAP proxy direkt web sunucusu ile bağlantı
kurar. Fakat sunucudaki bilgiler WWW formatlı HTML dökümanları
ise bu durumda HTML dilini WAP cihazlarının anlayabileceği WML
diline çevirmek gerekir. Şekil- 3
Şekil-3 WAP
ağı çalışma örneği
Kablosuz telefon uygulamaları sunucusu
(WTA-Wireless Telephony Application) bir merkezi yada köprü
sunucusudur ve mobil kullanıcıdan gelen istekleri direkt yanıtlar.
WTA sunucusu kablosuz telefon haberleşmesi sağlayan operatörlerin
WAP kullanıcılarının sisteme entegre olmasını sağlar.
WAP MİMARİ YAPISI
Şekil-4 WAP mimari tabaka yapısı
WAP mimarisi mobil haberleşme cihazlarına
program ve uygulamaların geliştirilebilmesine izin vermek amacıyla
esmek ve genişletilebilir bir mimari protokol yapısına sahiptir.
Bu durum protokollerin şekil-4’te görüldüğü gibi tabakalandırılmasıyla
mümkün olur. Her tabaka diğer servislerde ve uygulamalarda olduğu
gibi üzerindeki tabaka ile etkileşimlidir. WAP tabaka mimarisi diğer
servislerin ve mimari yapıların, iyi tanımlanmış bir arayüz
ile WAP’ın getirilerinden faydalanmalarına olanak sağlar.
KABLOSUZ UYGULAMA ORTAMI ( WAE - Wireless
Application Environment )
WAE, WWW modelinin sisteme adapte edilmesini
sağlamaktadır. Tüm içerik internet formatında tanımlanmıştır.
İçerik standart WWW protokolleri tarafından taşınır. WAE, mümkün
olan her yerde kullanılmak üzere yönetim ve yayınlama metodlarını
WWW standartlarından almıştır.
WAE, cihazlarda ve ağ özelliklerinde kullanılan
WWW standartlarını geliştirmiştir. Ayrıca WAE’ye Mobil
Network servislerini, arama kontrolü ve mesajlaşmayı
destekleyebilmesi için ilaveler yapılmıştır. Fakat dikkat
edilmesi gereken en önemli husus ise mobil cihazlarda bulunan düşük
hafıza ve işlemci hızıdır. Bu yüzden mimari alçak bant genişlikli
ve yüksek gecikmeli hatları destekleyen bir özelliğe sahiptir.
WAE, şifrelemeden sorumlu geçidin tüm işlevsel özelliklerini bünyesinde
barındırır ve mobil abonenin şifrelenmiş data transferini sağlar.
Mobil kullanıcıya içeriğin şifrelenerek dağıtılmasının
amacı havadan gönderilecek verinin daha az bir boyuta sahip olması
va bunun sonucunda daha az enerji kullanılarak mobilin bilgiyi
alabilmesini sağlamaktır. Daha öncede bahsedildiği üzere (
gateway ) geçit fonksiyonları şekil-2’de görüleceği üzere
merkezi bir sunucuya yerleştirilebilir.
WAE’nin temel yönetim özellikleri:
Kullanıcı cihazında bulunan yazılım
sayesinde kullanıcılar yazılımın desteklediği içeriği gösterme
gibi özellikleri kullanabilirler. Kullanıcı kısmı ( browser
gibi ) WAP mimarisi içine entegre edilmiştir. URL yoluyla ulaşılan
WAP içeriğini yorumlar. WAE kullanıcı bölümü için iki çeşit
standart kullanır: Kodlama için Wireless Markup Language (WML)
ve uygulama çalıştırma için ise Wireless Markup Language
Script (WMLScript.)
Mobil terminal içinde bulunan kullanıcı kısmından
gelen isteğe merkezi sunucuda bulunan uygulamaları ( CGI
script gibi ) standart formatta yanıtın içinde gönderir. WAE
herhangibir standart içerik üreticisini tanımlamaz. Fakat yakın
bir gelecekte günümüzde yaygın olarak WWW içinde kullanılan
HTTP tabanlı sunucularda yapılacak değişiklikle yaygın
uygulamalar söz konusu olacaktır.
- Standart İçerik Şifreleme:
İyi tanımlanmış şifrelenmiş içerik bir
WAE kullanıcı kısmının ( bir browser gibi ) uygun şekilde
web içeriğine ulaşılmasını sağlar. Standart içerik şifreleme
WML için sıkıştırılmış şifreleme, WMLScript için sıkıştırılmış
byte kodu, standart imaj formatları bir çok parçalı taşıyıcı
format ve adapte edilmiş iş ve takvim veri formatları içerir.
- Wireless Telephony Applications (WTA):
Gelecek kontrol mekanizmaları ve arama için özel
telefon eklentileri topluluğu daha ileri mobil network
servislerinin oluşmasını sağlar.
Tipik olarak terminalde bulunan kullanıcı kısmı
içerik için isteği başlatır. Fakat bu isteklerin bazıları
yani terminalden gelen isteklerin hepsi karşılanmaz. Bazı
zamanlarda ise merkezi sunucunun cihaza ne teslim ettiği cihazın
özelliklerine bağlı olabilir. Kullanıcı bölümü standart görüşme
mekanizması yolu ile merkezi sunucu ile görüşür. Bu durum
uygulamaların kullanıcı bölümünde çalıştırılmasına izin
verir. WAE bir kullanıcı bölümünün yeteneklerini tanımlar ki
bu kullanıcı kısmının yetenekleri WSP protokolü sayesinde değiştirilebilir.
Bu yetenekler WML, WMLScript versiyonları gibi her cihazın
kullanabileceği özellikleri içerir.
URL İSİMLENDİRME
WTLS
protokolü kullanılan sonlandırmalı (end to end) güvenlik
kulanan bir servisin yetkileri içerik sağlayıcı tarafından geçit
(gateway) içinde tanımlanır. Içerik sağlayıcı bir ön
bellekli geçit sağlar ki şifrelenmiş içerik bu ön bellek
sayesinde performans arttırımı sağlansın. Sadece WAP cihazlarının
ulaşabileceği bir sunucuda bulunan özel servisler WSP protokolü
sayesinde standart HTTP oturum özellikleri kullanılarak WAP
cihazlarına ulaştırılır.
WAE standart WWW proxy sunucusu tabanlıdır. Bu
yüzden istenilen sunucu ile yapılacak bağlantı bu proxy üzerinden
yapılmalıdır ki bu durumda bir kablosuz cihazın bir sunucuya geçit
yolu ile ulaşması ile benzer bir durum gösterir. Browser ile geçit
arasında yapılan bağlantıların büyük bir çoğunluğu ulaşılacak
sunucunun hangi protokolü istediğine bakılmadan WSP protokolünü
kullanır. URL ise içeriğe ulaşmak için varılacak sunucunun
kullandığı protokole bakar fakat browserın geçide ulaşmak için
kullandığı protokole bakmaz. Öte yandan URL yalnızca varılacak
sunucunun kullandığı protokole bakar arada yapılacak herhangi
bir bağlantının protokolü ile ilgilenmez. Ayrıca WSP tarafından
gönderilen ve yine WSP tarafından alınarak yapılan oturum bağlantılarında
ki performans geçit tarafından yönlendirilir ve yönetilir. Günümüzde
standart web üzerindeki HTTP/HTML proxsileri analogdur. Örneğin
bir HTTP proxsi bir FTP yada Gopher komut listesine yanıt verdiğinde
bu içeriği bir browser tarafından ulaşılabilecek HTML dökümanı
şekline dönüştürür. Böyle bir dönüşüm mobil cihazda
bulunan WAE kulllanıcı kısmına varacak şifrelenmiş içerik
analog olarak dönüştürülerek gönderilir.
Kısaca özetliyecek olursak bir WAP cihazı
tarafından özel tanımlanmış bir URL kullanılarak istek
belirtilir. Telefon browserı operatör tarafından kontrol edilen
bir geçit (gateway) ile WSP kullanarak bağlantı kurar ve URL isteğini
gönderir. Geçit ise URL tarafından tanımlanan host adresini çözer
ve host için bir HTTP oturumu açar. URL tarafından tanımlanmış
isteği yapar. HTTP sunucusu ise bu istek ve yanıtları tekrar oluşturarak
geri gönderir. Geçit ise bu içeriği şifreleyerek browser’a
ulaştırır.
WAE YAPILARI
İki lojik yapıdan meydana gelmektedir. İlki
kullanıcı bölümü denilen browser, telefon listesi, mesaj editörü
gibi yapıların bulunduğu bölüm diğeri ise kullanıcı bölümünün
ulaşabileceği WML, WMLScript, imaj formatları, vCard ve vCalendar
formatları gibi servisler ve yapıların bulunduğu bölüm. WAE bu
servisleri kullanıcı kısımdan ayırır ve birçok kullanıcı kısım
için bir ortam görevini üstlenir. Bu lojik yapı herhangibir araç
anlamına gelmez. Örneğin WAE araçları belki tek bir kullanıcı
bölümü içine birçok servisin karışımını seçebilir. Öte
yandan diğerleri belki çeşitli kullanıcı bölümleri
servislerine dağıtmak için servisleri seçebilir. Şekil-5’te
yapı kısaca görülebilir.
Şekil-5 WAE
alıcı yapıları
WAE Kullanıcı Kısımları
WML
kullanıcı kısmı WAE kullanıcı kısmının temelini teşkil
eder. Fakat WAE sadece WML kullanıcı kısmıyla sınırlanmamıştır.
WAE özel tanımlanmış kullanıcı kısım ve yapılarına da izin
verir. Bunun içinde mobil telefon çevre birimi için WTA (Wireless
Telephony Application- kablosuz telefon uygulamaları) kullanıcı bölümü
WAE’nin bir eklentisi şeklinde tanımlanmıştır. Bu yüzden WTA
eklentileri yöneticiye mobil telefonlar için birçok uygulamayı
(arama kontrol gibi) aktif kılabilme yada yönetebilme gibi kolaylıklar
sağlamaktadır. WAE hiçbir şekilde kullanıcı kısmı belirtmez.
Kullanıcı kısmının yetenekleri ve getirileri cihazlara bırakılmıştır.
WAE sadece cihazlar tarafından kullanılacak servis kaynaklarını
ve formatları tanımlar.
WAE SERVİSLERİ VE FORMATLARI
WAE
servisleri ve formatları WAE’nin etkili olmasını sağlayan birçok
teknik yapıyı içermektedir. WAE bünyesinde WML ve WMLScript
dillerini ve buna bağlı WAE uygulamalarını ve WAE destekli
format yapılarını içerir.
KABLOSUZ İLETİŞİM İÇİN İŞARETLEME DİLİ
(WML-WIRELESS MARKUP LANGUAGE)
WML
etiket tabanlı ve uygulamaların işaretlerle tanımlandığı bir
çeşit dildir. WML için WWW için tanımlanan HTML ve HDML
(handheld markup language) dillerinin mirasını paylaşıyor
diyebiliriz. WML bir XML (eXtensible Markup Language) dökümanı
gibi tanımlanmıştır. XML dili yöresel yada sunuculara yada
kullanılacak farklı bir browser’a özel yeni işaretler ve bu
yollada yeni işaretleme dillerinin geliştirilmesine olanak sağlayan
ve günümüzde yeni yeni gelişme göstermekte olan bir çeşit işaretleşme
dilidir. WML özel sunum, telefon ve kablosuz iletişim araçları için
standartlaştırılmıştır.
WML ve desteklediği çevre birimleri ufak ve dar
bantlı cihazlar, küçük ekran, sınırlı kullanıcı girişi,
darbant network bağlantıları, sınırlandırılmış hafıza
kaynakları ve sınırlı hesap yapabilen birimler için tasarlanmıştır.
WAP tarafından hdeflenen ise yönetim ve browser araçları arasındaki
veri alışverişini olabildiğince esnek ve etkili kılmaktır.
WML yapıtaşlarını taşıdığı HDML dilinin
bazı elementlerini değiştirmiş ve buna yeni elementler eklemiştir.
Bunların bazıları HTML dilinin elementleri gibi modellenmiştir.
Sonuçta ise kart ve deck yapısında WML dili oluşmuştur. Bu yapı
içeriğin çoklu kart yapıları içinde sunulmasını sağlamaktadır.
Kartlar ise mobil cihazın ekranında görülen içeriğin kademeli
olarak ulaştırılmasını ve yayınlanmasını sağlar. Kullanıcı
bu kartlar yolu ile içeriğe ulaşabilir. İsterse bulunduğu kart
içinden veri gönderir isterse başka bir karta geçer, seçim
yapar yeni bir WAP sitesine ulaşabilir vs. birçok işlem
yapabilir. Kartların içinde bulunan emirler ana sunucudan istenir
ve deckler istenileni ana sunucudan getirir. WML dekleri ana
sunucuda bulunan bir dosya içinde yığılmıştır yada ana
sunucuda bulunan içerik üretici tarafından dinamik olarak oluşturulur.
Deck içinde bulunan her kart kullanıcı etkileşimi için özel
tanımlar içerir.
WML’in bu şekilde tanımlanmış olması birçok
şirketin kendi özel cihazlarını geliştirebilmesini olanaklı kılmıştır.
Örneğin WML kullanıcının uygulamalar için yapacağı veri girişinin
nasıl olacağını tanımlamamıştır. Bunun yerine uygulamada amaçlanan
tanımlanmıştır. Bu durum daha öncede dediğimiz gibi birçok
farklı cihazın ve ulaşım metodunun kullanılmasını sağlar. Örneğin
yapılacak bir içerik içi seçme işlemi aynı web ortamında olduğu
gibi yapılabileceği gibi bir ses arayüzü kullanılarak ses ilede
yapılabilir. Kullanıcı bölümü, kullanılan cihaz için en iyi
sunumu alabilmek için kartlar içindeki elementlere karar
vermelidir. Örneğin geniş ekranlı bir cihaz ile işlemler tek
kart üzerinden yapılabilirken, küçük ekranlı bir cihaz ile
birden fazla kart üzerinden yapılmalıdır. Çünkü büyük
ekranda kullanılan kart, küçük ekranda bölünmeye uğrayacaktır.
WML’in çok çeşitli getirileri söz konusudur.
TEKST VE İMAJLARIN KULLANIMI
WML,
tekst ve imajları kullanıcıya sunmak için özel tanımlar geliştirmiştir.
Bu içeriği sunmayı sağlar. Diğer işaretleme dilleri gibi WML
de bir yönetime ihtiyaç duyar. Bu yüzden son kullanıcıya
sunulacak içerik isteğe bağlı bir çeşitlilik ve tasarım gösterir.
Bazı önemli komutlardan kısaca bahsedecek olursak;
- <p>xxxxx</p>
Tekst yazımında birinci
dereceli komuttur. Yazılacak tekstin veya koyulacak imajın başına
ve sonuna eklenerek işaretlediği bölgede tekst olduğunu
browser’a bildirir.
<img src=”xxx.wbmp” alt=“resim”/> İmajlar
için ikinci dereceli bir komuttur ve <p> komutu içinde
bulunur ve belirtilen resim dosyasını ekranda gösterir.
<big></big>,<b></b>,<I></I> İkinci
dereceli tekst komutları olup tekstin özelliklerini belirtir.
KULLANICI VERİ GİRİŞİ
WML, çeşitli kullanıcı giriş elementlerini
destekler ve bu elementler farklı kartlar içinde bulunabilir. Tüm
kullanıcı istekleri kısa terimler yolu ile yapılır ki bu durum
kullanıcının serbestçe istediği cihazdan veri gönderebilmesini
yada almasını sağlar. Örneğin WML tekst giriş kontrolü içerir
ve bu tekst ve password girişini destekler. Ayrıca WML kullanıcı
tarafından girilen verinin bir programda kullanılmak üzere gönderilmesini
ve sonuçlarının alınabilmesinide sağlar. Ayrıca WML kullanıcı
tarafından seçim yapılabilmeyi olanaklı kılan option gibi
komutlara da sahiptir. Bazı önemli komutları örneklerle
inceleyecek olursak;
<wml>
<card>
<p>
Birini Seç:
<select name="K">
<option
value="1">ilk</option>
<option
value="2">son</option>
<option
value="1;2">hepsi</option>
</select>
</p>
</card>
</wml>
Bu örnekte ekrana gelen seçeneklerden ilk seçildiğinde
1, son’da 2 ve hepsi seçeneği seçildiğinde 1ve 2 değerleri gönderilir.
<card>
<P>
Adınız: <input type="text"
name="ilk"/><br/>
Soyadınız: <input
type="text" name="son"/><br/>
Yaşınız: <input
type="text" name="yas"
format="*N"/>
</p>
</card>
Input komutu için yapılan bu örnekte ise isim
ve soyisim ve yaş girilmekte ve yaş için kullanılan format ta
belirtilen ilede tuşlardan direct sayı girilmesi sağlanmaktadır.
DOLAŞIM
WML, URL
yolu ile çeşitli sitelere ulaşmayı sağlar. Bunun yanında daha
once ziyaret edilmiş siteleri ise kayıt eder.
<go href="wap adresi"
method="post">
<postfield name="w"
value="12"/>
<postfield name="y"
value="test"/>
</go>
Yukarıdaki örnekte belirtilen adrese çeşitli
değerler gönderilerek gidilmektedir.
ULUSLARARASI DESTEK
WML dökümanları karakterleri için gelimiş
bir kod yapısınıa sahiptir. Bu yüzden çoğu dilde sunum hazırlamak
mümkün kılınmıştır.
DARBANT OPTİMİZASYONU
WML
darbantlı cihazda kullanılmak için bağlantıyı optimize eden çeşitli
tekniklere sahiptir. Bu bir network transferinde (deck) birden fazla
kartın yani kullanıcı bağlantı biriminin tanımlanabilme yeteneğini
belirtir. Ayrıca WML ana sunucunun isteklerini en aza indirmek için
çeşitli durum yönetim fonksiyonlarına da sahip olduğu gibi hava
üzerinde veri transferi için zamanlama hızını geliştirebilmek
için yardım mekanizmalarınada sahiptir. Örneğin WML’in
sonradan gelecek içeriği parametrelerce yönetilebilmesi gibi. Bu
durum kullanıcı taraflı bant dışı mekanizmaları destekler ve
kullanıcı bir URL ye sahip olmadan giriş yapabilmesini sağlar.
URL’yi değiştirmeden çeşitli bant dışı geçişlerde kullanıcı
taraflı başarının sağlanmasına çalışılır.
DURUM VE İÇERİK YÖNETİMİ
WML yöneticinin
düz bir içerik üretmesine olanak tanır. Her WML giriş kontrolü
çeşitli kullanış şekilleri sağlayabilir. Bu durum sunucuyla
iletişim kurmadan içeriğin akrt parametreleri ile değiştirilebilmesine
olanak tanır. Ayrıca çeşitli durumların kullanım süresi tek
bir deck’den daha fazla olabilir ve bu durumlar yine dekler arası
iletişimi kaydetmek için sunucu ile bağlantı kurulmadan çeşitli
birçok dek tarafından kullanılabilir.
ÖRNEK
Aşağıdaki İstanbul Teknik Üniversitesi için
tasarlanmış ve bir web sunucusunda bulunan herhangi WAP cihazınca
ulaşılabilecek ana WAP sayfasıdır. Bu dosya iki kart yapısından
meydana gelmektedir. İlk satırda belirtilen adresten standartların
olduğuna dair bir bilgi bulunmaktadır ve bu dosyanın standartlarının
XML dilince desteklendiğini göstermektedir. Bilineceği üzere bir
WML dosyası olduğu dosyanın en başı ve en sonuna WML komutu
yazılarak belirtilmiştir. Bunun içine ilk önce ilk görülecek
kart tanımlanmış ve nekadar ekranda kalacağı timer
komutu ile belirtilmiştir. Ayrıca sayfa başlığı card
komutunda tanımlanmıştır. Daha sonar ikinci dereceli p
komutu içine gerekli imaj tanımlanmıştır. İkinci kart ise
belirtilen zaman sonunda ekranda otomatik olarak görülür bu kart
ta ise amaca gore ulaşılacak kart sayfa adresleri tanımlanmıştır.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD
WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="ilk"
ontimer="#iki" title="I.T.U." >
<timer value="20"/>
<p align="center">
<img src="itu.wbmp"
alt="ari" align="top"/>
</p>
<p align="center">hosgeldiniz
</p>
</card>
<card id="iki" title="I.T.U.
SECENEK">
<p >
<a href="notlar.wml">
Notlar</a>
<br/>
<a href="kultur.wml">Kültür
Sanat</a>
<br/>
<a
href="telefon.wml">Telefonlar</a>
<br/>
<a
href="musti.wml">W@PMASTER</a>
</p>
</card>
</wml>
Resim –1 Birinci kart
|
Resim –2
Alttaki tuşlar ile seçim yapılabilen ikinci kart |
WMLSCRIPT
WMLScript, WAP mimarisinin genel script yapısını
geliştirmek amacıyla geliştirilmiştir. WMLScript, WML yapısını
geliştirmek ve tamamlayıcı bir unsur olarak kullanılabilir.
Darbantlı cihazlar için geliştirilmiş olan WML dili çeşitli
imajlar ve tekst yapıları içerir ve bu yapı kullanılarak çeşitli
script parçalrı çağrılarak çeşitli kullanıcı işlemleri yapılabilir.
Bu sayede daha aktif ve etkileyici wap sitesi tasarımları yapılabilir.
Bunun yanında tüm içerik statik olduğu için değişiklik direct
WML kodu üzerinden yapılmalıdır. Aşğıdaki liste WML tarafından
desteklenmeyen sistemin çeşitli getirileridir:
- Kullanıcı bilgi girişinin geçerliliğini onaylama.
- Kullanıcı bölümüne girişi kolaylaştırma. Örneğin
bir mobil cihazda telefonla arama, mesaj gönderme, adres
listesine telefon numarası ekleme yada SIM karta giriş gibi
işlemler programcıya verilen izin dahilinde yapılan işlemlerdir.
- Yerel mesaj ve diyalog meydana getirme. Bu durum uyarı,
hata mesajları, doğrulamalar gibi işlemlerin kullanıcılar
tarafından daha hızlı yapılmasına izin verir.
- Kullanıcı bölümü yazılımı ve kullanıcı bölümü
yapılandırılması gibi işlemlerin eklentiler yardımıyla
yayılmasına izin verir.
WMLScript, kullanıcıların darbantlı bağlantı
hatlarında kullanabilmeleri için bu sınırlandırma ve
programlayabilme yeteneklerini geliştirmek amacıyla tasarlanmıştır.
WML tarafından yerine getirilebilen bir çok
servis küçük mobil cihazlarda kullanılabilir. Sunucuya bilgi
transferi yada çeşitli aktif uygulamalar için bu program parçacıkları
kullanılabilir.
WMLSCRIPT ÇÖZÜMLEYİCİ
WMLScript
dili tekst yapısı WMLScript çözümleyici çözümlemeyi yapmadan
önce binary format olarak derlenir. WMLScript derleyicisi WMLScript
bytecode içinde bir WMLScript derleme ünitesi şifreler. Derlenmiş
bir WMLScript ünitesi çeşitli komutlar ile bazı WMLScript
fonksiyon numaraları içerir. WMLScript derleyicisi girişinden tek
bir derlenecek unite alırken çıkışta ise WMLScript bytecode üretir.
ÇÖZÜMLEYİCİ MİMARİSİ
WMLScript
çözümleyici, WMLScript bytecodu girişten çağrılan şifrelenmiş
fonksiyonlar olarak alır. Şekil-6’da WMLScript bytecodu çözümleme
şematize edilmiştir. WMLScript çözümleyici aynı WMLScript
bytecodu gibi fonksiyonları derleme ünitesi içinde çağırmak ve
çalıştırmak için kullanılabilir. Her fonksiyon bir parameter
numarası tanımlar ve onaylar. Komutlar davranışları ifade etmek
için kullanılır. Böylece WMLScript fonksiyonunu çağrılarak
yeni fonksiyonlar tanımlanır. Fonksiyon, argümanları ve derleme
ünitesini çağırır. Daha sonra fonksiyon bildirisi yapılır.
Ilk once normal olarak çalıştırma işlemi yapılır. WMLScript
çözümleyici ise değişkenleri ve sonuçları çağırana gönderir.
Şekil-6 WMLScript
çözümleyicisi genel mimarisi
Çalıştırılan WMLScript fonksiyonu, WMLScript
bytekodu içindeki komut yapılarını çözümlemeyi gerektirir.
Bir fonksiyon çözümlenirken, WMLScript çözümleyicisi genel
olarak aşağıdaki durumları takip eder:
- IP (Instruction Pointer) Komut işaretçisi: Çözümlenecek
bytecode içindeki fonksiyonu işaret eder.
- Değişkenler: Genel olarak fonksiyon paremetreleri ve değişkenler.
- Operand Yığını: ifade edilen değerler ve geçiş argümanları
için çağrılan fonksiyonlar ve çağıran arasında kullanılır.
- Fonksiyon Çağrı Yığını: WMLScript fonksiyonları, o
andaki yada çeşitli derleme üniteleri içindeki diğer
fonksiyonları veyahut da kütüphane fonksiyonlarını çağırabilir.
Fonksiyon çağrı yığını, fonksiyonlardan yada onların
gelen adreslerinden bilgi bekler.
GİRİŞ KONTROL
WMLScript,
WMLScript derleyicisi içindeki fonksiyonlara girişi kontrol etmek
için iki tip mekanizma destekler. Biri dışsal bir kelime diğeri
ise özel bir giriş kontrol yapısı. Dışsal fonksiyonlar diğer
derlenmiş yapılardan çağrılan fonksiyonlar gibi tanımlanmış
fonksiyonlardır. Giriş
kontrol derleme ünitesi içinde
tanımlanmış dışsal fonksiyonlara girişe diğer derleme üniteleri
izin verir ki bunu yaparken verilen kullanıcı adını ve giriş
yolu tanımını karşılaştırır.
ÖRNEK
Aşağıdaki örnekte WML ara birimi kullanılarak
tel.wmls dosyası çağrılmaktadır. Bu arada input
komutu ile giriş yapılmakta do
komutu içndeki go komutu ilede çağrılan dosya içinde
tanımlanmış fonksiyona veri gönderilmiştir. Sonuç veri WML ara
yüzünde özel tanımlanan $(result)
komutunun bulunduğu
yere yazılacaktır.
Burada dikkat edilmesi gereken önemli bir husus
ise input komutu içinde tanımlanan name
ile nesnenin adı tanımlanır. Veri bu nesneye atanır. Daha sonar
bu nesne go içinde
tel.wmls#telefon('$(isim)') şeklinde çalıştırılacak
WMLScript dosyası içindeki fonksiyona gönderilir.
İkinci dosya olan tel.wmls dosyası bir
WMLScript dosyasıdır ve içinde birden fazla WMLScript programları
bulunabilir. Bu örnekte sadece bir program tanımlanmıştır.
WMLScript Java tabanlı bir dil olduğundan tanımlamalarda ona gore
yapılmıştır. Burada var
ile değişkenin nasıl
bir yapıda olduğu tanımlanmıştır. Tipik if
yapısıyla gelen verinin sorgulaması yapılarak gerekli atama yapılır.
Atanan değer daha sonra WMLBrowser.setVar("result",
tanim); komutu ile
result’a atanır ve değer gönderilir. WMLBrowser.refresh();
komutu ile browserin
yanıt verip vermediğine bakılır.
tel.wml dosyası
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD
WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="telefon
listesi" newcontext="true">
<p>
isim:<input name="isim"
title="isim" value=""/><br/>
<br/><small>$(result)</small>
<do type="accept"
name="cal" label="telefon">
<go
href="tel.wmls#telefon('$(isim)')"/>
</do>
</p>
</card>
</wml>
Bir NOKIA WAP telefonunda tel.wml ve tel.wmls
dosyaları yolu ile veri giriş çıkışı ve WMLScriptin kullanılması
aşağıdaki şekilde adımlarla görülebilir.
Resim-3 Birinci kart bilgi girişi
isteniyor.
|
Resim-4 Nokia browser tarafından
yapılan tanıma gore veri girişi. |
Resim-5 Verinin girilişi ve
OK’lenmesi. |
Resim-6 Onayın alınması ve seçeneklere
tekrar giriş.
|
Resim-7 Yapılmak istenen işlemin
seçilmesi. |
Resim-8 Sonucun alınması. |
Resim-9 Hatalı veri girişinde alınan
yanıt.
|
|
|
tel.wmls dosyası
extern function telefon(isim) {
var result;
var tanim;
if ( isim == 'mustafaeren')
tanim = "02126252975
erenmustafa_itu@hotmail.com";
else if ( isim == 'tanerguler' )
tanim = "02125503162
taner_guler@hotmail.com";
else if ( isim == 'farukdonmez' )
tanim = "02125983850
fdonmez@yahoo.com";
else if ( isim == 'mesutbasol' )
tanim = "02124453833
basolmes@yahoo.com";
else tanim = "hatali isim lutfen yeniden
giriniz!...";
WMLBrowser.setVar("result", tanim);
WMLBrowser.refresh();
}
WML VE WMLSCRIPT TRANSFERLERİ
Aşağıdaki
şekilde wml kullanıcı bölümü tarafından yönetilen farklı
lojik mimari yapının bölümleri verilmiştir.
Şekil-7 WML
kullanıcı kısmı mimari yapısı.
Ana sunucu uygulama servislerini son kullanıcıya
sağlar. Son kullanıcı ile ana sunucu arasındaki servis etkileşimi,
standart WML deckleri ve scriptleri gibi paketler halinde yapılır.
Servisler, statik olarak ana sunucuda bulunan deckler ve scriptlere
bağlı olabilir yada ana sunucudaki bir uygulama ile servisler
dinamik olarak üretilebilir. Ana sunucu ve WML son kullanıcının,
aralarında WML ve WMLScript etkileşimi yapmaları çeşitli
seviyelerin kapsanması ile olur. Özel olarak bir kullanıcı ana
sunucudan özel bir servise ulaşmak isterse, ana sunucuya WML
kullanıcı kısmını kullanarak ulaşır. Kullanıcı kısmı ana
sunucudan isteyeceği servisi URL yolu ile bildirir. ( HTTP GET
istek metodu gibi)
Ana sunucu kullanıcı isteğini tekrar geri tek
bir deck göndererek sağlar. Bu deckin tekst formatındaki ilk yapı
olduğu tahmin edilebilir. Sınırlı cihaz işlemleri ve hava yayını
için tekstin dönüştürüldüğü gateway yolu ile tekst
decklerinin kullanıcıya geri gittiği düünülebilir. Prensip
olarak ilk gateway, ana sunucudan gelen isteği yanıtlar. Ayrıca
gateway tekst ve binary formatlar arasındaki bütün gerekli dönüşümleri
yapar. Gateway içindeki WML kodlayıcısı tüm dekleri binary
formata dönüştürür. Daha sonra şifrelenen bu içerik çözümlenmek
üzere kullanıcıya gönderilir. Gateway tarafından kullanıcı
taraflı bazı optimizasyonlar da yapılır.
Kullanıcı kısmı belki WMLScript için URL
yolu ile birden fazla istekte bulunabilir. Kullanıcı kısmı WML
deck yolunu kullanarak bu isteği yapar. Geri dönüş yolunda,
WMLScript derleyicisi giriş gibi scripti alır ve darbantlı mobil
cihazlar için binary format içinde derler. Derlenmiş bytecode
çözümlenmek ve çalıştırılmak üzere kullanıcıya gönderilir.
Şekil-8’de görüldüğü gibi gatewayin bulunması tek yanlı yönetimi
sağlamaz. Gerçek şifreleme ve derlemenin yapıldığı belirli
bir yerin WAE ile belirli bir ilgisi yoktur. Bazı ana sunucularının,
WML şifreleyicileri ve WMLScript derleyicileri içinde oluşturulabilmeleri
akla yatkındır. Bu durum şifrelenmiş WML ve WMLScript bytecode
formatlarının belirli servislerinin seçilerek istenilen deck dönüşümünün
yapılmasını sağlayacaktır.
Şekil-8 Gatewaysiz
WML kullanıcı kısmı lojik mimarisi.
WTA- KABLOSUZ TELEFON UYGULAMALARI ( WIRELESS
TELEPHONY APPLICETION )
WTA, telefon servisleri için bir çatı uygulamasıdır. WTA
kullanıcı kısmı esasen standart WML kullanıcı kısmıyla
benzerdir. Şekil-9’da görüleceği üzere WTA çatı yapısı
tanımlanmıştır. Bu tanımlar kullanıcıdaki içerik yapılarını
göstermektedir. WTA çatısı, kullanıcıya atanan WTA kullanıcı
bölümüne dayanır. WTA sunucusu, WAP tarafından tanımlanmıştır
WTA KULLANICI KISMI
Şekil-9’da WTA mobil cihaz içinde WTA mobil
kullanıcı kısmı ve WTAI’nin birbiri ve diğer yapılarla ilşkisinin
nasıl olduğu tanımlanmıştır. WAE kullanıcı kısmı, içeriğini
WAP gateway yolu ile iyileştirir. Ayrıca WTA kullanıcı kısmı,
yığın sayesinde içeriği geliştirebilir. Ayrıca WTAI, WTA
kullanıcı kısmının mobil ağ fonksiyonları ile özel cihaz özelliklerinin
birbirini etkilemesini sağlar.
WTA SUNUCUSU
WTA sunucusu, kullanıcı tarafından istenen içeriği
aynı bir web sunucusu gibi teslim eder. Aynı bir internet browseri
gibi, WTA kullanıcı bölümü, WTA sunucusundaki içeriğe bir URL
yolu ile ulaşır. URL, bir web sunucusundaki uygulamaya ulaşmak için
referans olarak kullanılabilir. Bu tip uygulamalar (CGI gibi) farklı
sitelerde kullanılabilir. Bu durum dinamik bir içerik uygulaması
sağlar. Bir WTA sunucusu bu yapıları isterse kullanabilir. WTA
sunucusundaki referans uygulamalar sayesinde, mobil ağ ve diğer
servisler arasında URL kullanılarak etkileşim sağlanabilmektedir.
Böylece WTA sunucusunda bulunan uygulama yapıları mobil servisten
kolaylıkla WAP kullanıcısına aktarılabilir.
Şekil-9 WTA
mimarisinin genel yapısı.
WTA SERVİSLERİ
WTA
servisleri, son kullanıcının WTA çatısını kullanarak hizmet
almasını sağlar. Bir WTA servisi kullanıcıya, WML, WMLScript
gibi çeşitli yapılarda görünebilir. WTA kullanıcı kısmı,
WTA sunucusu tarafından iyileştirilmiş kullanıcı içeriği veya
yığınını çalıştırarak kullanabilir. Ayrıca çatı, WTA
kullanıcı kısmına mobil ağda bazı kullanımları aktive
etmesini sağlar. (gelen çağrılar gibi)
WTA SERVİSLERİNİ BAŞLATMA
WTA
kullanıcı kısmı esasen tanımlanmığ yapı içinde içeriği çalıştırır.
Bağlantı kurulacak URL ya cihaz içindeki listeden seçilir. Yada
WTA sunucusuna başvurularak olur. Başvuru ilk önce WAP
gateway’e ulaştırılır. Bu istek itme yolu ile WTA sunucusuna
bildirilir. WTA sunucusunda kullanıcı ile servisi başlatabileceğine
dair bağlantı kurar.
Şekil-10 WTA
servislerinin başlatılması.
WTA GÜVENLİK İHTİYAÇLARI
Mobil kullanıcılardaki
özel fonksiyonların girişi aktif etmeleri için WTA servisi WTAI
fonksiyonlarından faydalanabilir. Bu fonksiyonlar arama, yerleştirme
yada kullanıcının kişisel telefon rehberine ulaşabilmesini sağlar
ki bu durum sadece yetki verilen WTA servislerince yapılabilir.
GÜVENLİK
ATAMA
Her mobil operatör
uygulamaları kullanabilme ve ağa ulaşabilmeyi belli güvenlik
izinleriyle sağlamak ister. Bu tip güvenlik yöntemleri WAP tarafından
tanımlanmamıştır. Bu yüzden mobil operatörler isterlerse
istedikleri bütün WTA servislerini çalıştırabilirler. Ya da
WTA sağlayıcılarına giriş için bir sıralama numarası
verirler.
GİRİŞ KONTROL
WDP, WTA
servisleri ile tanımlanmış port numaralarını kullanan genel WAE
servislerinin birbirinden ayırma işlemini yürütmek için
destekler. Şekil-11’de durum görülebilir. WTA kullanıcı kısmı
tarafından kurulan bir WTA oturumu, gateway’de bulunan ve güvenli
atanmış bir WTA portunu kullanmak zorundadır. WTA kullanıcı kısmı,
WTA oturumu dışında WTA içeriğini tekrar alamaz. Dışarıdaki
WTA oturumu tarafından yanıtlanan WTA içeriği atılabilir.
Şekil-11 WDP
port numaraları ve giriş kontrol.
KULLANICI İZİNLERİ
Kullanıcı
izinleri çalıştırılabilen WTAI fonksiyonları tarafından
verilir. Yapılacak bir işlem durumun WTAI fonksiyonu çağrılarak
yapılabilir. Kullanıcıya özel WTAI fonksiyonlarını çağırabilme
ve kullanabilmesi için izin verilir. Genel olarak tek bir genel
WTAI fonksiyonuna giriş izni verilir. Her genel WTAI fonksiyonu tanımı
özel izin çeşitlerince desteklenir.
Tabaka İzni
Kullanıcı
özel WTAI fonksiyonunu çalıştırabilmek için bu izni alır.
Sonraki çalıştırılan fonksiyon ise kullanıcının daha önce
WTAI fonksiyonunu çalıştırabilmek için aldığı yada çalışan
izni kullanır. Genel olarak bu izin çalıştırılan yapı veya çalışma
sırasında verilir. İzin kullanıcı tarafından istendiğinde
kesilebilir. Uygulama kaldırıldıktan sonra izin artık kullanılmaz.
Oturum İzni
Özel çalıştırılabilir
bir oturumun çalışma zamanı sırasında kullanıcı özel tanımlanmış
WTAI fonksiyonunu kullanmak için izin ister ve daha sonraki çalıştırma
işlemlerinde, hala çalışmakta olan ve çalıştırılabilen
oturum yolu ile WTAI fonksiyonlarını çalıştırabilmek için
kullanılabilir. Böyle bir izin genel olarak çalıştırılabilir
bir koşma zamanında verilebilir. Izn kullanıcı tarafından
istenildiğinde kesilebilir. Kullanıcı bu izni oturum bittiğinde
artık kullanamaz.
Tek Faaliyet İzni
Eğer
kullanıcı daha önce kullandığı WTAI fonksiyonunu tekrar
kullanmak isterse ozaman kullanıcıya tek faaliyet izni verilir.
Yine böyle bir izin çalıştırılabilir zamanda verilir. İznin
iptali ise WTAI fonksiyonunun bitirilmesi ile olur. Fonksiyon işlemi
bittiğinde kullanıcı artık bu izni kullanamayacaktır.
WTA GÜVENLİK MODELİ
WTA güvenlik
modelinde, güvenli olarak gateway’e giriş için onaylanmış
herhangi mevcut durum WTA servis desteği ile olabilir. WTA sunucusu
tarafından güvenli gateway’e giriş ancak güvenlik çözümlerince
zorlanabilir. WTA güvenliğini destekleme prosedürü, bir WAP geçidi
belki WTA kullanıcı kısmı ve WTA sunucusu arasındaki girişi
kontrol etmek isteyebilir. WAP geçidi doğrulayabilir. Eğer WTA
itme/çekme izni verilirse.
Şekil-12 WTA
güvenlik modeli.
DURUM MODELİ
WTA kullanıcı kısmı bir çeşit WAE kullanıcı
kısmının telefon yeteneği sağlayan eklentisidir. WTA kullanıcı
kısmı, WAE kullanıcı kısmı tarafından desteklenen çeşitli
kural ve metodları takip eder ve bundan sonra işlem WAE kullanıcı
kısmında olduğu gibi başlatılabilir. Sonuç olarak WTA, bir
veya daha fazla WSP oturumunu ayıran WTA portları üzerinden aynı
WML oturumu gibi kullanılır. Ayrıca WTA, WSP bağlantısız
oturum servislerini aynı bağlantılı servisler gibi kullanabilir.
WTA, WAE modeline daha fazla WTA kullanıcı kısmının özel yönetim
elemanlarını ekler ve destekler. Bunlara kısaca değinecek
olursak:
- Network olayları- Network olaylarını yöneten bir çatı
- Çağrı durum yönetimi- Arama ve WTA servis içeriği arasındaki
çiftler.
- İçerik yığını- Kullanıcı taraflı bilgi yığınına
giriş ve kolay ulaşım sayesinde ağa giriş miktarını
azaltma.
OTURUM YÖNETİMİ
WTA, WSP oturumunu kullanır. Bu oturum WTA
oturumu olarakta adlandırılabilir. Bu bölümde WTA oturumu güvenli
bir WDP portu üzerinden bağlantılı ve bağlantısız WSP bağlantılarını
tanımlamak üzere kullanılacaktır. Bu bölümWTA kullanıcı ve
WAP geçit arasındaki WTA oturumunu anlatmaktadır. Bir WTA oturumu
WTA kullanıcı tarafından bir WTA sunucusuna bağlanabilmek için,
bir WAP geçit, yapılan bağlantıyı kolaylaştırma ve etkileşimi
arttırmak için kullanılır. WTA kullanıcı kısmı aynı anda
birden fazla WTA oturumu başlatabilir. Örneğin bir WTA oturumu
verilen bir servisi çalıştırmada kullanılırken diğer bir WTA
oturumu ise veri transferinde ,bilgi alış verişinde, kullanılabilir.
Bir WTA oturumu kullanıldığında oturumun çalışması sırasında
aşağıdaki prosedür işler:
- WTA oturumu başlatılır.
- WTA sunucusu ve WTA kullanıcı arasında bilgi alış verişi
yapılır.
- WTA oturumu bitirilir.
WSP bağlantısız servisleri kullanıldığı
zaman oturuma açık olarak başlanma ve bitirme yapılmaz. Bu bölüm
örneğin WTA kullanıcı kısmının ve WAP geçidin WSP genel yapısını
üstlenmeleri gibi yapıları kapsar.
WTA OTURUMUNUN BAŞLAMASI
Yeni bir
WTA oturumu, bağlantılı oturum servislerini kullanan WTA kullanıcı
kısmı tarafından kurulur ki kurulum sırasında WTA kullanıcı kısmı
yeni oturumu başlatmak için WSP tabakasına ihtiyaç duyar. Kullanıcı
kısmının karakteristik özellikleri daha önce WAE’de tanımlanmıştır.
Bir WTA oturumunun başlaması için aşağıdaki bilgilere ihtiyaç
duyulur:
- Taşıyıcıya ihtiyaç (önceden hazır bulunan ve öncelikli)
- WAP geçit adresleri (özel tanımlanmış MSISDN gibi)
- Geçit üzerindeki iyi bilinen port numaraları.
Ayrıca bu bilgiler WSP bağlantısız
oturumunda kullanılmak içinde ihtiyaç duyulur.
KULLANICI KISMI İÇERİĞİ
WML gibi
WTA’nın da tek yapıdaki yığınınada kullanıcı içeriği
denir. Bu içerik çeşitli kullanıcı kısmı durumlarını yönetmek
için kullanılır.
WTA İÇERİK DÖNÜŞÜMÜ
WTA
kullanıcı bölümü açıldığında yeni WTA içeriği yüklenir.
Daha sonra bu işlem tekrar tekrar yinelenir. Burada:
- Bütün durumlar WML yapısında tanımlanmıştır.
- Içerik yönetici, WTA içeriğinin kesileceğini yada
tekrarlanacağını belirtir.
- Bir WTA olayı meydana gelir ve o anki WTA içeriği yeni
bir görev için bağlantı kurmaz. WTA kullanıcı kısmı
olaylara tepki göstermek için tanımlanır.
- İçerik içindeki bir hata tespit edilir.
Eğer tesadüfen bir hata ile karşılaşılır
ise kullanıcı kısmı o anki WTA içerik işlemini bitirmelidir ve
kullanıcıya hatayı bildirmelidir. Kullanıcı bölümü, kullanıcı
hatayı Kabul edene kadar yada gerekli bölümden diğer servisler
bağlanana kadar herhangi yeni bir olayı yönetemez. Kullanıcı bölümü,
insane makina ara yüzünden herhangi bilgi girişini beklerken diğer
durumlar bekler.
DURUM
PARAMETRELERİ
Durum
parametreleri WTAI’de tanımlanan WTA durumlarınca taşınır. Örneğin
arayın id’si gelen çağrı yolu ile taşınır. Taşıma sırasında
aşağıdaki prensipler uygulanmalıdır.
- WTA içeriği en son yanıtlanan asıl durum parametre sınırlarını
alıkoyar. Bir durum sınırı tektir ve verilen WTA içeriğinde
birleştirme görevi ya da mevcut yığındaki birleştirilmiş
kanala sahiptir.
- Bir WTA durumunu yanıtlamak için, WTA kullanıcı kısmı
durum parametreleri aşağıdaki gibi yerleştirilmelidir:
- Eğer WTA durumu, o anki içerik içinde geçici sınırlı
bir göreve sahip ise kullanıcı kısmı tüm durum
parametrelerini temizlemelidir. Daha sonra WTA durumunda WTA
bu parametrelere yeni değerler atanmalıdır ki yeni görev
üstlenebilsin.
- Öte yandan eğer WTA olayı genel bir sınırlandırma ise
ve kullanıcı kısmı WTA olayına tepki göstermeye teşebbüs
eder ise kullanıcı kısmı tüm parametreleri temizlemelidir
ve yeni değerler yüklemelidir.
- Diğer taraftan kullanıcı kısmı durum parametrelerinin
statüsünde hiç bir değişiklik yapamaz. Bir kullanıcı kısmı
on durum parametresi ve 250 sembol için yeterince boşluğa
sahip olmalıdır.
SERVİS BİLDİRME
Servis
bildirme, son kullanıcıya bir WTA sunucusundan tazelenen yeni içeriği
bildirmek için WTA sunucusunu aktive etmek için kullanılır. Bir
servis belirtme mesaj uygulamaları ile ilgilidir. (voice mail,
e-mail gibi) fakat olaylar bir mobil ağda geçer.
ÇAĞRI DURUM YÖNETİMİ
WTA,
WTAI arayüzünü kullanan WTA servisinin içeriğine yerleştirilmiş
arama ile birleştirilmiş çağrı yönetemini destekleyen
parametreler içerir. WTA servis yöntemi iki çeşit çağrı yönetim
yolu ile yerleşmiş arama ve mevcut WTA içeriğini belirtebilir.
- DROP :
çağrının yerleştiği WTA içeriği ile çağrı
durumunu sıkıca birleştirir. WTA içerik durumu tarafından çağrı
düşmeden kesilir. Bu durumda kullanıcı kısmı çağrıyı
kesmelidir.
KEEP : çağrının
yerleştiği WTA içeriği ile çağrı durumu birleştirilmez. WTA
içerik durumu tarafından çağrı düşmeden kesilir. Bu durumda
kullanıcı kısmı çağrıyı kesmelidir.
Verilen WTA içeriğinin çağrı durumu sadece
ilerleme içindeki özel çağrı ile birleştirilir. Bu özel çağrı,
özel bir WTA içeriğine yerleştirilmiştir. Çağrı durum modu
tasarlanan çağrıyı sınırlar. Özel bir WTA içeriğinde
bulunan çağrı durumu herhangi diğer içeriklere yerleştirilmiş
çağrılarla yada diğer uygulamalar ile çarpışmamalıdır.
YIĞIN
Yığın
WTA içeriğini biriktirmek için kullanılır. Bu durum ilgili WTA
servisleri ile zamanında yönetimi sağlayan bir mekanizmayı
destekler ve aşağıdaki karakteristikleri taşır.
- Yığın kanallar ve kaynaklar içerir.
- Kaynaklar, WSP tarafından yüklenmiş datalar (WML deckleri
gibi), yığılmış meta-datalar ve URLlerdir.
- Bir kanal, hat içeren bir kaynaktır. Kanalların bir içeriği,
kimliği vardır.
- Yığındaki kanalların bir yenileme zamanı vardır. Bu
zamandan sonra kanallar atılır. Atılan kanallar otomatik
olarak kullanıcı kısmı tarafından silinir. Eğer bir kanal,
kaynakları referans olarak almaz ise kaynaklar ortadan kaldırılabilir.
- Eğer yığın atılmamış bir kanal içerir ise bu kanalın
tanımladığı bütün kaynakları yığın korumaya alır. Çağrılan
yada çağrılmayan kanallar tarafından yapılacak işlemler,
mevcut kanal, yığına kaydedilene kadar hiçbir işlem yapılmaz.
- Yığındaki kaynaklar birden fazla kanal tarafından referans
olarak alınabilir.
Aşağıdaki şekilde birden fazla kaynak ve
kanalın paylaşımı gösterilmiştir.
Şekil-13 Yığında
kaynak-kanal paylaşımı.
KANAL YÜKLEME
Kullanıcı kısmının isteğine göre
kanallar yığının içine itilebilirler yada yığından çekilebilirler.
Kanalların yüklenmesi aşağıdaki adımlara göre meydana gelir:
- Yenilenmiş olarak belirtilen ve yığılan kaynak, yığında
daima bulunduğu zaman
except
kanalı tarafından
belirtilmiş olan kaynak herzaman yüklenir.
- Eğer tüm kaynaklar başarı ile çağrılmış ise
sunucuya bir mesaj gönderilir. (URL yolu ile) “başarı”
URL’sinin istenildiği sunucuya ilgili kanal aktive edilerek
belirtilir. “başarı” URL’sine verilen yanıt, son
kullanıcıya yeni servis hakkında mesaj taşıyabilir.
- “başarı” URL’sine verilen bir başarılı kayıt yanıtı
ile kanal aktive edilir. (WTA kullanıcı bölümünce görülür.)
Kanal yığına atılır, benzer şekilde diğer kanallarda yığına
bu şekilde atılır. Tüm yeni kaynaklarda yığına atılır.
Tüm kaynaklara yeni özellikler, bir kanal tarafından
belirtmenin yapılması gibi yüklenir.
Öte yandan bu çağrı herhangibir neden ile kaybolur ise
kanal atılır. Eğer önceki bir kanal benzer özelliklere
sahip ise özellikleri değiştirilmeden atılmalıdır.
- Eğer bir kanal “hata” özelliğine sahip ise “hata”
URL’si istenmelidir. “hata” URL’si için istek
sunucuya kanalın kurulmasında hata oluştuğunu söyler. Eğer
yanıt mesajı hedefine ulaştırılmamış ise o zaman kullanıcı
kısmı kanalda “hata” URL’si yokmuş gibi işlemine
devam etmelidir.
- Eğer kanal bir “hata” URL’si içermiyor ise kullanıcı
kısmı, “kanal kurma hatası” gibi tanımlanmış bir
hatayı son kullanıcıya iletmelidir.
KANAL KURMA
Kullanıcı tarafından desteklenen kanal içerik
yapısı herhangibir anda bir kanala yüklenebilmelidir. Kullanıcı
için talep gelmediğinde yada geride bir yönetim işlemi yapıldığında
(servis çalıştırılmadan içerik temizleme yada içerik yükleme
gibi) kanal işlenmelidir. Uygun özel Network çeşidinin kullanılması
yolu ile standat transfer mekanizması kullanılarak kanallar yığına
çağrılabilir. Kanal yükleme metodu:
- Kanal, standar URL isteğine verilen yanıtın bir kısmı
gibi geri döner. (GET, POST metodları)
- Kanal cihaza ya doğrudan yada servis bildirme yolu ile
itilir.
KANAL KURMANIN TAMAMLANMASI
Tüm kaynaklar çağrıldığı zaman ve
kanal aktive edilmek için hazır ise o zaman “başarı”
URL’si sunucudan istenir. Servisin kullanıcıya yüklendiği
bilgisi hakkında sunucunun bilgilendirildiği yanıt yolu ile
kullanıcıya bildirilir. O zaman kullanıcı kanalı aktive eder. Eğer
kanal kurulması sırasında herhangi bir hata olur ise kurma işlemi
kesilmelidir. “hata” URL’sinin bildirdiği içerik daha sonra
yüklenmelidir. Eğer “hata” URL’si kanal içinde sunulmaz ya
da bunun için yapılan istek hataya uğrar ise kullanıcı cihazı
son kullanıcıya benimsenen bir hata mesajı ile ilan etmelidir.
Aşağıda tanımlanmış kodda kullanıcı bağlantı
yaptığında an sunucuda bulunan bu kodlar sayesinde karşılağılan
duruma göre belirtilen sayfalar cihaz ekranında gösterilir.
<?xml version="1.0" ?>
<!DOCTYPE channel PUBLIC
"-//WAPFORUM//DTD CHANNEL 1.0//EN"
"channel.dtd">
<channel
maxspace="2048"
base="http://wap.operator.com/"
EventId="wtaev-cc/ic"
success="basari.wml"
failure="hata.wml"
>
<title>Arama secimi</title>
<abstract>
Gelen cagrı servisi!
</abstract>
<resource href="hosgeldin.wml" />
<resource href="ilk.wml" />
<resource href="script.wmls" />
</channel>
KANAL KURMA ÖRNEĞİ
Şekil-15 ve 16 da
kanal kurmanın nasıl yapıldığı gösterilmektedir. Kurma olayı
noktadan noktaya belirtilmiştir. İlk şekilde başarılı bir
kanal kurma işlemi tanımlanmış, ikincisinde ise kanal kurmada
oluşan hataların oluşturduğu durumlar tanımlanmıştır.
Şekil-15 Başarılı
kanal kurulması.
Şekil-16 Yeni
kanal kurulmasında hata meydana gelmesi.
DURUM YÖNETİMİ
WTA
kullanıcı bölümü iki farklı metod ile WTA durumlarına yanıt
verebilir.
- Küresel Bağlama :
Yığın WTA durumu ve servis arasında
bir bağlantı kurabilir. Durum oluştuğunda ilgili servis başlatılır.
- Geçici Bağlama :
Önem verilen diğer durumlar, WTA içeriğinde
kullanılan bir servisi çalıştırmayı mümkün kılar ve bağlamayı
yapar.
Eğer WTA kullanıcı kısmı çalıştırılabilir
bir içeriğe sahip değil ise o zaman geçici bir bağlantıda içermez.
Bu yüzden bu durum WTA durumunun kayıt karşılaştırılması için
küresel bağlama, onaylama için yeterlidir. Eğer bir WTA
durumunun tesbit edilmesi üzerine bir servis, WTA kullanıcı kısmında
çalışıyor ise ve geçici bağlama içermiyor ise sınırlandırılmalıdır.
Eğer tanımlanmış bir oluşum, küresel bağlamanın tanımlandığı
yere ulaşırsa, fakat bağlama herhangibir karşılaştırma işlemi
içermiyorsa ; network oturumunun uygun olarak yönetildiği
standart insan makina arayüzü prosedürü sağlanmalıdır. (WTA
kullanıcı bölümünün pasivize edildiği gibi) Bu durum WTA içeriği
korunduğu ve geçici bağlama olmadığında oluşur.
Son
Güncelleme Tarihi: 03/11/2000 Cuma
Her Hakkı Saklıdır, Copyright © 2000.
Engin Efe |
|