Vous êtes sur la page 1sur 28

BlackBerry Architecture

Anthony Scian Principal Developer Research in Motion

Background
CS/EEE BMath 19 !" MMath 199# Co$op A+ter graduation
%&R'RA(" C co)pilers Pascal" BAS*C interpreters

,atco)" Po-erso+t" Sy.ase Research in Motion

C// co)piler 0*S& C// co))ittee1 S23 co)piler 4ava opti)i5ation and standards 4ava virtual )achine Cryptography and Security

&vervie BlackBerry 6istory 4ava on the BlackBerry AP* Evolution 2uality Assurance Reality Check Revie-

BlackBerry 6istory
R*M is an engineering co)pany started in early 19 #7s A-arded a technical &scar in 199 +or a digital +ile .ar code reader Early innovator in pager -ireless net-orks 19998 +irst BlackBerry device" the 99# +or Mo.ite: net-orks ;##18 +irst 4ava$.ased BlackBerry

Evolution o+ BlackBerry architecture


9#/99# 6ard-are
*ntel$.ased 91;k RAM <MB (&R +lash

=ery li)ited hard-are running on one0>1 AA .attery Progra))ed in C// Applications very di++icult to code due to li)ited runti)e environ)ent

Evolution o+ BlackBerry architecture


9 1#8 +irst 4ava$.ased device
ARM$.ased 1MB RAM MB (&R +lash ?SM phone

Progra))ed in 4ava
4ava is a standardi5ed language Sun -anted to )aintain @-rite onceA run any-hereB Esta.lished 4CP8 4ava Co))unity Process

,hy convert BB to 4avaC


BlackBerry -as a lo- po-er device" as such" it shared one CPD to )anage the radio and the applications C// is a di++icult and error$prone language +or -riting apps Security -as i)portantA )ust protect radio code +ro) app errors and hackers Mo.ile CPDs didn7t have MMDs to isolate code

Bene+its o+ 4ava on a )o.ile device


4=M provides isolation o+ application code +ro) radio code on a single CPD device Errors in apps are less spectacularA controlled e:ceptions rather than crashing device 3o-er .arrier to entry +or progra))ersA 4ava is easier to learn than C// Security is provided .y the 4=MA 4ava cannot access ra)e)oryA all accesses are checked 4ava code can .e s)aller than C// code -ith dense .ytecode representation 4ava .ytecode can .e veri+ied 0all opcodes can .e checked to ensure operands are the correct type1A i)portant +or security

6o- -as the transition handledC


3egacy C// devices -ere supported +or )any years
*)prove)ents )ade to the &S Phased out as the Mo.ite: net-ork gave -ay to ?PRS/CDMA cellular net-orks

3arge tea) -as .uilt to develop .rand ne- 4ava apps and environ)ent

,ere a.le to leverage net-ork kno-ledge developed +or C// deviceA sa)e protocols -ere used Productivity higher in 4avaA )ost BB +unctions 0e)ail" phone1 could .e -ritten -ith adeEuate per+or)ance in 4ava

4ava .ootstrap
4=M developed 4ava de.ugger and tools developed Early 4=M could run on the C// device allo-ing 4ava develop)ent to proceed -ith availa.le device hard-are Based 4ava environ)ent on e)erging 4;ME 04ava ; Micro Edition1 standard

Evolution o+ BlackBerry 4ava architecture


C3DC8 Connected 3i)ited Device Con+iguration
De+ine .ase 4ava language runti)e support *nnovation8 ne- +ast .ytecode veri+ier ?C%8 ?enerali5ed Connection %ra)e-ork (o D* C3DC 1F#8 .asic 4ava 0no +loating point1 C3DC 1F18 add +loating point support

Evolution o+ BlackBerry 4ava architecture


M*DP8 Mo.ile *n+or)ation Device Pro+ile
D* li.rary appropriate +or s)all screen devices Standardi5ed application +or)at 0M*Dlet1 and do-nload M*DP 1F#8 )onochro)e D*" tone generator audio M*DP ;F#8 colour D*" richer audio" )ore +onts" richer D*" signed M*Dlets M*DP GF#8 richer security +ra)e-ork" richer D*" audio" video

4ava Co))unity Process


