LBS_Diplomska

43
Куса Содржина Апстракт ................................................................................................................................................. 2 Вовед ...................................................................................................................................................... 3 Разлика помеѓу Windows CE и Windows Mobile .................................................................................. 4 Windows CE Оперативен Систем ..................................................................................................... 4 Windows Mobile Оперативен Систем ............................................................................................... 4 Избор помеѓу Windows Mobile и Windows CE.................................................................................. 5 Разлики во прогамските API ............................................................................................................. 9 Избор на .NET Compact Framework Верзија.................................................................................... 9 Разлики во зачувување на податоците помеѓу Windows Mobile 2003 и Windows Mobile 5.0 .... 12 .NET Compact Framework Сервисни Пакети (Service Packs) ....................................................... 13 Разлики помеѓу .NET Framework 2.0 и .NET Compact Framework 2.0 ......................................... 14 Апликациски Конфигурациски Фајлови .......................................................................................... 16 Единечен клик .............................................................................................................................. 17 Ngen.exe ........................................................................................................................................ 17 Remoting (Далечно најавување) ................................................................................................. 17 Serialization (серилизација) ......................................................................................................... 17 Печатење ...................................................................................................................................... 17 Web Forms .................................................................................................................................... 18 Разлики помеѓу .NET Compact Framework Version 1.0 и Version 2.0 ........................................... 18 Windows Forms ............................................................................................................................. 19 Менаџирање на Изгледот и Уредувањето................................................................................. 20 Docking и Anchoring ...................................................................................................................... 20 Автоматски „лизгачи“ (Scrollbars)................................................................................................ 20 Справување со Screen Resolution .............................................................................................. 21 Tab Подржка и управување со Тастатура.................................................................................. 21 Податоци....................................................................................................................................... 21 Комуникации ................................................................................................................................. 22 COM Interop .................................................................................................................................. 22 Графичко програмирање ............................................................................................................. 22 Безбедност ................................................................................................................................... 22 Нитки (Threading).......................................................................................................................... 22 Надгледување на перформансите ............................................................................................. 23 .NET Compact Framework Version 3.5............................................................................................. 23 Using Community Resources ........................................................................................................ 24 Microsoft patterns & practices Mobile Application Blocks ............................................................. 25 OpenNETCF Smart Device Framework ........................................................................................ 25 Windows Mobile 5.0 .............................................................................................................................. 26 Преглед на Windows Mobile 6.0 за PPC (Pocket PC) (Crossbow) Оперативниот Систем .............. 27 Генерални Промени ........................................................................................................................ 28 Контроли, податочен влез ........................................................................................................... 28 Телефон ........................................................................................................................................ 29 Outlook Mobile ............................................................................................................................... 29 Office Mobile .................................................................................................................................. 30 Интернет ........................................................................................................................................... 30 Мултимедија ..................................................................................................................................... 30 Windows Live .................................................................................................................................... 31 Локациски Базиран сервис Пример апликација за Windows Mobile ............................................ 33 Методологија .................................................................................................................................... 33 Решение на проблемот ................................................................................................................... 34 Резултати ......................................................................................................................................... 36 Дискусија .......................................................................................................................................... 37 Литература ........................................................................................................................................... 43 Додатоци .............................................................................................................................................. 43

Transcript of LBS_Diplomska

Page 1: LBS_Diplomska

Куса СодржинаАпстракт .................................................................................................................................................2Вовед ......................................................................................................................................................3Разлика помеѓу Windows CE и Windows Mobile..................................................................................4

Windows CE Оперативен Систем .....................................................................................................4Windows Mobile Оперативен Систем ...............................................................................................4Избор помеѓу Windows Mobile и Windows CE..................................................................................5Разлики во прогамските API .............................................................................................................9Избор на .NET Compact Framework Верзија....................................................................................9Разлики во зачувување на податоците помеѓу Windows Mobile 2003 и Windows Mobile 5.0 ....12.NET Compact Framework Сервисни Пакети (Service Packs) .......................................................13Разлики помеѓу .NET Framework 2.0 и .NET Compact Framework 2.0 .........................................14Апликациски Конфигурациски Фајлови..........................................................................................16

Единечен клик ..............................................................................................................................17Ngen.exe........................................................................................................................................17Remoting (Далечно најавување) .................................................................................................17Serialization (серилизација) .........................................................................................................17Печатење ......................................................................................................................................17Web Forms ....................................................................................................................................18

Разлики помеѓу .NET Compact Framework Version 1.0 и Version 2.0 ...........................................18Windows Forms .............................................................................................................................19Менаџирање на Изгледот и Уредувањето.................................................................................20Docking и Anchoring......................................................................................................................20Автоматски „лизгачи“ (Scrollbars)................................................................................................20Справување со Screen Resolution ..............................................................................................21Tab Подржка и управување со Тастатура..................................................................................21Податоци.......................................................................................................................................21Комуникации .................................................................................................................................22COM Interop ..................................................................................................................................22Графичко програмирање .............................................................................................................22Безбедност ...................................................................................................................................22Нитки (Threading)..........................................................................................................................22Надгледување на перформансите .............................................................................................23

.NET Compact Framework Version 3.5.............................................................................................23Using Community Resources ........................................................................................................24Microsoft patterns & practices Mobile Application Blocks .............................................................25OpenNETCF Smart Device Framework ........................................................................................25

Windows Mobile 5.0 ..............................................................................................................................26Преглед на Windows Mobile 6.0 за PPC (Pocket PC) (Crossbow) Оперативниот Систем ..............27

Генерални Промени ........................................................................................................................28Контроли, податочен влез ...........................................................................................................28Телефон ........................................................................................................................................29Outlook Mobile ...............................................................................................................................29Office Mobile ..................................................................................................................................30

Интернет ...........................................................................................................................................30Мултимедија.....................................................................................................................................30Windows Live ....................................................................................................................................31

Локациски Базиран сервис – Пример апликација за Windows Mobile ............................................33Методологија....................................................................................................................................33Решение на проблемот ...................................................................................................................34Резултати .........................................................................................................................................36Дискусија ..........................................................................................................................................37

Литература ...........................................................................................................................................43Додатоци ..............................................................................................................................................43

Page 2: LBS_Diplomska

Апстракт

Микропроцесорсаката револуција доведе до развојот на персоналниот компјутер, чиј број сега е околу стотина милиони, низ целиот свет. Персоналните компјутери влијаат првенствено на животот на луѓето, но и на организациите и како тие го управуваат својот бизнис. Според еволуцијата на комјутерите, почнувајќи од огромни димензии се до помали персонални компјутери и во поново време преносни компјутери логично е да се очекува дека наредно што следува е персонални дигитални асистенти или целосно функционални комјутери со големина за во нашата дланка.

Од друга страна, софтверските технологии постојано се надоградуваат и напредуваат за полесно користење на компјутерите, а во поново време и спојување на различни платформи, различен хардвер преку софтвер и може да се каже дека софтверот го диктира раздвојот на хардверот, а потребите на корисниците пак укажуваат на насоката на програмите.

Со оваа дипломска работа е опишана и прикажана моменталната цел на софтверот и хардверот, а тоа е пристап во секое време до информации без разлика каде се наоѓаме.

Page 3: LBS_Diplomska

Вовед

Мобилните уреди веќе неколку години ја уживаат доминантноста во нивната распространетост. Последните модели веќе ја надминуваат рамката за функционалноста на еден мобилен телефон. Моделот на „телефон“ кој јас ќе го опишам за презентација на еден вид на апликција, може да се каже дека е скоро комплетен компјуер, а телефон во втор план. Модерниот, динамичен начин на живеење, бара од луѓето да се во постојано движење. Ова го прави исклучително пректичен мобилниот телефон, но сепак локацијата на телефон експлицитно не ја знаеме или комерцијалните методи за очитување на таква информација се ограничени. Од тука произлегува дефиницијата на проблемот кој ќе пробаме да го решиме со функционалноста која ќе ја имплементирам.

Апликацијата нуди еден начин на локациски базиран сервис, кој се заснова на информации кои може да ги добиеме од нашиот телефон. Платформата за која е развиена оваа програма е Windows Mobile Professional. Поголемиот дел од развојот е во алатката од самиот произведувач на оперативниот систем, Visual Studio 2005 со додаток, емулатор за мобилен уред Pocket PC. Дел од развојот е преместен на Visual Studio 2008, со цел да се покаже компатабилноста. Поточно за развој се користи .NET Compact Framework со runtime верзија 2.0, бидејќи тест телефонот ја подржува таа основно. Меѓу другото понатаму ќе го документирам начинот на изработка на ваков тип на апликации за мобилни уреди, како и проблемите, недостатоците, но и добрите страни.

Цел на апликацијата е лоцирање на корисничкиот телефон што е можно попрецизно, а воедно тоа да може да се прилагоди на повеќе типови намобилни уреди првенствено уреди кој работат на сличен оперативен систем.

Page 4: LBS_Diplomska

Разлика помеѓу Windows CE и Windows Mobile

Не разбирањето на разликите помеѓу Windows CE и Windows Mobile често предизвикува конфузија помеѓу новите мобилни програмери. Дали Windows Mobile иWindows CE се различни оперативни системи за мобилни уреди? Всушност тоа е и добар начин да се сфати ова, иако повеќето луѓе не разбираат колку се навистина поврзани.

Windows CE Оперативен Систем

Windows CE е оперативен систем. Сепак, тое е модуларен оперативен систем кој е наменет да биде комплетно адаптивен за соодветна употреба – таков вит на алатка (или множевство од алатки) кој програмерите го користат за развој на специјален (нагодувачки) оперативен систем за различни не-десктоп уреди. Програмерите за вгнездени уреди може да користат апликација која се на рекува Platform Builder (алатка за развој на платформа) за да одредат точно кој модули од Windows CE, тие сакаат да го вградат во нивниот оперативен систем. Потоа тие генерираат специјален (кастомизиран) изглед на оперативен систем и го инсталираат на соодветниот хардвер.

Некои Windows CE модули вклучуваат функции кој се потребни за сите Windows CE-базирани оперативни системи, но многу модули се опционални, вклучувајќи го и .NET Compact Framework runtime. Поради тоа, нема една конечна верзија на Windows CE; секој Windows CE оперативен систем е колекција од различни модули, за кој дизајнерот се одлучил да ги вклучи. Microsoft ја именува последната верзија од Windows CE како Windows Embedded CE 6.0, за да го нагласи нејзиното користење.1

Windows Mobile Оперативен Систем

Windows Mobile е оперативна околина за Pocket PC-јата и smartphone-ните. Корисниците и компаниите барат стабилна платформа на која ќе можат да работи нивниот софтвер. Нагодувањето на платформата кое е можно со Windows CE имплементациите како на пример таа за мрежно работење и друга која не дозволува мрежно работење и нема корист кај овие корисници. Нив им е потребно конзистентност помеѓу уредите и јасно надоградување на одредени делови од една верзија до друга.

Според тоа, производителите кој ги дизајнираат и вградуваат Windows Mobile- уредите работат соодветно на условите договорени со Microsoft кој ја диктира основната хардверска функционалност на уредот и софтверот кој е вклучен во основниот пакет (иако производителот може да додаде софтвер). Ова е затоа што софтверот кој работи на уредот на производителот исто така да може да работи и на уред од друг производител. Корисникот наоѓа исти видови на копчиња, различни димензии наекранот и сличен начин на користење на уредот.

1 Со издавањето на Windows Embedded CE 6.0, Platform Builder-от повеќе не постои како посебна алатка, туку се интегрира во Visual Studio 2005 како додаток.

Page 5: LBS_Diplomska

Неколку години предходно, овие услови од договорите беа толку рестриктивни така што сите Pocket PC уреди имаа 240 × 320 екранска резолуција, портрет ориентација, и без тастатура. Оваа стандардизација беше добра за програмерите бидејќи тие ги знаеа точните карактеристики за уредите, без разлика на производителот. Денеска овие договори се многу помалку рестриктивни. Квадратести, пејсажни, и високо-резолуциони екрани се чести, како и тастатурите на Pocket PC-јата, сите тие нудат одличен избор за корисниците но предизвик за програмерите кои мораат да изградат графички интерфејс (GUI) кој ќе работи на повеќе уреди.

Windows Mobile продукт групата во Microsoft е корисник на Windows CE групата. Windows Mobile е граден на основа на Windows CE. Windows Mobile group користи Platform Builder за да изгради соодветна имплементација на Windows CE користејќи ги модулите кои им требаат, и потоа тие го додаваат нивниот софтвер, како на пример Pocket PC или Smartphone shell (shell –школка е множевство од кориснички интерфејс компоненти и кој ги подржуваат рутите кои ги преведуваат корисничките команди во корисни акции на оперативниот систем), плус стандардниот додаден софтвер како на пример Microsoft Internet Explorer Mobile, Word Mobile, Excel Mobile, итн. Windows Mobile 2003 се базираше на Windows CE version 4.2; Windows Mobile 5.0 и Windows Mobile 6.0 двете се базираат на Windows CE 5.0.

