Szakdolgozat OROSZ TIVADAR. Műszaki informatikai szak, gazdasági informatikai szakirány, nappali tagozat



Hasonló dokumentumok
Bevezetés a Symbian operációs rendszerbe

Tartalomjegyzék. Előszó... 10

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Opensuse automatikus telepítése

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

TERC V.I.P. hardverkulcs regisztráció

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

Operációs rendszerek. Tanmenet

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Könyvtári címkéző munkahely

Microsoft SQL Server telepítése

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

Iman 3.0 szoftverdokumentáció

Vodafone-os beállítások Android operációs rendszer esetében

WIFI elérés beállítása Windows XP tanúsítvánnyal

Mobil alkalmazások fejlesztése

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Mobil Partner telepítési és használati útmutató

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Hardver és szoftver követelmények

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Intelligens biztonsági megoldások. Távfelügyelet

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

Már megismert fogalmak áttekintése

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Az OpenScape Business rendszerek egységes architektúrára épülnek: Rugalmas, skálázható és megbízható

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

A szerzõrõl... xi Bevezetés... xiii

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

C++ programozási nyelv

A telepítési útmutató tartalma

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Médiatár. Rövid felhasználói kézikönyv

Digitális aláíró program telepítése az ERA rendszeren

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?


Operációs rendszerek. Tanmenet

Digitális aláíró program telepítése az ERA rendszeren

A CCL program használatbavétele

MÉRY Android Alkalmazás

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

A PiFast program használata. Nagy Lajos

E-Freight beállítási segédlet

Java I. A Java programozási nyelv

Nokia Felhasználói kézikönyv

BaBér bérügyviteli rendszer telepítési segédlete év

A nyomtatókkal kapcsolatos beállításokat a Vezérlőpulton, a Nyomtatók mappában végezhetjük el. Nyomtató telepítését a Nyomtató hozzáadása ikonra

Podoski Péter és Zabb László

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

VARIO Face 2.0 Felhasználói kézikönyv

2. modul - Operációs rendszerek

Java és web programozás

FELHASZNÁLÓI ÚTMUTATÓ A. NOKIA PC SUITE 4.51a FOR NOKIA 6510 PROGRAMCSOMAGHOZ. Copyright Nokia Corporation Minden jog fenntartva.

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

és az instanceof operátor

OZEKI Phone System. A jövő vállalati telefon rendszerének 4 alappillére. A jövő üzleti telefon rendszere SMS. Mobil mellékek. Összhang az IT-vel

30 MB INFORMATIKAI PROJEKTELLENŐR

iphone és Android két jó barát...

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet Szedjük szét a számítógépet 2.

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

GIROLOCK2 ROOT_CA ÉS ÜZEMI CA TANÚSÍTVÁNY IMPORTÁLÁSI SEGÉDLET

Számítógép felépítése

KIRA. KIRA rendszer. Telepítési útmutató v1

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Android Commander Felhasználói kézikönyv

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27

802.11b/g WLAN USB adapter. Wi-Fi detektorral. Gyors telepítési útmutató

Zimbra levelező rendszer

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

IPTV Képek és zene funkció Beállítások és tudnivalók

Számítógépes munkakörnyezet II. Szoftver

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

A Novitax ügyviteli programrendszer első telepítése

13. óra op. rendszer ECDL alapok

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Digitális aláírás általános telepítése és ellenőrzése

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Telepítési Kézikönyv

Operációs rendszerek. Az X Window rendszer

Grid menedzsment megoldás az ARC köztesrétegben

MOBILTELEFONON keresztüli internet telefonálás

Átírás:

Szakdolgozat OROSZ TIVADAR Műszaki informatikai szak, gazdasági informatikai szakirány, nappali tagozat Kecskeméti Főiskola Gépipari és Automatizálási Műszaki Főiskolai Kar KECSKEMÉT 2005

Kecskeméti Főiskola Gépipari és Automatizálási Műszaki Főiskolai Kar KECSKEMÉT 2005 BIZTOSÍTÁSI ÜGYNÖKVÁLASZTÓ ALKALMAZÁS SYMBIAN ÉS JAVA KÖRNYEZETBEN Készítette: Orosz Tivadar 2005 Konzulensek: Ercsényi András Nagy Gusztáv 2

Tartalomjegyzék 1. Feladatértelmezés...4 1.1 Célkitűzések...4 1.2 A feladatkiírás elemzése...5 2. Bevezetés a Symbian operációs rendszerbe...6 2.1 Az operációs rendszer múltja...6 2.2 Az okos telefonok képességei...7 2.3 A Symbian felépítése...9 2.4 A Nokia Series 60 Platform...12 2.5 Egy Symbian Nokia mobiltelefon hadver felépítése...14 3. Bevezetés a szerver oldali Java programozásba...15 3.1 Java szervletek...15 4. Programozás Series 60 Platform-ra...16 4.1 Fejlesztő környezet...16 4.2 Fjlesztési folyamat...17 4.3 WINS emulátor...19 4.4 Elnevezési konvenciók...20 4.5 Kivétel- és memóriakezelés a Symbian 5.6 rendszerben...21 4.6 Alapítpusok...23 4.7 Sztringek használata a Symbian operációs rendszer alatt...24 4.8 Fájlkiterjesztések hogyan épül fel egy Symbian alkalmazás...26 4.9 Az MVC minta alkalmazása...28 4.10 Az erőforrás leíró állomány...28 4.11 Kliens felhasználói felület...30 4.12 Symbian telepítő alkalmazás készítése...32 5. A tervezés részletes leírása...32 5.1 Használati eset diagramm...33 5.2 Fogalomszótár...33 5.3 Forgatókönyvek...33 5.4 Funkciók...34 5.5 Osztályterv...35 5.6 Adatbázis tervek...38 6. Értékelés...38 6.1 Továbbfejlesztési lehetőségek...39 7. Irodalomjegyzék...39 3

