Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Gero Softwear a Kompiuta me Nyony Cing *
Yore Iyore
Acoc: Caesar Ogole
Buto dwe me Angwen 2006
Wie Iwie ikom Papula Man: Papara man tye iye coc me pwonyi iyore me gero onyo cweyo softwear a kompiuta ame tiyo
inyony oywek me wowota ame ikombedi dong tye ikwone apapat onyo Operating Systems
bala Symbian kede Palm OS, ame nwongere totwal iyi Nokia, Motorolla, Sony Ericsson, LG,
kede cim cing okene apol ata. Ibino niang kite me cano nyony tic, keto ryeko iwi kompiuta
kede kite me kwanyo mingu ame cingi ocer iketo idi wi adam me kompiuta. Karatac man
dang mi ingeyo yore me kobo program a compiuta ame ico ni iyi cim cing ikokome. Ogeno ni
yin akwan papula man dong itye kede ngec moro agwede akwako coyo softwear a kompiuta
(me cing).
An abin acoyo papara man kun akwanyo inucu nucu ikom tic ame abin tiyo ikilaci me koc
(course) ame olwongo ni “Mobile Software, 2006”. An atamo ni myero akelu wu tic man ame
cik me ryeko onwongo pe romo yeya ni atim kiti atata ni pien angeyo aber ni jo tye oko kano
ame tye ayenyo kodi ngec man atek. Medo ikom mano, konyere pe bota me an ikano ngec
man ame loloka aloka ikare ikare ni kun nwongo dano moro tye ame romo keto ingec man itic
me toto lim odany ikom kare man ame diro (technologies) man pwod tye acate woki. Akwayi
ni iti ingec ipapula man aber, ento myero inge gin amito iboti ka tye anok: cwal pwoc bot
acoc me miyi ngec man.
* Available in English and Other Languages on NetBeans Community Doc Website: http://wiki.netbeans.org/CrossPlatformMobileSoftware
Volunteers who wish to translate this document into other languages, or
make other improvements are highly welcome.
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
1. Ageyi Ika “Rwatte onyo Conference me aryo pi odiro/engineers me ngec alagoro, pi dul IEEE, me
nyamo kop ikom Cin Yii Softwear, imwaka 2001”, amema acel anyinye Bosch J. et al (et al
tere ni “kede owote mere”), obin okato kede tam gi anyen ikom Softwear me Nyony Wowota
pi Nyony akwone Apapat kun cako igonyo ni software variability cung pi “teko a softwear me
ye ni oloke ka anok eka tic inyony akwone apapat abongo ayela yela moro doki”. Akadi kono
bedi tam man onwongo otye okato kede akwako softwear me kompiuta ame pe obedo me
cing, wan dang pwod oromo medo me myony cing da iye, kede kit softwear moro keken.
Dong i papula man, an abino nyuto boti, iyore iyore, ngo ame myero itim me coyo softwear
me nyony cing, kede dang yore me miye cako tic iyi cim ikokome, kun ibino tic kede i nyony
tic (cipana) abeco dang anyen iwi lobo aluto. Pi kit ame jami me angeya pola apola nie, wan
obino ka nwongo ngec ikom kite me cano cipana, kun omiyo apor me kit me coyo program
ame cwalo nyutta me “Hello World!” iwang kiyu (screen) me cim cing. Obino dang nyuto
akome ni softwear wan ni tiyo apwot ikin nyonye akwone papat. Ento, pi kit ame kwone
nyony me wowota pol woki, wan obino tic kede, calo apor, Symbian kede Palm Operating
Systems.
2. Nyony Tic (Cipana kede Nati) 2.1 J2ME: Yore acec pi coyo Java 2 Platform Micro Edition.
J2ME obedo taip me leb ame olwongo ni Java ame ticere tye spesol me coyo ryeko/program
idi wi adam me nyony cing. Kampuni ame olwongo Sun Microsystems aye obin ocako leb
man. Nyony wowota gwao cim cing, telebijon, printa, kodi gin mogo acal icim olwongo ni
PDA, kede men okene apol ataa. Otet piny tiyo kede J2ME, cipana kede nati ame opako i leb
lumu ni wireless toolkit me cweyo program a kompiuta Nyony Tic (Cipana kede Nati)kede
nyony ame kobo kede owote gi ka i iwi yamo (abongo wawao waya ame dwalo dano). Sun
Java Wireless Toolkit (yat con alwongo ni J2ME Wireless Toolkit) obedo ka jami tic me
gero softwear pi nyony cing ame oteto alubere kede cik opako ni Java Technology for the
Wireless Industry (JTWI, JSR 185) . Jami ame tye iyi bokci me tic ni gwao gi coyo
program, gi miyo bedo apwot, kede jami ame itiyo kede ikaka cim akome (emulator).
Technology ame nwongere i J2ME dang obedo virtual machine kede APIs, ame ogero iyore
ame olwongo ni Java Community Process (JCP). Dul me J2ME tye ikwone aryo –
configurations kede profiles. Pol ajo ngeyo ni Java ber pien en ngweco inyony moro keken.
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
2.2 NetBeans Mobility Pack
Otet piny tiyo kede Integrated Development Environment (IDE) me coyo, yuyubu, and yiko
bal ame tye I purugram pi nyony ame acwako tic kede J2ME. Dul aryo ame NetBeans
Mobility Pack cwako obedo Mobile Information Device Profile (MIDP) 2.0 kede
Connected Limited Device Configuration (CLDC) 1.1. Obino neno icen ni Netbeans IDE
dang miyo wa yo me riribo jami tic okene ikom men atye te weko iwa yo me timo jami
anwang ame pe tur ata kede kubo kompiuta kede cim cing. Tye dang gin ame gin lwongo ni
NetBeans Mobility Pack for CDC, ento wan dong pe okeboro lok ikom man.
Aber dong dang atek, NetBeans Mobility Pack miyo wan diro me kato kede softwear me
nyony cing taip apapat kun dang nwongo oromo ka yubo pi kit nyonyo moro ame wan otye
kede no alubere kit oyubo the g icing no. Jami tic okene ame nwongere i IDE Pack tye calo
Integrated Obfuscation and Optimization support, ame ticere tye me medo cekuriti (security)
wek jo acuny gi pe ber pe tim tim me kwo kwo onyo conye conye ikom nyony cing ni.
Ticerere okene dang obedo ka miyo nyonyo tic I cipid opre, kede me miyo jami bedo ape pek
arac araca. (Pe ipar, ibino niang atut kite me timo jami ame obedo nyunyuto ni iyi ayim me
papula man). NetBeans, medo kede cipana okene me tic nwongere I webcait
http://www.netbeans.org kan ame iromo daunloding me nono abongo culo ciling akadi
acel. Sun Java Wireless Toolkit dang tye me daunloding kan http://java.sun.com
2.3 Symbian OS Emulator: Carbide.j
Otet piny me Nokia okobo ni, “Carbide.j (ma nwang rik gi lwongo ni Nokia Developer's
Suite for J2ME) obedo cipana me twetweo softwear pi otet piny me nyony me cing ame
cwako Java™ Platform, Micro Edition (Java™ ME), ame apor mere aber obedo nyony pa a I
Nokia. Jami tic me cweyo Mobile Information Device Profile (MIDP) kede Personal Profile
(PP) applications kede dang me keto purugram wa itic, diyo cing iye, kubere and lok ki nyony
mukene.” Doki dang, Carbide.j obedo gi tic apire tek me bibito emulators pi kwon nyony a
Nokia kede SDK acwako kit jami okene.” Iromo wot daunloading Carbide.j i webcait http://www.forum.nokia.com
I purujek wa ni, wan oribo Carbide.j kede Netbeans. Myero ipoyo ni atet piny romo tic kede
Carbide.j kenekene onyo imedo kede Integrated Development Environment (IDE). Carbide.j
ojoo jami me tic apol ikome, ento I purujek wa ni, wan obino tic kede Carbide.j pe cweyo
softwear ame ngweco Symbian kede Palm operating systems. (Bed mot; ibino donyo iye atut
iyi anyim). Kede gin okene, Carbide.j bino kede emulators me Symbian Operating Systems.
Screen shot me Carbide.j ame oribo kede NetBeans 4.1 tye ical ipiny kan (Figure 1).
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Figure 1
2.4 Palm OS Emulator (POSE)
Palm OS Emulator tye I webcait , http://www.palmos.com/dev/tools/emulator/ kan ame iromo
daunloding me nono. En obedo dang kit softwear ame poro kit ame nyonyo Palm akokome
tiyo kede. Emulator me Palm yeyi coyo, temo, and yiko purugram ni ame pwod pe ikobo
purugram ni iyi nyony cing. Dang en iromo instoling i computer me Windows, Mac OS, onyo
Unix .
Ibino neno ni POSE cwako tic in softwear ame gimiyo ne i format me prc.
Interface me POSE neno calo kit eno (nen papara anyim):
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Figure 2
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
3 Coyo, Kwanyo mingu i di wi adam me purugram, kede temo ka Jami
(MIDlet) tye atic aber, kede kobo purugram ikom nyony akome
Iyonge cacano jami tic aber iyore ame oryeo kede malo ca, otwero dong coyo purugram me
cim cing .Kodi purugram man olwongo ni MIDlet. Ileb me Object-Oriented Programming,
MIDlet obedo subclasses ame tye omiyo agonyere i kilaci me Java olwongo ni
javax.microedition.midlet.MIDlet (nwongere i MIDP). Source code me purugram me
“Hello World!” en tye omiyo piny kan. Ibino neon ni otye otiyo kilace me package me Java
olwongo ni J2ME. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloMidlet extends MIDlet implements CommandListener { public HelloMidlet() { } private void initialize() { Display.getDisplay(this).setCurrent(get_helloTextBox()); } public void commandAction(Command command, Displayable displayable) { if (displayable == helloTextBox) { if (command == exitCommand) { Display.getDisplay(this).setCurrent(null); destroyApp(true); notifyDestroyed(); } } } private TextBox get_helloTextBox() { if (helloTextBox == null) { helloTextBox = new TextBox(null, "Hello World!",120, 0x0); helloTextBox.addCommand(get_exitCommand()); helloTextBox.setCommandListener(this); } return helloTextBox; } private Command get_exitCommand() { if (exitCommand == null) { exitCommand = new Command("Exit", Command.EXIT, 1); } return exitCommand; } TextBox helloTextBox; Command exitCommand; public void startApp () { initialize(); } public void pauseApp () { } public void destroyApp (boolean unconditional) { } }
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
3.1 Kompailing purugram: Tic kede NetBeans IDE,
• Ka dong icoo source code me MIDlet oko (bala men ame omiyo I papula okato), ket I
file ame olwongo nyinge ni HelloMidlet.java, ame ka I kompailing, bino doko
HelloMidlet.class. Iromo kompailing ite Java Standard Edition, J2SE, (ento nge ni
nwongo imedo kommans mukene doki). Ite Netbeans IDE, idiyo ka F5 (onyo F6)
manok eka file me .class te bino akome. Cal ame oketo piny alubo coc man dang bino
donyo kene kun mono obedo emulator ame bino kede Sun Java Wireless Toolkit. Nen
kit cal man bedo kede.
Figure 3
Ka kompailing owoto abongo koko moro, mano nyutu ni bal pe i purugram* *Yin dong myero iniang ngo ame an tye akobo ikodi rwomi no.
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
3.2 Testing (tic kede emulators) kede keto purugram itic
Iromo medo kit emulator moro okene kun ibeo ikan Tools>Java Platform Manager> Add
Platform ame nwongere i Netbeans IDE. Poyo ni akadi kono bedi itwero timo amino,
emulators mukene pe yeyi tic i format purugram acel ame kare okene yin iyubu ni. Wan obino
neon amani kite me keto format apat pat i Symbian OS me Nokia kede Palm OS, iyore iyore.
3.2.1 Symbian OS
Tii kede Carbide.j me nwongo files me .jar .jad kun gin bino kato iwang acel kulu ka I lubo
yoo man i IDE: Tools>Carbide.j>New Application Package
Ka ityeko tiyo kit ame okobo no, yin dong iyer kit emulator moro keken ame imito tic kede
kun ilubo yo man ka itiyo kede .jad: Tools>Carbide.j>Start Emulators
Figure 4
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Nen dong iwangi kit agin man tiyo kede iyonge diyo ka amot jaran “Emulate” Figure 5(a).
Gin ame purugram myero ti akokome iyi cim cing bilo pelo ka idiyo “OK” ame obedo
mapeca ame nwongere i emulator (Figure 5(b)).
Figure 5 (a) Figure 5 (b)
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Keto purugram itic iyi nyony
Me acel 1: Keto iyi cim
Ngo me atima i agege:
• Kong myero icak kede kubo cim cing kede kompuita kun itiyo kede Bluetooth
communication. Nokia PC Suite (ame kato kede Carbide.j) konyi pi timo tic man. Ka
icano jamu dud aber, dii ka amot kan ame ocoo ni Get Connected!
Figure 6: Interface to the Nokia PC Suite
• Eka, dang ite tic kede Deploy ame nwongere i Nokia PC Suite.:
Tii kede browse button yero JAD, JAR. Onyo ka pe, iromo dang coyo acoa address
same file tye iyo ikan ame omi pi coc iye. Myero inen ni address ni tye oco atira, aco ka
pe itimo amino, jami pea tic atwali. File no dang myero bed atye i kan ame yin ikobo nit
ye iye no. Ibino rwatte ikoko adwong matek ka pe itimo jami iyore aber
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Figure 7
Ka dong iyero faile oko, kub dong nyony cing kit ame okobo no. Ibino neno nyony me romo
kubere kede kompuita ni iyi screen. Carbide.j 1.0 yeyi tic kede Bluetooth, IrDA, USB kede
RS-232 serial cable. Dii Deploy me miyo file cako kobere. Yin bino bedo yom me neno kit
ajami aya i kompiuta te wot kede in nyony cing ni.
Case 2: Kobo purugram iyi Server
Tii kede FTP Channel me kobo file me JAD kede JAR ika kan ame imito ni gin bed in iyi
server. Myero nen ni itye kede twer me donyo iyi server man. Man nyuto ni myero kong iyab
yo wot iyi server kun itito: FTP host, FTP port (pol akare 21), username me donyo i FTP
server, password dang me donyo i FTP server kede directory kan ame imito keto purugram ni
iye akokome. Ka ceting (setting) dong jami ni ducu aber, dii ka amot Deploy. Tic atum apwot!
I bino neno kit ajami amol kede iyi screen. (Nen Server Tab i Me Acel)
3.2.2 Palm OS
• Aco pi Palm OS, myero kong ilok Midlet oko naka i format me PRC. Gi loko Midlet
man, onyo ni converter bino kede MIDP me Palm OS, dong pe myero ipar kito me
loko jami man.
Tye yore apat pat me cako engine mr converter:
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
• Wan otimo iyore ayot; Acwalo ka cik bot kompiuta kun akobo ni: java -jar
Converter.jar iyi directory ame batch-file Converter.bat buto iye.
• Tii kede Converter me loko file me JAD doko PRC, kun en dang abongo ayela yela
bino buto ikan ame file me JAD onwongo tye iye.
Figure 8(a) Figure 8(b)
• Mecej ame bino kato ka tic me loko file me
JAD dokoPRC owoto aber (Figure 8 c)
Figure 8(c)
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
• Me cako purugram iyi Palm Os emulator, waa ka file me PRC ite bolo iyi emulator.
“Hello World!” Wa amukurere ingwec kit ame ineno ical piny ni (Figure 9).
Figure 9: POSE omukere me poro kit ame purugram me“Hello World!” bino tic kede
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
4. Gwoko purugram me jo pe kwal ata
(leb odoko atek oko kan…)
Cryptographic Solution: Sign Application Package
4.1 Signing a MIDlet allows the user to authenticate the sender of the application through the
use of certificates and ensures the integrity of the application with public/private key security
features. The signature of the JAR is created with the signer’s private key. The signature and
public key certificate are added to the JAD as attributes. The device uses them to verify the
signature and to complete the authentication using a root certificate bound to a protection
domain on the device.
4.2 Implementation Symbian using Nokia’s Carbide.j utility
Under the NetBeans IDE:
Go to:
Tools> Sign Application Package tool to sign a MIDlet Application Package (Figure 10).
Figure 10
Procedure:
• After creating a MIDlet application package, you can sign it using a public/private
key pair and an associated public key certificate. Each key pair and the associated
public key certificate are identified with a name, an alias
• To have an application actually signed, an alias for the key pair you wish to use is
selected. The press Sign.... This will bring up a file dialog, from which you must
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
select the MIDlet application package's JAD file (HelloWorld.jad, in this case). The
private key and the public key certificate corresponding to the selected alias are used
in signing the MIDlet. The tool will notify you when it has successfully signed the
application package.
• You can sign the application package with several keys. If you sign the application
package with different keys, each signed application package is saved.
The default key is a sample dummy key, Nokia SDKs and devices don't have certificates that
would allow you to use the default key for verifying MIDlets. The screenshot below shows
the message after the signing of the application (HelloWorld.jad) has been carried out
successfully.
Figure 11
5. Neno na
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Me giko, myero ami tama akwako lyeto me coyo purugram me nyony cing apapat, onyo
ni operating systems apapat.
• Peko adwong okato oko icoyo purugram man obedo ngeyo kite me tic i cipana
(tooling). Ryeryeo jami tic ame pwod pe iero tic akome pe yot; romo miyi ngwec oko
idog tic. Akadi kono bed ni atemo tic kede gin ame wegi gi pakapaka ni Integrated
Environment, ca cano gi okelo kwok ikoma matek me miyo gi tic bala gin ame
onwongo tye dul acel keken.
• Myero inge ni pe ibino ya ite tic kede leb moro keken me coyo purugram me nyony
cing ame tiyo inyony cing apapat. Man tere ni kodi leb onyo programming languages
ame pol otet piny nwongo tic kede yot woki pe bino konyi atwal I purujek wa ni. Man
miyo cweyo purugram me nyony cing pe mit atek totwal!
• Ento mano pe myero myel komi! Tic dok ayok atika ka dong i cacano cipana kede
nati oko. Tye kodi jami ame konyo me tetemo kit ame softwear wa bino tic kede ame
pwod pe iketo ikom cim akome. Olwongo jami ni ni emulators. Man bino miyo tic
bedo ayot abong balo cawa.
• Otet piny ngeyo aber gin ame olwongo ni reusability. Man tere ni yin ibino ka papado
jami adong tye oko, abongo cako itit. Software reuse akonyi me pango jami mogo atek
ame onwongo myero ibe iye ka icako tic i cikwea(square) nama acel.
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
Aco eno! Aman dong itye kede jami me cako tic me gero softwear me
nyony cing, ame kato perepere man me “Hello Container Boys!”.
(“Hello Container Boys!” tere ni “Nining awobe kebe!”)
Coya imeil: [email protected] ento tic odiya matek ame pe aromo
dwogo balu ni: tima ber: yeny i google!)
Softwear me Nyony Wowota pi Kwone Apapat, Ogole Caesar, 2006
FAQ Why the unconventional “Hello Container Boys!” It should always be “Hello
Word!”
A: In memory of our lovely Container International Students House (in The Netherlands) that
used to be home to this author at the time (2005) this tutorial was developed.
Sadly, our beautiful abode was demolished, to create space for a permanent International
student’s house. The memories will never fade, nevertheless.