Избор помеѓу Windows Mobile и Windows CE

Ако треба да се одбере платформа која ќе се користи на уредите за некој нов проект,може да биде збунувачко која да се одбере. Изборот е релативно едноставен. Ако пишувате апликации за уред со телефонски можности и кој нема стило и може биде управуван со една рака од тастатурата, Smartphone (или, со понова терминологија, Windows Mobile 6 Standard) е правилниот избор. Ако пишувате за променлив хардвер, очигледно треба да се корсти Windows CE.

Зборот помеѓу користење Pocket PC (сега наречен Windows Mobile 6 Classic илиProfessional) и Windows CE може да биде малку покомплициран. Повеќе од големите компании за производство на мобилни уреди, како на пример Intermec и Symbol, нудат Pocket PC-видови на уреди кои доаѓаат со избор помеѓу Windows Mobile или Windows CE кои работат на идентичен хардвер. Имплементациите на Windows CE кои се користи на овие уреди обично користи стандарден графички Windows-стил на shell (една од компонентите вклучени во Platform Builder) така што уреди од различни производители изгледаат слично.

Кога ќе ги споредиме од една страна стандардниот Windows CE shell, со Windows Mobile за Pocket PC shell, од друга страна, може да се види очигледната разлика во изгледот на екранот и начинот на кој се стартуваат програмите. На Pocket PC, Start копчето е на врвот, и менијата се покажуваат во горниот-лев агол надолу, како што е прикажано на сликата 1.1. За да се селектира од менито, треба да се допре еднаш со стилото. Сите апликации кои работат на Pocket PC ги прикажуваат објектите во на цел екран (освен во неколку случаеви на pop-up дијалози).

Page 6: LBS_Diplomska

Слика 1.1: На Pocket PC, Start копчето во горниот лев агол

На Windows CE користејќи го стандардниот графички shell, изгледот на екранот е сличен на десктоп компјутер кој работи со Windows оперативен систем, како што е прикажано на сликата1.3. Таскбарот е долу на екранот, и секој пат кога се стартува апликација икона се појавува во таскбарот. Start копчето е долу лево, и менијата се отвораат нагоре од долу десно. Како и на десктоп комјутерите,единечен клик или допир со стилото селектира од менито. За да се старрува програма од икона на десктоп-от, мора да се допре два пати со стилото (еквивалент на двоен клик со глувче). Кога апликација работи, не работи на цел екран. Исто така, во Windows CE, апликациите вообичаено вклучуваат Close копче (X) и Minimize копче. На Pocket PC, никогаш нема да видите Minimize копче, и ако има Close копче, обично работи како "Smart Minimize" (стартувај минимизирано) копче и не како Close копче.

Page 7: LBS_Diplomska

Слика 1.2: Windows CE standard shell2

Smartphones обезбедуваат уште една карактеристика. Овие уреди немаат touch-sensitive screens (екрани осеткиви на допир), и тие се направени за користење со една рака. Примарниот навигациски метод е да се користи пет-насочниот џоистик, и се одбираат функции со користење надвете копчиња под екранот. Обично е дека левото копче нуди единечна опција, како на пример OK, View, или Start, или што би било најверојатен избор на корисникот, додека десното копче обично е мени со опции. Слика 1.3 покажува smartphone интерфејс во кој на Home екранот, копчето Start е врзано со левото копче. Кога ќе се активира Start менито, ова е прикажано како полн екран со икони, на десната страна на сликата Слика 1.3. Апликациите секогаш се прикажани во full-screen мод.

2Windows CE shell опишана овде е една од многуте опции со кои може да се сретнеме ако развиваме апликации за хардвер кој работи на Windows CE. Windows CE-базирана платформа може да има свој уникатен shell (школка) кој е развиен и подесен за уред и негови корисници, кој има различен интеракциски интерфејс од овој што го опишавме

Page 8: LBS_Diplomska

Слика 1.3: Петтонасочен џоистик и командни копчиња на smartphone

Не се прикажуваат копчиња во корисничкиот интерфејс (UI) на една smartphone апликација. Всушност, и нема Button контрола во Visual Studio Toolbox за smartphone проекти бидејќи button е повеќе одговара на екран осетлив на допир каде корисникот може да допира на копче за да избере опција, додека на smartphone екран од корисникот ќе се бара го обележи прикажаното копче на екран со пет насочниот џоистик и потоа да притисне на централното контролно копче за да избере копче на екран. Ова придонесува за лош изглед, поради тоа копчиња не се користат. Наместо тоа, може да се користат левото и десното копче под екранот за да се добие подобра функционалност.

Разликите во однесувањето на уредите влијае и на програмерите. Не само што имаме полимитирана селекција од контроли со кој работиме, ако развиваме апликации за уреди со екрани со допир, но исто така и некој Windows Forms имаат различно однесување. На пример, уредите кои работат на Windows Mobile, сите форми ќе прикажат целосен екран со само креирање, додека кај уредите на Windows CE, не.

Разликите во однесувањето на shell не се толку значајни за да влијаат на избор на платформа. Всушност, вообичаената причина зошто се одбира Windows CE (освен очигледните причини кога решението бара посебе хардвер) е дека е поедноставно да се конфигурира Windows CE-базиран уред така што ќе ја извршува само таа апликација и ништо отколку истото тоа да се направи на уред со Windows Mobile. На пример водителите на команиите сакаат да ги заклучат уредите, за да не дозволат корисниците да играат игри, или да инсталираат дополнителен софтвер, или притискањ на хардерски копчиња со кои се пристапува до контакти и e-mail.

На Windows Mobile-базиран уред, мора секогаш да се користи (и да се контролира) стандардниот Windows Mobile shell, кој е дизајниран да биде кориснички настроен (user-friendly interface) за да дозволи на корисниците да пристапат до сите можности на

Page 9: LBS_Diplomska

уредот, додека на Windows CE, ако не ви се допаѓа однесувањето на shell, можете релативно едноставно да создадете shell посветен на вашата апликација.

Разлики во прогамските API

Ако треба да бираме помеѓу уред кој работи на Windows Mobile и сличен уред кој работи на Windows CE, друго нешто на што треба да се обрне внимание е можностите на програмските интерфјеси за програмирање (application programming interfaces -APIs) на секоја од платформите. Најочигледна разлика е таа што на Windows Mobile 5.0 и подоцнежните верзии нуди пристапand до дополнителен managed code libraries кои не се достапни на Windows CE; овие библиотели прават полесно да се справуваме со платформата. На пример, Microsoft.WindowsMobile.Status namespace содржи класи за да се праша системот за многу различни функции, како на пример моментална активна мрежа и Интернет Протокол (IP) адреса, јачина на батеријата, ориентација на екранот, статус или дали уредот е софтверски пробиен. Исто така може да се пријави за да приме известувања кога некој системски статус ќе се промени. Исто така, може да се користат класите од Microsoft.WindowsMobile.PocketOutlook namespace за да се сетира Microsoft Office Outlook Mobile податоците со задачи, состаноци, и e-mail. Може да се користат и други библиотеки за да се пристапи до хардверот како на пример до телефонот, или Global Positioning System (GPS) рисиверот, или камерата.

Се разбира, дека е возможно managed code програмерите да повикат API само во managed libraries, но порано или подоцна, секој managed code програмер во апликација мора да го реши со Platform Invocation Services (PInvoke) повици во native API за да пристапи до функции кои се овозможени од платформата но не преку managed API. Имајќи општо познавање за својствата овозможени во native API на Windows Mobile кои недостигаат во Windows CE може да ви помогне да изберете платформа. За да се пристапи до API, мора да се користи PInvoke за да повика функции во native API или да се користи managed API од други програмери (third-party managed API), какоOpenNETCF managed врапери кои ефективно ја прават целата PInvoke работа за вас.

Има премногу разлики во native API-и за да се опишат сите. За да се разбере кои native API се достапни на Windows Mobile а кои не се подржани од Windows CE платформата, треба да се проучи дкументацијата за Windows Mobile SDK (развојното студио).

Избор на .NET Compact Framework Верзија

Од кога видовме кои се различните платформи, наредното нешто е која верзија на .NET Compact Framework треба да се избере? „Најновата верзија“ е вообичаениот одговор, но, но како и за многу други нешта кај овие уреди, не е така едноставно! Како програмер, избираме верзија .NET Compact Framework на која ќе ја развиваме нашата апликација. Ако избереме верзија 1.0, тогаш може да се надеваме дека нашата апликација ќе работи на повеќето уреди бидејќи верзијата 2.0 и подоцнежните од .NET Compact Framework runtime работат апликации кои биле наменети за предходните верзии. Меѓутоа, ако го напишеме кодот со својства кои се одлика на .NET Compact Framework 2.0, таа верзија од .NET Compact Framework runtime мора да биде инсталирана на уредот за да може оваа апликација да работи.

Page 10: LBS_Diplomska

Верзиите од .NET Compact Framework runtime кои се подржани од различни мобилни платформи се илустрирани на слика 1.4. 3

Слика 1.4: Подржани платформи за различни .NET Compact Framework верзии

Microsoft не произведува мобилни уреди, но го доставува софверот за таквите уреди. Како дел од договорот за лиценците, производителите на уреди кои користат Windows Mobile софтвер мора да се согласат на преинсталирање на .NET Compact Framework runtime на сите Windows Mobile-базирани smartphone-и и Pocket PC-ја. Меѓутоа, бидејќи е потребно многу време за дизајн и претсавување на нов уред, можноста за новата верзија на runtime на овие уреди на пазарот заостанува зад издавањето а софтверот на Microsoft.

На крајот на 2006, мноштвото на уреди кои се користеа, вклучувајќи ги тие кои работат на Windows Mobile 5.0, имаа .NET Compact Framework 1.0 SP3 runtime преинсталиран, иако се почесто се случува version 2.0 да има на уредитекои излегуваат на пазарот. Ако уред има верзија 1.0 инсталирана, може да се инсталира верзја 2.0 покрај неа. Меѓутоа, ако апликацијата бара .NET Compact Framework 2.0 но ако уредит има само верзија 1.0 инсталирано, или корисникот мора да ја симне и да ја инсталира верзијата 2.0 runtime пред да ја инсталира апликацијата или мора да се дистрибуира .NET Compact Framework 2.0 redistributable со вашата апликација.

Сликите 1.5, 1.6 и 1.7 илустрираат типични конфигурации со кои ќе се сретнеме со комерционално достапни уреди. Слика 1.5 покажува Pocket PC уред кои има Windows Mobile 2003 Second Edition инсталирано. Овие уреди обично или немаат .NET Compact Framework инсталирано во нивната read-only memory (ROM) или имаат верзија 1.0 SP2 или SP3 фабрички инсталирано на ROM (од каде се копира во random access memory [RAM] од самиот оперативен систем). Може да се инсталираат понови верзии од .NETCompact Framework или Microsoft SQL Server runtime во RAM за да работат покрај било која верзија која е веќе на уредот.

3 Сликата не претставува точна временска линија за претставувањето на различни мобилни платформи (на пример Windows CE 5.0 беше издаден порано од Windows Mobile 5 оперативниот систем) но е треба да ја илустрира run-time подржката.

Page 11: LBS_Diplomska

Слика 1.5: Вообичаена конфигурација на уред кој работи на Windows Mobile 2003 Second Edition

Слика 1.6: Вообичаена конфигурација на уред кој работи на Windows Mobile 5.0

Слика 1.7: Вообичаена конфигурација на уред кој работи на Windows Mobile 6.0

Слика 1.6 покажува вообичаена конфигурација од уред кој раоти на Windows Mobile 5.0. На овие уреди, општо може да се најде .NET Compact Framework 1.0 SP3 инсталиран на ROM. Повторно, може да се инсталира верзија 2.0 од framework на уредот покрај веќе постоечката верзија.

Уште една промена која претставува проблем е справувањето со промените во регстрите. Регистарот, исто така е постојан во flash меморијата, но бидејќи брзиот пристап до регистрите е важен за добри системски перформанси, Windows Mobile одржува RAM-базиран кеш кој се користи за сите операции со регистрите. Кога и да направиме промена на својството во регистарот, таа промена се однесува на RAM-

Page 12: LBS_Diplomska

базираниот кеш и само се вчитува перзистентно периодично од оперативниот систем за да се зачува неговата состојба. Windows Mobile тимот многу вложил во флешување на регистарските промени кога и да е потребно за да се избегне загуби на податоци (updates), но сепак има ситуации кога ќе го промениме регистарот и ќе го ресетираме уредот, губејќи ја промената. Програмерите можат да изнудат флешување со повикување на RegFlushKey native API функција.