1. Feladatértelmezés Napjainkban, ahogy egyre kisebb méretben készülnek a hagyományos telefonkészülékekből kinőtt mobil telefonok, másrészt az asztali számítógépek kisméretű utódai, a kéziszámítógépek is kezdenek egyre népszerűbbé válni. Egyre nagyobb teret hódítanak a kettő ötvözéséből születő okos telefonok. Ezen készülékek ereje abban rejlik, hogy bár sokkal kisebb tudásúak, mint egy asztali PC vagy laptop, mégis mindig kéznél vannak valamint képesek egyszerűbb számítások és munkák elvégzésére és szinte bárhonnan alkalmasak adatkapcsolat felvételére más gépekkel. Ezen tulajdonságokat használja ki az úgynevezett mostly disconnected vagyis főként kapcsolat nélkül működő alkalmazásmodell is. Az ilyen alkalmazások képesek egyszerűbb önálló feladatok elvégzésére külső erőforrás folyamatos segítsége nélkül is. A bonyolultabb feladatok megoldására pedig időről időre felkapcsolódnak egy központi szerver gépre, amely ezen feladatokat elvégzi helyettük. A szakdolgozat egy főként kapcsolat nélkül működő alkalmazás elkészítését mutatja be Symbian operációs rendszer alatt, megoldást keresve az Allianz Hungária Biztosító Rt. úgynevezett UKR azaz ügynökkiválasztó rendszerének hatékonyabbá tételével kapcsolatban. Az alkalmazás egy egyszerű ügynökkérő szoftvert valósít meg, melyben a kliens munkaköre a felhasználó adatainak adatbázisba gyűjtése, valamint a felhasználó kívánalmainak elemzése, majd ezen adatokat egy szinkronizációs protokoll segítségével a szerverrel egyezteti. A leírás kiterjed mind a mobil kliens mind a szerver oldali szoftver felépítésére, valamint a kettő közti kommunikáció részletes leírására. 1.1 Célkitűzések A feladat egy mobil kliens és egy szerver oldali alkalmazás készítése, különös tekintettel a köztük lezajló kommunikáció és adatcsere megvalósítására. Tekintve, hogy az alkalmazás egy biztosító társaság problémájára keres választ, nem lehet elmenni a probléma üzleti jellegének tárgyalása mellett sem. Fel kell építeni egy leegyszerűsített biztosítási ügynökkiválasztó alkalmazást, mely lehetőséget kell, hogy teremtsen arra, hogy a felhasználó helytől függetlenül egyszerűen választhasson a felkínált biztosítási szolgáltatások közül. Az alkalmazás a következőképpen működik: a felhasználó az okos telefonján telepíti az alkalmazást. Mivel minden okos telefon saját, fizikai azonosítóval rendelkezik, melyet UIDnak (Unique Identification Number) hívnak, ezért alkalmassá tehetők arra, hogy a biztosító kizárólag az arra alkalmas ügyfeleinek terjeszthesse a programot. Ezáltal elkerülhető az illetéktelen felhasználás. A telepített kliens alkalmazás segítségével a felhasználó egy 4

adatbázisba mentheti a profilját. Ez hasznos, hiszen a mobiltelefonokon alkalmazott adatbeviteli lehetőségek korlátozottak, nehézkesek, így azonban elég egyszer elmenteni a személyes adatokat, a későbbiekben az alkalmazás ezt fogja felhasználni minden egyes kéréssel kapcsolatban. A felhasználónak lehetőséget kell biztosítani ahhoz, hogy mindazokat a biztosító által nyújtott szolgáltatásokat elérhesse, amelyeket az Interneten keresztül is megtehet. Elsősorban olyan biztosítási szolgáltatásokról beszélünk, melynek ügyintézéséhez egy biztosítási ügynökre, úgynevezett alkuszra van szükség. A kliens alkalmazás tehát csak összegyűjti a felhasználó igényeit, majd adatkapcsolatot tart fenn a szerver alkalmazással, frissíti annak adatbázisát és visszajelzésre vár. A visszajelzés történhet HTTP kapcsolaton keresztül is (mint jelen dolgozatban), ám a mobiltelefonok esetében célravezető lehet a saját üzenet típus alkalmazása a TCP/IP protokoll megkerülésével. A feladat terjedelme természetesen túlmutat ezen kliens alkalmazás elkészítésén, ám a cél egy modell készítése, mely lehetőséget teremt arra, hogy egy okos telefon is képes sokoldalú alkalmazások futtatására. Szerver oldalon a tervezés célja megismerkedni valamelyik jelenleg elterjedt alkalmazásszerver technológiával, továbbá jártasságot kell szerezni a manapság - mobil eszközök körében rohamosan teret hódító Symbian operációs rendszer felépítésével, működésével. Nem utolsó sorban ki kell alakítani köztük valamilyen összeköttetést és szinkronizációs protokollt. A példa nem törekszik arra, hogy az Allianz Hungária Biztosító Rt. számára egy teljes funkcionalitással rendelkező kész alkalmazást mutasson be. A lényeg abban áll, hogy egy olyan alkalmazás készüljön el, mely jól demonstrálja a szerverrel kommunikáló mobil eszközök erejét, bemutatva hogyan kell egy ilyen alkalmazást felépíteni, milyen veszélyekre kell ügyelni, valamint vázat szolgáltat amelyre bármilyen hasonló alkalmazás is felépíthető. 1.2 A feladatkiírás elemzése A feladat konkrét megoldása előtt szemügyre kell venni egy sor ma használatos technológiát, amelyekkel a feladatot meg lehet valósítani. Meg kell ismerkedni a szerver oldalon alkalmazott legnépszerűbb szervertechnológiákkal, különös tekintettel a J2EE-re, amelyben majd az alkalmazás el fog készülni. Ezen kívűl meg kell vizsgálni a Symbian operációs rendszert, amely a mai okos telefonok nagy részének lelke. Ebben az operációs rendszerben fog ugyanis elkészülni a kliens alkalmazás. A cél elsődlegesen a kliens oldali Symbian programozás bemutatása. Sajátosságainak köszönhetően azonban a konkrét példa alkalmazás bemutatása előtt célravezető lehet az elméleti különbségek részletes taglalása is. 5

