Mobil Stok Takibi Programı - KTÜ Bilgisayar Mühendisliği

Transkript

Mobil Stok Takibi Programı - KTÜ Bilgisayar Mühendisliği
Karadeniz Teknik Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Mobil Stok Takibi Programı
Bitirme Tezi
Gürsel ÖZLÜ
Trabzon 2007
Karadeniz Teknik Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Mobil Stok Takibi Programı
Bitirme Tezi
Gürsel ÖZLÜ
Tezin Bölüme Verildiği Tarih : 01.06.2007
Tezin Savunma Tarihi
: 25.06.2007
Tez Danışmanı : Öğr.Gör. Ömer ÇAKIR
Jüri Üyesi
: Prof.Dr. Vasıf V. NABİYEV
Jüri Üyesi
: Yrd.Doç.Dr. Hüseyin PEHLİVAN
Jüri Üyesi
: Yrd.Doç.Dr. Tuğrul ÇAVDAR
Bölüm Başkanı
: Prof.Dr. Rıfat YAZICI
İÇİNDEKİLER
Önsöz..........................................................................................................................................1
BİRİNCİ BÖLÜM
1.MOBİL TEKNOLOJİLER HAKKINDA
1.1.PDA nın tarihçesi.............................................................................................................2
1.2.Türkiye ve dünyada mobil sektörü...................................................................................3
2.GÜNÜMÜZDE YAYGIN OLARAK KULLANILAN MOBİL CİHAZLAR
2.1.Dizüstü bilgisayarlar(Notebook)......................................................................................4
2.2.Türkiye ve dünyada mobil sektörü..................................................................................4
2.1.Dizüstü bilgisayarlar(Notebook)......................................................................................4
2.2.Tablet bilgisayarlar(Tablet PC).......................................................................................5
2.3.Avuçiçi bilgisayarlar(Pocket PC)....................................................................................5
2.4.Akıllı telefonlar................................................................................................................5
2.5.Taşınabilir Medya Oynatıcılar (Portable Media Center).................................................6
3.MOBİL TELEFON NESİLLERİ...........................................................................................6
4.MOBİL CİHAZLARLA İNTERNETE ERİŞİM OLANAĞI
4.1. GPRS (General Packet Radio Service) İletişim Teknolojisi...........................................7
4.2.Wireless (Wi-Fi) İletişim Teknolojisi..............................................................................8
4.3.Bluetooth İletişim Teknolojisi.........................................................................................9
4.4.Kızılötesi İletişim Teknolojisi........................................................................................10
5.MOBİL İŞLETİM SİSTEMLERİ
5.1.Gömülü işletim sistemleri..............................................................................................12
5.2.Windows Mobile...........................................................................................................12
5.3.Symbian.........................................................................................................................12
İKİNCİ BÖLÜM
1.VISUAL STUDIO 2005 ORTAMI VE C# HAKKINDA
1.1.Visual Studio.NET........................................................................................................12
1.2. .NET’in prensi C#........................................................................................................14
2..NET COMPACT FRAMEWORK......................................................................................17
3.WINDOWS MOBILE 5.0
3.1.Windows Mobile'in genel özellikleri............................................................................19
3.2.Windows Mobile sürümleri..........................................................................................20
І
4.VISUAL STUDIO 2005 MOBİL CİHAZ EMULATÖRLERİ
4.1.Pocket PC Emülatör.......................................................................................................21
4.2.Smarthpone Emülatör....................................................................................................21
4.3.Windows CE Emulator..................................................................................................22
4.4.Emülatör Ayarları..........................................................................................................23
5.VERİ ERİŞİMİ
6.XML WEB SERVİSLERİ
6.1.XML nedir?...................................................................................................................24
6.2.XML Web Servisleri Tarihçesi.....................................................................................25
6.3.XML Web servisleri standartları..................................................................................26
6.4.Basit bir web servis oluşturma......................................................................................27
7.WEB SERVİSLERİNDE GÜVENLİK
7.1.Virtual Private Networks(özel sanal ağ).......................................................................31
7.2.SOAP Header ları kullanarak güvenliği sağlamak.......................................................31
7.3.Secure Sockets Layer(SSL)..........................................................................................31
7.4.Network Authentication(belgeleme).............................................................................32
8.MS SQL SERVER
8.1.Mimarisi........................................................................................................................32
8.2.Database oluşturma.......................................................................................................33
9.SQL SERVER MANAGEMENT STUDIO......................................................................35
ÜÇÜNCÜ BÖLÜM
1.TASARIM GERÇEKLEME
1.1.Proje Hakkında.............................................................................................................36
1.2.Veri Tablolarının Oluşturulması..................................................................................37
1.3.Web servisin oluşturulması ve yayınlanması...............................................................38
1.4.XML dosyası içeriği.....................................................................................................40
1.5. SOAP Header ları kullanarak güvenliğin sağlanması.................................................42
2.TEST.....................................................................................................................................45
3.SONUÇ................................................................................................................................46
4.KAYNAKÇA.......................................................................................................................47
И
ÖNSÖZ
Mobil cihazlar günümüzün vazgeçilmezleri arasında yerini almayı başardı. Bir kaç yıl
öncesine bakıp mobil cihazlardaki gelişimi seyrettiğimizde çok önemli adımların atıldığını
görmekteyiz.Toplum içerisinde bu cihazların yaygınlaşmasındaki en önemli etkenler olarak,
boyutlarının ve fiyatlarının düşmesinin yanında fonksiyonlarının artması gösterilebilir.
Mobil cihazlar taşınabilir oldukları için birçok kolaylığı beraberinde getirmiştir.Öncelikle
dizüstü bilgisayarlar hayatımıza girdi, bunlar hayatımızı bir nebze olsun kolaylaştırmayı
başardı ancak yinede boyutları dezavantaj olarak karşımıza çıkmaktaydı . Ardından avuçiçi
bilgisayar dediğimiz PDA’lar hayatımıza girdi. Boyutlarının ufak olması ve de bir dizüstü
bilgisayarının fonksiyonlarına sahip olmasıyla bir anda dikkatleri üzerine çekti.
Yakın zaman içerisinde 3G neslinin hayata geçmesi ve buna paralel olarak 3G destekli
mobil cihazların üretilmesi sonucu, özellikle genç nüfusun çoğunlukta olduğu ülkemizde, bu
tür cihazların kullanımının daha da artmasını bekleyebiliriz. Bu bağlamda önümüzdeki
yıllarda mobil alanında söz sahibi olabilmek ve deneyimli eleman ihtiyacını karşılamak için
lisans tezimi bu konu üzerine yaptım. Projede, PDA(Kişisel dijital asistan) üzerinden web
servisleri aracılığıyla stok ve sipariş takip programı geliştirdim.
Çalışmam boyunca desteğini esirgemeyen Öğr.Görevlisi Ömer ÇAKIR’a, bilgi ve
tecrübelerinden yararlandığım tüm hocalarıma ve arkadaşlarıma teşekkürü bir borç bilirim.
Güzel yarınlara ilk adımı atmanın sevinciyle...
Trabzon 2007
Gürsel ÖZLÜ
1
BİRİNCİ BÖLÜM
1.MOBİL TEKNOLOJİLER HAKKINDA
Günümüzde yaygın olarak kullanılan ayrıca önümüzdeki yıllarda önemli bir konuma gelmesi
beklenen mobil cihazlar hayatımızın vazgeçilmezlerinden olmuştur.Mobil cihazlarla
evde,işte,okulda,tatilde... internete girebilmenin keyfini yaşayabilirsiniz.Elbette tüm bunları
zaten yapabiliyordunuz ama mobil cihazlar bunu bir adım daha öteye taşıyarak hareket
halindeyken internete erişimi hayal olmaktan çıkarmışlardır.
Bu sayede otobüste,trende,vapurda,uçakta...internete girebilirsiniz.Bu cihazlarla neler
yapılabileceğine bakalım.
• Otel,uçak rezervasyonları yaptırıp sinema bileti satın alabilirsiniz.
• Bankacılık işlemlerinizi yapabilirsiniz.
• Sahip olduğunuz şirketin stoklarını takip edebilir,gerekli düzenlemeleri yapabilirsiniz.
• Gerekli altyapının sağlanması sonucu hareket halindeyken evdeki elektronik
cihazlarınızı kontrol edebilirsiniz.
1.1.PDA nın tarihçesi
PDA kelimesi ile kez Apple şirketi tarafından üretilen Newton MessagePad cihazı için
kullanılmıştır, ancak Newton'dan önce de PDA özelliklerine sahip olduğu söylenebilecek
cihazlar bulunmaktaydı (Psion ve Sharp Wizard). PDA'ların yaygınlaşması Palm tarafından
1996'da üretilen PalmPilot la birlikte başladı. Palm'in ilk modeli, kısa sürede PDA pazarının
en popüler ürünü haline geldi.
Cep bilgisayarlarının ilk örneklerinde; renksiz ekran, sınırlı işlem gücü ve düşük enerji
tüketimleri sayesinde uzun pil ömrü özellikleri öne çıkar. Bu tür cihaz üretiminin
öncülerinden Japon şirketi Casio’yu daha sonra birçok üretici takip etmiştir.
İşletim sistemi basit ve alete özeldir. Genelde telefon defteri, adres defteri olarak ya da hesap
makinesi olarak kullanılır. Casio FX-880P, PB-1000 ve PB-2000C gibi BASIC, Prolog,
CASL, Assembler ve C dillerinde programlanabilir örnekleri de üretilmiştir. PB-2000C farklı
ROM modülleri takılarak programlama dilinin değiştirilebildiği tek Casio ürünü olmuştur.
2
PB-2000C sonrasında üretilen FX-890 modelinde tüm diller ROM'un içinde hazır halde
bulunmaktadır. PB-1000 ve PB-2000C modellerinde hafızadaki programlar, diğer ürünlerden
farklı olarak bir dosya sistemi içinde saklanırlar. Böylelikle programların içinden dosya
üretmek, ekran görüntülerini hafızada saklamak ve hafızadan geri okumak mümkün olmuştur.
Bu özellikleri ile Casio zamanının ötesinde ürünler ortaya çıkarmıştır.
Palm ve türevleri
Monokromik ile başlayan renkli ekranlar, artan işlem gücü, görece uzun pil suresi ile
karakterize edilir. Pocket PC'lerin piyasaya girmesi ile rakebet sonucu ekran renklenmiş,
işlem gücü artmıştır. Doğal olarakta pil ömru azalmıştır. PalmOS denilen özel bir işletim
sistemi kullanmaktadır. Palm'dan sonra birçok firma da bu tarz cep bilgisayarı üretimine
yeltenmiş ama başarılı olamamıştır. En son Sony bu tür cihazların üretimini durdurduğunu
duyurmuştur
Pocket PC
Genelde renkli ekran, yüksek işlem gücü ve düşük pil ömrü ile karakterize edilir. Microsoft'un
PocketPC işletim sisteminin desteği ile piyasada yer bulmuştur. Renkli ekran ve güclü
işlemci, multimedya işlemlerine (video gösterme ve müzik çalma) olanak verdiğinden yoğun
ilgiyle karşılanmıştır. Ancak Palm'lara göre kullanımı daha karışıktır ve işletim sistemi sık
değiştirilmiştir. Programların gerek işletim iştemleri arası uyumsuzluk ve gerekse işlemci
versiyonları yüzünden sayısı çok daha kısıtlıdır.
1.2.Türkiye ve dünyada mobil sektörü:Hollanda’nın Amsterdam kentinde düzenlenen
Nokia World konferansında mobil iletişim dünyasının geleceği tartışılıyor. Konferans’ın açılış
konuşmasını yapan Nokia CEO’su Olli-Pekka Kallasvuo, cep telefonu pazarının beklenenden
daha hızlı büyüyerek, 2007 yılında 3 milyar abone eşiğini aşacağını açıkladı. Dünya pazarında
yüzde 40 civarında bir pazar payıyla lider konuma sahip Nokia tarafından yapılan
araştırmalar, abone sayısının 2010 yılında 1 milyar kişi daha artarak 4 milyara çıkacağını
gösteriyor.
1 milyar kullanıcı sınırını 2002, 2 milyar kullanıcı sayısını da 2005 yılında gören cep telefonu
pazarı, Hindistan ve Çin pazarlarının hızla büyümesiyle 3 milyar kullanıcı sayısına tahmin
edilenden 1 yıl önce ulaşacak. Türkiye’de ise mobil telefon kullanıcılarının sayısı 40 milyon
rakamına ulaşmış durumda ve penetrasyon yüzde 65 civarında.
3
Halen mevcut telefon satışlarının yüzde 65 gibi yüksek bir oranını yenileme satışları
oluştururken, 3. nesil ağların yayılması ve multimedya telefonlarının sayısının artmasıyla
yenileme satışlarının 2010 yılında yüzde 80’lere çıkması bekleniyor. (kaynak:ntvmsnbc)
Dünyanın her yerinde kabul gören GSM mobil telefon teknolojisi sadece 30 ay gibi kısa bir
sürede 1 milyar kullanıcıyı daha ekledi. GSM Birliği’nin Haziran 2006’da yaptığı açıklamaya
göre dünyadaki GSM cep telefonu kullanıcı sayısı 2 milyarı aştı.GSM Birliği Başkanı Craig
Ehrlich, GSM teknolojisinin şimdiye kadar görülmüş en hızlı büyümeye sahip olduğunu
belirti. Ehrlich, “Sadece 12 yılda endüstri 1 milyar kullanıcıya ulaştı. 2,5 yıl içinde ise 2
milyar kullanıcıya ulaştı. Çin, Hindistan, Afrika ve Latin Amerika gibi gelişmekte olan
ülkelerde olağanüstü bir şekilde kullanıcı sayısı arttı ve bu 2 milyarın yüzde 82’sini
oluşturuyor” dedi. GSM teknolojisi tabanlı mobil servisler ilk kez Finlandiya’da 1991 yılında
tanıtıldı. Bugün 690’dan fazla mobil şebeke 213 ülkede GSM servisi sağlıyor. GSM tüm
global mobil iletişimin yüzde 82.4’ünü kapsıyor.Çin bugün tüm dünyada 370 milyon
kullanıcısı ile GSM pazarının en büyüğü. Çin’i 145 milyon kullanıcı ile Rusya, 83 milyon
kullanıcı ile Hindistan ve 78 milyon kullanıcı ile Amerika takip ediyor. Türkiye’de ise cep
telefonu kullanıcı sayısı 42 milyon rakamını aşmış durumda.(kaynak: GSM birliği)
Telefon sayısının çok, kullanıcı sayısının az olduğu, dünya standartlarının gerisinde kalan
Türkiye'de mobil sektörü 2007 için yüzde 35 büyüme hedefliyor.(kaynak: Mobil İletişim
Sistemleri ve Araçları İşadamları Derneği (MOBİSAD))
2.GÜNÜMÜZDE YAYGIN OLARAK KULLANILAN MOBİL CİHAZLAR
2.1.Dizüstü bilgisayarlar(Notebook)
Dizüstü bilgisayarlar donanım ve yazılım olarak PC’nin sahip olduğu
bütün öğelere sahip olabilir.Enerji kaynağı olarak şarj edilebilir pil bataryaları kullanırlar.
Genel olarak 2–4 saat arası enerji desteği sağlarlar.
4
2.2.Tablet bilgisayarlar(Tablet PC)
Tablet PC’ler, dizüstü bilgisayarlarla benzerliği dışında ek olarak el
yazısınotlarını dosyalara dönüştürerek istenildiği zaman erişilmesini sağlar.
2.3.Avuçiçi bilgisayarlar(Pocket PC)
Telefonu kullanabilir, cep bilgisayarları için tasarlanmış Word, Excel
vb.birçok programda işlemlerinizi gerçekleştirebilirsiniz. Ayrıca senkronizasyon yazılımı ile
telefonlu cep bilgisayarındaki e-posta, takvim, görev ve benzeri dosyalar bilgisayarınızdaki
dosyalarla eşleştirilerek, her iki cihazda da güncel olmaları sağlanır.
Microsoft Windows Mobile Edition ya da Palm OS işletim sistemini kullanan bu makineler
64 MB bellek, bellek kartlarıyla 8 GB’ ye kadar ek belleğe sahip olabilirler. 6–7 saate kadar
sürekli çalışma olanağı bulunmaktadır. GPRS,wireless, bluetooth ve kızılötesi iletişim
teknolojilerine sahiptirler.
2.4.Akıllı telefonlar
Genelde Microsoft Windows Mobile Edition/Symbian OS işletim
sistemini kullanan akıllı telefonlar en az 16 MB belleğe sahip olmalarına rağmen harici bellek
kartlarıyla 8 GB ek belleğe sahip olabilirler. WAP, GPRS gibi çevrimiçi erişim olanağına
sahiptir.
5
2.5.Taşınabilir Medya Oynatıcılar (Portable Media Center)
Microsoft Windows Media Center Edition, Mac iPod işletim sistemi
kullanan bu makineler bazı programlar aracılığı ile (Örneğin: Media Jukebox) wav dosyalarını
mp3 formatına, mp3 formatındaki dosyaları da wav formatına dönüştürülebilme özelliğine
sahiptirler. Bu sayede taşınabilir medya oynatıcıları ile e-Televizyon ve e-SesliKitap dosyaları
aygıta aktarılarak, herhangi bir ortamda seyredilebilir/dinlenebilir. Taşınabilir medya
oynatıcılar çevrimiçi erişim imkanı tanımadığı için diğer e-öğrenme hizmetlerinden
yararlanılmamaktadır.
3.MOBİL TELEFON NESİLLERİ
Mobil telefonlar sahip oldukları teknolojilere göre nesillere ayrılabilir.Bu nesiller ve
kullandıkları teknolojiler şunlardır.
• 1.Nesil: Mobil telefon ağlarının ilk sürümüne verilen addır. Bu sistem analog devre
anahtarlamalı (circuit-switched) teknolojisini FDMA(Frequency Division Multiple
Accsess) ile birlikte kullanır ve en çok 800-900 Mhz frekans bandında çalışır.
• 2.Nesil: Bu teknoloji sayısal teknolojiyi kullanan ilk mobil teknolojidir. 1 nesilde çok
sayıda
telefon görüşmesinde çıkabilecek karışıklar bu
2. nesil
teknolojilerine
geçmeyi uygun kılmıştır.2. nesil teknolojileri 1g. Nesil teknolojilerine göre metin
olarak mesaj yollama ve arayanın bilinebilmesi gibi üstünlükleri vardır.
• 2.5 . Nesil: 2.nesil ile 3. nesil arasında bir geçiş teknolojisi olarak bilinir.2. nesil den
farkı internet erişimi, paket-anahtarlamalı(packet-switched) bağlantı(GPRS) ve daha
gelişmiş veri oranı(HSCSD ve EDGE)dır. 2G deki bu gelişmeler 64-144kbps’lık bir
veri hızını destekler ve buda web-tarayıcı, harita tarama, sesli mesaj,faks ve büyük
miktarda veri yollama ve almaya olanak sağlar.
• 3.Nesil: 2.5 nesile göre çok daha fazla veri transfer hızına olanak sağlar. Ses sayısal
olarak yollanır. paket-anahtarlama yapısı kullanılır.144kbps dan fazla veri transfer
hızına olanak sağlar.Bu teknoloji TV seyretmeye , eğlence video konferansa olanak
sağlar.
6
• 4.Nesil:3G nin bazı kısıtlamalarından dolayı 4G türü mobil teknolojiler geliştirilmeye
çalışılıyor. Bu sistem çok daha güvenli.Günümüzde şirketler 4G iletişim sistemini
geliştirmeye başladı. Bu teknoloji 200Mbps a kadar veri transferine olanak sağlar. Bu
da çok daha rahat bir şekilde TV yayınına olanak sağlayacaktır.
4.MOBİL CİHAZLARLA İNTERNETE ERİŞİM OLANAĞI
Mobil aygıtların tek başına ya da diğer aygıtlarla birlikte kullanılarak çevrimiçi iletişim
olanağına kavuşmaları amacıyla GPRS, Wireless (Wi-Fi), Bluetooth ve Kızılötesi olmak
üzere dört farklı iletişim ya da bağlantı teknolojisi kullanılmaktadır.
Bu iletişim özellikleri mobil aygıtların bir bölümünde hazır olarak gelmektedir. Bu iletişim
özelliklerine sahip olmayan mobil aygıtlara USB, Compact Flash Card ya da PC Card
(PCMCIA) aktarım teknolojilerinden birisi kullanılarak iletişim yeteneği kazandırılmaktadır.
4.1. GPRS (General Packet Radio Service) İletişim Teknolojisi
GPRS, GSM şebekesi üzerinden paket veri iletimi sağlayan bir teknolojidir. Bu teknoloji
sayesinde aboneler GSM uyumlu telefonları ile e-posta, faks servislerine ulaşacak,
rezervasyon, sanal alışveriş, finansal hizmetler, mobil bankacılık, kurumsal çözümler, lojistik
hizmetler, filo yönetimi, teknik servis otomasyonu, v.b. işlemleri daha hızlı yapılabilecektir.
Normal şartlarda GPRS teknolojisi ile 171.2 kilobit/saniye hızla internet bağlantısı
sağlayabilirsiniz. Fakat bu hız GSM operatörlerinin alt yapısına ve doğa koşullarına bağlı
olarak değişkenlik göstermektedir. Şu anda GPRS ile 56 K hızına ulaşabilmeniz mümkündür.
GPRS'te kullanılan teknolojinin özelliğinden dolayı sabit bir iletişim hızından bahsedilemez.
GPRS için de aynen internette olduğu gibi bir ortalama iletişim hızından bahsetmek daha
doğrudur. GPRS iletişim hızı internette veya WAP’ ta ulaşılmaya çalışılan sitenin hızına bağlı
olarak da değişim göstermektedir.
GPRS özelliği bulunmayan bir mobil aygıta USB, Compact Flash Card ya da PCMCIA Card
biçiminde GPRS modemi takılarak GPRS özelliği kazandırılabilir.
7
4.2.Wireless (Wi-Fi) İletişim Teknolojisi
Wi-Fi (Wireless Fidelity kelimelerinin ilk iki harfinin kullanılarak ortaya çıkartılmış bir
kısaltma) olarak bilinen 802.11 standardı, IEEE (Institute of Electrical and Electronic
Engineers) tarafından kablosuz yerel ağlar için geliştirilmiş bir radyo transmisyon
standardıdır.
Wi-Fi, Bluetooth teknolojisi gibi 2.4GHz’ lik spektrumda çalışır. 100 metre yarıçap
menzilindeki tüm Wi-Fi uyumlu cihazlarla 11Mbps - 54Mbps gibi yüksek hızlarda veri
alışverişi gerçekleştirmektedir. Böylece Wi-Fi kullanılan evlerde, ofislerde ve mekânlarda
kablo karmaşasından kurtulup, kullanıcılara özgürce hareket imkânı verilmektedir.
Wi-Fi IEEE 802.11g, 802.11b ya da 802.11a diye bilinen telsiz teknolojilerini kullanıyor. Bu
frekansları kullanmak için herhangi bir lisans alınması gerekmiyor. Özellikle bazı cihazlar her
iki standardı da destekliyor. Aşağıdaki tabloda Wi-fi standartları ile ilgili bilgiler verilmiştir.
802.11x Teknolojilerini Karşılaştırma Tablosu:
8
Wi-Fi (802.11b) aşağıdaki kullanımlar için daha uygundur:
• Yüksek bant genişliği (>2MB) gerektiren LAN uygulamaları
• Daha geniş kapsama alanı gerektiren uygulamalar
• Güvenilirlik gerektiren uygulamalar
• Mevcut donanımdan faydalanmak
• Dosya eklemeli e-mail alma-gönderme
• Web Tarama
• Dosya Paylaşım
Kapsama alanı açısından bakıldığında Wi-Fi sınırlı bir standarttır. Bütün üretici firmalar
ürünlerinin teorik olarak 150 metreyi desteklediğini söylemektedirler. Ancak bu sadece
ortamda herhangi bir engelleme söz konusu olmadığında gerçekleşir. Dahası, maksimum
uzaklıkta veri transfer hızı 1 Mbit/s'lere düşer. Aslında Wi-Fi bu tür uzaklıklara ulaşmak ve
veri akışında sorunları engellemek için veri transfer hızını otomatik olarak dört ayrı seviyeye
dönüştürebilir.
Kapsama Alanı (m) Veri Transfer Hızı
150
1 Mbit/s
100
5.5 Mbit/s
80
8 Mbit/s
50
11 Mbit/s
Wireless özelliği olmayan bir mobil aygıta USB, Compact Flash Card ya da PC Card
biçiminde wireless adaptör takılarak wireless özelliği kazandırılabilir.
4.3.Bluetooth İletişim Teknolojisi
Bluetooth kablo bağlantısını ortada kaldıran, ses ve veri haberleşmesini sağlamak için
oluşturulmuş ve standart çalışmaları hala devam eden kısa mesafe Radyo Frekansı(RF)
teknolojisinin adıdır. Bluetooth bilgisayar, çevre birimleri ve diğer cihazların birbirleri ile
kablo bağlantısı olmadan görüş doğrultusu dışında bile olsalar haberleşmelerine olanak sağlar.
Bluetooth teknolojisi 2.4 GHz frekans bandında çalışmakta olup, ses ve veri iletimi
yapabilmektedir. 721 Kbps' a kadar veri aktarabilen bluetooth destekli cihazların etkin olduğu
mesafe yaklaşık 10 metredir.
9
Bluetooth telsiz teknolojisi cihazlar arasında senkronizasyon sağlamak ve veri aktarmak
amacı ile kullanılabilir. Bluetooth teknolojisi GSM telefonlarını kullanarak masaüstü ve
mobile cihazlarınızı şirket ağlarına veya internete bağlayabilir, dosya alışverişi yapmasına
olanak sağlar.
Bluetooth küresel bir çözümdür. Dünyadaki tüm ülkelerin %95'i Bluetooth 2.4 GHz geniş
spektrum bandını desteklemektedir. Bluetooth ile hemen hemen dünyadaki her yerden cep
telefonunuz ve taşınabilir bilgisayarınız ile kuracağınız bir telsiz bağlantı yardımı ile internete
ulaşabilirsiniz.
Bluetooth özelliği olmayan bir mobil aygıta USB, Compact Flash Card ya da PCMCIA Card
biçiminde bluetooth adaptör (bluetooth hub) takılarak bluetooth özelliği kazandırılabilir.
4.4.Kızılötesi İletişim Teknolojisi
Kızılötesi, eş düzeyde ağ oluşturmaya yönelik başka bir yöntem olması açısından Bluetooth'a
benzer. Bu yöntemde veriler kısa uzaklıklardaki cihazlar arasında radyo dalgalarıyla iletilir.
(Verilerin kızılötesi ile gönderilebildiği kapsama alanı Bluetooth'dan kısadır.) Örneğin bir iş
arkadaşınızla dizüstü bilgisayarlarınızı yaklaştırıp her ikisinin kızılötesi bağlantı noktasını
kullanarak veri alışverişi yapar ve arkadaşınıza bir metin belgesi gönderebilirsiniz. Uyumlu
bir telefonu, uyumlu bir PC’ye bağlamak için kızılötesi bağlantısını kullanabilirsiniz.
Windows 2000 ve Windows XP işletim sistemlerinde kızılötesi bağlantıya Kablosuz Bağlantı
adı verilir.Bağlantı, kızılötesi bağlantıyla sağlandığında, iki cihazın arasında engel
bulunmaması gerekir. İki cihazın kızılötesi bağlantı noktaları karşılıklı olmalıdır. İki cihaz
arasındaki tercih edilen uzaklık en çok bir metre olmalıdır. Kızılötesi bağlantıyı Windows
2000 ve Windows XP işletim sistemlerinde kullanabilmek için öncelikle Kablosuz bağlantı
yazılımında Görüntülü Aktarım uygulamasını devre dışı bırakmanız gerekir.
Kızılötesi özelliğine sahip olmayan bir mobil aygıta USB bağlantılı bir kızılötesi adaptör
takılarak kızılötesi özelliği kazandırılabilir
10
Özetle
mobil
cihazdan
internete
erişmek
için
aşağıdaki
akış
şemasını
gösterebiliriz.
11
5.MOBİL İŞLETİM SİSTEMLERİ
5.1.Gömülü işletim sistemleri
Mobil cihaz üreticisinin özel olarak geliştirmiş olduğu işletim sistemidir.Üretici firma
tarafından geliştirilen araçlarla yazılımlar yüklenebilir.
5.2.Windows Mobile
Microsoft tarafından mobil cihazlar için geliştirilmiş işletim sistemidir.
5.3.Symbian
Symbian şirketi tarafından mobil cihazlar için geliştirilmiş işletim sistemidir.Günümüzde
symbianOS adıyla bilinmektedir.
İKİNCİ BÖLÜM
1.VISUAL STUDIO 2005 ORTAMI VE C# HAKKINDA
1.1.Visual Studio.NET
Visual Studio.NET, Visual Basic.NET, C++, C# dilleri ile görsel olarak program
geliştirebileceğiniz programlama arabirimidir.
Sürümleri:
• Visual Studio.NET Proffessional.
• Visual Studio.NET Enterprise Architect.
• Visual Studio.NET Enterprise Developer.
Visual Studio.NET Proffessional sürümü ile profesyonel bir programcının bütün
gereksinimlerini karşılayan Visual Studio.NET, Visual Studio.NET Enterprise Developer
sürümüyle bir grup programcının birlikte kod yazmasını sağlar.
Visual Studio.NET Enterprise Architect(VSEA) sürümü ise Visual Studio.NET Developer ın
bütün özelliklerine sahiptir.Buna ek olarak tasarım ve uygulama mimarisi geliştirmek için
(UML tasarımı gibi) yetenekleri vardır.
12
IDE; NET çatısının en önemli bileşenlerinden biridir.IDE(Integrated Development
Environment-Bütünleşik Geliştirme Ortamı),uygulama geliştirme için kullanılan bütünleşik
görsel ortamı belirtir.Visual Studio.NET IDE içinde etkin uygulama geliştirme çalışmaları
yapmak için çok sayıda gelişmiş özellik vardır.Kısaca bunlara değinelim.
Properties Penceresi:Formun üzerinde herhangi bir kontrolü seçmeniz durumunda
aktifleşir.İstediğiniz özelliğe istediğiniz değeri atayabilirsiniz.
Kontrollere ait event ‘lara ulaşmak:Kod yazacağınız Events larada yine properties
penceresinden ulaşabilirsiniz.Fakat bu pencerede Events yazan Button un tıklanmış olması
gerekir.
ToolBox Penceresi:Formunuzun üzerine sürükleyip bırakabileceğiniz kontroller bu
pencerede bulunur.ToolBox penceresinde istediğiniz kontrolü Mouse ile sürükleyerek
formunuzun üzerine bırakabilirsiniz.
Solution
Explorer
Penceresi:Projenizin
kullandığı
tüm
dosyalar
(sınıflar,resim
dosyaları,Xml dosyaları vs…) ile kaynak kodların yer aldığı diğer dosyalar bu pencereden
kolayca takip edilir.
Project->Add New Item veya Project->Add Existing Item menü seçeneklerini
kullanarak uygulamanıza bir çok kaynak dosya ekleyebilirsiniz.
Server Explorer Penceresi:Uygulamanızdan elde edeceğiniz verileri herhangi bir
veritabanına kaydetmek isterseniz (veya daha önceden bir veri tabanına kayıt işlemi
gerçekleştirdiyseniz) bu pencereden faydalanabilirisiniz
Error List Penceresi:Programınızı çalıştırdığınız anda oluşan hataları gösteren çok yararlı
bir penceredir.Burada oluşan hatalar program tarafından size izah edilir.sizde ona göre gerekli
olan kodları ekleyebilirsiniz.
Visual Studio.NET Uygulama Türleri
• Windows Application(Windows uygulamaları).
• ASP.NET(Web uygulama)
• Web servisi
• Mobil uygulama ve dağıtık uygulamalar.
13
Aşağıda Visual Studio 2005 platform arayüzü görülmektedir.
1.2. .NET’in prensi C#
C#, modern, nesne yönelimli, tip güvenliğine büyük önem veren, temel hesaplama ve
haberleşme gibi geniş bir yelpazedeki uygulamaları geliştirmek için .NET platformu için
tasarlanmış yeni bir dildir.
Intermediate Language(Ara dil)
C# kaynak kodu MSIL(IL) koduna çevirir. IL dili .NET uyumlu bütün dillerde yazılmış olan
programların ortak olarak derlendiği dildir.IL kodu derlenerek makina koduna çevrilir.
Interoperability (Diller arası uyumluluk)
C# diller arasındaki uyumluluğuda sağlar. Yani dil bağımsızlığı.C# ile yazılan bir kod
diğer .NET uyumlu diller tarafından tekrar kullanılabiliyor.Örneğin ;bir dilde yazılan sınıf,
diğer .NET uyumlu diller ile rahatlıkla kullanılabilir.
14
Bellek Yönetimi
JAVA otomatik bellek yönetimi sağlamaktadır.(daha teknik bir deyimle gereksiz bilgi
toplama mekanizması denir. ) Bu özellik programcılar
tarafından takdirle karşılanmıştır.
Fakat eski C/C++ programcıları JAVA diline geçmeye çalışınca bu özellik onları rahatsız
ediyordu. Bu tür programcıların problemlerini de göz ardı etmeden, C# otomatik bellek
yönetiminin yanında programcının belleği kendisininde yönetmesini sağlayan sistem
sunmuştur. C#' ta hala pointer kullanabiliyoruz.
Harici Kodlara Referans
C# ta using anahtar kelimesi kullanılmaktadır.
Veri Tipleri
Bir dilin gücü, dilin desteklediği farklı veri türleri tarafından belirlenir. Veri tipleri
programcılara güçlülüğü ve esnekliği sağlayan varlıklardır. C#,bütün veri tiplerini
sağlamıştır,bunun yanısıra bazı türler de eklenmiştir, örneğin bazı işaretsiz(unsigned). Ayrıca
C# ta kayan noktalı(floating point) bir veri türü olan 12 byte'lık decimal türü de mevcuttur.
Alan Düzenleyicileri (Field Modifiers)
Değiştirilemeyen ya da sabit bir değişken tanımlamak için read only ve const belirleyicileri
kullanılır.Const olan alan düzenleyiciler, ilgili değerin IL kodunun bir parçası olduğu ve
sadece çalışma zamanında hesaplanacağı anlamına gelir.
Kontrol Mekanizması Oluşturma
if-else, switch, while, do-while, for, break, contine deyimleri bulunmaktadır. Fakat C# ta yeni
bir kontrol daha vardır. C# taki bu yeni yapı koleksiyonlar arasında dolaşmak için gerekli olan
for each yapısıdır.
int slist(Arraylist alist)
……….
foreach (int j in alist)
{
………….
}
15
Yukarıdaki yapıda j döngü değişkeni olarak adlandırılır. Bu döngü değişkenine her terasyonda
alist dizisinin int türden olan elemanı atanır.
Arayüz ve Sınıf Bildirimi
Miras tanımlama C# te iki nokta işaretine(:) şeklindedir..
İstisnai Durumları Ele Alma(Exception Handling)
C# ta catch bloğundaki argüman isteğe bağlıdır. Eğer catch ile argüman belirtilmemişse,bu
catch bloğu try bloğunda fırlatılacak herhangi bir hatayı yakalamak için kullanılır. Bütün
catch bloğuda C# ta kullanılmayabilir.Ayrıca C# ta throw anahtar sözcüğü yoktur.
Arayüzler
C# ta bir sınıf isteğe bağlı olarak açıkca bir arayüzü uygulayabilir. Açıkca uygulanan
metotlar arayüz ve sınıf arasındaki tür dönüşümü sayesinde çağrılabilir.
Kalıtım
C# ta sadece tekli türetme mevcuttur. Eğer çoklu türetme yapmak gerekiyorsa arayüzleri
kullanmak tek yoldur.
Çok Biçimlilik(Polymorphism)
Sanal
metotlar
çok
biçimliliği
gerçekleştirmek için kullanılır. Bunun anlamı taban
sınıfların, türemiş sınıflara ait aşırı yüklenmiş metotları çağırabilmesidir.C# ta türemiş bir
sınıftaki metodu taban sınıf ile çağırabilmek için metodun açıkca virtual anahtar kelimesi ile
işaretlenmesi gerekir. C# ta override anahtar kelimesi bir metodun türeyen sınıfta yeniden
yazılacağını bildirmek için gereklidir. Sanal olmayan bir metodu yeniden uygulamaya
çalışmak derleme zamanı hatasına yol açacaktır. Fakat eğer türemiş sınıftaki metot new
anahar sözcüğü ile işaretlenirse program hata vermeden derlenecektir.
16
2. .NET COMPACT FRAMEWORK
Visual Studio ortamında geliştirilen uygulamaların, mobil cihazlarda çalışabilmesine olanak
sağlayan araçtır.Cihaza uygun sürümü kolaylıkla yüklenebileceği gibi günümüzde windows
tabanlı çoğu cep bilgisayarında mevcut bulunmaktadır.
.NET Compact Framework’un son sürümüyle birlikte XML web servisleri kullanmak
mümkün hale gelmiştir.Bu sayede XML tipinde veri alışverişi sağlanabilir.
.NET Framework, .NET Platformunda geliştirilen uygulamalar ile işletim sistemi arasında yer
alır. .NET Framework içerisinde yer alan Ortak Dil Çalışma Zamanı (Common Language
Runtime), .NET uygulamasını üzerinde bulunduğu işletim sistemi ve CPU’nun mimarisine
göre yerli koda çevirerek çalıştırır. Bu sayede farklı platformlarda .NET Framework’ün yüklü
olması sayesinde, .NET için geliştirilen uygulama çalışabilmektedir. Mobil .NET
uygulamalarında da durum benzerdir ve .NET Compact Framework adıyla bilinir.
Sürümleri:
• .NET Compact Framework 1.0 Visual Studio 2003 ile birlikte gelmektedir.
• .NET Compact Framework 2.0 Visual Studio 2005 ile birlikte gelmektedir.
17
.NET Compact Framework kütüphanelerinin uzantıları cabinet dosyaları olarak bilinen cab
uzantısıdır.cab dosyaları mobil cihaza kopyalanır ve çalıştırıldıklarında kendisini yükledikten
sonra koybolurlar.
Şekil: .NET Compact Framework Class Kütüphaneleri.
(Kaynak; Professional Microsoft Smarthpone Programming,Wiley publishing den
alıntıdır.)
Mobil cihazlar, PC lere göre bazı kısıtlamara sahiptir.Bu yüzden .NET Compact Framework
ile uygulama geliştirirken dikkat edilmesi gereken hususları aşağıdaki gibi sıralayabiliriz.
• Bellek sınırlaması:Geliştiriciyi kısıtlayan en önemli faktörlerden biridir.PC lerde bu
miktar gigabyte’ları bulurken mobil cihazlarda bir kaç yüz megabyte ile sınırlı
kalmaktadır.
Bellek
sınırlaması
nedeniyle
uygulamalar
mümkün
olduğunca
az
yer
kaplamalıdır.Performansı da düşündüğümüzde mümkün olduğunca özyinelemeli
fonksiyonlardan ve döngülerden kaçınılmalıdır.
18
• Bant genişliği:Önemli faktörlerden biride bant genişliğidir.Bant genişliğinin yüksek
olması daha hızlı veri transferi yapabileceğimiz anlamına gelir.Günümüzde mobil
cihazlar en fazla 125 Mbps hızı desteklemektedir.Yaygın olarak kullanılan ise 54
Mbps dır.
• Sistem kaynakları:Uygulama geliştirirken dikkat edilmesi gereken bir diğer faktörse
yükün ne kadarının istemciye ne kadarının server a yüklenmesi gerektiğidir.Eğer
uygulama az veri kullanıp çok işlem yapıcaksa yükün büyük bir kısmı server a
yüklenmelidir.
• Güç:Mobil cihazlarda kısıtlı miktarda güç bulunduğu gözönünde bulundurularak,
uygulamalar gerçekleştirilmelidir.
• Ekran boyutu:Mobil cihazlarda ekran boyutunun küçüklüğünden dolayı tasarımlar
sade yapılmalı gereksiz ayrıntılardan kaçınılmalıdır.
ActiveSync Nedir?
Mobil cihaz ile kişisel bilgisayarımızı birbirine bağlamak için Microsoft un ActiveSync
programı kullanılır.Bu program sayesinde karşılıklı veri aktarımı sağlanır.
En son sürümü MS ActiveSync 4.5 dir.Visual Studio 2005 kullanıcılarının MS
ActiveSync 4.0 ve üzeri sürümleriyle çalışmaları gerekmektedir.
3.WINDOWS MOBILE 5.0
Microsoft firması tarafından mobil cihazlar için geliştirilmiş işletim sistemidir.Windows
CE çekirdeği üzerine temellendirilmiştir.Şu günlerde Microsoft, Windows Mobile 6.0’ı
çıkardığını duyurdu.
3.1.Windows Mobile'in genel özellikleri:
1. Cihaz başlatıldığında birçok işletim sisteminde bulunan "masaüstü" benzeri bir
ortam yerine "bugün ekranı" (Today screen) gelir. Bugün ekranı randevuları,
yapılacaklar listesini, e-posta mesajlarını gösterir. Bu ekrana daha fazla şey
eklemenizi
sağlayan
programlar
bulunmaktadır.
Ayrıca
artalan
resmi
değiştirilebilir.
19
2. Üstte bulunan görev çubuğu saati, ses düzeyini ve bağlantı bilgilerini gösterir.
Çubukta bulunan "başlat" düğmesi Windows'un masaüstü sürümlerindeki başlat
düğmesine benzer.
3. Windows Mobile ile birlikte (PDA'larda) Word Mobile, Excel Mobile,
PowerPoint Mobile gibi programlar gelir. Bu programlar masaüstü sürümleri
kadar özellik içermese de temel görüntüleme ve düzenleme işlemleri için
yeterlidir. PowerPoint Mobile ise sadece sunumları görüntülemek için
kullanılabilir, düzenlemeye izin vermemektedir.
4. Outlook ve Windows Media Player programları da Windows Mobile ile yüklü
gelen yazılımlardandır.
5. Windows'un masaüstü sürümlerinin aksine görev çubuğu üstte, menüler altta
bulunur. Ayrıca "kapat" düğmesi genellikle programları kapatmak yerine simge
durumuna küçültür, ancak açık programlar görev çubuğunda listelenmediği için
bu durum birçok programın açık kalmasına ve dolayısı ile sorunlara sebep
olabilir.
6. Windows Mobile günümüz işletim sistemleri içinde en etkin ve sık kullanılan
Windows XP ile tam uyumlu çalışması avantajını gün geçtikçe artırmakta,
bununla birlikte üretilen GSM telefonlarının belli bir kısmında da işletim sistemi
olarak tercih edilir konuma gelmektedir. (Ör: Motorola)
3.2.Windows Mobile sürümleri
Windows Mobile işletim sisteminin Windows Mobile 2002, Windows Mobile 2003,
Windows Mobile 2003 Second Edition (İkinci Sürüm), Windows Mobile 5.0 isimli sürümleri
bulunmaktadır.
Windows Mobile 2003 Second Edition ile VGA (640×480) ve kare (240×240 ve 480×480),
ekran desteği eklenmiştir. Windows Mobile 5.0 sürümü ile kalıcı hafıza desteği eklenmiştir.
20
4.VISUAL STUDIO 2005 MOBİL CİHAZ EMULATÖRLERİ
Visual Studio ortamında mobil uygulama yazmak için üç farklı seçenek mevcuttur.Bunlar
Windows CE,Pocket PC ve Smarthpone dur. SDK(Software Development Kit) lar yüklendiği
taktirde kullanılabilecek emülatör sayısı daha fazla olmaktadır.
Niçin Emülatörler?
• Her zaman aradığımız gerçek cihaza ulaşamayız bu durumda emülatör yardımımıza
yetişir.
• Farklı cihaz uygulamalarında kendimizi yetiştirmek istediğimizde, gerçek cihaz
teminindeki maliyetin çok yüksek olması bizi emülatör kullanımına sevk eder.
• Günümüzde, emülatörlerinde gerçek cihazlar kadar güçlü olması.
4.1.Pocket PC Emülatör
Pocket PC uygulamalarını test etmek için basit farklılıkları olan dört ayrı emülatör vardır.
• Pocket PC 2003 SE Emulator
• Pocket PC 2003 SE VGA Emulator
• Pocket PC 2003 SE Square Emulator
• Pocket PC 2003 SE Square VGA Emulator
VGA olanları normallerinden daha büyüktür.
4.2.Smarthpone Emülatör
Smarthpone uygulamalarını test etmek için iki ayrı emülatör mevcuttur.
• Smarthpone SE 2003 Emulator
• Smarthpone SE 2003 QVGA Emulator
21
Pocket PC 2003 SE Square Emulator
Pocket PC 2003 SE Emulator
4.3.Windows CE Emulator
Windows CE Emülatörü Visual Studio 2005 ile birlikte gelmemektedir.Windows CE
uygulaması yapılsa bile Pocket PC Emülatörlerinden birinde çalıştırılmaktadır.Ancak
Windows CE 5.0 Emülatörü indirilerek kullanılmaktadır.
Pocket PC Emülatörlerine benzeselerde yüksek performans için uygun olanın seçilmesi
gerekmektedir.
22
4.4.Emülatör Ayarları
Kişisel
bilgisayarla
kullanıyoruz.Visual
emulatörü
Studio
2005
birbirine
bağlamak
platformunda
için
ActiveSync
Tools=>Device
Emulator
programını
Manager
seçilir.Aşağıdaki gibi emulatör yönetim ekranı gelecektir.
İstediğimiz emulatöre bağlandıktan sonra cradle i seçelim.
Emulatörümüz bağlandıktan sonra ActiveSync programı otomatikmen devreye girecektir.
Bilgisayarıma girip Mobil Aygıt’a çift tıklayarak, emulatörün içine girebilir böylelikle
hazırladığınız dosyaları ve uygulamaları elle emulatörünüze atabilirsiniz.
23
5.VERi ERiŞiMi
Mobil cihazlarla veriye erişmek için üç farklı yöntem bulunmaktadır.
• XML Web servislerinin kullanılması. Extensible Markup Language (XML) w3c
tarafından standartlaştırılan işaretleme dilidir.Dolayısıyla veriyi bu standartda
alabilmek için XML Web servisleri geliştirilmiştir.
• SQL CE Veritabanının kullanılması.SQL CE ,mobil cihazlar için tasarlanmış Sql
Server versiyonudur.Mobil cihazlardaki kısıtlamalardan dolayı herhangi bir sunucu
çalıştırmazlar.
• Uzaktaki sunucuya bağlanıp verilerin kullanılması.
6.XML WEB SERVİSLERİ
6.1.XML nedir?
Extensible Markup Language (XML), w3c tarafından standartlaştırılan işaretleme dilidir.Web
de veri alışverişini sağlar.XML,HTML gibi bir işaretleme dilidir. HTML, veriyi gösterir,XML
veriyi tanımlar. XML de veriyi tanımlamak için doküman tipi tanımlaması DTD (Document
Type Definition ) veya XML Schema kullanmanız gerekmektedir. Bu bölüm XML belgesinin
içinde olabileceği gibi bir dış belge olarak XML belgesinde link edilmiş de olabilir. Bu DTD
ler sayesinde XML belgeniz browser veya farklı bir program tarafından çözümlenerek
görüntülenir.
24
6.2.XML Web Servisleri Tarihçesi
Dağıtık uygulama geliştirme, ilk olarak Çeşitli RPC’lerle başlamıştır. Daha sonra DCE
(Distributed Computing Environment) ile ilk defa RPC’ler Standard hale getirilmiştir.
DCE’den sonra CORBA (Common Object Request Broker Architecture) geliştirilmiş ve
dağıtık süreç teknolojisini standartlaştırmıştır. Bir topluluk tarafından geliştirilen CORBA’dan
sonra, Microsoft’un DCOM uzak nesne protokolü ortaya çıkmıştır. Bu sıralarda en başarılı
dağıtık mimariler web ve e-mail olarak gösterilebilir. CORBA ve DCOM (Distributed
Component Object Model)’den sonra çok popüler bir dil olan Java, RMI protokolü ile dağıtık
sistemlerde büyük bir başarı yakalamıştır.
İlk web servisleri teknolojisi, işte bu gelişmelerden sonra, 1999 yılında HP laboratuarlarında
http ve XML tabanlı olan e-Speak ile ortaya çıktı. Çok başarılı olmayan e-speak’den sonra,
Userland, Dave Winter başkanlığında http ve XML’i birlikte kullanarak XML-RPC’yi yarattı.
XML-RPC ile birlikte, XML ile yaratılan daha genel mesaj formatları da mevcuttur. Bunlara
Allaine tarafından yaratılan WDDX (Web Distirubted Data Exchange)‘i örnek olarak
verebiliriz.
XML mesaj formatları konusunda yürütülen çalışmaların içinde Microsoft’un yönettiği SOAP
(Simple Object Access Protocol) XML formatlı datanın yapısal alımını ve gönderimini
sağladı. SOAP çalışmalarına paralel olarak, Sun şirketi de ebXML çalışmalarını
sürdürüyordu. Bu iki büyük çalışma projesinin amacı sadece web servisleriydi.
Yukarıdaki saydığımız aşamalardan sonra sıra, web servisleri meta datasını Standardlaştırma
çalışmalarına gelmişti. İlk başta WIDL (Web Interface Definition Language), SDL (Service
Description Language), SCL (SOAP Contract Language) gibi dillerden sonra IBM, Sun,
Ariba ve diğer şirketler ortaklığıyla WSDL (Web Services Description Language) yaratıldı.
Bu noktada, web servislerinin diğer dağıtık teknolojilerden neden daha iyi, başarılı olduğunun
nedeninin standartlar olduğunu söyleyebilir. Daha önce dağıtık teknolojilerin hiçbirinde
standartlaştırma çalışmaları bu kadar büyük çapta ve katılımla gerçekleşmemiştir.
25
6.3.XML Web servisleri standartları
XML verilerinin karşılıklı kullanılabilmesi için XML Web servisleri geliştirilmiştir.XML
Web servislerinin gelişmesindeki en önemli etkenlerden biride kuşkusuz güvenlik duvarlarına
takılmamaları
ve
platform
bağımsız
olmalarıdır.Ayrıca
sağladıkları
fonksiyonları
uygulamalarımızda kullanabiliriz.
Bir web servisi, tek başına bir anlam ifade etmez. Web servisini kullanan istemcilerin de
olması gerekir. İstemciler internet ortamında olabileceği gibi, çalıştığımız şirketin network
sisteminde ya da evimizdeki makinenin yerel sunucusu üzerinde olabilir. Bir istemci, bir web
servisini kullanmak istediğinde tek yapması gereken, bu web servisi ile konuşabilecek ortak
bir takım standartları uygulamaktır. XML tabanlı bu standartlar sayesinde istemciler, web
servisine ulaşabilir, bu servis üzerinden metodlar çağırabilir, bu metodlara parametreler
gönderebilir ve metodlardan dönen değerleri elde edebilir.XML Web servisleri standartları
aşağıdaki gibi sıralanabilir.
26
SOAP(Simple Object Access Protocol):XML temelli uygulamaların karşılıklı veri alışverişi
için oluşturulmuş standarttır. Daha önceden uzaktan veriye erişim için birtakım standartlar
mevcuttu, bunlar küçük ağlarda veya intranetlerde uygun sonuçlar verebiliyordu, DCOM,
CORBA ve J2EE 'nin RMI standartları bunlara örnek verilebilir. RMI üzerinden ancak JAVA
nesnelerine ulaşabiliyorduk, bir COM nesnesine RMI ile ulaşabilmek imkansızdı. Ayrıca
bunlar TCP/IP portları üzerinden iletişime geçtikleri için internet gibi ortamlarda
çalştırıldığında bir takım güvenlik sorunları ortaya çıkabiliyordu, mesela birçok firewall
TCP/IP üzerinden bu tür erişimlere izin vermiyor. Halbuki SOAP ile artık bu aşılmış
durumdadır. SOAP ile veriler HTTP üzerinden aktarıldığı için hiçbir güvenlik sorunu
çıkmamaktadır. Çünkü hemen hemen butün firewall'lar 80 numaralı porttan veri geçisine
müdahale etmiyor. (80, HTTP verilerinin aktarıldığı port numarasıdır.)
WSDL(Web Service Definition Language): web servisinin sunduğu arayüzü tanımlamak için
kullanılır, bir web servisinde bulunan fonksiyonların hangi parametreleri aldığını ve ürettiği
bilginin türünü bu standartlar ile belirtiriz.
DISCO(Dıscovery Protocol):Bu standart sayesinde ise bir sunucuda paylaşıma açılmış bütün
web servislerinin organizasyonu sağlanır.
UDDI(Universal Description, Discovery and Integration):İnternet üzerinde paylaşıma açılmış
ve uygulamalar tarafından kullanılabilecek web servislerinin organizasyonunu sağlar.
6.4.Basit bir web servis oluşturma
Kullanılan araçlar:
•
Visual Studio 2005
•
Windows XP
Visual Studio 2005 platformunda
File->new->Web site dan yeni bir web servis oluşturmak
için aşağıdaki pencereye gelinir.
27
ASP.NET Web Service seçeneği ile ortam hazırlanır.Solution Explorer penceresinde web
servisine ait dosyalar bulunur.
.asmx dosyası web servis yönergesini içerir.Bu yönerge programcının yazdığı kodun
dilini,dosyanın adını ve servise başvurmak için kullanacağınız sınıf adını belirtir.
Web.config yapılandırma dosyasıdır.
cs uzantılı dosya ise kodlama kısmının yapıldığı dosyadır.
28
Yerel
bir
makinede
web
servis
yayını
için
IIS(Internet
Information
Services)
kullanılabilir.Bilgisayarınızda IIS kurulu değilse XP cd sini takıp seçime bağlı bileşenler
linkinden IIS kurulumu yapabilirsiniz.
Web servis yazmışsanız ilk olarak web servisini barındıracak sanal bir klasör oluşturulması
gerekir.Böylelikle uygulamada, local(yerel) deki servisleri görme ve onlara referans verme
imkanı kazanılır.Aşağıda adı sonServis olan web servisi için sanal klasör oluşumu
anlatılmıştır.Öncelikle sonServis klasörü C:\Inetpub\wwwroot dizinine kopyalanır.Bu
işlemden sonra bilgisayarım->yönet den aşağıdaki sayfaya gelinir.Hizmetler->IIS->Web
siteleri->Varsayılan Web Siteleri tıklanır.Sağ tarafta oluşturulan servise sağ tıklanıp özellikler
açılır.Açılan pencerede “oluştur” a tıklanarak işlem tamamlanır.Serviste girilen string değerin
terisini döndüren metod tanımlanmıştır.
Internet explorer dan adres satırına http://localhost/sonServis/Service.asmx girilerek aşağıdaki
sorgu penceresi açılır.Burada, oluşturulan TersiniBul metodu görünmektedir.Bu linke
tıklayarak, girdiğiniz argüman sonucunu elde edebilirsiniz.
29
sonuç
7. WEB SERVİSLERİNDE GÜVENLİK
Web Servislerinde güvenlik aşağıdaki başlıklar altında toplanabilir.
• Virtual Private Networks(özel sanal ağ)
• Soap header ları kullanarak(özel)
• Secure Sockets Layer (SSL)
• Network Authentication(belgeleme)
30
Bu güvenlik türlerine kısaca değinelim.
7.1.Virtual Private Networks(özel sanal ağ)
İki uç nokta (Web Service Client ve Web Service) arasındaki taşıma kanalı vasıtasıyla
güvenlik sağlanır.
Üç başlık altında inceleyebliriz.
• IPSec(IP Security); IPSec kriptografik servisler sayesinde IP networkleri üzerinde
güvenlik sağlar. IPSec özel networkler üzerinde ve Internet üzerindeki risklere karşı
koruma sağlar. Network yöneticisi IPSec politikalarını konfigüre ederek istediği
düzeyde ve kapsamda bir güvenlik sağlayabilir.
• Point-to-point Tunneling Protocol (PPTP);Noktadan noktaya veri güvenliğini sağlar.
• Layer 2 Tunneling Protocol (L2TP);Bir etki alanına dahil olan kullanıcılar için
oluşturulmuş bu politikada veri güvenliği için şifreleme unsurları kullanılır. İki tünel
iletişim Kuralı (L2TP/IPSec) L2TP paketlerinin güvenliğini sağlar.
7.2.SOAP Header ları kullanarak güvenliği sağlamak
Bu yaklaşımda uygulama, güvenliği devralır ve özel (kişisel) güvenlik modellerini
kullanır.Uygulama özel SOAP Header‘ı, kullanıcı bilgilerini (password,username...)
doğrulamak için kullanabilir.
Bu tip bir güvenlik yaklaşımı özellikle bütün veri akımını şifrelemek yerine mesajımızın
belirli(istediğimiz) kısımlarını şifrelemede kullanabilecek bir yöntemdir.
7.3.Secure Sockets Layer (SSL)
Bilginin bütünlüğü ve gizliliği (data protection) için, internet üzerinde iki taraf arasında
oluşan trafiğin şifrelenerek, gizliliğinin ve bütünlüğünün korunmasını sağlayan SSL
(Secure Sockets Layer) protokolü kullanılmaktadır. SSL protokolü bütün yaygın web
sunucuları (server) ve tarayıcıları (browser) tarafından desteklenen bir protokoldür.
31
SSL gönderilen bilginin kesinlikle ve sadece doğru adreste deşifre edilebilmesini sağlar.
Bilgi gönderilmeden önce otomatik olarak şifrelenir ve sadece doğru alıcı tarafından deşifre
edilebilir. Her iki tarafta da doğrulama yapılarak işlemin ve bilginin gizliliği ve bütünlüğü
korunur.
Veri akışında kullanılan şifreleme yönteminin gücü kullanılan anahtar uzunluğuna bağlıdır.
Anahtar uzunluğu bilginin korunması için çok önemlidir. SSL protokolünde 40 bit ve 128 bit
şifreleme kullanılmaktadır.
7.4.Network Authentication(belgeleme)
Authentication ,genel olarak kullanıcı kimliğini doğrulamadır.Bazı uygulamalarımız güvenlik
nedeni ile kullanıcılardan belirli güvenlik katmanlarından geçmelerini isteyebilir.Bunlardan
biri de kimlik denetimidir.
8.MS SQL SERVER
Microsoft SQL Server; Client-Server ve web tabanlı uygulamalarda, ihtiyaç duyulan veri
depolama çözümlerinde kullanılan bir server yazılımıdır.
Günümüzde bir çok proje tek bir bilgisayardan kullanılmamaktadır.Bu yüzden ağ ortamında
bir kullanıcının girdiği bilgiler diğer kullanıcılar için önem arz etmektedir.Her ne kadar bu
işlemi diğer veri tabanları ile de gerçekleitirebilmemize rağmen ağ ortamında güvenlik ve hız
açısından en performanslı sonucu “SQL Server” veri tabanı vermektedir.
8.1.Mimarisi
32
Relational Database Engine
Veritabanı motorudur. XML desteği daha da artırıldı. Bu sayede XQuery kullanarak XML
tipindeki alanlarınız içerisinde select ifadeleri çalıştırabilir hale gelindi. Bu nedenle XQuery
Builder adında yeni bir araçta MS SQL Server 2005'e eklendi.
Analysis Services
Analysis Services çözümleri üretmek için Business Intelligence Development Studio
oluşturuldu. Yenilenmiş designer, template, sihirbaz sayesinde çok daha kolay ve kullanışlı
Analysis Services çözümleri oluşturabilmek mümkün hale geldi.
SQL Server Integration Services
Farklı veri kaynakları arasında verinin taşınması ve dönüştürülmesi işlemlerinde kullanılır.
Eski versiyonlardaki DTS'in yerini alan teknolojidir.
Notification Services
Kullanıcıların uyarı sistemleri ile uyarıldıkları uygulamalar hazırlanabilmesi için kayıt tabanlı
(subscription-based) bir framework'tür.
Reporting Services
MS SQL Server 2005 ile beraber gelen bu yeni teknolojiyle beraber MS SQL Server 2005
içersinden raporlar oluşturmanız mümkün. Farklı datasource lerede bağlanma olanağı veren
bu teknoloji ile raporlarınızı ister Visual Studio.Net içersinden, ister Business Intelligence
Development Studio içersinden istersenizde web arayüzlü Report Manager ekranından
oluşturmanız mümkün.
8.2.Database oluşturma
DataBase oluşturmak için iki faklı seçeneğimiz bulunmaktadır.Birincisi “SQL Server 2005”
programını çalıştırıp database imizi
oluşturmak.ikincisi ise “Visual Studio .Net 2005”
içerisinden “SQL Server” a ulaşarak işlemlerimizi buradan gerçekleştirmek.Bu aşamada
Visual Studio .Net 2005 editörünü kullanarak işlemlerimizi gerçekleştireceğiz.
33
View ->Server Explorer menüsünden aşağıdaki pencere açılır.”DataConnections”
seçili iken Mouse a sağ tıklayarak açılan aşğıdaki menüden “Create New SQL Server
DataBase” seçeneğine tıklayınız.
Açılan aşağıdaki pencereden tabloların yer alacağı veritabanı ismi belirlenir.
34
Windows Authentication “Domain” bulunan ağlarda ,”SQL Server Authentication” ise
“Domain” kurulmayan ağ ortamları için çok uygun olacaktır
”Server Explorer” penceresinde oluşturulan veritabanı sekmesi altında yer alan “Tables”
klasörüne Mouse a sağ tıklayarak “Add new table” seçeriz.Tablolarımızı açılan pencerede
oluştururuz.
UYARI:Oturum açtığımız isimle Visual Studio, veritabanına erişime izin veriyor ama
dışardan erişmeye çalıştığımızda, örneğin; Internet explorerın bağlantı hatası verdiğini
görürüz.Bunun için makinemize “SQL Server Management Studio Express” i kuruyoruz ve
veritabanı konfigurasyonlarını ayarlayarak dışardan açık hale getiriyoruz.
9.SQL SERVER MANAGEMENT STUDIO
Microsoft SQL Server 2005, çok sayıda yönetim aracına sahiptir.Bunların büyük bir kısmı
grafik arayüze sahiptir.
Yönetim araçları:
• Management Studio
• SQL Management Objects
• Computer Manager
• Sqlcmd
• Business Intelligence Development Studio
Konfigürasyon araçları:
SQL Server 2005 program grubunda; “Configuration Tools” menüsünde birçok
konfigürasyon aracı vardır:
• Configuration Manager
• Surface Area Configuration
• Reporting Services Configuration
• Error and Usage Reporting Bunlardan biriside SQL Server Management Studio dur.
SQL Server Management Studio, SQL Server 2005’in yönetiminde en çok kullanılan
araçtır.
35
SQL Server Management Studio şu işlemleri yapmayı sağlar:
• İstenilen SQL Server instance’ına, istenilen SQL Server bileşenine istenilen
authentication modu ile bağlanmak.
•
Register (SQL Server’ların kaydedilmesi) işlemi.
• Güvenlik ayarları. SQL Server’a erişim yönetimi,LoginID’ler ve User’ların
yaratılması.
•
Veritabanı yönetim işlemleri (veritabanı yaratmak, tablo yaratmak, ilişkilerini
düzenlemek vb).
•
Analysis Services, Reporting Services, SQL Server Integration Services (SSIS)
servislerinin yönetimi. Bu servislere bağlanmak ve işlem yapmak.
• Transact-SQL, XMLA, MDX, FC ve XQuery deyimlerini yazmak ve çalıştırmak.
ÜÇÜNCÜ BÖLÜM
1.TASARIM GERÇEKLEME
1.1.Proje Hakkında
Yapılan proje, gerçek hayattan esinlenerek geliştirilmiştir.Un fabrikası personeli, stok takip ve
sipariş işlemlerini, XML web servisleri aracılığıyla mobil cihaz(PDA) üzerinden
gerçekleştirebilmektedir.
Fabrika personelleri kategorize edilmiştir,böylece sisteme girişleri farklı kullanıcı adları ve
şifre
ile
mümkün
olmaktadır.Depodaki
personel
sadece
stok
işlemleri
için
yetkilendirilmiştir.Saha personeliyse sipariş işlemlerini yapabildiği gibi müşteriye bilgi
verebilmesi için stok durumunuda öğrenmeye yetkilendirilmiştir.
Saha personelinide kendi arasında ikiye ayırmak doğru olacaktır.Bunlar taksiyle il il
müşterileri gezerek siparişleri sisteme giren ve fabrikadan unları alarak müşteriye teslim eden
şoförlerdir.Şoförler teslim ettikleri malları siparişten düşerler.
Tabiki fabrika sahibi tüm yetkilere açık olmakla, yapılan her işten anında haberdar
olabilecektir.
36
(Şekil:Personel-Yetkilendirme)
1.2.Veri Tablolarının Oluşturulması
Stok takip ve sipariş işlemleri için iki adet veri tablosu oluşturulmuştur.Birincisi Siparişlerin
tutulduğu SIPARIS tablosudur.Aşağıda da görüldüğü gibi müşteri bilgileri ve sipariş ettiği
unun cinsi ve adedi bulunmaktadır.
İkinci tablo ise stok bilgilerinin tutulduğu STOK tablosudur.Bu tabloda fabrikadaki depoda
bulunan unun cinsi ve adedi tutulmaktadır.
37
1.3.Web servisin oluşturulması ve yayınlanması
Veritabanında bulunan STOK ve SIPARIS tablolarında işlemler yapabilmek için oluşturulan
web servisinde farklı metodlar bulunmaktadır.Bu metodlar yardımıyla istemci uygulamaları
rahatlıkla gerçekleştirilir.
Oluşturduğumuz web servisi yayınlamak için,web servisi oluşturan dosyaların IIS dizinine
kopyalanmasıyla yapılır.
Bu dosyalar şunlardır.
• Web servis dosyaları:.asmx dosyaları
• Yapılandırma dosyası:web.config
• Assembly dosyaları:Servisi çağırmak için gerekli olan .dll dosyaları.Ayrıca diğer
assembly dosyaları.
UYARI:Sunucuya yerleştirdiğimiz web servis dosyalarından web.config dosyasının içeriğine
aşağıdaki kodları eklememiz gerekmektedir.Bu kodlar sayesinde gerekli protokoller devreye
girer ve web servisinin sağlamış olduğu hizmetten yararlanabiliriz.
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
Web servisin yayınlanmış olduğu adres: http://aliakay.ktu.edu.tr/gurcel/Service.asmx
Şimdi bu web servisin içermiş olduğu metodları inceleyelim.
38
ekleSipariş:Sipariş tablosuna yeni sipariş eklerken kullanılır.Böylelikle alınan yeni bir sipariş
sisteme girilebilir.
getSiparis:Sipariş tablosundaki verileri çekmeye yarar.
getStok:Stok tablosundaki verileri çekmeye yarar.
sifreligetSiparis:İzinli kullanıcı adı ve şifre ile ulaşıldığında getSiparis in görevini
yapar.Örnek olması amacıyla yapılmıştır.
siparisGüncelle:Sipariş tablosundaki verileri güncellemeye yarar.
siparisSil:Sipariş tablosundaki herhangi bir siparişi silmeye yarar.
stokEkle:Stok tablosuna veri girmeye yarar.Böylelikle depoya yeni üretilmiş unların kaydı
girilir.
stokSil:Stok tablosundan veri eksiltmeye yarar.Böylelikle kamyon ve tırlar vasıtasıyla
müşterilere gönderilen unlar depo kayıtlarından düşülür.
39
1.4.XML dosyası içeriği ve kullanımı
Örnek olarak sipariş tablosundaki verileri çektik.Bu veriler dataset nesnesine atılarak
uygulamarda kullanılır.
<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://aliakay.ktu.edu.tr/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table">
- <xs:complexType>
- <xs:sequence>
<xs:element name="ID" type="xs:int" minOccurs="0" />
<xs:element name="TIP" type="xs:string" minOccurs="0" />
<xs:element name="ADET" type="xs:string" minOccurs="0" />
<xs:element name="MUSTERI_ADI" type="xs:string" minOccurs="0" />
<xs:element name="ADRES" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
40
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <Table diffgr:id="Table1" msdata:rowOrder="0">
<ID>1</ID>
<TIP>1</TIP>
<ADET>100</ADET>
<MUSTERI_ADI>Ahmet Güneş</MUSTERI_ADI>
<ADRES>Güneş Un, Değirmendere/TRABZON</ADRES>
</Table>
- <Table diffgr:id="Table2" msdata:rowOrder="1">
<ID>2</ID>
<TIP>2</TIP>
<ADET>150</ADET>
<MUSTERI_ADI>Ali Kemal</MUSTERI_ADI>
<ADRES>Kemal Un, Vona/ORDU</ADRES>
</Table>
- <Table diffgr:id="Table3" msdata:rowOrder="2">
<ID>3</ID>
<TIP>1</TIP>
<ADET>100</ADET>
<MUSTERI_ADI>Yüksel Batuk</MUSTERI_ADI>
<ADRES>Batuk Un, Çarşamba/ SAMSUN</ADRES>
</Table>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
41
1.5. SOAP Header ları kullanarak güvenliğin sağlanması
Web servisimizin sağladığı imkanlardan sadece bizim yararlanmamız için ve de veritabanında
başkalarının işlem yapmasını engellemek için SOAP header ları kullanarak kimlik denetimi
eklenmiştir.
Sunucu tarafında yapılması gerekenler
Birinci adım:
using System.Web.Services.Protocols; isim alanını uygulamaya eklemek.
İkinci adım:
AuthHeader adında SoapHeader classından miras alma yoluyla türetilmiş yeni bir sınıf
oluşturalım.
// Kimlik denetimi için kullanılacak sınıf.
public class AuthHeader : SoapHeader
{
public string Username;
public string Password;
}
Sınıfımız iki public üyeye sahip. Bunlar string veri tipinde. Bu üyelerin amacı kullanıcıadı ve
parola bilgilerini taşıyarak kimlik denetiminde kullanılmalarını sağlamak.
Üçüncü adım:
kimlik denetimi bilgilerini web servis uygulaması içinde kullanılabilir hale getirmek için,
BasitAraclar sınıfı içerisinde, tasarladığımız AuthHeader veri tipinde public bir field
tanımlamak.
public AuthHeader KimlikDenetimi;
42
Dördüncü adım:
kimlik denetimi yapmak istediğimiz servise bir attribute eklemek.
[SoapHeader("KimlikDenetimi")]
Beşinci adım:
web servis uygulamamızda tanımladığımız ve SoapHeader attribute içerisinde referans
gösterdiğimiz KimlikDenetim isimli değişkeni kullanarak kod içerisinde denetimimizi
gerçekleştirelim.
if (KimlikDenetimi.Username == "gursel" && KimlikDenetimi.Password == "12345*")
{.................}
}
else
// Kimlik denetimi: kullanıcı yetkisiz
throw new Exception("giriş başarısız");
İstemci tarafında yapılması gerekenler
// Metodu çalıştıracak nesne...
sonEmul.localservis.Service ws= new sonEmul.localservis.Service();
// Kimlik bilgilerini taşıyacak nesne
sonEmul.localservis.AuthHeader baslik = new sonEmul.localservis.AuthHeader();
// Kimlik bilgileri
baslik.Username = "gursel";
baslik.Password = "12345*";
//Güvenlik bilgileri metodu çalıştıracak nesneye yükleniyor.
ws.AuthHeaderValue = baslik;
43
localServis isim alanı web servisimizi temsil ediyor. Web servisimizin referansını eklediğimiz
anda Visual Studio WSDL dokümanına bakarak iki sınıfı uygulamızda kullanabilmemiz için
proxy olarak bizim için yapılandırdı: Service ve AuthHeader.Service getSipariş metodu
içinde barındıran sınıf. AuthHeader ise kimlik denetimi için gerekli bilgileri taşıyacak olan
sınıf. Bu iki sınıf, metod çağırılmadan hemen önce bir yerde buluşmak zorunda.
Örnek teşkil etmesi sebebiyle oluşturulmuş sifreligetSiparis() metodunun gerçektende
explorer da çalıştırılması sonucu açılmadığını görürüz.
Tabiki
yazdığımız
istemci
uygulamasında
gerekli
kullanıcı
bilgileriyle
metoddan
faydalanmamız mümkün.
44
2.TEST
Uygulamayı emülatörde çalıştırıyoruz.Öncelikle kullanıcı adı ve şifreyi isteyen arayüz
karşımıza gelir.Burda saha elemanıysa farklı depo elemanıysa farklı kullanıcı adını
kullanır.Girilen kullanıcı adına göre farklı arayüz gelmektedir.Aşağıda şifreli giriş arayüzü
görülmektedir.Daha
sonrasında
saha
elemanının
işlemlerini
yapabileceği
arayüz
görülmektedir.
45
3.SONUÇ
Kısıtlamaların fazla olduğu mobil cihaz uygulamasına başlamada çekincelerim vardı.Ardından
uygulamamı yaptığım Windows Mobile 5.0 işletim sistemi yüklü olan gerçek bir PDA bulmak zor
olacaktı.Sonrasında ise Türkçe kaynak sıkıntısı. Ancak, öncelikle PDA nın temini ardından basit bir
denemenin çalışması cesaret veren gelişmeler oldu.
Öncelikle Web servisleri yazıldı sonrasında ise web servislerini kullanmaya başladım.Web servislerini
local(yerel) de kullandığım için çeşitli sıkıntılarla karşılaştım.Örneğin;veritabanına farklı oturumla
erişemiyordum.Karşılaşılan problemler giderilerek uygulama çalışır bir hale getirilmiştir.Ardından
web servisi uzak bir sunucuya yerleştirildi.Tabi burdada sunucuya erişim sıkıntıları oldu.Bunlarında
çözümleri sağlandıktan sonra uzaktaki sunucudan servis sağlamak mümkün hale geldi.
Önümüzdeki yıllarda daha popüler hale geleceğini umduğum mobil uygulamalara böyle bir projeyle
başlangıç yapmanın faydalı olacağı kanaatindeyim.Bitirme teziminde bu işe başlangıç aşamasındakiler
için faydalı bir kaynak olmasını umuyorum.
46
4.KAYNAKÇA
•
Professional Microsoft Smarthpone Programming , Wiley Publishing
•
C#’ı Kavramak ,Tom Archer.Arkadaş yayınevi
•
.Net ve Mobil Teknolojileri,Aytaç Özay.Seçkin Yayınevi
•
.NET Framework Programlama,Faruk Çubukçu.Alfa Yayınevi.
•
AçıkÖğretimMobilÖğrenme Klavuzu 2006.
•
Visual C# .NET 2005
•
http://www.csharpnedir.com
•
http://www.msakademik.net
•
http://www.yazgelistir.com
•
http://www.tayfunakcay.com
•
http://www.mobilnedir.com
•
http://msdn2.microsoft.com/en-us/downloads/default.aspx
•
http://geekswithblogs.net/ranganh/archive/2006/03/25/73301.aspx
Nihat Demirli & Yüksel İnan
47

Benzer belgeler