Уредите кои работат на Windows Mobile 6, може да се најде .NET Compact Framework 2.0 SP1 или понови верзии инсталирани на ROM, како шро е прикажано на Слика 1.7. Исто така може да се најде и SQL Server 2005 Compact Edition runtime преинсталирана така што сите run-time компоненти кои се потребни за повеќето од аликациите се веќе на вашиот уред. Ако сакате ад користите некоја идна верзија на .NET Compact Framework, како на пример 3.5, може да се инсталира покрај постоечката на ист начин како и на предходните верзии.

Разлики во зачувување на податоците помеѓу Windows Mobile 2003 иWindows Mobile 5.0

Хардверот на Pocket PC уредите поминал низ значителни промени со преминување одWindows Mobile 2003 до Windows Mobile 5.0, како што е прикажано на Слика 1.5 и 1.6. Сите уреди имаат ROM за да ги чуваат фабрички инсталираниот оперативен софтер и друг преинсталиран софтвер, и да работи со овој софтвер тој се копира на RAM-програмска меморија-од оперативниот систем. На уредите кој работат на Windows Mobile 2003 и предходни верзии, file system (датотечниот систем), вклучувајќи го просторот каде се чуваат апликациските извршни фајлови и обичните фајлови сите се чуваат во RAM, така што достапниот RAM е поделен на програмска меморија и на file system. Граничната линија помеѓу нив ја поставува оперативниот систем на Pocket PC-јата, иако има Control Panel опција која овозможува да се помести границата во една или во друга насока со цел да се влијае на алокацијата на просторот. Во Windows CE, оперативниот систем не се обидува да ја менаџира оваа поделба; туку може рачно преку Control Panel или програмерски да се нагоди.

Во Windows Mobile 5.0 за Pocket PC, оваа слика се менува драматично. Овие уреди го имаат истиот ROM регион за преинсталиран софтвер, и имаат RAM за програмскатамеморија да може да работи со оперативниот систем и апликациите. Меѓутоа, тие исто така содржат регион од flash меморија каде е сместен file системот. Не постои Control Panel опција или мемориски подвижен граничник кој би се користел за алоцирање на меморија4.

Важен ефект кој се добил со додавање на flash меморија е дека може да се потроши целата меморија на Pocket PC уредот и да не се изгубат сите инсталирани апликации или податоци: flash меморијата не и треба електрична енергија да ги запамти податоците кој се запишани на неа. Податоците кои се зачувуваат на RAM-базирани мемории на уреди кои работат на Windows Mobile 2003 им е потребно многу мало количевство на електрична енергија за да ја зачуваат својата состојба, дури и кога уредот е исклучен. Кога батеријата комплетно ќе се потроши, RAM-базираните податоци се бришат и корисникот мора да ги врати податоците и апликациите од

4 Smartphone 2003 го користи овој модел од самиот почеток.

Page 13: LBS_Diplomska

резерва копија (backup) или да ги реинсталира. Компаниите потрошиле многу време преинсталирајќи соодветен софтвер и ресетирајќи ги регистарските нагодувања на уредите кои работат на Windows Mobile 2003 за да ги доведат во функционална состојба по истрошената батерија, но благодарение на flash-базираните податоци, оваа цена и напор не се повеќе потребни.

Исто така треба да се спомене дека flash-базираниот file system вовел неочекуван предизвик на програмерите. Потребно е повеќе време да се запише на flash меморијата отколку што за во RAM, иако е многу побрзо отколку обичен hard disk drive кај десктоп компјутерите. Ако имаме код кој запишува многу во file system-от и работел задоволително на уредите под Windows Mobile 2003, може да работи уште поспоро со истиот код на уредите под Windows Mobile 5.0. Треба да се преработи тој код за да прави повеќе кеширање пред да запише податоци во file. Вградените апликации како на пример Word Mobile и SQL Server 2005 Compact Edition database се оптимизирани да работат добро со flash-базирани file мемории, и треба посебно да се посвети внимание на оптимизација на апликациите.

Уште еден неочекуван ефект од користењето на flash-базирана file меморија се случува кога меморијата ќе се наполни. Flash меморијата брзо се троши ако постојано се запишува на истата физичка локација во меморијата. За да се спречи ова да се случи,file system драјверите постојано запишуваат на различни локации во меморијата иодржуваат логичка мапа за да следат кој блокови се зафатени. Како што се полни flash меморијата, драјверите мораат да работат се понапорно за да лоцираат слободна меморија, и така запишувачките перформанси се деградираат значително-некогаш и до 70 пати. За да се оптимизираат перформансите на flash меоријата, треба да се одржува многу слободен простор во делот за податоци5.

.NET Compact Framework Сервисни Пакети (Service Packs)

Microsoft претставил три сервисни пакети за .NET Compact Framework 1.0 и, до овој момент, два сервисни пакеи за верзијата 2.0. Може да се инсталира сервисен пакет покрај предходната верзија. На пример, ако вашиот уред има .NET Compact Framework 2.0 инсталиран во ROM, може да се инсталира верзија 2.0 SP2 покрај неа. Во основа апликацијата ќе работи во верзијата на runtime во која таа е компајлирана или, ако таа верзија не е инсталирана на вашиот уред, ќе побара некоја понапредна верзија, иако може да се предефинира ова однесување со користење на конфигурациските податоци.

Се на се, сервисните пакети ги решаваат проблемите со кој се откриле за време на runtime или предходно, но Microsoft често користи сервисни пакети како начин да претстави (ограничена) нова финкционалност. На пример верзијата 2.0 SP1 реши некој проблеми но исто така и ја прошири подржката за повеќе платформи и претстави нови алатки за програмерите, вклучувајќи го и слeдново:

Официјална подржка за верзијата 2.0 апликациите кои работат на Windows CE .NET 4.2.

5Сликите 1-6 до 1-8 вообичаени соодветни конфигурации на уредите. Специфичната верзија на .NET Compact

Framework и/или SQL Server 2005 Compact Edition останува на производителот на уредот, според тоа можат да се најдат вариации

Page 14: LBS_Diplomska

Додава поткрепа за работење на .NET Compact Framework 2.0 апликациите без монитор (екран); такви се некои специјални Windows CE.

Воведува Remote Performance Monitor алатка која може да се користи за да се следат перформансите на апликациите во реално време.

Верзијата 2.0 SP1 исто така воведува ново програмерско искуство: можност да се пренапише исцртувањето на ќелиите во DataGrid контролата за да се изврши кастомизиранo цртање.

Разлики помеѓу .NET Framework 2.0 и .NET Compact Framework 2.0

Многу често се случува да наидеме на пост од десктоп програмери кои за прв пат програмираа во .NET Compact Framework и откриваат дека нивните омилени класи кои често ги користат, ги нема во .NET Compact Framework Base Class Libraries (BCL). Тие го изразуваат ова велејќи дека .NET Compact Framework е многу „ограничено“.

Всушност, .NET Compact Framework таму каде што е навистина потребно и не е потребно. Точно е дека повеќето специфични класи може да недостигаат, или ќе треба да се програмира некој дел кој што десктоп framework-от веќе го обезбедува. Но важните класи, методи, и својства се тука, така што десктоп и мобилните програмери можат да уживаат во конзистентно искуство и ќе можат да го пренесат своето знаење лесно помеѓу двата framework-а.

.NET Compact Framework е компатабилно подмножевство од целосното .NET Framework. За да одговара на содветната природа на уредите на кои и работи, .NET Compact Framework имплементира околу 30 проценти од класите и методите од целосниот framework. Целосниот .NET Framework има минимум од околу 40 мегабајти (MB), што не е соодветно за мобилните уреди кои типично имаат мемориски капацитет од околу 32 MB до 128 MB. Мобилниот уред обично е и напојуван од батерија и имам лимитиран RAM (вообичаено 64 MB). За .NET Compact Framework треба посебен run-time engine (околина) за да работи добро во оваа захтевна компјутерска околина. Во мобилното програмирање, како и во сите гранки на програмирањето, секоја година процесорската моќ и меморискиот капацитет се зголемува, но во мобилниот свет секогаш се оди да се најде компромис за да се добие помала потрошувачка на батеријата. Големината и функционалноста на .NET Compact Framework исто така ќе се зголеми со секое ново издавање (зафатнината се зголеми од 1.5 MB до околу 4 MB во движење од верзија 1.0 до верзија 2.0), до ограничувањата на уредите ќе осигураат да остане како подмножевство на целосниот framework.

Класите се исклучени од .NET Compact Framework за две главни причини:

Тие ги изложуваат Windows системските сервиси кои се достапни на десктоп верзиите од Windows но не и во Windows CE. На пример, ASP.NET класите, на кои им треба Microsoft Internet Information Server (IIS) за да ги имплементираат своите сервиси, се исклучени од .NET Compact Framework.

Тие се или премногу големи или премногу обемни за пресметка што ги преви скапи за имплементација, и алтернативи постојат. Важно дизајнерски за .NET Compact Framework е да остане големината што е можно помала и да се ограничат барањата од процесорот (CPU) за да се спаси енергијата од батеријата. Според тоа, .NET Compact Framework ја исклучува и

Page 15: LBS_Diplomska

функционалноста како Remoting и Extensible Stylesheet Language Transformations (XSLT).

Слика 1.8 го покажува на високото ниво генерално на namespaces во целосната .NET Framework. Тие кои не се имплементирани во compact се затемнети.

Слика 1.8: Целосните .NET Framework namespaces и тие кои се отсутни од .NET Compact Framework

На Сликата 1.8, присуството на namespace во двете имплементаци не значи дека сите класи, методи, енумрации, и интерфејси се наоѓаат и двете. .NET Compact Framework namespace содржи помалку класи, и класите кои постојат можно е да не ги имаат вклучено истите соодветни методи како класите во целосното .NET Framework.

System.Net и System.Net.Sockets namespaces содржат класи кои се наоѓаат само во .NET Compact Framework и кои овозможуваат инфрацрвена (infrared) комуникација. System.Data.SqlServerCE namespace не оди стандардно со BCL од .NET Compact Framework бидејќи е имплементирано во помошните библиотеки кои доаѓаат со SQL Server 2005 Compact Edition датабазата. На сликата 1.8 не се покажани Microsoft.WindowsMobile namespaces кои ги содржат managed класите кои се користат за работа со специфичните функции на уредите под Windows Mobile 5.0, како на пример состојбата на системот и Outlook Mobile задачи, контакти и e-mail. Иако овие се managed библиотеки за користење на .NET Compact Framework, сепак програмерите

Page 16: LBS_Diplomska

ако сакаат да пишуваат код за некоја ретка функционалност, овие не се дел од .NET Compact Framework.

Класите во .NET Compact Framework кои имаат исто име како и класите во целосното .NET Framework се дизајнирани да бидат шематски компатабилни со соодвените класи од целосниот .NET Framework, што осигурува дека ако метод или класа се појави во двете framework-а, техниките за справување остануваат исти. Всушност, и кодот на .NET Compact Framework, не е толку специфичен, со значење дека ако земеме апликациски код кој е напишан за или во .NET Compact Framework BCL и пробаме без модификации да го пуштиме на компјутер кој користи целосен .NET Framework, се додека тој е пишуван за стандарден уред кон нема никакв поспецифични барања или функционалности, како на пример тие во Microsoft.WindowsMobile namespace-от. Меѓутоа, обратното не е точно: не може да работи код кој е компајлиран во целосниот .NET Framework за во .NET Compact Framework.

Апликациски Конфигурациски Фајлови

Во целосниот .NET Framework, System.Configuration namespace содржи класи кои и дозволуваат на апликацијата да чита или да запишува поставки запишани во Extensible Markup Language (XML) конфигурациски фајлови. Зачувување на константи се одвива во надворешни фајлови, наместо во вградени делови (фајлови) од кодот кој дозволуваат полесна реконфигурација понатаму. На пример, вообичаена употреба на ова е кога треба да се запамти конекциски стринг до база на податоци. Ако assembly името е MyAssembly.exe, името на конфигурацискииот фајл е MyAssembly.exe.config и е лоцирано во истиот директориум како и асемблито(assembly).

