220 likes | 436 Views
Symbian ohjelmointi. 4. Luento Juha Turunen (juha.turunen@lut.fi). Sisältö. Kommunikaatio arkkitehtuuri Symbian OS:ssa ECOM Multimedia arkkitehtuuri Symbian OS:ssa. Telecom-ohjelmoinnin asettamat vaatimukset. Systeemi koostuu useista osista Software: Palvelu
E N D
Symbian ohjelmointi • 4. Luento • Juha Turunen (juha.turunen@lut.fi)
Sisältö • Kommunikaatio arkkitehtuuri Symbian OS:ssa • ECOM • Multimedia arkkitehtuuri Symbian OS:ssa
Telecom-ohjelmoinnin asettamat vaatimukset • Systeemi koostuu useista osista • Software: Palvelu • Software: Käyttöjärjestelmän tarjoamat palvelut • Hardware: Kohderauta, jossa sovellusta ajetaan • Verkko hardware • Verkko software • Verkko palvelut • Kohdat 2-6 yleensä valmiiksi toimivia ja tarjolla, mutta silti sovellusten kirjoittaminen on huomattavasti tavallisten sovellusten kirjoittamista monimutkaisempaa
Symbian OS kommunikaatio arkkitehtuuri • Symbian OS tarjoaa palvelut kommunikaatiosovellusten kehittämiseen • Symbian OS tarjoaa useita siirtoteknologioita ja sisältöteknologioita • Siirtoteknologiat: esim. IrDA, Bluetooth, jne • Sisältöteknologiat: esim. WWW, e-mail, jne • Mobiililaitteessa ajettava sovellus ei koskaan saisi tehdä oletuksia käytettävissä olevista palveluista tai niiden saatavuudesta (esim. 3G verkon kuuluvuus) • Koska toiminta ympäristö on monimutkainen, täytyy ratkaisujen olla hyvin laajennettavissa • Plugin ratkaisut • Laajennuslähtöinen suunnittelu
Symbian OS kommunikaatio arkkitehtuuri • Symbian OS:n kommunikaatio arkkitehtuuri nojaa plugin framework toteutukseen ja perustoiminnallisuuden tarjoavat erillaiset laitteen sisäiset serverit • Tärkeät serverit: Serial communications server (C32), Socket server, Telephony server, Messaging server • Plugin framework tarjoaa laajennusmahdollisuuksia Symbian lisensoijille • Esim. operaattorispesifisten palvelujen tarjoaminen
Serial communications server (C32) • Serial communications server (C32) tarjoaa yksinkertaisen API:n lukea ja kirjoittaa dataa sarjamuotoista tiedonsiirtokanavaa käyttäen • Tarjoaa virtuaalisen sarjaportin (abstraktiokerros), jolloin sovellus ei ole riippuvainen varsinaisesta rautatoteutuksesta (esim. IrDA, Bluetooth, RS-232) • Rautatoteutuksille plug-init • CSY • Sovelluskehittäjän ei tarvitse tietää laitteen konfiguraatiota tarkalleen, koska Symbian OS lataa tarvittavat plug-init käyttäen Symbian Communication Databasea (CommsDB)
Socket server • Socket server (ESock) tarjoaa BSD UNIX tyylisen socket APIn • Socket server tarjoaa kehittyneemmän tavan kommunikointiin kuin serial API • Käyttö ei ole yhtä helppoa kuin serial API:n käyttö • Protokolla toteutukset plug-ineja (PRT plug-init) • Symbian tarjoaa yleisimmät protokollat • TCP/IP, Bluetooth, IrDA, SMS, jne • Plug-in framework mahdollistaa myös omien protokollien toteutuksen
Telephony server • Symbian OS Telephony server (ETel) on elintärkeä osa Symbian laitetta • ETel tarjoaa kaikki laitteen puhelinpalvelut • Puhelut • Pakettidata • ETel vastaa puhelinpalveluresurssien jakamisesta • ETel clientit tuottavat varsinaisen siirrettävän datan • ETel plug-init ovat TSY-moduuleja (puhelut, GPRS, modeemi, jne…) • Symbian lisensoijat kirjoittavat omalle ympäristölle (reaaliaikakäyttöjärjestelmä, rauta) sopivat TSY-moduulit • Symbian OS saadaan laitteistoriippumattomaksi
Messaging server • Messaging server mahdollistaa kehittyneiden viestintäpalveluiden kehittämisen (esim. SMS, MMS, IMAP, jne) • Messaging server plug-init (MTM = Message Type Modules) • MTM:t kapseloivat kaiken toiminnan alempien kerrosten protokollien kanssa (esim. TCP/IP) • MTM:t ovat ikään kuin helppo käyttöliittymä viestiprotokolliin • Esim. ”Anna vastaanottaja, aihe, viesti” vs. ”rakenna IMAP4 standardin mukainen viesti”
Kommunikaatioyhteydet emulaattorissa • Emulaattoriin saa TCP/IP ja Bluetooth yhteydet • Bluetooth yhteys Bluetooth sarjaporttia ja PC:n Bluetooth laitetta käyttäen • TCP/IP PC:n nettiyhteyttä käyttäen • Vaatii Windowsin administrator oikeudet • Emulaattorin menu: Tools / Preferences • Ethernet settings • PAN
ECOM • Dynaaminen komponentti framework • Esim. COM+ • Tarjoaa mekanismeja • Rajapinta kyselyt - Mitä tietyn rajapinnan toteuttavia komponentteja laitteelta löytyy? • Rajapinta implementaatioden luonti ja tuhoaminen • Uusien implementaatioiden rekisteröinti • Helpottaa plugin-arkkitehtuurien toteuttamista • Esim. ohjelmiston laajentaminen jälkikäteen ladattavilla komponenteilla • Kolmannet osapuolet • ECOM pluginien käyttö helpottaa integrointia • Ei staattista linkitystä • Korvaa polymorfiset DLL:t plugin arkkitehtuureissa
ECOM arkkitehtuuri • ECom server • Interface • Implementation • Client
Multimedia Symbian OS:ssa • Media Server -> SOS 7.0s • Multimedia Framework -> • Tuki muutamalle yleisimmälle mediatyypille Symbianin puolesta • JPG, GIF, BMP, PNG, TIFF • WAV, AU, RAW • aLaw, uLaw, ADPCM, GSM6.10, PCM • Lisensoijat ja kolmannet osapuolet voivat tehdä itse plugineja • esim MIDI, MP3, jne...
Media server • Itsenäinen server • Applikaatiot clientteja • Kaikki median käsittely C/S rajapinnan yli • Media Serveristä luovuttiin ongelmien vuoksi • Erittäin monimutkainen arkkitehtuuri -> pluginien tekeminen oli erittäin vaikeaa • Datan siirto C/S rajapinnan yli kuormittaa käyttöjärjestelmää ja tekee esim. videon käsittelyn lähes mahdottomaksi • Vanhat Media Server client rajapinnat ovat tuettuja edelleen
MMF • Multimedia Framework • Media Serverin korvaaja • Symbian OS 7.0s (Series60 2nd edition) -> • Uudenlainen arkkitehtuuri • Kolmansien osapuolten helpompi tehdä plugineja • Prosessointi tapahtuu clientin prosessissa • Ei siirto overheadia • Mahdollisuus multi-threadingiin
MMF arkkitehtuuri • Client utility • Facade controller frameworkiin • Wrapper Media Server rajapinnoille • Controller framework • Controller plugin • Nivoo yhteen source-, sink-, codec- ja format-pluginien käytön • Source / Sink • Deskriptori • Tiedosto • Näyttö • Kaiutin • Mikrofoni • Codec • Format
ICL arkkitehtuuri • Jokaista tuettua formaattia varten oma ECOM plugin