A feladat tehát egy kliens és egy szerver oldali alkalmazás elkészítése, különös tekintettel a köztük lezajló adatkapcsolat megvalósítására. 2. Bevezetés a Symbian operációs rendszerbe Napjainkban a mobilkommunikáció szerepe és piaca átalakulóban van. A pusztán távközlésre kialakított eszközökből a technológiai fejlődés, a felhasználói igények és a piaci verseny nyomására egy új eszközcsalád, az okos telefonok családja fejlődött ki. Ezek a készülékek sokrétű multimédiás képességgel, adatküldési lehetőséggel rendelkeznek, valamint különféle irodai eszközök is megtalálhatók bennük. A készülékgyártók egy igen nagy csoportja felismerte, hogy az új kihívásokra egy naprakész, közösen fejlesztett operációs rendszer jelentheti a leggazdaságosabb választ. A készülékgyártók megállapodtak abban is, hogy az új operációs rendszernek testre szabhatónak kell lennie, hiszen a készülékek nem csak gyártónként, de termékenként is eltérhetnek egymástól, tükrözniük kell a cég egyéni arculatát. Így született meg a Symbian operációs rendszer, azon belül is anak egy testre szabott változata, a Nokia Series 60 Platform. 2.1 Az operációs rendszer múltja A Symbian operációs rendszer gyökerei az 1980-as évek végéig nyúlnak vissza. Ekkor kezdte kifejleszteni a Psion Computers a kéziszámítógépeihez a SIBO, majd az EPOC operációs rendszert. Az EPOC figyelemre méltó tulajdonságokkal rendelkezett, a kéziszámítógépek komplett irodai szoftverkészletet tartalmaztak és a beépített akkumulátoraik segítségével meglehetősen hosszú üzemidőt értek el. Az EPOC operációs rendszer fejlesztése 1998-ban állt meg az ötös verziónál. Ekkor vette át a fejlesztését a Symbian és maga az operációs rendszer is új nevet kapott : Symbian OS lett belőle. A Symbian OS jelenleg a 8.0-ás verziónál tart de már bejelentésre került a 9.0-ás változat is, melyet hamarosan kiadnak. A szakdolgozatban használt mobilkészülék egy Nokia 7610-es típusú telefon, melyben a Symbian OS 7.0s operációs rendszer került implementálásra. Magát a Symbian céget 1998 júniusában alapította a Nokia, a Motorola, a Psion valamint az Ericcson, de az azóta tartó üzleti háborúk folyamatosan változatják a részesedéseket. 1999- ben csatlakozott hozzájuk a Matsushita, majd 2002-ben a SonyEriccson és a Siemens. A Symbian operációs rendszerben abszolút többséget szerzett Nokia jelenleg uralja a Symbian piacot és megoldást szállít több már már felsorolt Symbian tulajdonos cégnek is. 6

A Symbian számára az áttörést a 2000-ben megjelentett 6.0-ás verzió jelentette. Megjegyzendő, hogy Magyarországon a legtöbb eladott okostelefon a Symbian OS 6.0-ás verziót használja. Az első erre épülő eszköz a Nokia 9210 kommunikátor volt. A 2001. januárjában elkészült Symbian OS 6.1, majd a valamivel több mint egy évvel későbbi 7.0-s verzió már számos okos telefon alapját képezi. 2.2 Az okos telefonok képességei Az okos telefonok, mint azt a nevük is mutatja, rendkívűl fejlett tulajdonságokkal rendelkeznek. Erős processzoruk (legtöbbször ARM), nagyméretű, színes kijelzőjük, viszonylag nagy memóriájuk lehetővé teszi személyes információkezelő (PIM Personal Information Manager) és egyéb komplexebb alkalmazások használatát. Fontos ugyanakkor szem előtt tartani, hogy az okos telefonok felhasználói a régi mobiltelefonoknál már megszokott egyszerű kezelhetőséget és megbízhatóságot várják el. Az erőforrások pazarló használata, a mobiltelefon újraindítása vagy éppen egy hibás szoftver javítócsomagokkal történő foltozása nem megengedhető az okos telefonok esetében. A fenti problémákra mind-mind figyelni kell valamint tekintettel kell lenni arra, hogy a felhasználók nem szívesen várakoznak hosszú másodperceket például egy hívás kezdeményezésére csak azért, mert az operációs rendszer éppen valamilyen belső működést végez. Ebből következően a Symbian operációs rendszer árnyaltabb és speciálisabb, mint azt első ránézésre gondolni lehetne. A Symbian filozófiája szerint a mobiltelefonok piacát öt jellemző teszi egyedivé, majd mindezek az alapelvek együttesen határozzák meg az operációs rendszerrel szemben támasztott követelményeket: 1.) A mobiltelefon kicsi és hordozható legyen.a hardver méretének kezelhetőnek és elég kompaktnak kell lennie. A miniatürizálás nem mehet a végtelenségig, a használhatóságot is figyelembe kell venni. A telefonra minél nagyobb kijelzőt és kényelmes beviteli eszközt kell felszerelni. A kis méret nyilvánvalóan felveti az energiafogyasztás problémáját is. Minél bonyolultabb képességű egy okos telefon, minél nagyobb a kijelzője, stb, annál nagyobb lesz az enrgiafogyasztása is. A helyzetet csak nehezíti, amennyiben a készülék mérete apró, így az akkumulátor kapacitása is hagy kívánni valót maga után. A mobiltelefonok gyakran napokig, vagy akár hetekig is be vannak kapcsolva. Eközben azonban nem szabad újraindulniuk vagy összeomlaniuk. Elinduláskor szintén nem várakoztathatják hosszasan a felhasználót. 7