.NET Compact Framework не вклучува вградена подржка за читање во конфигурациски фајлови. Меѓутоа, runtime ќе прочита конфигурациски фајл за да ги побара директивите за да ги присили апликациите кои биле компајлирани на постара верзија на .NET Compact Framework runtime да работат на понова ако двете постојат на уредот. На пример, ако имаме апликација наречена AppA која била компајлирана во верзија 1.0 SP3 и друга наречена AppB компајлирана во верзија 2.0 SP1, во основа секоја апликација работи во онаа верзија на runtime во која и била компајлирана, се додека двете runtime-и се инсталирани на уредот. Ако само поновата верзија од runtime е инсталирана, двете апликации ќе работат користејќи ја верзијата 2.0 SP1 runtime, бидејќи секое ново издавање на runtime останува компатабилно со предходните. Меѓутоа, ако двете верзии од runtime се инсталирани на уредот, но би сакале да го промовираме методот AppA да работи на верзија 2.0 SP1 (ако сакаме да ги искористиме супериорните перформанси во споредба со верзијата 1.0), ова може да се направи со лоцирање на конфигурацискиот фајл AppA.exe.config во фолдерот каде апликацијата е поставена и го содржи следново, каде секоја линија претставува специфичен верзиски број на издаден runtime, од верзијата 1.0 на дното до 1.0 SP1, 1.0 SP2, 1.0 SP3, верзија 2.0, 2.0 SP1, и 2.0 SP2:

<configuration> <startup> <supportedRuntime version="v2.0.7045"/> <supportedRuntime version="v2.0.6129"/> <supportedRuntime version="v2.0.5238"/> <supportedRuntime version="v1.0.4292"/> <supportedRuntime version="v1.0.3316"/>

Page 17: LBS_Diplomska

<supportedRuntime version="v1.0.3111"/> <supportedRuntime version="v1.0.2268"/> </startup> </configuration>

Ако сакаме да ги користиме конфигурациските фајлови за зачувување на апликациски поставки исто како на десктоп .NET Framework апликациите, библиотеки за вакви намени постојат и во двете Mobile Client Software Factory и OpenNETCF Smart Device Framework.

Единечен кликСо целосната .NET Framework, може да се направат апликации со Windows Form на серверска или мрежна страна. Клиентите обично проверуваат за промени кога ќе се стартуваат, и исто така има опција за инсталирање на на апликацијата за работење на без интернет, или може да се конфигурира да биде цело време на интернет. Ова го воведува методот "deploy once, run on many clients"(една инсталација, за повеќе клиенти) згодно за Web апликациите до Windows Forms.

Единечен клик не е подржано од .NET Compact Framework.

Ngen.exe

Ngen.exe е алатка која се користи кај десктоп common language runtime (CLR) за да ги прекомпајлира assemblie во нормален код (native code) во време на инсталација, или уште позната како just in time (JIT). Ова води до побрзо стартување видејќи Microsoft intermediate language (MSIL) не треба да биде компајлиран до native code пред да работи. Опцијата за прекомпајлирање до native code не е овозможена во .NET Compact Framework главно бидејќи големината на assemblie компајлирани до native code ги надминува големината на истото assembly во MSIL. Општо, уредите за в рака не поседуваат глолема меморија за процесирање на фајлови. Pocket PC уредите немаат физички hard disk и мораат да ги чуваат сите програмски кодови кои не се преинсталирани во ROM туку во виртуелниот RAM, кој типично е од 32 MB или 64 MB, со некое додатно место кое е потребно за програмско извршување.

Remoting (Далечно најавување)

.NET Compact Framework не го подржува .NET Remoting. Ако треба да комуницирате со .NET компоненти кои што се на друг компјутер, треба да имплементирате XML Web Services façade за компоненти и на тој начин да пристапите до нив.

Serialization (серилизација)

Поради гелемината и перформансните критични одзиви, .NET Compact Framework не подржува серилизација на објекти користејќи го BinaryFormatter или SoapFormatterкласата во System.Runtime.Serialization namespace. Меѓутоа, подржува System.Xml. XmlSerializer класа за серилизирање на објекти до и од XML.

Печатење

Подржката за печатење е од интерест само на мал број на корисници на вакви уреди. Уредите за во рака, обично се користат за добивање и собирање на информаци и ретко потреба за печатен излез. Меѓутоа, потврда за сметка е едно сценарио во кое е

Page 18: LBS_Diplomska

потребна ваква функција. Windows CE не подржува печатење, и досега оваа функционалност е добивана од надворешни (third-party) апликации.

Во .NET Compact Framework, нема подржка за печатење од managed код. Ако сакаме да користиме infrared, Bluetooth, или сериски да поврземе печатар со соодветна апликација, надворешни апликации (third-party products) постојат (на пример PrintBoy и Zebra) кои содржат managed библиотеки кои овозможуваат печатење.

Web Forms

System.Web namespace во целосното .NET Framework ги содржи сите ASP.NET класи (System.Web.UI.*), како и тие класи кои служат и повикуваат XML Web Services. Опслужувачка Web содржина не е честа функција за овие уреди, и така овој дел од .NET Framework не е имплементиран во .NET Compact Framework. Windows CE-базираните уреди можат да служат како клиенти во ASP.NET апликазиите (или било која друга Web сервер технологија) со користење на Pocket Internet Explorer пребарувачот вкучен во уредот, но ова не бара присуство на уредот на било кои додатни run-time компоненти како што е .NET Compact Framework. На Web серверот, моѓже да се користи ASP.NET за да се развијат Web апликации наменети за Pocket Internet Explorer.

Разлики помеѓу .NET Compact Framework Version 1.0 и Version 2.0

Ако сте програмер со веќе некакво искуство во .NET Compact Framework 1.0, и сакате да дознаете што е ново во верзијата 2.0. Една од многуте јасни разлики е тоа што верзијата 2.0 на runtime е многу побрза од верзијата 1.0 runtime. Во 2005, на Microsoft Mobile and Embedded Developer Conference (MEDC) во Las Vegas, Richard Greenberg, менаџерот на .NET Compact Framework во Microsoft, одржа презентација во која тој ги опиша перформансните подобрувања постигнати со .NET Compact Framework 2.0. Дел од статистиката која ја даде за Pocket PC уредите со 400-megahertz (MHz) XScale процесори кои работат на Windows Mobile 2003 се прикажани на Слика 1.9 и 1.10.

Слика 1.9: Перформансни подобрувања во повиците на методи и garbage collection (поголемо е подобро)

Page 19: LBS_Diplomska

Слика 1.10: Перформансни подобрувања во вчитувањето на податоците(помало е подобро)

Како додаток на овие генерални подобрувања, верзијата 2.0 на .NET Compact Framework содржи многу нови можности во BCL. Овие подобрувања се дизајнирани за да ја зголемат програмерската продуктивност, да ја подобрат компатабилноста со целосната .NET Framework, и да ги направат полесни за употреба некои од специфичностите на мобилните уреди.

Windows Forms

Многу нови контроли се вклучени во верзијата 2.0. Една голема промена е подржката за кориснички контроли. Корисничка контрола (user control) е графичка компонента која може да се креира во Visual Studio. Откога user control ќе се креира, таа е видлива во Toolbox (алатките) и може да биде пренесена во Windows Form-ите. Како додаток на controls, .NET Compact Framework 2.0 подржува многу нови стандардни контроли:

MonthCalendar контрола е корисна за избирање на датум. DataGrid контролата постои и кај верзијата 1.0, но нејзината функционалност

многу се променила. Меѓутоа, сега е подржана и на Smartphone платформата како и на други платформи.

DateTimePicker уште една контрола за избор на дата, но DateTimePicker личи на text box кој корисникот може да го едитира директно, или корисникот може да клика на икона за да ја прикаже MonthCalendar контролата за да ја селектира датата.

DocumentList контролата постои само на Pocket PC и претставува начин за навигација низ фајл системот на уредот а може да извршува и акции како на пример Open, Close, Rename, Delete, и E-mail. Овозможува кориснички интерфејс сличен на стандардните File dialog boxes кој се вклучени во стандардните апликаци како на пример Word Mobile и Excel Mobile.

LinkLabel контролата прикажува link (врска) како hyperlink (хиперврска). Кога ќе биде кликната, го повикува Click event, сличен ан Button control.

Page 20: LBS_Diplomska

Notification контрола која е овозможена само на Pocket PC платформата и овозможува едноставен начин за програмерите да ја користат платформската Notification опција. Popup message box се повикува и може да се користи за да се пренесе информација, но може да содржи копчиња и врски кој би требало корисникот да ги искористи.

Splitter контролата се користи за да го подели екранот на различни променливи површини. Може да се покријат контролите во различни површини, кои можатда бидат со фиксна големина, или може да се програмира контролата за да му овозможи на корисникот на ги нагоди.

WebBrowser контролата може да се користи за пристап до прелистувачот на уредот од сопствената апликација.

Менаџирање на Изгледот и Уредувањето

Една од најчестите промени со кои се соочуваат програмерите за мобилни уреди е како да се справат со нестандардните големини и ориентации на екраните на уредите. Во минатото, големината и ориентацијата на екранот биле фиксни така што програмерот можел да го изгради корисничкиот интерфејс на апликацијата да работи на стандардден екран за Pocket PC или smartphone (се разбира Windows CE програмерите никогаш не уживале во тој ликсуз).

Денеска уредите доаѓаат со квадратест, портретен, или пејсажен екран во различни димензии. Некој уреди, користат портретна ориентација се додека не се извлече правоаголнестата тастатура, потоа екранот се менува во пејсажна ориентација. Како програмерот да креира кориснични интерфејс на ваков уред?

Docking и Anchoring

.NET Compact Framework 2.0 подржува docking (е само скривање, повлекување) и anchoring (памти позиција во однос на нешто) на контролите за да им помогне на програмерите да изработат прилаготлив кориснички интерфејс. Можете да dock контрола спроти работ на родителската контрола, како Form или Panel. Docked контролата ќе се заклучи на работ на родителот, пополнувајќи го работ. Кога родителската котрола ќе се промени, и dock контролата автоматски ќе се промени така што секогаш ќе го исполнува работ на родителската контрола. Контролите исто така може да се dock за да го исполнат целиот родител.

Anchoring е слична опција. Anchored контрола не е во директен контакт со работ на својот родител меѓутоа одржува фиксна дистанца од неговите рабови. Кога родителската контрола се промени, anchored контролата автоматски ќе се промени така што anchored страните на контролата останат на исто растојани е со соодветните стрни на родителската контрола.

Автоматски „лизгачи“ (Scrollbars)

Ако docking и anchoring не се доволни за да се адаптира корисничкиот интерфејс за да работои во различни ориентации, и некои контроли се позиционирани надвор од видливиот простор, може барем да се нагоди runtime за да додаде лизгачи автоматски на дисплејот тѕака што корисникот ќе може да се движи низ видливиот простор. За да

Page 21: LBS_Diplomska

се додадат лизгачите автоматски, треба да се подеси AutoScroll својството на Form или Panel контролата на true.

Справување со Screen Resolution

По ново, мобилните уреди доаѓаат со различна резолуција на екранот. На промер, Pocket PC секогаш користел екрани кои биле 320 × 240 пиксели (QVGA), но денеска голем број на уреди се достапни со 420 × 680 (VGA). Ако сме развиле апликација за Quarter VGA (QVGA) дисплеј, како ќе изгледа на Video Graphics Adapter (VGA) display? Едниствено може да се дознае ако се тестира, и Visual Studio ги овозможува и двете QVGA и VGA емулаторите.

Од програмерска гледна точка, може да се нагоди AutoScrollMode својството на контејнерот на контроли како на пример Form или Panel за AutoScrollMode.Dpi, кои прави сите деца контроли на контејнерот да бидат скалирани за да одговарат на резолуцијата на дисплејот, дури и ако контролата е оргинално дизајнирана за различна резолуција. Исто така може да се дознае при кревање на апликацијата кои се хоризноталните и вертиланите точки по инч од моменталниот дисплеј со земање на DpiX и DpiY својствата од Graphics објектот.

Tab Подржка и управување со Тастатура

Уште едно важно подобрување поврзано со тоа како корисникот се справува со корисничкиот интерфејс е подржката за тастаури, кои стануваат се почести на уредите. Контролите на формата сега имаат tab распоред (опција која беше додадена во .NET Compact Framework 1.0 SP2) така што корисникот ќе може да го користи Tab копчето за да се движи помеѓу контролите. Контролите исто така сега имаат KeyUp, KeyDown, KeyPress, и KeyPreview настани. Може да се користи KeyPreview настанот за да се да се се пресретнат притискања на копче, и ако сакаме, да се нагоди KeyPressEventArgs.Handled на true да се спречи настан од копче да биде пренесен на контрола.

Податоци

Справување со бази на податоци добило многу напредок. System.Data.SqlClient класите за навлегубање во SQL Server базите на податоци биле засилени да работат со SQL Server 2005 databases, како и пристапот до оддалечена база и спојување на функционалноста на репликации. System.Data.SqlServerCe класите за пристапување до базите на уредот работат само со SQL Server 2005 Compact Edition (порано SQL Server 2005 Mobile Edition) и не со SQL Server CE 2.0. SQL Server 2005 Everywhere Edition е многу побрзо, многу надежна база отколку SQL Server CE 2.0 и вклучува многу подобрувања, како подржка за повеќе од една конкурентска конекција. Меѓутоа, најдобрата иновација е SqlCeResultSet, која е како ажурирачки читач на податоци, кој дава многу брзи резултати од query и ажурирачки перформанси.

