For English
Click Here!

 

 

 
     
 
 
 
 
WAP

Cine5 & Teleon

WORD Formatında GPRS için buraya tıklayınız.

HTML formatında incelemek için GPRS linkini tıklayınız...

WORD Formatında GSM-KUVV. için buraya tıklayınız.

HTML formatında incelemek için GSM linkini tıklayınız...

 

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.

Hipertekst İş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:

  • WAE kullanıcı kısmı:

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.)

  • İçerik Sağlayıcılar:

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

     Kişisel Bilgiler |       Projeler      |     Elektronik     |     Medya     |    Fotoğraflarım      |      Linkler