2.) A minél szélesebb felvevőpiac megcélzása a cél. A tömegpiacra szánt mobiltelefonoknak megbízhatónak kell lenniük, hisz ez minden készülékgyártó józan üzleti érdeke is egyben. Semmilyen körülmények között nem megengedett, hogy adatvesztés lépjen fel, hiszen a készülék nélkülözhetetlen és pótolhatatlan információkat is tárolhat tulajdonosa számára. Az operációs rendszernek még szélsőséges körülmények között sem szabad összeomlania. Fontos, hogy minden memória szivárgást (memory leaking) elkerüljön a programozó, ezáltal az erőforrásokat gazdaságosan lehet felhasználni. A Symbian operációs rendszerben egy elég bonyolult, moduláris felépítésű, jól használható hibakezelő keretrendszer található. 3.) Fontos szempont a nem állandó kapcsolatok kezelése. Egy mobiltelefonnal folyamatosan kapcsolatot tartunk a külvilággal, hiszen ha mást nem is, de legalább egy adótoronyhoz mindenképpen vezeték nélkül csatlakozni kell. A felmerülő hibákra azonban fel kell készülni, hiszen elmehet a térerő és egyéb nem várt események is bekövetkezhetnek. A vezeték nélküli kommunikáció tehát nem folyamatos, a készüléknek azonban ekkor is működőképesnek kell lennie, vagyis nem működhet vékony kliensként. Kezelnie kell az adatátvitelből eredő hibákat valamint tájékoztatnia kell a felhasználót. 4.) Az eszközök sokfélesége mérvadó. Az eszközök sokfélesége látszólag ellentmondásos helyzet elé állítja a fejlesztői közösséget. Amint az a bevezetőben is említve lett, a készülékgyártók szeretnék, ha a a fejlesztések a saját egyedi arculatukat tükröznék. Az ellentmondás feloldását az operációs rendszer alapjának és felhasználói felületének (Usre Interface) különválasztása jelenti. Ez a gyakorlatban annyit jelent, hogy készülékgyártótól függetlenül, az a programozó, aki Symbian alá képes alkalmazásokat írni, képes minden Symbian okos telefonra ezt megtenni. A különbség a fejlesztés során csak annyi, hogy adaptálnia kell a felhasználói felületet az adott telefon készülékre is. A Nokia esetében ez a felhasználói felület a Series 60 nevet kapta. A 60-as szám a kijelző méretére és a hardver felépítésére utal, melyről a későbbiekben még részletesen is szót ejtünk. A Series 60 Platform a Nokia által kifejlesztett Uim amelyet azonban már más gyártóknak is továbblicencelt, például a Siemens-nek. 5.) A mobiltelefon nyitottsága alapkövetelmény. Egy okos telefon esetében alapvetően elvárható, hogy nyitott legyen a külső fejlesztések irányába. Az operációs rendszer elfogadottságát és népszerűségét növeli, ha számos alkalmazás megtalálható hozzá. A 8

programozás elterjedt nyelveken (C++, Java), objektumorientált megközelítésben folyik és az interneten a http://www.forum.nokia.com oldalról bárki által letölthető fejlesztőkészletek illetve eszközemulátorok állnak rendelkezésre. 2.3 A Symbian felépítése Ahhoz hogy megértsük egy fentebb említett Symbian kliens működését, nagyon fontos megértenünk a Symbian operációs rendszer felépítésének vázlatát: 2.3.1. ábra A Symbian operációs rendszer felépítése A legalsó, integrációs rétegre alacsonyszintű szolgáltatások épülnek, majd ezt egy middleware szint követi (grafikai, kommunikációs és egyéb szolgáltatásokkal), majd az alkalmazásszintű szolgáltatások jönnek, végül legfelül a felhasználói interfész igény szerint testre szabhatóan elemei találhatóak. Az architektúra ugyancsak tartalmaz egy fejlett, mobil környezetre optimalizált Java futtatókörnyezetet is. A legalsó réteg nem más, mint egy kernel- és hardverintegrációs szint, amely a különböző eszközök felépítésbeli eltéréseit fedi el. Így lehetővé válik, hogy az operációs rendszer új hardvereszközökre való telepítésekor ne kelljen a felsőbb szintekben módosítani. Ez a fajta integráció éppen megfelelő teljesítményt biztosít. A mikrokernel közvetlenül a processzorban fut, melynek natív környezete a 32 bites ARM processzor. A mikrokernel privilegizált üzemmódban fut. A kernel többszálú programvégrehajtást biztosít, ahol a legnagyobb prioritást éppen a kernelszálnak tartja fenn, amely a kliensek kéréseit szolgálja ki. Felhasználói kód csak a User könyvtáron keresztűl 9

kerülhet kernel módba, aminek mint a példaprogramban látni fogjuk nagy jelentősége lesz a hibák megfelelő kezelésében. Az eszközmeghajtók szerepe a hardver-szoftver együttműködés megteremtése, így például a kijelző, a billentyűzet vagy akár a kommunikációs csatornák elérésének biztosítása, a konkrét hardverfüggő részek implementálásával. A meghajtók általában két részre bonthatók: fizikai meghajtókra (Physical Device Drivers, PDD), illetve logikai meghajtókra (Logical Device Drivers, LDD). Ez utóbbiak egy adott eszköztípusra vonatkozó hasonló tulajdonságok kezelésére tartalmaznak magasabb szintű funkcionalitást. Az alapszolgáltatásokat nyújtó szint leginkább az operációs rendszer többi komponensének az alapját adja. Egyik legfontosabb eleme a fájlszerver, amely a fájlrendszerhez biztosít megosztott hozzáférést. Beépített moduljai mellé újaindítás nélkül, dinamikusan adhatunk újabb elemeket. Az alacsonyszintű szolgáltatások közé tartoznak többek között a különböző biztonsági szolgáltatások, a beépített adatbázis-kezelés, az energia-gazdálkodás, a karakterkódolási eljárások, az XML-feldolgozás, valamint az alkalmazások beállításának kezelése. Az operációs rendszer legfontosabb elemét jelentő szolgáltatásokat egy middleware rétegbe gyűjtötték össze. A biztonsági szolgáltatások két alapvető része a kriptográfiai modul, valamint a tanúsítványkezelő modul. Az operációs rendszer biztosítja az összes fontos és elterjedt kriptográfiai algoritmust, mint a szimmetrikus (DES, 3DES, RC2, RC4, RC5) és asszimmetrikus (RS, DSA, DH) rejtjelező algoritmusokat vagy a különböző hashfüggvényeket (MD5, SHA1, HMAC). A multimédia terén nyújtott funkcionalitást keretrendszerekbe és programozói könyvtárakba szervezték. A multimédia-szerver az audio- és videoanyagok felvételét és lejátszását támogatja, valamint különböző képmegjelenítési és feldolgozási képességekkel rendelkezik. A támogatott formátumok egyébként is széles skálája természetesen bővíthető. A Window szerver egy hatékony ablakkezelő rendszer, amelynek alapvető feladata, hogy megossza a képernyőt és a beviteli eszközöket az alkalmazások között. Ugyancsak fontos megemlíteni a kommunikációt támogató szolgáltatások gyűjteményét, hiszen egy mobiltelefon eszköz estében, ezek egyike a legfontosabb lehetőségeknek. A kommunikációs réteg három alapvető részre oszlik: 1.) Telefónia alrendszer A telefónia alrendszert a gyártók valósítják meg. Ennek integrálása teszi lehetővé az operációs rendszer egyéb részei számára a komplex adatkommunikáció biztosítását. 10