Ако работиме со datasets, може да се повика GetChanges методот за да работи само во редовите кој се промениле, што е корисно кога сакаме да го минимизираме мрежниот сообраќај и да се праќаат само податочни промени на сервер. Комплементарно на ова е Merge методот кој може да се користи за да се спојат едно dataset со друго, на пример да се спојат променетите редови со главното dataset.

Page 22: LBS_Diplomska

DataBinding класата е достапна за да се направи спојувањето полесно помеѓу databound контролите како на пример DataGrid и податочниот извор како на пример SqlCeResultSet, DataSet, или колекција. DataBinding класата ги открива методите за да ја постави позицијата на моменталниот запис во податочниот извор и ги открива променетите настаните.

Комуникации

.NET Compact Framework 2.0 ја подржува SerialPort класата која програмерите на managed код може да ја користат за контрола на комуникацијата со други уреди преку сериска порта. Исто така подржува и Microsoft Message Queuing (MSMQ), кој е одличен начин за доверлив пренос на пораки до и од уреди во локална мрежа (LAN) и од уреди до сервер преку Интернет.

COM Interop

Може да се користи COM interop во .NET Compact Framework 2.0 за да користи native Component Object Model (COM) компоненти од нашиот managed code или да креира нови компоненти користејќи користејќи managed code.

Графичко програмирање

Ако саостојно ги цртаме нашите апликации, ќе најдеме нови методи за работа со битмапи и за зачувување на битмапи во фајл или стрим. Исто така може да се црта текст користејќи ја LogFont класата, која подржува цртање на текст под било кој агол. Верзијата 2.0 исто така подржува и различни моливчиња со кои ние може да сги специфицираме бојата и големината.

За напредно графичко програмирање, .NET Compact Framework 2.0 вклучува подржка за Microsoft Mobile DirectX и Direct3D Mobile API. Првата од ове е подржана на сите платформи додека втората само на уредите кои работат на Windows Mobile 5.0 или понови.

Безбедност

.NET Compact Framework 1.0 не подржува ниедна managed класа за енкрипција. Верзијата 2.0, од друга страна, овозможува напредна подржка за криптографија, вклучувајќи MD5 и SHA1 хаширање; RC2, RC4, Triple DES (3DES), Data Encryption Standard (DES), и Rijndael (како што се користи во U.S. Federal Government Advanced Encryption Standard) symmetric encryption; и RSA asymmetric encryption.

.NET Compact Framework 2.0 подржува NTLM и Kerberos автентикација, како и digest (кратка) автентикација исто подржана во верзијата 1.0, за праќање на веродостокни информации низ мрежа кои бараат автентикација (потврда).

Нитки (Threading)

Верзијата 1.0 од .NET Compact Framework овозможува ограничена порджка за повеќенитковско програмирање но му недостасуваат некои битни својства како на пример способноста за прекинување на работата на нитките. Сите нитки се во преден

Page 23: LBS_Diplomska

план, што значи треба да бидеме претпазливи за да осигураме дека нитката работник (worker) ќе излезе; бидејќи ако не апликацијата не може да заврши.

Повеќенитковско програмирање секогаш е осетлива програмерска активност која бара внимание, но таа улога е намалена во верзијата 2.0 со можноста за кеирање на позадински нитки. Позадинските нитки завршуваат кога главната програма ќе заврши. Исто така може да се користи и Abort методот за терминирање на нитки, и може да блокирате чекање на нитка за да излезе со користење на Join методот.

Надгледување на перформансите

Во верзијата 1.0 од .NET Compact Framework, тешко е да се дијагностицираат перформанските проблеми бидејќи едиствената алатка за дијагноза која може да се имплементира е сетирање на регистарски клуч за да предизвикува во runtime собирање на разни статистички сигнални податоци на интерните бројачи и и да се ослободи од податоците во фајл кога апликацијата ќе излезе.

Во верзијата 2.0, бројот на бројачи кои се надгледуваат е значително зголемен. Исто така, сервисниот пакет 1 вклучува Remote Performance Monitor алатка која може да се користи за надгледување на бројачите во реално време и дури да се прикажат резултатите во Windows Performance Monitor на нашиот компјутер.

.NET Compact Framework Version 3.5

Овој проект е работен со .NET Compact Framework 2.0. Меѓутоа, во времето на развивање на апликацијата, веќе беше достапна и наредната верзија, верзија 3.5. Верзијата 3.5 е вклучена во наредното издание на Visual Studio. Затоа на кратко најновите својства:

Compact Windows Communication Foundation (WCF) ова овозможува мобилните уреди да учевствуваат во дистрибуирани апликации кои користат WCF за доверливи комуникации. Имплементацијата вклучува Hypertext Transfer Protocol (HTTP) транспорт за доверливи мрежи, имплементација на WS-Security за безбедносен пренос на пораки, и можноста за користење на e-mail како транспорт на пораки преку недовреливи мрежи, користејќи го Microsoft Exchange Server 2007 за зачувај и препрати. Овој развој ветува дека ќе обезбеди решение на проблемот на праќање на непотпишани пораки на мобилни уреди кои се поврзани со мобилна операторска мрежа, понекогаш тоа е многу тешко, од архитектурата на мрежата која е применета, што ја прави проблематична за да се отвори Transmission Control Protocol/Internet Protocol (TCP/IP) конекција до уред, освен ако уредот не ја иницира конекцијата прв. WCF користејќи e-mail податочен канал има предност со тоа што ја користи можноста за push e-mail кое е својство на Windows Mobile-уредите кои се конектирани на Exchange Server.

Compact Language Integrated Query (Linq) Linq е името а новите query способности кои се додадени во Microsoft Visual C# и Visual Basic јазиците за да овозможат полесно справување со колекциите. Имплементацијата на Linq во .NET Compact Framework 3.5 е подмножевство од десктоп .NET Framework

Page 24: LBS_Diplomska

имплементацијата и подржува query на datasets и XML, но не во SQL Server или SQL Server Compact Edition база.

Компатибилност со десктоп .NET Framework: голем број на нови функции се добиени од имплементациите на веќе постоечките од десктоп .NET Framework, вклучувајќи и го следното:

SoundPlayer (уште и мешање на уреди) CreateGraphics подржка за посебно цртање на TabPage, Panel, Splitter,

и PictureBox контролите Можноста да се промени BackColor на контролите замо за читање Додавање на SelectionStart и SelectionLength својства на ComboBox System.IO.Compression подршка во фајл влез/излез (I/O) и

комуникација Плоширување на PlatformID класата за да вклучува енумерации за

Smartphone и Pocket PC Нови алатки за Remote Performance Monitor, кој за прв пат биле претставени

како засебна алатка во .NET Compact Framework 2.0 SP1, сегаш е целосно интегрирани во Visual Studio. Исто така има нова CLR Profiler алатка која ќе овозможи графички дисплеј од објектни алокации, хистограми од живи објекти категоризирани по години, и слични информации за меморискиот менаџмент на CLR.

Logging напредувања се направени за interop логирања и за finalizer логирања, вклучувајќи го и редоследот по кој finalizers се вклучуваат и тајмингот. Log фајловите може да се читаат при кревање, но тие се заклучени додека апликацијата работи.

Debugging напредувања дебагерот ќе престане на точната локација на исклучоци со кои не е спревено во кодот, наместо на Application.Run.

На страна од новите можности на .NET Compact Framework runtime, Visual Studio 2008 (Orcas) исто така содржи верзија 3.0 од емулатор на уреди (Device Emulator), кој има многу подобрувања во перформанси и функционалност од предходно.

Using Community Resources

Развивање на апликација со .NET Compact Framework презентира два специфични предизвика:

BCL содржи само подмножевство од функционалностана целосното .NET Framework. Продукт групата во Microsoft одлучила што да имплементира и што да исклучи, и тие избори генерално биле добри. Сепак, некоја функционалност недостига која на прорамерите им била од голема помош.

Развивање на апликации за мобилните уреди е предизвикувачки поради захтевната пресметковна моќ во која овие апликации работат: мрежните конекции можат да бидат прекинувачки или недоверливи, безбедноста е примарна грижа, поради ризик бидејчи урдот може да биде украден или изгубен, и за GUI програмерот, има проблеми со пишување на графички кориснички интерфејс кој ќе работи добро на квадратест, портретен, пејсажен и/или високо-резолуциски екран.

Како додаток на општествените извори, две софтверски библиотеки се достапни кои помагаат да се адресираат разни предизвици при развивање на мобилни апликации и

Page 25: LBS_Diplomska

кои стануваат важни алатки за .NET Compact Framework програмерот: Microsoft patterns & practices Mobile Application Blocks и OpenNETCF Smart Device Framework.

Microsoft patterns & practices Mobile Application Blocks

Mobile Application Blocks се дел од слободниот софтверски производ од Microsoft patterns & practices group наречена Mobile Client Software Factory. Ова ги охрабрува програмерите на мобилни апликации користејќи додаток наречен mobile Composite UI Application Block, или mobile CAB на кратко. Mobile CAB и релативно тешко да се прилагоди и е наменет за употреба во големи компании за развој на софтвер, но другите апликациски блокови може да се користат во било која .NET Compact Framework 2.0 апликација која работи на Windows Mobile 5.0 или поново.

Овие апликациски блокови вклучуваат исклучени сервисни агенти, кој прават да биде лесно да се повика Web сервис на уред поврзан со недоверлива мрежа; Mobile Configuration Application Block, ја имплементира подржката за апликациски конфигурациски фајлови; и mobile Password Authentication Application Block, што прави лесно да се гради солидни верификации на лозинки и да се енкриптираат и декриптираат осетливи податоци како конекциски стринг до база на податоци или корисничко име и лозинка. Може да се користи и Orientation-Aware контролата за да се развие UI кое ќе се прилагоди автоматски на промените на ориентација на екранот. Mobile Client Software Factory доаѓа со целосен изворен код така што ние ќе можеме да го модифицираме да го прошириме за да ги опшати нашите потреби.

OpenNETCF Smart Device Framework

Smart Device Framework (SDF) почнал како проект со отворен код од група MVP (Microsoft Most Valuable Professionals) со цел да се пополнат недостатоците во .NET Compact Framework 1.0. нивните библиотеки еволуорале со време и сега имплементираат многу класи кои се во целосниот framework а кои недостасуваа во .NET Compact Framework и исто така вклучуваат многу корисни додатни библиотеки.

Најдоброто од се е верзијата 1. x од OpenNETCF SDF која е бесплатна и се доставува со целосно отворен код. Нема подобар извор за тоа како да се напишат добри библиотеки, или поточно како да се користи PInvoke за да се повика Microsoft Win32 API!

Page 26: LBS_Diplomska

Windows Mobile 5.0

Предпоследната верзија на Microsoft Windows Mobile е Windows Mobile 5.0. Windows Mobile се содржи посебно уреден Windows CE оперативен систем; Microsoft .NET Compact Framework (runtime и класни библиотеки); множевство на алатки и API за произвоство на native код; емулатор на софтвер за уредот; и за програмерите, IDE (Integrated Development Environment) компонента за Visual Studio 2005.

Windows Mobile 5.0 се базира на Windows CE .NET 5.0 оперативниот систем. Како дел од Smartphone понудата, Microsoft исто така нуди Smartphone 2005 SDK за ISV(independent software vendors). Програмерите може да го користат Smartphone SDK заедно со Visual Studio 2005, програмеркста алатка од Microsoft, за .NET Compact Framework-базиран managed код. Smartphone SDK исто така дозволува C или C++ unmanaged апликации, подобрувајќи го Win32 API користејќи Microsoft embedded Visual C++ (eVC). Наредната верзија на Windows Mobile се нарекува Windows Mobile 6.0 се сега за сега кодното име му е Photon.

Windows Mobile 5.0 го унифицира развојот на апликацајата за Smartphone и Pocket PCсо тоа што го овозможува истото Win32 API и можевство на развојни алатки. За разлика од предходните верзии на Windows Mobile, Windows Mobile 2003, кој не дозволува програмерите да користат SQL Server CE во Smartphone апликациите, сега и двете Pocket PC и Smartphone платформите ја искористуваат предноста од заедничките множевства на податочни сервиси кои ги овозможува SQL Server 2005 Mobile Edition, следното издание на SQL Server CE. Понатаму, двете платформи го делат истиот безбедносен модел и истиот инсталер на апликации. Унификацијата на овие две платформи се одразува на Microsoft-овата мобилна платформска стратегија како одговор на неизбежната конвергенција на овие два типа на мобилни уреди.