R*M has .een a +ounding )e).er o+ the 4CP Micro Edition E:ecutive Co))ittee 4SR 04ava Speci+ication ReEuest1
Dsed to evolve the 4ava language and AP* Co))unity o+ 4ava e:perts" do)ain e:perts DniEue in that standards co)e -ith 'CH 0'echnology Co)pati.ility Hit1 3icensing o+ intellectual property rights

4ava Speci+ication ReEuests


4SR G#8 C3DC 1F# 4SR G!8 M*DP 1F# 4SR ;8 Bluetooth 4SR 11 8 M*DP ;F# 4SR 1;#8 ,ireless Messaging 4SR 1G98 C3DC 1F1 4SR 1!!8 Security and 'rust Services EtcF

R*Mlets
C3DC/M*DP -as very li)ited 4SRs provided good standardi5ed AP*s BlackBerry net-ork -as an asset
So)e o+ these AP*s -ere still very li)ited in scope Connectivity to corporate net-orks through BES

Richer +ra)e-ork +or D*" containers" crypto 4DE 04ava Develop)ent Environ)ent1
Code editing Desktop si)ulator &n$device de.ugging Per+or)ance analysis Code signing

Characteristics o+ a good AP*


Easy to learn Easy to use 6ard to )isuse Reada.le code Easy to e:tend 0AP*1 Easy to e:tend 0user1 Appropriate to user7s do)ain kno-ledge

AP* Evolution
Pu.lic AP*s are +orever
Can .e an asset i+ they are done -ell Can .e a lia.ility i+ they are done poorly

=ery di++icult
Marketplace changes rapidly (e- security concerns &ld code needs to continue to -ork Mistakes happen

Evolution o+ BlackBerry AP*s


Designed to highlight cornerstones o+ BB
Security (et-ork Battery 3i+e

Provide developers -ith access to hard-are


Backlight Accelero)eter 'ouch pad/screen ?PS ,i%i Audio

BB AP* Architecture

BB Process Architecture

Evolution .y Carriers
Carriers can provide access to their net-orks and -e.sites to applications 3ocation$.ased services 0cell to-ers1 Pay)ent AP*s Push AP*s Product Di++erentiation
Additional AP*s can .e provided

Carrier acceptance can .e a lengthy process

2uality Assurance
AP* Revie-s Code Revie-s Beta 'esting
Early access to ne- AP*s +or partners %eed.ack can change AP*s

'est Strea)s 'est Strea)s 'est Strea)s

2uality is 4o. 1F1


,hat do you do i+ an AP* has a +la-C
%ailure to satis+y contract
Easy" +i: the pro.le)C Depends" -hat i+ people -orked around the pro.le) alreadyC

Can you change the AP*C


6o- old is the AP*C 6o- )any usersC *)pact on usersC

Can you add to the AP*C


Does the AP* allo- gro-th in +eaturesC

2uality .y Process
As co)panies get larger" the i)pact o+ AP* +la-s gro-s
3ots o+ custo)er i)pact 3ots o+ devices
3ots o+ di++erent so+t-are versions Dpgrade in+rastructure )ust .e .uilt

6o- do you )anage AP* develop)entC


%or)al design docu)ents %or)al revie-s Build on e:isting AP* designs

Dse @.igB 4ava AP*s +or inspiration

2uality Branches
Device so+t-are evolves as hard-are evolves More RAM" )ore %lash" ne- devices A co))on pro.le) in any long ter) so+t-are develop)ent e++ort Standard Branch Model
Su.$.ranches +or speci+ic carrier releases Carriers like to have control over their code -hen acceptance is close

2uality is Social
Custo)er )eetings
,hat AP*s do they needC ,hat pro.le)s do they have -ith e:isting AP*sC

Pro)otion o+ internal AP*s


AP*s .ene+it +ro) real$-orld use 6ard to get right the +irst ti)e

3ast ingredient
6ire Euality people

Reality Check
Mistakes happen
*nco)pati.ility can .e necessary @Break -ith the pastB Principle8 )ore code -ill .e -ritten in the +uture

Dse 4ava to deprecate AP*s


Moves developers a-ay +ro) poor AP*s

Revie ?ood AP* design is di++icult Prepare to +ail


Design +or e:tension and repair o+ AP*s

2uality is like real estate8 'est" test" test


,riting tests results in e:perience using the AP* 'ests )ay in+luence AP* design early on 'ests help prevent regressions

2uestionsC

Vous aimerez peut-être aussi