2.) Rövid hatótávolságú kommunikáció A rövid hatótávú vezeték nélküli kommunikáció (Personal Area Network, PAN) illetve a soros kommunikáció szerteágazó lehetőségeket kínál. A pont-pont kapcsolat történhet USB porton, infrán vagy Bluetooth kapcsolaton keresztűl. 3.) Hálózati szolgáltatások Az operációs rendszerben megtalálható TCP/IP stcak, HTTP, valamint WAP stack megvalósítás és természetesen minden fontos protokoll implementálva van hozzájuk. A fent említett middleware rétegben található meg továbbá az alapvető grafikai szolgáltatásokat nyújtó könyvtár, amely a képernyő és a billentyűzet kezelésést biztosítja. A GDI-t (Graphical Device Interface) használhatjuk a képernyőre, nyomtató eszközre vagy memóriába történő rajzolás esetén is. Ugyancsak az operációs rendszer szolgáltatásai közé tartozik a mobil eszköz számítógéppel való összekapcsolását biztosító eszközkészlet. Az operációs rendszer következő rétege alkalmazásszintű szolgáltatásokat biztosít. Ebben olyan alkalmazásmotorokat találunk, amelyek a mobiltelefonokban szokásos, a felhasználó adatait tároló és kezelő programok (Personal Information Management, PIM) készítését könnyítik meg és teszik egységessé. A személyes információkezelő modul különböző naptárés határidő funkciókhoz, személyes kapcsolatok kezeléséhe, teendőlisták kialakításához ad támogatást. Az üzenetkezelő keretrendszer az elterjedt üzenettípusok (SMS, EMS, MMS, e- mail, fax, BIO) küldését és fogadását végző alkalmazások készítését könnyíti meg. A böngészést segító alrendszer általános szolgáltatásokat biztosít mind a beépített, mind a külön telepített tartalommegjelenítőknek. A Symbian operációs rendszer tartalmaz még egy OMA (Open Mobile Alliance) SyncML motort is adatszinkronizáció céljára, amely például gázóra leolvasó programok készítésére alkalmas. A rendszer tartalmaz egy Java virtuális gépet is (Java Virtual Machine, JVM) amely a mobileszközökre írt, hordozható alkalmazások futtatását teszi lehetővé, bár a dolgozatnak nem feladata a kliens oldali Java alkalmazás elkészítése. A felhasználói interfész szintje nagyfokú rugalmasságot biztosít a gyártóknak a megjelenítéssel kapcsolatos különböző elképzelések megvalósításában, miközben az operációs rendszer szolgáltatásai a közös programozói interfész (API) miatt ugyanúgy érhetőek el. 11

2.4 A Nokia Series 60 Platform A Series 60 Platform a Symbian operációs rendszerre épülő felhasználói felület néhány kiegészítéssel, mely tükrözi a Nokia vállalat egyedi arculatát a menürendszer felépítésében és szerkezetében valamint igazodik a Nokia készülékek speciális hardver felépítéséhez is. Jelenleg A Nokia Series 60 Platformját tekinthetjük a Symbian operációs rendszer legelterjedtebb felhasználói kiterjesztésének. 2.4.1. ábra Nokia Series 60 Platform felhasználói felület Ebből következik, hogy a Series 60 Platform elsősorban egy jól konfigurálható grafikus felhasználói interfész könyvtárral bővűlt, amely lehetővé teszi a piacon nem véletlenül sikeres Nokia felhasználói felület kialakítását és testre szabását. A 2. ábrán jól látható egy Symbian alkalmazás felhasználói felülete, amint azt a Series 60 Platformra optimalizálták. A hardver felépítésből következően is, a bevitelre és vezérlésre a már megszokott nyomógombokon kívűl két bal és jobb oldali gomb szolgál, melyeket Soft Key-nek neveztek el, s melyeknek nem honosodott meg magyar megfelelője eddig. Az ikonok elrendezése az egyik legkedveltebb formát, az úgynevezett rácsos elrendezést követi. A két Soft Key címkéje szabadon megváltoztatható. A nyelv mindig az adott készülék nyelvbeállításától függ. A két Soft Key között található nyíl az öt állapotú navigációs gomb státuszát jellemzi. A navigációs gomb tulajdonképpen egy joystick-re hasonlít, melyet a négy irányba lehet mozgatni, valamint lenyomva egy ötödik állapot érhető el. 12