Windows Mobile 5.0 овозможува нов стандардизиран WinCE API, вклучувајќи мултимедијално API кое подржува Windows Media 10 Mobile, Direct 3D Mobile API, нов GPS API, DirectDraw API, и camera API. Овие API-а значајно ја прошируваат функционалност на Windows Mobile уредите и нудат подобрено корисничко искуство. Од друга страна, managed апликациите на Windows Mobile 5.0 се подржани бидејќи уредот доаѓа со .NET Compact Framework 2.0 и овозможува множевство на .NET managed API за пораки и телефонија, кои не се достапни во .NET 1.0 и 1.1.

Развојот на апликациите за Windows Mobile 5.0 може многу да се подобри со новите верзии на Microsoft IDE, Visual Studio 2005 и 2008. Емулаторот во Visual Studio 2005 е пренапишан за да го елиминира пропустот помеѓу емулацијата и физичкиот уред. Понатаму, двата и managed и unmanaged кодот може да се проба во Visual Studio 2005 околината. Не е потребен посебен емулатор. Додатно, Visual Studio 2005 вклучува голем број на подобрувања на form дизајнерот и развојните алатки, како и целосна програмерска и дебагирачка подршка.

Page 27: LBS_Diplomska

Преглед на Windows Mobile 6.0 за PPC (Pocket PC) (Crossbow) Оперативниот Систем

Во ова поглавје ќе го претставам оперативниот систем од Microsoft со кодно име „Windows Mobile Crossbow“. Ова име понатаму е променето во комерцијално издание „Windows Mobile 6.0“. на почетокот на предходната верзија од Windows Mobile, компанијата воведе пракса нов пристап во именувањето и идексирањето, така што сега кодните имиња се заменети со бројка, како на пример „5.0“, „6.0“. Интересно, до сега втората бројка досега не се појавила, со други зборови, немаше Windows Mobile 5.2 или 5.3, поради тоа што сите меѓуверзии (надградувања) и закрпи (patch) беа претставени преку различни верзии од AKU (Adaptation Kit Update) како надградувачки пакети.

Сепак, новиот оперативен систем би можел да се нарече „Windows Mobile 5.0 Second Edition“ поради тоа што му недостигаат многу сосема нови работи или преправки во организацијата на системот како што беше случајот со Windows Mobile 5.0. Најзначајните подобрувања ќе дојдат со наредната верзија, кои се развиваат под кодното име „Windows Mobile Photon“ кое е закажано да излезе за помалку од две годиини од Windows Mobile 6.0. Поради притисокот од издавање на нови производи во опсегот на софтверот, вклучувајќи го MS Windows Vista, MS Office 2007, MS Exchange 2007, Microsoft немале подобар избор отколку да издадат надградена верзија од Windows Mobile. Повеќето од новите функции на Windows Mobile 6.0 се со цел да обезедат подршка за MS Exchange 2007. Со Crossbow сеуште постои истата поделба -WM за Pocket PC и WM за Smartphone, која ќе исчезне со WM Photon. Понатаму во ова поглавје ќе го разгледаме Pocket PC верзијата.

За почеток да ги резимираме кодните имињата кои се дадени на предходните верзии и нивните издавачки дати.

Windows Mobile 6.0 – Crossbow – 12 Февруари 2007; Windows Mobile 5.0 – Magneto – 10 Мај, 2005; Windows Mobile 2003 Second Edition – Ozone Update –24 Март, 2005; Windows Mobile 2003 – Ozone – 23 Јуни, 2003; Pocket PC 2002 – Merlin – 4, Октомври, 2001; Pocket PC 2000 (Palm-size PC v2) – Rapier – 19 Април, 2000; Palm PC v1.0/1.2 – Gryphon/Wyvern – 8 Јануари, 1998 (3 месеци подоцна Palm PC беше

преименуван во Palm-size PC).

„Crossbow“ е оружје кое е нанишането кон противниците. Но што точно сосема нови својства се претставени од Microsoft кои би биле толку опасни оружја за конкуренцијата и зошто тие функции се појавиле. Така, многубројни подобрувања и надградувања има за Outlook Mobile кој е поставен да работи со новата верзија од MS Exchange; освежен outlook и звучни теми кои се инспирирани од Windows Vista; интеграцијата со Windows Live и нова апликација под името „Live Messenger Mobile“ –двата беа очекувани чекори; вградна подршка за VoIP – со ова е зададен удар на конкуренцијата, која веќе на некаков начин ги имплементирала овие својства и одговор на промената на барањата на пазарот; Smart Dial 2.0 интеграција во Pocket PC е само уште еден чекор на патот кон спојување на двете Windows Mobile платформи. И природно, WM Crossbow ги наследува сите надградби за Windows Mobile 5.0.

Page 28: LBS_Diplomska

Побарувањата за системот не се сменети - 32 Mb Flash ROM, и 32 Mb RAM. Иако вообичаените големини на меморија се 64 Mb ROM и 64 Mb RAM, со ROM големина до максимални неколку Gb, зависно од моделот. Новиот оперативен систем ги иа истите процесорски побарувања, но стабилно може да работи на процесор со околу 200 Mhz – меѓутоа Crossbow, остава впечаток дека работи побрзо, како и апликациите и алатките побрзо се вчитуваат. Всушност, работат за таа оптимизација почна уште со издавање на AKU 3.0, каде што се намали времето на стартување по обичен ресет.

Оперативниот систем се базира на стариот кернел Windows Compact Edition (WinCE) 5, додека шестата верзија веќе е најавена. Сосема новиот кернел за зголемува подршката за Direct3D Mobile (иницијално скроено за да работи со Wireless MMX – технологија подржана од Intel XScale процесорите од последната генерација), Windows Error Reporting, способност да функционира како USB drive без да бара корисниците да инсталираат драјвери, напредната подршка за Bluetooth и Wi-Fi. Благодарение на стариот кернел, и млите промени во интерфејсот не се потребни промени за адаптација на постоечките апликации, сите тие работат исто како и под Windows Mobile 5.0.

Генерални Промени

На прво стартување уредот бара да се постави лозинка (едноставна секвенца од четири бројки или повеќе, тајно прашање исто така може да се постави). Потоа ќе ви понуди да поставите mail преку wizard (исто така опција што се појави со WM 5.0 AKU 3.0), што е згодно за неискусен корисник, како и секогаш важните променливи опции вклучувајќи ја сигурноста.

Секоја од системските звуци и известувања целосно се променети, така што нема стари тонови.

Интерфејсот исто така претрпел некои промени иконите за апликациите се нови,така што сега изгледаат како 3D thumbnails. Но сепак, сите овие промени воопшто не се значителни, бидејќи воопшто не влијаат на ергономиката на уредот.

Х копчето во горниот ресен агол се уште нема поврзаност со исклучување на апликацијата, само ја минимизира. Самиот концепт на овој оперативен систем се потпира на фактот дека ОС одлучува кои програми се повикани од корисникот и кои треба да бидат терминирани како непожелни (Smart Minimizing концепт). За „Х“ навистина да исклчучи програма, треба да се нагоди со посебна програма. Старт копчето инатаму исто изгледа и ја има истат финкција. Во горниот лев агол се наоѓа „Старт“, статус линијата на десно останува непороменета – индикатор за конекции (GPRS, Wi-Fi, Active Sync), мрежен сисгнал, звук и време.

Контроли, податочен влез

Една од најголемите иновации на WM 5.0 е подобрената подржка за хардверски копчиња (вистински механички копчиња), вклучувањето на soft-keys (копчиња на екранот), значајно подобрување за механичка QWERTY-тастатура и најважно, повеќето акции може да се направат со една рака без стилото. Издадениот еднорачен менаџмент на Pocket PC остава простор за надоградување – сензитивноста на екранот со допир е морален за многу менија или апликации и нема никаков начин да се одбегне тоа. Без разлика, AKU надградбените пакети ја средувале ситуацијата се повеќе и

Page 29: LBS_Diplomska

повеќе со секоја нова ситуација, меѓутоа перфектен еднорачен менаџмент на уредот не е нешто за што Windows Mobile Crossbow може да се пофали – дури и овде употребата на стилото е неизбежна.

Може да се свесуваат податоци на повеќе начини – преку механичка QWERTY-тастатура (ако уредот има таква) или надворешна тастатура. Или преку HID Bluetooth профилот да се поврзе со Bluetooth тастатура.

WM 6.0 воведува подршка за кратенки од QWERTY-тастатурата и нумеричкиот додаток, така хто сега тие се слични со тие од десктоп верзиите на MS Outlook. На пример, додека гледаме писмо, со притискање на “2” и “R” се појавува Reply прозорчето, “4” и “F” ја прераќа пораката и “7” и “D” ја става порката во download листа. Јасно е дека со овие опции компанијата го спрема спојувањето со сродната платформа WM за Smartphone каде што вакви кратенки веќе постојат.

Предикција на текст (CompIME) е подобрена, сега после првата буква нуди повеќе сугестии, за разлика од првичните поставки кај WM 5.0 со кои се дава само еден збор, исто така одржува своја листа еден вид на речник од внесени нови зборови на корисникот, со други зборови системот учи нови зборови и еволуира како што пишува. Нова опција исто така е можноста да се избрише оваа листа што значи враќање во иницијалната состојба.

Освен механичката тасатура, може да се користи виртуална со притискање на екранот симболи со стилото, што исто така не е променето од WM 5.0.

Телефон

Делот кој е задолжен за телефон, претрпел огромни промени, најголемата е вградената подршка за VoIP (стандарден SIP протокол). Тоа не е и изненадување, Microsoft имплементираше клиен во нивното решение додека таква функција веќе има вградено во Nokia E-серијата; од друга страна подршката за интернет телефонија станува се побарана. Уште една иновација е Smart Dial 2.0 за брзо пребарување низ контактите, со внесување на бројот преку виртуелната тастатура. Добро е што е вклучено во Windows Mobile за Pocket PC, претходно беше достапно само за Windows Mobile за Smartphone. Листата на повици беше една од неудобните функции. Таа немаше можност за групирање на повиците по контакти, така што ако побарате еден контакт дваесет пати ќе имате листа од дваесет повици кон еден контакт, кои се тешки да се пребараат. Сепак оваа негативност е пренесена и на Windows Mobile 6.0. Бројот, на записи е бесконечен и сите тие можат да се пренесат на десктоп преку MS Outlook.

Outlook Mobile

Една од основните задачи на Pocket PC е да овозможи полесна синхронизација на контактите, распоредот, задачите и забелешките. Потребно е само да ја внесете e-mail. Природно секоја опција од овие ќе работи беспоекорно. Сите промени во Outlook Mobile, се направени така што да овозможат полесна интеграција со MS Exchange 12.

Page 30: LBS_Diplomska

Office Mobile

За жал, нема забелжителни промени за Office пакетот – се чини Microsoft, полека се пролагодува на апликациите што во предходниот модел ги понуди. Една само забележителна разлика, кога се отвораат, големи документи се појавува статус бар (progress bar) на дното кој покажува до каде е вчитувањето.

Excel Mobile. Мобилната апликација за менаџирање со табели не се променила многу во споредба со предходниот модел, инатаму може да создава, отвора едитира стандардни MS Office документи без многу од оргиналните специфични функции да се изгубат. Зумурање, документ на цел екран, формули и форматирање на ќелии ни стојат на располагање како и дијаграми.

Word Mobile. Вградениот текст едитор нема ништо скратено – опциите остануваат исти: несофистицирани опции за форматирање на текст, параграф, покомплицирани дизајни како табели или слики се исклучени.

PowerPoint Mobile. Релативно нова апликација која за прв пат се појавила со Windows Mobile 5.0. Таа е наменета за гледање на презентации, едитирање не е можно. Такак лимитирана листа на можности наведива на тоа дека PowerPoint Mobile работи еднострано, само за покажување на слики графика и вчитување на големи фајлово со добра брзина.

Интернет

Internet Explorer. На изгледа нема промени, – процесирањето на страниците е исто; мод на цел екран, можност за зачувување на слики, едно-колонски мод – се оа бесе можно и во Windows Mobile 5.0. Се до сеа не успеаа да ја надминат маната која ги спречуваше да отворат повеќе страници оддеднаш. Сепак оваа опција со леснотија ја овозможува MultiIE, но треба да се напомене дека е додаток во Internet Explorer, што ги проширува неговите можности.

Мултимедија