A Series 60 felület különböző részekre osztahó és mindegyik külön-külön programozható: 2.4.2. ábra A Series 60 Platform felhasználói felületének részei Amint az a 3. ábrán jól látható, egy Series 60 alkalmazás jól elkülöníthető három részre tagolható. A legfelső státusz panel (status pane) az alkalmazás és a készülék állapotáról tájékoztatja a felhasználót, de a megjelenítése szabadon programozható C++ nyelven. Általában az alkalmazás ikonja, neve, valamint a készülék energia-ellátását biztosító akkumulátor töltöttségi állapota és a térerő tekinthető meg. A státusz panel további részekre bontható: 2.4.3. ábra A státusz panel részei A felirat panel (title pane) alkalmas az alkalmazás nevének vagy egyéb tartalomtól függő állapotának kijelzésére. Általában az éppen aktuális ablak nevét lehet leolvasni róla. A környezet panel (context pane) leginkább az alkalmazást reprezentáló ikont jeleníti meg, mely dinamikusan változtatható. Fontos megjegyezni, hogy maga az ikon is tartalmazhat beépített, programozható dinamikus elemet. Ilyen például egy óra mutatója. A navigációs panel (navi pane) lesődleges célja, hogy információval lássa el a felhasználót az éppen aktuális nézetben, valamint, hogy tanácsokkal lássa el a program használatával kapcsolatban. A normál PC-n futó Windows alkalmazásokhoz hasonlóan itt is beszélhetünk egy nézeten belül több fülről, melynek kijelzése szintén ennek a panelnek a feladata: 2.4.4. ábra A navigációs panel nézeteinek fülekre felosztása 13

A térerő panel legfőképpen csak a GSM jelerősség kijelzésére szolgál, valamint az esetlegesen aktív kommunikációs műveletekről (pl.: GPRS) szolgáltat információt. A felhasználói felület következő, középső és egyben legnagyobb teret kapott felülete a fő panel (main pane) amely a tulajdonképpeni alkalmazás megjelenítési eszköze. Ebben a panelben lehet tájékoztatni a felhasználót a program által szolgáltatott adatokról, itt lehetne elhelyezni a különféle vezérlőket, amelyet tetszés szerint testre szabhatunk és itt kerülhet sor a felhasználói adatbevitelre is. Kétféle fő panelt különböztetünk meg. Az egyik lehetséges mód, ha dialógus ablakokat használunk (hasonlóan egy Visual Basic alkalmazás Form-jához) és ezen keresztűl férünk hozzá a vezérlő elemekhez, valamint ezen keresztűl alakítjuk ki a megjelenítést. A dolgozat ezt a fajta megvalósítási módot fogja bemutatni. A második lehetőség a közvetlen hozzáférés lenne a hardver grafikai függvényei által, de a művelet leginkább csak bonyolult multimédiás és egyéb grafikai műveleteket tartalmazó alkalmazások esetében lehet hasznos. Ebben az esetben nézetekről és nem dialógus ablakokról beszélünk. Természetesen több nézetet is létrehozhatunk, de egy nézetet is alakíthatunk dinamikusan a program életének egésze során. A vezérlő panel (control pane) a két vezérlő billentyű (soft key) címkéjét szabályozza valamint az ötállású navigációs gomb pillanatnyi állapotát mutatja a felhasználó felé. A vezérlő panel felépítését a 6. ábra mutatja. 2.4.5. ábra A vezérlő panel felépítése Az opciók felirat természetesen a bal oldali vezérlő gomb megnyomásakor aktivizálódik (és általában egy opció menürendszert jelenít meg), míg a jobb oldali vezérlő gomb megnyomása a vissza feliratú címkéhez tartozó parancsokat hajtja végre. A két címke között elhelyezkedő nyilak az ötállású navigációs gomb pillanatnyi helyzetét szimbolizálják, amely jelen esetben azt jelenti, hogy a dialógus ablakban megjelenített tartalmat görgetni lehet mind lefele, mind felfele, de miáltal a lefelé mutató nyíl vastagabb, mint a felfele mutaté, ezért lefelé több nem látható tartalom van, mint felfelé. 2.5 Egy Symbian Nokia mobiltelefon hadver felépítése A Nokia egy specifikációt tett közzé a különböző készülékgyártókat segítve, melyek minimum követelményeknek tekinthetők mindazon cégek számára, akik licencelni szeretnék a platformot. Elsősorban a kijelző méretét szabályozták le, melynek pontosan 176 208 pixel felbontást kell prezentálnia, valamint minimálisan 4096 féle színt kell tudni 14

megkülönböztetnie. Ettől sem lefele, sem felfele jelenleg nem térhet el egyik készülék sem. Mindössze egyetlen fő processzor található meg mindegyik készülékben, mely egy 32 bites ARM processzorra épül. Az ARM processzorok nagyfokú megbízhatóságukról híresek, eddig elsősorban hadászati célokra használták főként beépített eszközökben. A 32 bites ARM processzor csak ajánlásnak tekinthető, némely készülékek THUMB processzort használnak, de ez ma már igen ritka. Valamennyi Nokia Series 60 Platform-ot futtatni kívánó mobiltelefonnak minimálisan 16 MB ROM memóriával kell rendelkeznie és beépített RAM memóriájának kapaítása 8 MB kell, hogy legyen. A memória természetesen bővíthető különböző MMC kártya segítségével. 3. Bevezetés a szerver oldali Java programozásba A Java eredetileg egy erős kliens oldali alkalmazás megközelítés volt a 90-es évek közepén. Hamarosan azonban elfogadottá, napjainkban pedig szinte szabvány technológiává vált a szerver oldali programozást területén. A Java szervletek valamint az adatbázis kezelési réteg hathatós eszközt nyújt a programozó kezébe, ha logikusan felépített szerver oldali programozásban gondolkodik. 3.1 Java szervletek A Symbian kliens által küldött adatok kiszolgálását és feldolgozását, valamint az adatok egy MySQL adatbázisba történő elhelyezésének legkézenfekvőbb módja egy Java szervlet alkalmazása. Egy szervlet nem más, mint az alkalmazás kiszolgáló bővítése, tulajdonképpen egy Java osztály, amely dinamikusan betölthető és így bővíti a kiszolgáló funkcióit. A szervletek kizárólag a kiszolgálón belül futnak és képesek kezelni ugyanazon processzen belül a különböző szálakat. A szervlet technológia hatákony és méretezhető választás a szerver oldali alkalmazás megvalósítására. A példában található Java szervlet egyetlen feladata a Symbian kliens kéréseire való válaszadás. Fogadja a Symbian rendszer által küldött felhasználói profilban található személyes adatokat, valamint gondoskodik azok adatbázisban való elhelyezéséről. Az adatokat kielemzi és siker esetén üzenetet küld a biztosító társaság megfelelő fiókjába, melyben értesítést küld egy új igénylésről. 15