Windows Media верзија 10.3. Овој медија плеер не се променил многу од ште од Windows Mobile 2003 Second Edition. Главната задача му била да му служи како додаток на десктоп верзијата WM10 и новиот - WM11 и да ги синхронизира преку ActiveSync. И исто така може да емитира видео и музика! Во главно, може само да се влечат фајлови во него – и остатокот е негова работа, тој автоматски ќе ги лоцира и ќе ги сортира во библиотелата. Корисникот може мануелно да ги оценува фајловите (од 1 до 5 ѕвезди). Не би било изненадување ако Microsoft издаде Windows Media 11 за Windows Mobile во блиска иднина, каде ќе има подршка за UPnP и ќе се аплоадираат купените мултимедијални фалјови директно на уредот.

Но што е со недостатоците – недостига детално подесување на звуците, неможност за врзување на копчиња со одердени функции за standby мод (предходната верзија ја претстави оваа опција). За видео гледање сепак можни се подобри опции кој овде не се имплементирани.

Page 31: LBS_Diplomska

Слики и Видеа. Несофистицрана апликација за гледање на видеа и слики добиени од камерата на самиот уред. Општо може да се најде многу подобар софтвер отколку вградениот, но овој сепак ке ја заврши работата.

File Explorer едноставен пребарувач на фајлови – едноставен за употреба но и лимитиран со опциите што ги нуди.

Windows Live Под влијание на брзиот раздвој Google сервисите, Microsoft ја менува својата глобална стратегија, посетувајќи повеќе внимание на online-сервисите. Јадрото на оваа online-насочена стратегија е Live.com, кој започнува да собира се повеќе брендови со префикс “Live” (Live Mail, Live OneCare итн.). Не е изненадување што компанијата гледа начини како да ги имплементира Windows Live сервисите на сите платформи за в рака, отколку само на десктоп изданијата на Windows и Windows Mobile – ривалите како, Symbian (beta-верзија од Live Messenger Mobile за S60 3-то издание беше издадено заедно со верзијата за Windows Mobile) нуди и свој софтвер (Live-software), така што крајната цел на Microsoft е да ги направи сите негови сервиси исти (еднакви ) за сите платформи. Но што е Windows Live клиент за Windows Mobile 6.0?Моменталната верзија одржува четири сервиса - Live Search Mobile, Live Mail Mobile, Live Messenger Mobile – сите достапнипреку Today екранот. За Search Mobile, откога ќе се внесе query веднаш не редиректира во Internet Explorer, каде ги прикажува резултатите.За да се прегледа или да се напише mail со Live Mail, пораките, интерфејсот е идентичен како и стандардниот. Иако во поставките може да се овозможи добивање на пораките веднаш штом ќе дојдат до сервер, сепак само пораките кои мануелно ќе ги аплоадираме ќе работат. Додатно е воведена и синхронизацијата на контакти со Live Mail серверт и зачувување на тој сервер. Сепак сликите на контактите не се пренесуваат. Се очекува и синхреонизација со календарот во скоро време.Конечно дојдовме до Live Messenger Mobile, које замена за Pocket MSN. Овој messenger пакет има многу повеќе опции, за разлика од предходникот – со него може да се префрлаат фајлови, звучни пораки (еден вид на интернет воки-токи, пто работи одлично преку GPRS), може да се сетира моменатална слика за корисникот и да се гледаат сликите на другите корисници.Како што одминува времето, бројот на сервисите кои се достапни на Windows Live ќе се зголемува. За да се пристапи на сервисите од подвижна верзија, треба да се користи мобилна верзија од live.com со внесување на адресата http://mobile.live.com.

Енкрипција. По објавувањето на MSFP (Messaging and Security Feature Pack) за Windows Mobile 5.0, Microsoft беше поплавен од поплаки за безбедносното ниво во Windows Mobile 5.0 главно од корисници во претпријатија и безбедносни експерти. Без додатни безбедносни алатки мемориската картица останува да биде незаштитена од нарушувачи кои откако ќе влезат во уредот, можат многу лесно да ги извлечат податоците од мемориската карта да го блокираат комуникаторот и да ја проверат содржината на станица, земајќи ја информацијата која им треба. Windows Mobile 6.0 вклучува алатка Encryption со што може да ја енкриптира мемориската картица, така што да може да биде прочитана само од одреден уред или преку ActiveSync.

Page 32: LBS_Diplomska

Remote Desktop Mobile. Со помош на оваа апликација може да се управува со одалечен компјутер – се што е потребно е десктоп верзија од Windows XP Professional.

Windows Update. Сличнои сродно со десктоп, Windows Update ја прави целата работа – или можете се да му препуштите на него или да го водите надградувањето мануелно. Моментално страницата содржи мал број на надградби, така што не се знае точно како овој сервис работи.

Page 33: LBS_Diplomska

Локациски Базиран сервис – Пример апликација за Windows Mobile

Методологија

Проектот „Локациски Базирани Сервиси“ ги користи сите удобности што ги нуди програмскиот јазик Visual C# и .NET Compakt Framework околината.Сепак само основните библиотекикои се таму опишани не се доволни за развој на ваков тип на апликација. Општи замаерки се дека Microsoft ги изоставиле добар дел од библиотеките од основното .NET Framework, за да добијат на компактност. Сепак специфичните функционалноси кои тие ги предвиделе, како на пример отчитување на базната станица на која сме закачени (пасивно не опслужува), не функционираат подеднакво на сите мрежи или не функционираат постојано.

Принципот на работа на апликацијата е многу едноставен и е применет веќе од неколку комерцијални сервиси. Секоја GSM базна станица зрачи со уникатна адреса, односно код врз основа на кој самиот мобилен уред знае дека е поврзан. Базната станица од другата страна одржува огромен број на секаков вид на податоци, од типот на кој корисник со кој телефон, со каков телефон побарува каков тип на услуга, но за жал базните станици се многу добро заштитени и поврзувањето со нив е во најголема тајност. Значи единственото што може да го примениме е да ги собираме податоците што нашиот мобилен ги добива од базната станица во услови на idle режим (пасивно опслужување), а потоа со некакво анализирање да се добие конкретна информација. Телефонот може да ги оттчита идентифкацискиот број на базната станица и според тоа да знае која станица моментално го опслужува. Доколку креираме листа на базни станици и нивната локацијатогаш веќе можеме да лоцираме во близина на која станица сме и според тоа да знаеме каде сме.

Ова решение е многу често дури и немодифицирано се користи како функција во некои апликации за мобилните системи. Овој метод во нашата апликација ние го имаме надополнето со отчитување на силината на сигналот. Со помош на тоа ние можеме да го намалиме растојанието од базната станица и попрецизно да го лоцираме телефонот. За таа намера ние користиме функции кои се имплементирани на различен начин и од различни програмери за да добиеме резулати, кои можат да се споредат и да се добие поверодостоен резултат.

Поради ограниченоста на уредите на кој работи оваа апликација, направена е можност, добиените резултати да се праќаат на оддалечен сервер кој ќе ги собира овие податоци во база и ќе води евиденција за секој корисник кој ќе се пријави. Се разбира дека при ваков тип на организација ние може да лоцираме некој друг корисник. Оваа опција е понудена како дел од опционо мени, кое е посебно изработено, поради тоа што околината за развој на мобилни апликации за разлика од стандардните Windows апликации не го подржува тоа.

Page 34: LBS_Diplomska

Решение на проблемот

Во овој дел ќе го прикажам програмерскиот пристап, кон решението на проблемот. Како што предходно напоменав програмскиот јазик кој стои позади апликацијата е C#. Од компонентите, користени се стандардни .NET компоненти за исцртување на Windows Form.

За почеток развивана е класна библиотека односно прилагодена е готова библиотека, која не е развивана од Microsoft. Основниот производител вклучил многу додатни функции за отчитување на состојбата на телефонот кој пак ги нема во основното .NET, но тие не даваат резултат. Затоа мораше да се вклучи надворешна библиотека која и самиот Microsoft ја има признаено како корисна ако ви треба таква финкционалност. Бибилиотеката е RIL (Radio Interface Layer) чија што основна функција е да ги прилагоди сигналите од базната станица за да можат да се искористат понатаму. Radio Interface Layer (RIL) овозможува интерфејс кој се справува со комуникацијата помеѓу CellCore системскиот софтвер и радио (трансивер) хардверот. RIL овозможува апстракција (апстрактно ниво) кое ни овозможува да креиреме драјвер кој може да биде имплементиран на различни трансивери. RIL ги апстрахира деталите за хардверски зависните компоненти на Windows Mobile-базираните уреди кои ни овозможуваат OEM (Original equipment manufacturer- производителот на делови) да интегрира разни модеми во нивната опрема, при што се нуди диференцијација на производите. Овој едноставен драјвер потоа овозможува сите трансивери да работат како множевство од CellCore компоненти.

RIL се состои од два модула: RIL proxy и RIL driver. Proxy слојот е Windows CE-базирана dynamic-link library (DLL) кој менаџира со callback известувањата и inter-process функциските повици во driver слојот. CellCore модулите го користат RIL апликациски програмерскиот интерфејс (API) со поврзување на ова со proxy DLL.

RIL driver слојот е имплементиран како Windows CE драјвер за уред кој е менаџиран од Device Manager (Device.exe). RIL драјверот за системските сервисни повици до трансиверските функционалности вклучувајќи говор, податоци, сервис за кратки пораки (SMS), и други, и го известува системот за промени на состојбата на трансиверот, како на пример покриеност, силина на сигналот, и дојдовни повици.

RIL proxy е овозможен од Microsoft. Ние трeба да напишеме прилагоден RIL драјвер за да работи со трансиверкиот хардвер.Кога модул за прв пат ќе се пријави кај RIL, тој проследува два параметри преку callback функции. Едната се користи за спонтани известувања и другата за одговори од функциските повици. На пример, кога телефонот ќе прими повик, RIL ја користи спонтаното известување за да го извести секој модул за дојдовниот повик. Кога модул ќе го повика RIL за да добие силина на сигналот, функцискиот повик веднаш враќа идентификатор на одговор. RIL потоа го користи функцискиот повратен одговор за да ја проследи информацијата за силината на сигналот до модулот. За да се осигура дека одговорите ќе бидат точно пренесени со функциските повици, оваа повратна структура исто така го содржи истиот идентификатор на одговор кој е вратен од оргиналниот функциски повик. Оваа асинхрона архитектура ја поедноставува RIL имплементацијата. Ако модул треба да повика RIL функција во синхронизирачки режим, треба да направи функциски повик и да блокира додека модулот не го добие одговорот од функцијата.

Page 35: LBS_Diplomska

На овој начин ние ги добиваме функциите за отчитување на Cell ID и Location Area Code (LAC). RIL библиотеката нуди и додатни функции како на пример Mobile Country Code, Mobile Network Code но овие функции зависат од операторот, и најверојатно бараат посебни подесувања за да се отчитаат и затоа не се вклучени во апликацијата.

Апликацијата се состои од неколку форми („прозорци“), од кои едно е главно (родител), а другите се повикуваат преку мени, се извршуваат одередени функции и по нивно завршување повторно се враќаат во родителското прозорче.Програмата има едноставен кориснички прозорец. Таа има прозорци на екранот со допир и подреден таб индекс за да може да се движиме низ опциите со навигационито копче. На корисничкиот интерфејс има две soft копчиња, од кои едното е мени преку кое се повикуваат другите прозорчиња. Од другите форми две се за повикување на Web сервиси, едно е за опции и последното за потпис на апликацијата.

На главниот прозорец можат само да се прегледаат информациите што ги отчитува телефонот. Посебно копче има за пријавување на позицијата или информациите што ги има телефонот, на серверот. Понатаму од посебна форма може да се побара информација за некој корисник, со внесување на неговото точно име и презиме и телефонски број. На овој начин се елиминираат можностите да се појави грешка со исто име и презиме, бидејќи телефонскиот број сигурно е различен. Web сервисот враќа табела каде и во колку часот се пријавил корисникот што го бараме, така што можеме да добиеме и повеќе од само последната негова пријавена локација. И обратното е можно, на пример да внесеме cell id и LAC, а да добиеме табела на корисници кои се пријавиле на таа локација. Секоја нова локација е презентирана како нотификација (известување) кое е HTML базирано. Односно текстот што може да биде во него, e HTML. Значи тука може да ставиме било какви контроли, форми ќе се прикажат исто како и на Web страна. Но тука е и проблемот. Microsoft тука објавил класи кои ги содржат овие компоненти меѓутоа при развојот на оперативниот систем, за негови цели тој користи модифицирани, подобрени компоненти со различни својства и однесување од тие во Visual Studio. Затоа малку и функционалноста е намалена.

Наредно следуваат Опциите. Во .NET Framework околина при Visual Studio 2005, кога се развива една Windows базирана апликација, се нудат опции некој променливи да имаат постојано предефинирани вредности. Такви на пример се settings датотеките каде се чуваат променливи кои ќе ги дефинира корисникот и кој секогаш ја задржуваат последно дефираната

вредност. Тоа во