4. Programozás Series 60 Platform-ra Mielőtt nekilátnánk a szakdologzat programjának elemzéséhez nem árt tudni, hogy a megírt forráskódból milyen lépésekkel állíthatunk elő futtatható állományt, valamint, hogy egyáltalán hogyan hozhatunk létre egy Symbian keret alkalmazást. Tudni kell, mire van szükség az egyes lépések megtételéhez. Tekintve, hogy bár a Symbian operációs rendszer a C++ nyelvre épül, jelentős különbségek lehetnek a nyelv eredeti változata és annak Symbian megfelelője között, így ezek a különbségek is bemutatásra kerülnek, különös tekintettel a forráskód áttekinthetőségére, az osztályok jelölési rendszerére, valamint a forrás állományok kiterjesztésére is, mely nagymértékben segíti az alkalmazás pontos megértését. 4.1 Fejlesztői környezet A fejlesztéshez először is szükség van egy fejlesztői környezetre (Software Development kit, SDK). A dolgozatban ismertetésre kerülő biztosítási ügynök igénylő alkalmazás (továbbiakban: ügynökkérő rendszer, UKR) egy Symbian OS 7.0s operációs rendszert futtató Nokia 7610-es mobiltelefonon került tesztelésre. Ehhez az operációs rendszerhez kétféle SDK-t lehet választani. Az egyik a Microsoft.NET fejlesztőkörnyezet alatt teszi lehetővé a fejlesztést, a másik változat a Microsoft Visual C++ 6.0 fejlesztői környezet alatt vézi el a szükséges hibakeresési és fordítási műveleteket. A példában az utóbbi fejlesztői környezet került kiválasztásra, azaz a Nokia Series 60 SDK 2.0-ás verziója. Az SDK tartalmaz egy emulátort, amelyen Windows környezetben próbálhatjuk ki programunkat. A 7. ábrán jól látható, hogy az emulátor egy komplett okos telefont szimbolizál, amelyen megtalálható maga a felhasználói felület, valamint az összes olyan gomb, ami egy valódi készüléken is megtalálható lenne. 16

4.1.1. ábra A Series 60 emulátor Természetesen az emulátoron futtatott alkalmazás pontosan úgy reagál a felhasználó által kiváltott eseményekre, mintha az egy igazi Symbian képes okos telefonon futna. Az SDK továbbá tartalmaz egy GNU C++ fordítót, amellyel akár az emulátorhoz, akár az igazi készülékhez fordíthatók programok. Az SDK szintén tartalmaz minden szükséges fájlt, amely a fordítási folyamathoz szükséges (pl.: fejlécfájlok, könyvtárak, fordítási segédprogramok). Az SDK igen fontos részét képezi a dokumentáció, mely elengedhetetlenül szükséges néhány ismert függvény pontos paraméterlistájának és a paraméterek jelentéseinek megtekintéséhez. Az SDK-ban található Perl interpreter a fordítási segédprogramokhoz szükséges, mivel azok egy jelentős része Perl nyelven íródott. Létezik fejlesztőeszközzel egybecsomagolt SDK is. Az ilyen fejlesztői készletek elsősorban a Metrowerks cég CodeWarrior nevű fejlesztőkészletét támogatják, de elvétve található a Borland cég C++ Builder fejlesztőkészletéhez is megfelelő verzió. A Microsoft VisualStudio-t azért érdemes használni, mert tartalmaz egy alkalmazás varázslót, ami egy üres Symbian keretrendszert generál a programozónak. Az eljárás igen hasznos még abban az esetben is, ha a fejlesztő tisztában van a fejlesztési folyamat minden egyes lépcsőfokával. 4.2 Fejlesztési folyamat Elsősorban azért érdemes már a konkrét alkalmazás elemzése előtt bezsélni a Symbian fejlesztési folyamatról és azon belül is a Symbian fordítási láncról, mert megértésével 17

közelebb jutunk a Symbian logikájához, felépítéséhez, gondolkodásmódjához. Első lépésként azt kell tudni, milyen lépéseken keresztül kell az SDK-ban található egyszerű segédprogramok használatával az elkészült forrásfájlokat lefordítani. Egy Symbian program egy vagy több projektfájlból áll. Ezeket az állományokat egy bld.inf nevű állományban kell felsorolnunk: PRJ_MMPFILES \PROJECT\UKRCustomer\group\UKRCustomer.mmp Amint látható, a bld.inf fájl az UKR program esetében mindössze egyetlen projektfájlból áll, mely egy mmp kiterjesztésű fájlt tartalmaz, ez a projektfájl. A projektfájlban fel kell sorolni a fordításban résztvevő forrásfájlokat, a fejlécfájlok keresési útvonalát, a használt könyvtárakat és egyéb beállításokat, s majd csak ezután történhet a tényleges fordítás. A felhasznált mmp állomány a következő: TARGET UKRCustomer.app TARGETTYPE app UID 0x100039CE 0x0FCE35BD TARGETPATH \system\apps\ukrcustomer SOURCEPATH..\src SOURCE UKRCustomerApp.cpp SOURCE UKRCustomerAppUi.cpp SOURCE UKRCustomerDocument.cpp SOURCE UKRCustomerDialog.cpp RESOURCE..\data\UKRCustomer.rss RESOURCE..\data\UKRCustomer_caption.rss LANG SC USERINCLUDE. USERINCLUDE..\inc SYSTEMINCLUDE. \epoc32\include LIBRARY euser.lib apparc.lib cone.lib eikcore.lib LIBRARY eikcoctl.lib avkon.lib LIBRARY eikdlg.lib LIBRARY bitgdi.lib fbscli.lib ws32.lib gdi.lib LIBRARY efsrv.lib estor.lib edbms.lib bafl.lib commdb.lib LIBRARY CommonEngine.lib esock.lib insock.lib START BITMAP allgraph.mbm HEADER SOURCE c24 bckgrnd.bmp END AIF UKRCustomer.aif..\aif UKRCustomeraif.rss c8 context_pane_icon.bmp context_pane_icon_mask.bmp list_icon.bmp list_icon_mask.bmp A projektfájl szerkezete összetettnek tűnhet, de a belőle automatikusan generált makefile fájlhoz képest egyértelműek az előnyei. A TARGET direktíva a készítendő állomány nevét adja meg. A TARGETTYPE azért szükséges, mert egy állomány neve nem azonosít konkrét 18

fájltípust, így ezt külön specifikálni kell. A UID (Unique Identification Number) a Symbian programok egyik nagyon fontos összetevője. Ha valaki kereskedelmi alkalmazást kíván készíteni, kötelezően igényelnie kell egy ilyen egyedi program azonosító számot a Nokia-tól annak érdekében, hogy az egyes globális alkalmazások között ne léphessen fel összeakadás. Az UID tehát egy 3 részből álló állományazonosító. A TARGETPATH a Symbian operációs rendszer fájlrendszerén belüli célkönyvtárat tartalmazza. A Symbian esetében egy valódi készüléken az összes alkalmazás a \System\Apps könyvtárba kerül. A Symbian operációs rendszer kétféle módot ismer a különböző vezérlő elemek dialógus ablakokon való elhelyezésére. Az egyik módszer, melyet a példa is támogat, amikor egy erőforrásállományon belül (egy úgynevezett RSS állomány) van definiálva a vezérlő, vagy közvetlenül dinamikus úton kerül előállításra. Természetesen erőforrásállományból is van lehetőség a vezérlő későbbi dinamikus változtatására. Az erőforrásállomány mindazonáltal kötelező még akkor is, ha mindent dinamikusan kíván a fejlesztő előállítani. Pontosan ezen okból van szükség a projektfájlban a SOURCEPATH direktívára, amely a szükséges erőforrás állományt sorolja fel. Miután minden szükséges forrásfájl és projektfájl a helyén van, megkezdődhet a tulajdonképpeni fordítási folyamat. A fordítás történhet a VisualStudio-ból közvetlenül, de az átláthatóság kedvéért inkább a konzolról futtatható fordítási folyamat kerül bemutatásra. Első lépésként a bldmake nevű eszközzel létre kell hozni egy abld.bat fájlt. Ezutóbbi meghívásával történik ugyanis a későbbiekben a célplatfrom kiválasztása. Amennyiben a készülék processzorára szeretnénk lefordítani az alkalmazást, akkor célszerű speciális Symbian telepítőállományt készíteni. Ez egy egységes formátumú fájl (Symbian Installation System, SIS). Az elkészült SIS fájl a készülékre való áthelyezés után (adatkábelen, infrán vagy Bluetooth kapcsolaton) közvetlenül telepíthető. 4.3 WINS emulátor Az SDK nagyon fontos részét képezi az emulátor, mellyel kipróbálhatjuk és tesztelhetjük a programot a készülékre telepítés nélkül is, sok időt és energiát megtakarítva. Fontos azonban felhívni a figyelmet a Windows alatt futó Symbian emulátor néhány lényeges különbségére egy valódi Symbian-t futtató okos telefonnal összehasonlítva. Az emulátor által használt alkalmazások x86 processzorra vannak lefordítva, vagyis az emulátor nem emulálja a készülék processzorának utasításkészletét, azaz nem bináris szintű a kompatibilitás, hanem forráskódszintű. Ez annyit jelent, hogy a C++ nyelven írt alkalmazásunkat fordíthatjuk többféle platform alá, melyek közül az egyik az x86 processzoron futó emulátor. A 19

különbségek persze lényegesek, hiszen az emulátor segítségével megfelelő alkalmazások segítségével lehet csak SMS üzenetet küldeni SIM kártya nélkül, de ilyen SDK specifikus különbség lehet a TCP/IP kommunikáció kezelése is. Az említett eltérések nem minden SDK esetében jelentkeznek, egy közös eltérés azonban mindig van: A WINS emulátor egy Windows processzben fut, míg a valódi készüléken több processz fut, melyek közül az általunk írt program csak az egyik. Különbség tapasztalható továbbá az erőforrások tekintetében is. Egyes számítások a mai PC-ken nagy valószínűséggel gyorsabban futnak le, mint az igazi készülékeken. Az emulátor alatt rendszerint nem fogyunk ki a memóriából sem, míg egy okos telefono ez könnyen megtörténhet. A merevlemez tároló kapacitásától függően áll rendelkezésre megfelelő tároló hely, mivel az egyes készülékmeghajtókat egy-egy könyvtár képviseli a merevlemezen. Összességében a Symbian C++ programozói interfészét sikerült nagyon jól lefednie a Windows emulátornak, a különbségek a legtöbb esetben nem fetünőek. Ennek ellenére a programot érdemes igazi készüléken tesztelni, hogy a lényeges eltérések időben kezelhetők legyenek. 4.4 Elnevezési konvenciók Az elnevezési konvenciók fontosak abból a szempontból, hogy a mások által írt kódot el tudjuk olvasni, azonban a Symbian esetében különös jelentősége van, tekintve, hogy az elnevezések jelentős eltérést mutatnak a hagyományos C++ konvenciók között. A Symbian rendszer megfelelő elnevezési konvencióinak alkalmazásával ugyanis a programozó sokkal jobban oda tud figyelni a különböző memória- és hibakezelési problémákra. Az egyik leglényegesebb eltérést az osztályok nevei mutatják. A Symbian platformon az egyes osztályok nevei az esetek nagy részében a T (type), C (class), M (mixin), R (resource) betűkkel kezdődnek, melyek komoly információt hordoznak a fejlesztő számára. A T osztályok egyszerű típusokat jelentenek. Az ilyen egyszerű, valamilyen értéket reprezentáló osztályok nem rendelkeznek semmilyen külső objektummal, erőforrással, és ezért destruktorra sincs szükségük. A legtöbb esetben az ilyen egyszerű osztályok konstruktor nélküliek. Megjegyzendő, hogy az összes C++ alaptípusnak van T-vel kezdődő, Symbian megfelelője is, például: Tint, az int típus helyett). Memóriakezelés szempontjából azt mondhatjuk, hogy az ilyen típusú objektumok általában a stack-en foglalnak helyet, mint lokális változók. 20