Page 36: LBS_Diplomska

целосниот .NET Framework се прави автоматски и е предвидено со развојната алатка. За разлика од тоа во .NET Compact Framework оваа опција е изоставена, па затоа ваквите опции мораат да се креираат на различни начини најчесто преку датотека. Датотеката може да биде .txt или .xml. Во оваа апликација имам избрано да биде .xml поради поедноставно снаоѓање, но и во целосното framework тоа се прави на ист начин. Датотеката Settings треба да биде креирана и во иста папка со извршниот фајл, самиот Windows Mobileгенерално нема апликација за едитирање на .xml, што е добро бидејќи и така незаштитен фајлот не може да се измени неговата содржина, но може да се прегледа преку Internet Explorer. Инаку за справување со .xml парсирани податоци компактниот framework ги има наследено сите готови библиотеки од целосниот затоа е едноставно манипулирањето со нив.

Settings.xml изгледа вака:

<?xml version="1.0" encoding="utf-8" ?>- <configuration>

- <appSettings><add key="radio_set1" value="false" /><add key="radio_set2" value="false" /><add key="radio_set3" value="true" />

</appSettings></configuration>

radio_set1, radio_set2, radio_set3 се имиња на променливите а имаат вредост string. При вчитување на апликацијата овие вредности се вчитуваат и соодветните променливи се иницираат на тие врености. Инаку овие променливи служат за корисникот сам да одреди кога и дали воопшто ќе ја пријави својата локација на сервер.

Апликацијата напоменавме дека се поврзува со сервер. Тоа го извршува преку објавени Web Services. Постапката за тоа се одвива исто како и за било која стандардна Windows апликација. Web сервисите се поврзуваат со база и тие ги прават упитите, и ги враќаат резултатите. Сервисите кои се нудат веќе се опишани, а можно е и имплементација на нови.

Резултати

Тестирањето на апликцијата може да се изврши со едноставен емулатор кој го нуди раздвојната алатка Visual Studio, и додатоците за емулатор на мобиелен уред. Функции, кои не побаруваат отчитуваат на специфични параметри од телефонот се разбира ќе работат. Постојат додатни алатки кои симулираат GSM, WI-fi или GPRS мрежи кои исто така би можеле да покажат дали апликацијата е функционална. Сепак поради тоа што оваа апликација е на наменета за реална практична функционалност, од големо значење е нејзиното вистинско имплементирање на уред со Windows Mobile. Апликацијата ќе работи на .Net Compact Framework 2.0 или поново поради тоа што е во таа околина изработена.

На почетокот на повикување на апликацијата се иницијализираат компонентите од главната форма. Со притискање на главното копче без избирање на опција ќе испише кратко упатство, името на корисникот и телефонскиот број. Овие податоци апликацијата ги отчитува од тоа како

Page 37: LBS_Diplomska

корисникот го потпишал својот уред. Со повикување на една од опциите со главното копче се испишуваат избраните податоци. Локацијата е кодирана според идентификацискиот број на базната станица кој доста често се менува, со промена на локација (во урбани средини како на пример Скопје помалку од 1km, но меѓу градови дури и до 7km). Тоа зависи од сетирањата и распространетоста на мрежата. Обично тие се поставени на 3km за град и до 20km надвор од градски средини. За пријавување на позицијата на сервер треба да се притисне посебно копче, и ако се е успешно се добива потврда. Со останатите опции е слична комуникацијата само наместо потврда се добива табела.

Дискусија

Како и секоја апликација, не можеме да кажеме дека е совршена илидека кодот е перфектен. Но, може да се заклучи дека е сосем доволно, да послужи како една целосна функционалност која може да се интегрира во уште понапреден софтвер за мобилен како целосен сервис. Во споредба со другите апликации од ваков тип, апликации за лоцирање, е многу сличена. Работи на сличен принцип, и што е многу важно, воопшто не е подржана од ниту еден мобилен оператор. Во иднина доколку се обезбеди подршка од мобилен оператор, како на пример точна локација на базните станици тогаш лоцирањето може да биде попрецизно, а уште може и да се пресмета растојанието до базната станица.

Зголемување на квалитетот на лоцирањето може да се изработи доколку се напушти моменталниот принцип (метод) по кој функционира апликацијата. Така наместо cell id и LAC, да се отчитуваат попрецизни параметри од базната станица. Еден од најкорисните е Timing Advance (TA), вредост која коренспондира на големината на времето кое е потребно сигналот од телефонот да пристигне до базната станица.

Ако не го сметаме мануелното внесување на локации, генерално позиционите методи можат да се поделат во две групи: првата група е мрежно-базирано позиционирање. Овде пратењето и проценката на позицијата на корисникот ја прави базната станица. Така што мобилниот уред или праќа сигнал или е насетен од мрежата. Втората група е наречена терминал-базирана. Овде, локацијата се пресметува од корисничкиот уред според сигналите што ги добива од базните станици. Најпознат таков пример е Global Positioning System (GPS). Базните станици за GPS системот се GPS-сателити. И конечно трета група на позициони техники најпоследно се појавува како комбинација од мрежно и терминално лоцирање. Основните принципи за пресметување на кориничката позиција се:

Базните станици имаат позната позиција. Информацијата од сигналот е трансформирана во растојание Персметка на позицијата со користење на добиените растојанија до

базните станициСледниве техники се користат за позиционирање, најчесто некоја комбинација од овие:

Cell of origin (COO) (Ќелија на потекло), локациски потпис, локациски станици: Cell id е најчесто идентификатор на најблиската базна станица, на

Page 38: LBS_Diplomska

пример мобилна телефонска антена. Со оваа техника позицијата се знае во дефиниран круг или ќелија околу оваа позната позиција. Станиците, на пример, infrared, ултразвук или RFID(радио бранови), се најчесто во затворена просторија. Овде станиците ја испраќаат идентификацијата id или ја трансмитираат нивната точна позиција кон мобилниот уред кој е во опсег.

Типови на мобилно Позиционирање

Time of Arrival (TOA): електромагнетните сигнали (бранови) се движат со брзина на светината. Знаејќи ја брзината и временската разлика помеѓу праќачот и примачот растојанието може да се пресмета. Брзината на светлината е голема и во споредба со растојанијата кои се кратки многу прецизни тајмери се потребни. Истиот принцип може да се искористи и за поспори сигнали како ултравук.

Time Difference of Arrival (TDOA), Enhanced Observed Time Difference (E-OTD): овие техники исто така го мерат растојанието со мерење на патот на сигналите, но различно бидејќи тие ја користат временската разлика на три сигнали добиени од три различни базни станици. Ако имаме сигнали од три различни но соседни станици позицијата може да биде триангулирана. Во случајот со пресметка на локацијата се прави од мрежниот оператор, но во случај на E-ODT се прави со мобилните уреди.

Angle of Arrival (AOA), Direction of Arrival (DOA): со користење на антени со дирекциски карактеристики аголот на пристигнување на сигналот (angle of arrival) до мобилните уреди може да се пресмета. Бидејќи мобилниот уред е во движење ова мерење не е многу прецизно. Уште една можност се сегментни антени кои ги има на базните станици (обично 2-4) кој го делат кругот на ширење на сигналот во сегменти од 90, 120 или 180 степени.

Најкористените два методи кои се корстат се GPS и позиционирање со Cell-ID од најблиската базна станица. Додека GPS пренесува многу прецизна позиција (точност до 5m), Cell-ID пренесува многу променлива позиција (тчност помеѓу 100m до km). Посебно GPS е моментално метод за надворешно позиционирање (не во затворена просторија). За да се добие внатрешна позиција со голема точност, како што е потребно во големи музеи, трговки центри, локациските методи се базираат на WLAN, Bluetooth или infrared технологии.

Page 39: LBS_Diplomska

Позициони методи според тип и можна употреба

Локациски Базираните Сервисе се слични по цел со Географски Информативни Сервиси, но имаат и различно потекло и различни целни групи. ГИС се развивале со декади на база на професионални географски податоци или податочни апликции. Од друга страна ЛБС се појавиле во поново време, со еволуцијата на јавните мобилни сервиси. ГИС може да се сметаат за традиционални „професионални“ системи наменети за искусни корисници со широка функционалност. Понатаму за ГИС треба многу скапа компјутерска опрема. Спротивно на тоа ЛБС се развиени како лимитирани сервиси го широка група на непрофесионални корисници. Такви ЛБС апликаци работат на можностите што ги нуди мобилен уред, слаба процесорска моќ, мали екрани или кратко траење на батеријата.

ЛБС како хибридна технологија

Push и Pull СервисиОпшто се разликуваат два вида на локациски сервиси во поглед на тоа дали се пренесува информацијата на барање на корисникот или постојано:

Pull services пренесуваат информација директвно побарана од корисникот. Ова е слично на повикување на web страна. За pull сервиси понатамошна поделба е возможна во функциски сервиси, како повикување на превоз или брза помош со само притискање на копче, или информациски

Page 40: LBS_Diplomska

сервиси како на пример барање на некој вид на ресторан во близина на корисникот

Push services пренесуваат информација која е или не или индиректно побарана од корисникот. Такви push сервиси се активирани од настан, или предизвикани со влегување во друга зона, временски итн. Пример за индиректно повикан сервис е сервис за вести кои се поврзани со влегување некој град. Не побаран сервис може да биде некоја реклама во посебна област во трговкиот центар, или предупредувачка порака за промена на временските услови. Бидејќи овие сервиси не се повикани со предходна интеракција со сервисите, тие се покомплекни за составување. Овде позадинска информација како на пример потребите и барањата на корисникот треба да бидат насетени од сервисот.

Tracking сервисите се третиот тип на ЛБС. Идеата за овој тип на сервис е корисникот да ја побара локацијата на некој друг корисник (или уред). Како и во Push, pull сервисите се претпоставува дека корисниокот кој е баран се согласил на откривање на неговата локација. Пример за таков сервис е велосипедски тим во кој секој член ја добива позицијата на сите останати, или може да одбере пократка патека.

Повеќето од овие сервиси веќе се имплементираат. Поедноставно е кога тој што ја имплементира е и Service Provider и ја нуди оваа услуга само на неговите корисници. Сепак важен дел од ЛБС е соработката помеѓу операторите на национално и интернационално ниво.

ЛБС Категории на апликации

Page 41: LBS_Diplomska

Општа Архитектура на Локациски Базиран Систем

Многу веројатно е дека ЛБС ќе бара вклучување на многу различни страни за да обозбедат комплетна услуга. На сликата ____ е покажан дијаграм на генералните „играчи“.

End-User (крајни корисници) кои се поделенени на две групи: Корисници на мобилни уреди кои треба да се лоцираат, цел и Корисници кои бараат Локација. Целта се крајните корисници чија позиција е барана од некој друг или од некој сервис. Барачите се тие кој бараат позиција од некој сервиси или друг корисник. Очигледно е дека крајниот корисник може да ги има и двете улоги.

Локациски Базираните Сервиси се овозможени од некого, тие делови се прикажани од на дното од сликата. Тие се поделени грубо во четири групи: Location technology Providers (LTP), Network Operators (NO), Regulators (REG) иService Providers(SP).

Location technology Providers (LTP) се произведивачите на различен хардвер и софтвер, кои овозможуваат позиционирање на мобилните уреди. Ова се произведувачи на мрежно базирана и телефонски базирана опрема. Овие решениа водат кон значајни проблеми со некомпатибилноста на уредите.

Network Operators (NO), се компаниите кои имаат инфраструктурна GSMмрежа. Тие се единствениот агент кој може ефективно позиционира GSM-базираниот метод. Нивната примарна цел е да ги заштитат нивните корисници од недозволено објавување на локациските информации. Најефективен начин е да се справат со податоците на безбеден начин, внатре во мрежата, но засега тоа не е возможно.

Regulators (REG) тие ги поставуваат законите, регилативите, итн. Кој служат како патоказ за тоа како ЛБС може легално да се имплементира.

Page 42: LBS_Diplomska

Главното прашање е приватноста, со тоа што Европската унија си има свои регулативи додека други земји си имаат други и чии да се следат.

Service Providers (SP) создаваат и некогаш доставуваат ЛБС, кои се користат преку NO. SP се компаниите кои ја имплементираат сервисната логика и корисничките интерфејси, интерфејси помеѓу ЛБСи NO системите. Меѓутоа SP, многу често немаат ниту податоци ниту инфраструктура за да понудат ЛБС на корисниците

Page 43: LBS_Diplomska

Литература

Foundations of Location Based Services - Stefan Steiniger, Moritz Neun иAlistair Edwardes

Microsoft Mobile Development Hadnbook - Andy Wigley, Daniel Moth, Peter Foot

Додатоци

Како додаток го приложувам кодот на самата апликација кој не е составен дел од овој документ.