SMS ‚ƒ áËÁ͕œÁ ˙‚ž›‚Ÿ„ ܂–…œÁ
ˌ‚ƒ˙› ŕÁ͛ ˙‚žœ•™… ŕƒ ˙œ‚‹Í ֚ÔÁ ł›ËŠ ŕěÁÍÁ ˙Á̓ á̓œ‚Ÿ› :SMS

Gauray Pal ß Sonal Bansal ŕ…Œßœ
Javaworld.com


ŕšŠ
˙‚ĐŸß͋ ˙Á̓ ŋÁߊÍË ŃŸÁΕÁ Ə‚ƒ ͂Ÿ‹ ˙Ԃƒ…ÍÁ ˙‚ž‚˜…‹Ë ŢßΕÁ ÎßÍ ËŒÍ
܂éœßé‹ ŃŒß— ‚ƒ ŕ™‚–› ޟÁ .ŋÁ ŕˌ ‚ŕ‚˜…‹Ë ˙Á̓ ŹŢ‚‹Ŕ ˙‹Í…‹Ë ‚ƒ ŜͅÁ
ŹË߇ߛ ݟ‹˙ƒ ŜͅÁ ˙‚ž‹Ÿß͋ ŕƒ ËÍÁË ˙‚˜œ ŕšŠ ÍßÔ ŕƒ Ü‚„ á͘ ß Ü‚‹œ‚ƒ
֚éÔÁ ł›ËŠ ŕěÁÍÁ ˙Á̓ ˙™‰ ŕÁÍ ŕ— ŹÁ߂‡ ̓ ˙œ…ƒ› ˙‚Íß͋ ˙™› łŸŸÎ‡ ß
.ˌ‚ƒ˙› Ăß ß (ŕ‚…ß— ݂Ÿ„ Пß͋) SMS ٟÍÔ ÎÁ ܟ‚ƒß› ˙‚žœ•™… ŕƒ ˙œ‚‹Í

Íéœé…Í‚é˜ Ĺé—ÍéŒ ˙Ÿß˜ŒŸ„ .ËÍÁË áˏ‚… ËŒÍ Í‚Ÿ‹ ˙Ԃƒ…ÍÁ ˙‚ž‚˜…‹Ë ÍÁ΂ƒ
ËßËé‰ ÍË ŕÁÍé›é ˙‚éžœ•™… ˙œ‚ž‡ Ńß͕ ÍÁ΂ƒ ŕ— Ĺ‹Á ŢŔ ÎÁ ˙—‚‰ ŋěߗ‚…ŸË
ŃéŸÁÎé•Á ËéÍË ´ľ/ľ ŕËéœË Ţ‚Œœ ŕ— Ë߃ ˛°°° ܂‹ ÍË ŕ‚˜…‹Ë Ţߟ™Ÿ› ´ą˛/ˇ
Ćé‚éƒ ŕé— Ăß ĐéŸßÍé‹ ‚éƒ ŜͅÁ ܛ‚—… ‚ƒ ËŒÍ ŢŸÁ .ŋÁ ąššš ܂‹ ŕƒ Ĺƒ‹œ
‚é…Ëé›é ÝéŸé‹˙éƒ ˙‚éž›…‹Ÿ‹ ˙Á̓ ŜͅÁ ˙‚ž‹Ÿß͋ ˙Á̓ ŢßΕÁ ÎßÍ Ĺ‹ÁߊÍË
.Ĺé‹Á ŕËéŒ ÍéƒÁÍéƒ ŢéŸËœˆ ŹËœÍÁË ÁÍ ŢŔ ˙‹Í…‹Ë ˙Ÿ‚œÁ߅ ŕ— ŕÁ͛ ˙‚žœ•™…
ŕé— ŹËéœÍÁË ÁÍ ŕÁ͛ ˙‚žœ•™… ˙Á̓ ł›ËŠ ŕěÁÍÁ ş™ƒ‚– á˂ŸÎ ˙‚˙Ďߙߜ—…
Ý‚éœ (SMS) ŕ‚é…ßé— Ý‚Ÿ„ Пß͋ ß (WAP) ݟ‹˙ƒ ˙‚ŕ›‚œÍƒ ܗ…ß̈́ ÎÁ ŢÁ߅˙›
.Ë̓

ŕƒ ĹœÍ…œŸÁ Ԃƒ…ÍÁ ŢËÍßŔ ݝÁ͕ ˙Á̓ ËÍÁ˜‚…‹Á ڟ WAP ŹWAP ޛ‡œÁ ŕ…•˜ ŕƒ
ŕé— Ĺé•Í˙› ͂ՅœÁ .ŋÁ ‚Í‡Ÿ„ ß ‚PDA ŹŕÁ͛ ޕ™… ˜œ‚› ݟ‹˙ƒ ˙‚Ý…‹Ÿ‹
Ü‚é‰ ŢŸÁ ‚ƒ .ˌ‚ƒ ŕ…ŒÁË á̓ͅ ŹÍ‚Ÿ‹ ŜͅœŸÁ ˙Á̓ ќÁÎÁͅ› ͘ŸË ÎÁ WAP
ÍË WAP ŕé— Ëé‹Í˙é› ÍéŐéœ ŕƒ ËŸƒ ŕ— Ĺ‹Á ŢŔ ÎÁ ˙—‚‰ ŕˌ ŃÍÁΘ ̓Š ޟ˜ˆ
Ź‚éŕ‚é˜ÍË áÍÁĚé˜ ŕ韂›Í‹ ÍË Ă‹‚œ›‚œ ͂…Š‚‹ řƒ .Ëߌ ٕߛ ŕ‚…ß— ŕ˜ŸŔ
ĐéŸßÍé‹ ŢéŸÁ ˙霂éƒéŸé…Œ„ ŕ˞ ÎÁ ˙ƒßŠƒ WAP ݅‹Ÿ‹ ˙ÁÍÁË Í‚Ÿ‹ ˙‚ž‚˜…‹Ë
Η͛ ÍË ŕ— ˙‹Í̓ ÍË .ËÍÁË Ëß‡ß Ý…‹Ÿ‹ ޟÁ ÍË ÎŸœ á͘ŸË Ś—Œ› .˜˛‚ŸœÍƒ
ŕ˂é•é…‹Á ˍÍË ¸° ÎÁ џƒ ŹĹ•͘ ĹÍߍ ŢÁߟ‚… Tamkany ŕ‚˜ŒœÁË ÍË Ĺ‚Ô‚ƒ…ÍÁ
.ËéœË͗ áËߜŒŠ‚œ ÎÁ̓Á ݅‹Ÿ‹ ޟÁ ÎÁ ŕÁ͛ ˙‚žœ•™… ÍË WAP ݅‹Ÿ‹ ނ˜Ëœœ—
ŢÁËé–é• ß ‚ŕœŸÎ ŢË߃ š‚ƒ ÍԂŠƒ ˙‹Í…‹Ë Ë߃›— ŹÝ— ŏ͋ ŕƒ Í›Á ޟÁ ܟ™Ë
ŕé›ÁËÁ ËßéŠ Ĺé—Íé‰ ŕéƒ WAP ş–ß› ‚ƒ ˟‚ƒ ܛÁߏ ޟÁ .ËË͘˙› ΂ƒ ŹÁ߅‰›
ŕŸ‚›Í‹ ŹË߃ ˝Áߊ ÍÁ̘͟†‚… ‚ŕ›‚œÍƒ ނ˜Ëœœ— ˟™ß… ̓ ‚›Ÿ–…‹› ŕ— ŹËœË
.ˌ‚ƒ˙›œ ˙–Ôœ› ŢÁ˜ˆ ݗ ˙‚–ƒ ܂›…‰Á ‚ƒ ˙Ďߙߜ—… ڟ ÍË áÍÁ̘

ŢéŸéƒ ‘éŸËßé… ˙Á̓ Ý͕ Ś„ ڟ ˙ÁÍÁË ŕ— Ĺ‹Á ËŒÍ Ü‚‰ ÍË ËÍÁ˜‚…‹Á ڟ SMS
WAP ݟ‹˙ƒ ͘Íß͛ ş™ƒ‚– ‚ƒ ˜Á߅˙›œ SMS .ˌ‚ƒ˙› ݟ‹˙ƒ ˙…‚šÔÁ ˙‚ž›…‹Ÿ‹
ŕ˂镅‹Á ËÍߛ Źŕ•ÍÔ ßË Ý‚Ÿ„ ̓ ˙œ…ƒ› Пß͋ ˙Á̓ ˜Á߅˙› ‚›Á ŹËœ— т–Í
ÝéŸéՏ ËÁː… ŕ— Ë‹Í˙› Í՜ ŕƒ Í…ËߞŒ› ˙›‚˜œ SMS ݅‹Ÿ‹ á̓ͅ .Ë͟˜ ÍÁ͖
Ýé…é‹éŸ‹ ˙ÁÍÁË ˙‚žœ•™… ψ‚œ ËÁː… ‚ƒ ÁÍ Ý…‹Ÿ‹ ޟÁ ˙ÁÍÁË ŕÁ͛ ˙‚žœ•™…
ŢÁß霏 ‚ƒ internet.com ÍË ˛°°° Đ͂› ŕ‚› ŃÍÁΘ Ђ‹Á ̓ .ݟœ— ŕ‹Ÿ‚–› WAP
ÎÁ ŃéŸéƒ ͎‚‰ ܂‰ ÍË Ź(˙…ƒ‚–Í ŕ™‚• ŢË͗ ݗ ˙Á̓ ˙ÁÍ Ü‚ƒœË ŕƒ ‚ž…—ÍŒ)
.ŋÁ ŕ˂•…‹Á ܂‰ ÍË ŕÁ͛ ܂…Ÿ‡ŸË ޕ™… Ţߟ™Ÿ› ´°°

ĐéŸßÍé‹ ŕé— ÁÍ Áß‚é‡ Íƒ ˙œ…ƒ› ˙‚Íß͋ ܉ ŕÁÍ ‚› Ź˙—œ‚ƒ ÍߛÁ ݂‡œÁ ˙Á̓
˂éžéœéŒéŸé„ ŹËœ—˙› ݝÁ͕ Ăß ß SMSٟÍÔ ÎÁ ŕÁ͛ ˙‚žœ•™… ŕƒ ÁÍ ˙…‚šÔÁ
.ݟœ—˙›

łéƒé‰‚› ś‹– ÍË JavaWorld ޛ‡œÁ ˙‚ŽÁ ‚ƒ ÍŸŕ› ËœÁ̓ͅ ͅ—Ë :ݞ› ŕ…—œ
ŹÁ͘˙ŸŒ ˙‚ŕ›‚œÍƒ ͂…Š‚‹ ŹÍŸŕ› ŕ…Œßœ Ђ‹Á ̓ .ŊÁË̈́ ߘ…•˜ ß Ć‰ƒ ŕƒ ‚›
ßÁ .Ë錂éƒ˙é› ÁÍé˜ ˙éŒ ˙‚éŕ›‚œÍƒ ŢÁ͋•› ß Ţ‚‰ÁÍÔ ˙Á̓ ŕÁÍ ŢŸÍ…žƒ ْÁ
Eiffel ˙ß ËßéŠ ˙é‹éŸßéœ ŕ›‚œÍƒ ނƒÎ ‚ƒ ŕԃÁÍ ÍË ÁÍ ĹŠ‚œŒ ޟͅžƒ ‚œě›Ô›
.ŋÁ ԙ‹› 𛂗 á͂…Š‚‹ ˙‰ÁÍÔ ŕƒ Ô߃͛ ݟ‚•› ŕƒ ß ŹĹ‹Á ÁÍÁË



żĹ‹Ÿˆ SMS
ß ŕËéŒ ŕéŽÍé ąššą ܂‹ ÍË ŕ— Ĺ‹Á ˙œ‚ž‡ ŕˌ ŕ…•ÍŸĚ„ ݟ‹ ˙ƒ Пß͋ ڟ SMS
ŹÜŸ‚ƒß› ޟ—Í…Œ› ޟƒ (Alphanumeric) áËˏ ß ˙•ß͉ ˙‚ž›‚Ÿ„ ܂–…œÁ ˙Ÿ‚œÁ߅
˙é…ߍ ŋ„ ß ‚ŕ˜œ— ǟ„ ŹÚŸœßͅ—™Á ŋ„ ˙‚ž›…‹Ÿ‹ ˜œ‚› ˙‡Í‚Š ˙‚ž›…‹Ÿ‹ ß
.ËÍÁË ÁÍ

ނé›Î Íé ÍË ÁÍ ŕ‚é…ßé— Ý‚éŸ„ ڟ ˜Á߅˙› ތßÍ ÜŸ‚ƒß› ŕ‚˜…‹Ë ڟ ŹSMS ‚ƒ
݂éŸé„ ܂é‹ÍÁ ‚Ÿ ß ŢË͗ ޕ™… ܂‰ ÍË ŇŠŒ ͘Á ˙…‰ ŹËœ— ܂‹ÍÁ ‚Ÿ ß Ĺ•‚ŸÍË
˙é‚é˜ .Ëéœé—˙é› Ţ韛Ž… ŕ—ƒŒ ԋ߅ ÁÍ Ý‚Ÿ„ ܂–…œÁ ޟœˆ› SMS .ˌ‚ƒ ˙…ߍ
ŹËŸŔ˙› Ë߇߃ (ŢË߃œ Đͅ‹Ë ÍË Ĺ™ ŕƒ) ‚ŕ˜͟˜ ŕ‚ŸÍË ÍË ˙…–ß› ˙‚žœ‚–œ
.Ëߌ˙› áÍÁ˞˜œ Źŕ˜͟˜ ŕƒ ÜŸß‰… ‚… ݂Ÿ„ ŹÜ—Œ› ޟÁ Îß̓ ĹÍߍ ÍË

áËËé ß ˙é•ß͉ ˙‚Í‡Ÿ„ ŢË͗ Ç͂Š ÍßË ÎÁ Ř˝ ‚ƒ SMS ÎÁ ŕŸ™ßÁ ˙‚ŕ˂•…‹Á
ßË ĹÍßééƒ ݂Ÿ„ Öߜ ŕ› ܂‹ÍÁ ނ—›Á ŕěÁÍÁ ÎÁ ŕ˂•…‹Á ‚ƒ (Alphanumeric)
.Ëßéƒ ŕËéŒ Îé—Íé›é…é› ˙é…ߍ ŋ„ ˙ßÍ Á˅ƒÁ ÍË ŢË͗ ÍÁË̓Š Пß͋ ß Źŕ•ÍÔ
ŹËéœËŒ ˙•͐› ˙œß˜‚œß˜ ˙‚ž‹Ÿß͋ ŹËœË͗ ËŒÍ ‚ŕ—ƒŒ ß ˙Ďߙߜ—… ŕ— ÍßԜ‚›
ŹÝ‚éžé‹ śŸ– ŕœŐ› ˜œ‚› ˙…‚šÔÁ ˙‚ž‹Ÿß͋ Źinteractive áÍÁ˗œ‚ƒ ŕ™›‡ ÎÁ
‚éƒ ˙阅‹ƒ› ß Đ—• Ź˙—Ÿœßͅ—™Á ŋ„ ŹĂß Íƒ ˙œ…ƒ› ˙‚ŕ›‚œÍƒ ‚ƒ ˙˜ˆÍ‚„ ڟ
˙‚éÝ‚éŸé„ ˟™ß… ß ĹœÍ…œŸÁ ‚ƒ ˙˜ˆÍ‚„—Ÿ ÎÁ ŢÁ߅˙› ؟ß… ÍË .‚ŕ˜œ— ǟ„
ß ‚á΂ƒ ŹáÍߕ ˙œ‚‹Í ݂Ÿ„ ˜œ‚› interactive ˙‚ŕ›‚œÍƒ ͘ŸË Ăß Íƒ ˙œ…ƒ›
.Ë̓ ݂œ chat

ÍË ŕËßΕÁ ŃÎÍÁ ˙‚ĐŸß͋ ˙Á̓ WAP ŕœ ß SMS ŕ˂•…‹Á ŕƒ Î‚Ÿœ ܟšË ŕ™›‡ ÎÁ
:Ë̓ ݂œ ͟ΠËÍÁߛ ÎÁ ŢÁ߅˙› ŕ‚…ß— ނ›Î

WAP ݅‹Ÿ‹ Ţß˃ ˙‚žœ•™… ͂›Œ˙ƒ ËÁː…
WAP Ţě›Ô›‚œ ŕ˜ŸŔ
(ŕË߃ ޟœˆ ŕ— Ţߜ—‚…) WAP ÎÁ ‘Ÿ‹ß ş‚ŽÍ ŢÁ˖•
ŰÍ΃ ˙‚ÍÁ΂ƒ ˙‚Î‚Ÿœ ŕƒ ˙Ÿß˜Š‹‚„ ˙Á̓ SMS ŢË߃ ˂œ›

ÝΚ ŕé—éœéŸÁ ˙œ› ŕƒ Ź˙™‚•œÁ ˙Ďߙߜ—… ˙ßœ ˙Á̓ SMS ÎÁ ŕ˂•…‹Á ş™ƒ‚–
ł鏚éÔÁ ‘é–Áß ÍË ß Ëœ— ŋÁߊÍË ŹĹ‚šÔÁ ŕ‚ŸÍË ˙Á̓ ŕ˜œ— ŕ˂•…‹Á ŋŸœ
.ËË͘˙› ܂‹ÍÁ ˙ß ˙Á̓ ڟ…‚›ß…Á ĹÍߍƒ

݂韄 ܂‹ÍÁ ŹÝŸ‹˙ƒ ˙‚ž›…‹Ÿ‹ ˙Á̓ ÍÁ΂ƒ ŕˌ ˙œŸƒ џ„ ˙‚ž…‹ÁߊÍË Đ‚‹Á ̓
ŢËÍé— ĹŸ›Á ݗ ÍË SMS ŕ— Ë‹Í˙› Í՜ ŕƒ Ź˙™‚› ˙‚ž‹Ÿß͋ ŕƒ ˙‹Í…‹Ë ß ÝŸ‹˙ƒ
.Ëߌ ٕߛ (WAP ĹÍ˖ ˙™Á ŕ…‹) Íß͛ ŕƒ Î‚Ÿœ

‚é› ŕÁÍé›é ˙‚éžéœé•™… ŕƒ Ĺ‚šÔÁ ܂‹ÍÁ އ SMS ŢËÍßŔ ÍË Üͅœ— ʼn… ˙Á̓
˙ÁÍéƒ ĐŸß͋ ޟÁ ÎÁ ŹŕÁ͛ ˙‚žœ•™… ނ˜ËœË Пß͋ ͆—Á ŕ— ÁÍ HTML ˙‚ž›Í•
ŕƒ Í›Á ޟÁ .ݟœ—˙› ˂žœŒŸ„ ŹËœœ—˙› ŕ˂•…‹Á Ëߊ ޟ—Í…Œ› ŕƒ ‚ž›‚Ÿ„ ܂‹ÍÁ
.ݟ΂‹ ˙™› ß ŕ˂‹ ÁÍ Ĺš—Œ› ŕ— Ëœ—˙› ڛ— ‚›



Ăß ˙‚Ý͕
ß Íßéƒé ŕ雙— ŹÍƒÍ‚— ݂œ ˜œ‚›) ÁÍ Ĺ‚šÔÁ ŕ— Ĺ‹Á HTML ŕ‰• ڟ ŹĂß Ý͕
˙ÁÍéƒ Ĺé‹Á ˙é™é›é form ԋ߅ łšÔÁ áÍßŔË͘ .˜—˙› ܂‹ÍÁ Íß͋ ŕƒ (ŕ͟’
łé›ËŠ ނ˜Ëœœ— ŕěÁÍÁ ͅŒŸƒ .Íß͋ ͅߟ„›‚— ß HTML ŕ‰• ޟƒ łšÔÁ Ü˂ƒ…
˙Ÿ‚ž›Í• ÎÁ ŕ…‹Ë ŢŔ ÎÁ .˜ÍÁË Ëߊ ş‚‹ Ăß ÍË HTML form ڟ ŕÁ͛ ˙‚žœ•™…
ŕßéŸéŒ ŢéŸÁ ÎÁ ‚ž™‰ ŕÁÍ .˜ߌ ܂‹ÍÁ ޟ—Í…Œ› ŕƒ SMS ٟÍÔ ÎÁ ˜œÁ߅˙› ŕ—
ŕé—éƒéŒ ŕéƒ ˙鐖Áß Ü‚…Á Ţß˃ ŹÝ‚ž‹ ŕœŐ› ˜œ‚› ݟ‹˙ƒ łšÔÁ ܂‹ÍÁ ˙Á̓
.˜—˙› ŕ˂•…‹Á ŹÝŸ‹˙ƒ



Á߂‡ ˙™› ܉ ŕÁÍ
܂é‹ÍÁ ˙ÁÍéƒ ŢŔ ÎÁ ËéŸéœÁßé…˙› ŕ— ËÁË ÝŸÁߊ ނŒœ ÁÍ áË̓͂— ŕ›‚œÍƒ ‚›
.˟Ÿ‚›œ ŕ˂•…‹Á SMS ٟÍÔ ÎÁ ŕÁ͛ ˙‚žœ•™… ނ˜Ëœœ— ŕ˂•…‹Á ŕƒ Ăß Ĺ‚šÔÁ

:ÎÁ ˜…Í‚ƒ ‚Ë̓͂— ˙‚ŕ›‚œÍƒ ܟƒ– ޟÁ łœ‚—›Á ÎÁ ˙ŠÍƒ ŕšŠ

݂ž‹ ŕœŐ›/ á͂‡… ݂ž‹ ˟Ÿ‚…
͂ƒŠÁ
ŕ˜œ— ŕ˂•…‹Á ŢË͗ ÍÁË ÍƒŠ Пß͋


݂éžé‹ ŕœŐ› ŕ— ŹŇ‚Š ŕ›‚œÍƒ ڟ ß Á߂‡ řß͋ ڟ ˙Á̓ Ź‚› ˙…›‹– ßË Ü‰ ŕÁÍ
.Ĺé‹Á ŕËéŒ ÝŸŐœ… ŹËË ˙› ܂–…œÁ ŹSMS ݅‹Ÿ‹ ‚ƒ ŕÁ͛ ޕ™… ŢÁ̓͂— ŕƒ ÁÍ
ŕ˂é•é…é‹Á ‚ž‹Ÿß͋ ͘ŸË ŕƒ Ý‚Ÿ„ ܂–…œÁ ˙Á̓ ˟œÁ߅˙› ŃßÍ ŢŸÁ ÎÁ ޟœˆ›
ŕéƒ ß ŕé…é•Íé˜ ŕˌ ŕ…Š‚œŒ ş‚‹ ڟ ÎÁ ÁÍ Ý‚ž‹ łšÔÁ Íߗ̛ ŕ›‚œÍƒ .˟œ—
Ü韂é•ßÍé„ ÚŸ ˟‚ƒ Á˅ƒÁ ŕ˜œ— ŕ˂•…‹Á .˜—˙› ܂‹ÍÁ ŕÁ͛ ޕ™… ŢÁ̓͂—
ł鏚éÔÁ Íé˜éŸË ß ˙œ‚‹Í ÎßÍ ŕƒ ŢÁΟ› Ź˙…‹ÁߊÍË Ý‚ž‹ łŸě· ŕ— Ëœ— ŕŸž…
.Ë΂‹ ҊŒ› ŹÁÍ ŕÔ߃͛



:ŋÁ ͟ΠĹÍߍƒ ŃßÍ ŢŸÁ Ë̓͂—

áÍÁËéžé˜œ ß Ĺ•‚ŸÍË ÁÍ ŕˌ ˂‡ŸÁ ܟ‚•ß̈́ řß͋ ŹHTML form ÎÁ ŕ˂•…‹Á ‚ƒ
:ܛ‚Œ łšÔÁ ޟÁ .˜—˙›

ڟœßͅ—™Á ŋ„ ĐÍËŔ ŹÜ‚†› ޟÁ ÍË -Ë͕ ŕƒ Í‰œ› ŕ‹‚œŒ
ŕÁ͛ ޕ™… ŕ˜ËПß͋
ŕÁ͛ ޕ™… ŕ͂›Œ
˙œ‚‹Í Îß̓ ŢÁΟ›
Ź˙œ…› local ܟ‚• ڟ ÍË ˙…‹ÁߊÍË Ý‚ž‹ ŕœß›œ ޟÁ ÍË -˂•› ݟ՜…
.˜—˙› áÍÁ˞˜œ ÁÍ ŕˌ ˂‡ŸÁ ܟ‚•ß̈́

ŕ߉œ ß Ţ‚›Î ŹËߌ áÎÁ˜Á ŕÁÍ ŕœ‚˜Áˇ JVM ڟ ÍË ËŸ‚ƒ ŕ— ŹÜߋœ— ŕ›‚œÍƒ ڟ
Yahho Quotes Ĺé›é‹é– ÎÁ ÁÍ Ĺ‚éšéÔÁ ŕ雂œÍƒ ޟÁ .ËÍÁË Í՜ ͟ΠÁÍ Ü‚‹ÍÁ
ŢéŸéŸé… Źŕ˜œ— ŕ‚ŸÍË ˙œ‚‹Í ÎßÍ ŕƒ ŢÁΟ› ł›ŸŐœ… ŕƒ ŕ…‹ƒ ŹŕË͗ ŕ‚ŸÍË
.Ëߌ ܂‹ÍÁ ˟‚ƒ ݂Ÿ„ ŹÍƒÍ‚— ÝÁ˗ ŕƒ ŕ— Ëœ—˙›

ŕéƒ ŕé…é‹éƒ ÁÍ Ýž‹ ŕœŐ› Źŕ›‚œÍƒ ŹÔŸÁ͌ ˇÁß Ţ‚˜Ëœœ— ŕ˂•…‹Á ˙›‚›… ˙Á̓
.˜—˙› ܂‹ÍÁ ͂Ÿ‹ ˙‚ŕ‚˜…‹Ë ˙Á̓ ŹŕÁ͛ ޕ™… ŕ˜Ë Пß͋

ŕé— ŹŕÁÍé›é ޕ™… ŕ˜Ë Пß͋ Ăß ÍË HTML Ý͕ ŕƒ ÁÍ ‚ ŕËÁË Í‚Ÿ‹ ŕ‚˜…‹Ë
.˜—˙› ŋ„ ŹËߌ˙› ŕ˟›‚œ SMS ŕƒ Ăß Ü‚–…œÁ

.ËË͘˙› ΂ƒ Ýߋ ś‹– ŕƒ Đ„‹ ß Ëߌ˙› ؖ߅› ڟ Ų ŕƒ ŕ›‚œÍƒ ޟÁ



ٟÍÔ ÎÁ ̓͂— Á˅ƒÁ .ËË ˙› ނŒœ ÁÍ ŕŸßÍ ŢŸÁ ˙š‚ƒ Éԋ Ë͗™› ͟Π͟ߍ…
ŹĹ‹Á Ԃƒ…ÍÁ ÍË CellQuotes řß͋ ‚ƒ ŕ— áΟ›ßÍ Í…ßŸ„›‚— ˙ßÍ Íƒ ͘Íß͛ ڟ
ԋ߅ Є‹ ŕ— Ĺƒ‚† ܟ‚• ڟ ÍË ÁÍ ÜŸ‚•ß̈́ Íߗ̛ řß͋ .Ëߌ˙› ܟ‚•ß̈́ ËÍÁß
łé›éŸéŐéœé… ŕéƒ ŕé…鋃 .˜—˙› áÍÁ˞˜œ ŹËߌ˙› ŕ˜Áߊ TimeWorker ŕ›‚œÍƒ
ÁÍ quote.yahoo.com :Ëéœéœ‚é› áÍ‚é‡ ˙‚ŕËÁË ŹTimeWorker ŕ›‚œÍƒ ŹÜŸ‚•ß̈́
ß Ëéœé—˙é› Ĺ‹„ Ź˙Ž…–› ŕÁ͛ ޕ™… ŕ˜Ë Пß͋ HTML Ý͕ ŕƒ ß ŕË͗ ŕ‚ŸÍË
.Ëߌ˙› ܂‹ÍÁ ˙Ž…–› ŕÁ͛ ޕ™… ŕƒ SMS ԋ߅ ‚ŕËÁË Đ„‹


ÉÍÔ ŕˌ ŕ˂‹ ÍÁËߛœ


܉ ŕÁÍ ˙™— ͂…Š‚‹
ÁÍ ĐÍߋ ˗ ޟÁ ˟œÁ߅˙› :ŕ…—œ) :˜—˙› ŕ˂•…‹Á ÜŸĚ ˙‚ž‹š— ÎÁ Ź‚› ܉ ŕÁÍ
(˟Ÿ‚›œ ŕ‚ŸÍË Resources ś‹– ÎÁ ܛ‚— Íßԃ

.˜—˙› encapsulate ŹÁÍ ŕˌ ҊŒ› ŕ˜œ— ŕ˂•…‹Á łšÔÁ :Profile.java

Ü韂é•ßÍé„ ˙éŸéŒ ŢÁß霏 ŕƒ Ĺƒ‚† ܟ‚• ÎÁ ÁÍ ÜŸ‚•ß̈́ :ProfileReader.java
.˜Áߊ˙›

.˝Ë˙› ÍÁ͖ т† ܟ‚• ڟ ÍË ÁÍ ÜŸ‚•ß̈́ ˙ŸŒ :ProfileWriter.Java

.ˌ‚ƒ˙› ܟ‚•ß̈́ ܟ‚• ݂œ ˜œ‚› ‚ž…ƒ‚† á͋ ڟ ܛ‚Œ :Constants.Java

‚› ܉ ŕÁÍ ÍË ÁÍ ŕß͘ interactive ÜÁßÍ ŕ— Ĺ‹Á řß͋ ڟ :CellQuotes.Java
.˜—˙› ݝÁ͕

ŹŕËéœË ĐŸß͋ ŢË͗ ŕ•‚ŽÁ ˙Á̓ ˟‚ƒ ŕ— Ĺ‹Á ˙‹Ÿ•Í…œŸÁ :CellProvider.Java
.Ëߌ ŕ•‚ŽÁ

΂ƒ ÁÍ ŕ˜Ë Пß͋ łšÔÁ ŕ— Ĺ‹Á factory ڟ :CellProviderSelector.Java
.˜ÁË͘˙›

Üͅœ— ʼn… ÁÍ Ü‚‹ÍÁ ނ›Î ŕ— Ĺ‹Á background ÍË ˙Áŕ›‚œÍƒ :TimeWorker.Java
.ËÍÁË



CellQuotes řß͋ ̓ ‚› Є ŹËœßŒ˙› ÜÁßÍ ŢŸÁ ŕƒ Ú›— Ə‚ƒ Ԗ• ͘ŸË ˙‚ž‹š—
Îé—Íé›é… ŹËéœÍÁ̘˙› ÚÁͅŒÁ ŕƒ ÁÍ Ţ‚‹—Ÿ ‘ƒœ› ڟ ŕ— ŹTimeWorker ŕ›‚œÍƒ ß
ŕ雂éœÍéƒ ŹËéË˙é› ÍÁÍé– ˙é™Ë‚ƒ… ܟ‚• ڟ ÍË ÁÍ ‚ž™Ÿ‚•ß̈́ řß͋ .ݟœ—˙›
ŕ͟ŠĚ ˙™Á áÍÁ˞˜œ ܉› ÍË ÁÍ ‚žœŔ ß ŕ˜Áߊ ˙™Ÿ‚• ÎÁ ÁÍ ËŸË‡ ˙‚ž™Ÿ‚•ß̈́
˙é‹Íé…é‹Ë ÚéŸ Í .ËÍÁË Ţˌ ۜ‚› ŕƒ Î‚Ÿœ ˙™Ë‚ƒ… ܟ‚• ŹŢŸÁ̓‚œƒ .˜—˙›
ŕé— ËéË ŇéŸéŠéŒé… Ĺé™ßÍé‹ Í˜Á ŹÝŸÁŕË͗ ˙‰ÁÍÔ ÁÍ lockfile ‚› Źŕˌ ŕ˂‹
ß Ĺé‹Á ˙é™Ë‚郅 ܟ‚• ڟ ÎÁ ܂‰ ÍË ŕ›‚œÍƒ ˜—˙› Ó͕ ŹËÍÁË Ëß‡ß lockfile
áÍéŸé˜ß™‡ ˙Á̓ ÁÍ ˙œ‚›Î ͘ܛ ڟ ޟœˆ› ‚› ŹËœ—˙› ̓ хƒßœ Ţ˟‹Í ˙Á̓
.ŋÁ ͟Π‘ƒœ› ß Ü•– Ű͛ ÎÁ

public class CellQuotes extends HttpServlet
{
   public void doGet(...) throws ServletException
   {
      // return HTML Form to user
      // We do this by simply reading a local file and dumping it
      // to the response stream
   }

   public void doPost(...) throws ServletException
   {
      // extract profile information from POST
      // assume its already been validated by JavaScript on client
      // save parameters as new Profile object
      ...
      // Write the profile to disk
      writeProfile(profile);
      ...

      // clean up
      ...
   }

   private void writeProfile(Profile p)
   {
      // synchronize on some static object, so that multiple servlet
      // instances don't corrupt profiles file

      synchronized(obj)
      {
         // check for existence of LockFile
         if(Constants.lockFile.exists())
         {
         // waiting and timeout code goes here
         }

         // Since access is available, create lockfile and write to
         // transaction file
         ProfileWriter pw = new ProfileWriter(Constants.transactionFile);
         prw.writeProfile(p);
         ...
      }
   }
}


ŕ˂é•é…‹Á ‚ƒ ݟ–…‹› ͟’ ĹÍߍƒ ÁÍ synchronization‚› ŕ—œŸÁ ÎÁ š‚›…‰Á ‚›Œ
ÍË Ô閕 Á͈ .˟Áŕˌ ǐ…› ŹÝŸÁŕË͗ ܛ‚— Źŕ͟’ ß timeout Ź‚lockfile ÎÁ
ŢéŸÁ ŕéƒ ÖßéŽß› ŕœ‚•‹‚…› żÝŸÁŕËÁ˜ ĹÍߍ ÁÍ ŮŸƒÔ… ŕ— ÚͅŒ› ‚…‹ŸÁ ˙ŸŒ ڟ
˟‚ƒ ŕ›‚œÍƒ ß Ĺ™ß͋ ŕ— Ĺ–Ÿ–‰ ޟÁ ŕƒ ŕ‡ß… ‚ƒ ‚› ˙‹Í…‹Ë ‹‰ ŹĹ‹Ÿœ ˙˜Ë‚‹
Ůé–é‰é… ˙éœé› ŕƒ (ˌ ŕ…•˜ ͅŒŸ„ ŕ— ÍßԜ‚›) ˜ߌ Á͇Á ؙ…Š› ˙‚JVM ÍË
ÁÍ áÍé…éžéƒ ŕÁÍ ŮŸƒÔ… ŢË͗ ܛ‚— ˙Á̓ ‚›Œ ͘Á) .ŋÁ ÚͅŒ› ˙ŸŒ ڟ ޅ•‚Ÿœ
(˟ÍÁ̘ƒ ނŸ› ÍË ‚› ‚ƒ ÁÍ ŢŔ ‚•Ô™ ŹËŸœ—˙› ˂žœŒŸ„

áÍÁËéžé˜éœ т† ܟ‚• ڟ ÍË ÁÍ Ţ‚˜Ëœœ— ŕ˂•…‹Á ܟ‚•ß̈́ CellQuotes řß͋
ŕ镂éŽÁ ŃÁ˙é™éÁ áÍÁ˞˜œ ܉› ŕƒ ÁÍ ÜŸ‚•ß̈́ ŢŔ TimeWorker ŕ›‚œÍƒ .˜—˙›
.˜—˙› іœ ˙‚•ŸÁ ŕˌ ŕ͟ŠĚ ܟ‚•ß̈́ ˙ßÍ Íƒ ޟœˆ› ß ËŸ‚›œ˙›

áÍÁ˞˜œ ܉› ˙œ‚‹Í ÎßÍ ŕƒ ˙Á̓ ͂ƒ ڟ ŏ‚‹ ڟ ͝ ˟‚ƒ TimeWorker ŕ›‚œÍƒ
ŕéœéŐé› .ËßéŒ ÍÁ˟ƒ ŹÝ‚ž‹ ŕœŐ› ŕƒ ˙ß Ç‚Ÿ…‰Á ҟŠŒ… ß ŕ˜œ— ŕ˂•…‹Á ˙™Á
ŕ—™ƒ ŹËߌ˙›œ ܂‹ÍÁ ͂ƒ ڟ ŏ‚‹ ͝ ݟ՜… ‚ƒ ނ˜Ëœœ— ŕ˂•…‹Á ŕƒ Ô–• ݂ž‹
܂é‹ÍÁ ÎéŸéœ ŕÍéŸé’ ß Í‚ƒ ڟ ŏ‚‹ ś ŹÍ‚ƒ ڟ ŏ‚‹ ł ݟ՜… ‚ƒ ˙œ‚‹— ˙Á̓
ŕ˂é•é…é‹Á ÝÁ˗ ˙Á̓ ݂ž‹ ŕœŐ› Ë͟˜˙› ݟ›… TimeWorker ŕœß˜ˆ .ˌ ˝Áߊ
żËߌ ܂‹ÍÁ ŕ˜œ—

Íé˜Á ŹÝéŸÁŕËÍé— ŕ韃… Ź(˛´) ÎßÍ ÚŸ ÍË ‚ž…‚‹ ËÁː… Ř͐› ͘ŒÍ‚›Œ ڟ ‚›
ÍéƒÍ‚é— ŢŔ Є ŹËŒ‚ƒ ŕ˜œ— ŕ˂•…‹Á ł›ŸŐœ… ŕƒ ÝŸ‹–… ܃‚– 𛂗 á͂‡ ŏ‚‹
:˟œ— ŕ‡ß… ͟Π܂†› ŕƒ .˜— ŕ‚ŸÍË ÁÍ Ý‚ž‹ ˟‚ƒ

.ݟÍÁË ÍƒÍ‚— ął ß ÝŸÁŕË͗ Öß͌ 00:00 ŏ‚‹ ÍË ÁÍ ŕ›‚œÍƒ ŕ— ÝŸœ— ˙› Ó͕

.ŋÁ ŕË͗ ݟ՜… ͂ƒ ڟ ŏ‚‹ ą ͝ ÁÍ Ý‚ž‹ ŕœŐ› ŋÁߊ ÍË :A
.ŋÁ ŕË͗ ݟ՜… ͂ƒ ڟ ŏ‚‹ ł ͝ ÁÍ Ý‚ž‹ ŕœŐ› ŋÁߊÍË :B
.ŋÁ ŕË͗ ݟ՜… ͂ƒ ڟ ŏ‚‹ ś ͝ ÁÍ Ý‚ž‹ ŕœŐ› ŋÁߊ ÍË :C



ˇÁß ŕ˜œ— ŕ˂•…‹Á Š…œÁ ˙Á̓ TimeWorker ŕ›‚œÍƒ ԋ߅ ŕˌ ŕ˂•…‹Á ÜߍÁ
:Ë߃ ˝Áߊ ͟ΠÉ͌ ŕƒ Ĺ‚‹ ͝ ÍË ÔŸÁ͌

ÁÍ Ý‚éžé‹ ŕéœéŐé› A ̓͂— ‚žœ… .ŋÁ ŏ‚‹ ą ̓Á̓ ͘ŒÍ‚›Œ 01:00 ŏ‚‹ ÍË
.˜—˙› ŕ‚ŸÍË

ÁÍ Ý‚éžé‹ ŕéœŐ› A ̓͂— ‚žœ… ŕ͂ƒßË .ŋÁ ˛ ̓Á̓ ͘ŒÍ‚›Œ 02:00 ŏ‚‹ ÍË
.ŕ͘ ˝Áߊ

Ĺ镂éŸÍË ÁÍ Ý鞋 ŕœŐ› B ß A ŢÁ̓͂— .ŋÁ ł ̓Á̓ ͘ŒÍ‚›Œ 03:00 ŏ‚‹ ÍË
.˜œ—˙›

Ĺ镂éŸÍË ÁÍ Ý‚ž‹ ŕœŐ› ŢÁ̓͂— ˙›‚›… .ŋÁ ś ̓Á̓ ͘ŒÍ‚›Œ 06:00 ŏ‚‹ ÍË
.˜œ—˙›

SMS ˙‚éž›‚Ÿ„ ܂‹ÍÁ ˙Á̓ ÁÍ ŃËߊ Ăß ĐŸ•Í…œŸÁ ŕ˜Ë Пß͋ ͝ ŕ— ˙œ‚›Î ‚…
Í‚éƒ ÚéŸ Íé•éœ Íé ŕ˜Ë Пß͋ ͝ ŕƒ ÁÍ Ýž‹ ŕœŐ› ˟‚ƒ TimeWorker ŹËÍÁË
Ůé삕 ܗŒ› ޟÁ ̓ Źfactory ˅› ˙‰ÁÍÔ ˙ߘ™Á ÎÁ ŕ˂•…‹Á ‚ƒ ‚› .˜— ܂‹ÍÁ
ŹËÍÁË Ëßé‡ß CellProvider ÍË ĐéŸé•Í酜ŸÁ ڟ Źŕ˜Ë Пß͋ ͝ ˙Á̓ ŹÝŸË›Ŕ
Đšé— .Ë錂éƒ˙é› ˙é‹Íé…é‹Ë Üéƒ‚é– ˙éœé…› ܟ‚• ڟ ÍË ŹË…› ŢŔ ˙‚ž‹š— ŋŸ™
ŕ‚阅‹Ë ŕ— Ĺ‹Á getProvider(StringID) ˅› ڟ ˙ÁÍÁË CellProviderSelector
ÎÁ ŕ˂é•é…é‹Á ‚éƒ Üé›é ŢéŸÁ ŹË霗 ˙› ޟ›‚… ID ŕƒ ŕ…‹ƒ ŹÁÍ ˙Ž…–› Ú͉…›
ŕËéœéË ĐéŸßÍé‹ ÚŸ ݂œ ŢË͗ ŕ•‚ŽÁ ޟÁ̓‚œƒ .Ë͟˜˙› ĹÍߍ Reflection API
:ˌ‚ƒ˙› ͟Π˙˜Ë‚‹ƒ ŹËŸË‡

К— ͟‹› ŕƒ ŢŔ ŢË͗ ŕ•‚ŽÁ ß CellProvider П•Í…œŸÁ ˅› ޅŒßœ -
.CellProviderRegistry ˙œ…› ܟ‚• ŕƒ Đš— ݂œ ŢË͗ ŕ•‚ŽÁ -
.ŕ›‚œ ɟ‰ Ë͗™› ˙Á̓ ŢË߃ ÍÁß˟›Á -

˝Áߊ ܛ ˙ƒßŠƒ ŃßÍ ŢŸÁ ŕ…ƒ™Á ß ŹĹ‹‚› Ëߊ ŕƒ ˙›Í˜™Ë ڟ ‚žœ… ŕ…—œ ޟ͊Ŕ
.Ë͗

˝Ë˙› ނŒœ ÁÍ TimeWorker ŕ›‚œÍƒ ͟Π˗

public class TimeWorker
{
   private static int counter = 0;

   public static void main(String argv[])
   {
      // we want the application to run continuously, so enter an
      // infinite loop

      while(true)
      {
         // check if Transaction file exists
         // if yes, then new profiles must be merged with main store
         if(Constants.transactionFile.exists())
         {
            // check if lockfile exists
            if(Constants.lockFile.exists())
            {
            // waiting and timeout code goes here
            ...
            }

            // We have access to transaction file, so create lockfile
            // and merge profiles
            ...
         }

         // Main store is up-to-date

         while(...) // loop to read all user profiles
         {
            // read next profile
            // check if user is "eligible" to be sent quotes
            if(...)
            {
               // get quotes for user's stock symbols from quote.yahoo.com
               // get CellProvider implementation from CellProviderSelector
               // factory
               CellProvider prov = CellProviderSelector.getCellProvider(profile.getProviderID());

               // send quotes to this handler, which then sends SMS message
            }
         }

         // All user-profiles have been dealt with, sleep now

         counter++;
         try
         {
            // sleep for an hour
            Thread.sleep(1000*60*60);
         }
         catch(InterruptedException ie)
         {
            ...
         }
      }
   }
}



‚ž…ŸËßˉ›
ŕ霂閂…Œ› .˜Œ‚ƒ˙›œ performance-oriented ß ŕË߃ ŕ˂‹ 𛂗 ‚› ˙‚ÚŸœ—…
.ÝéŸé…é‹é ŹËéŸÁŕ…•‚Ÿ ‚œ‚Ÿ‰Á ŕ— á͟Ÿ“… ŕœß˜ ͝ ËÍߛ ÍË á͟˜Ë‚Ÿ ͂…‹Áߊ
ÝÍé• ‚éƒ šé›‚é— ‚é› ܉ ŕÁÍ ŹÍŽ‚‰ ܂‰ ÍË .ËÍÁË ĹŸËßˉ› áËÁː… ‚› ˙‹Í…‹Ë
܂é‹ÍÁ ˙Á̓ ˙…–ß› Íßԃ Ăß Ý͕ ÎÁ ŕ˂•…‹Á ŕ— ŢŸÁ ŕƒ ŕ‡ß… ‚ƒ ŹĹ‹Á ŕ…‹ƒÁß
ËßÎ ˙é™éŸéŠ CellProvider Ëé…é› ËßÍ˙› ͂ՅœÁ ŹËߌ˙› ŕ˂•…‹Á SMS ˙‚ž›‚Ÿ„
.Ëߌ ˙›ŸË–

.ݟœ—˙› ˂žœŒŸ„ ŕ›‚œÍƒ ŢËߛœ ͅžƒ ˙Á̓ ނ—›Á ˜ˆ ޟœˆ› ‚›

ŢéŸÁ ÍË ŕé— ŹËŸÍŸ˜ ŕ͞ƒ ŢÁ̓͂— ŕ˂•…‹Á ‹‰ ŕƒ Ň‚…ŠÁ ŃßÍ ÎÁ ˟œÁ߅˙›
.˜…‹ ނŒ…‚›ŸŐœ… ÍË ÍŸŸ“… ŕƒ Í˂– ނ˜Ëœœ— ŕ˂•…‹Á ĹÍߍ

ÎÁ ŕ˂é•é…é‹Á ‚éƒ ÍéŸé˜ŕ͂é›éŒ ÚéŸ ËŸœÁ߅˙› ŹÜ›‚— ‚–Áß ŕ›‚œÍƒ ڟ ˙Á̓
ނ闛Á ŢÁ̓͂— ŕƒ ˙˜ĎŸß ޟÁ .˟œ— ŕ•‚ŽÁ Ź‚› ܉ ŕÁÍ ŕƒ JavaTelephonyAPI
Ţé…éŠÁËéœÁ Í‚é— ÎÁ ‚éŸ ß Í‚— ŕƒ Ĺž‡ ޕ™… ŕ͂›Œ ڟ ‚ƒ ˙…‰ÁÍ ŕƒ ŕ— ËË˙›
.˜͟˜ƒ Ђ›… Пß͋

XML ÜéŸ‚é• ÚŸ ÍË ËœÁ߅˙› Ë͕ ͝ ނ˜ËœË Пß͋ ß ŢÁ̓͂— ܟ‚•ß̈́ łšÔÁ
.ËË͘ ŕ͟ŠĚ



ŕ‡Ÿ…œ
ŕË‚é‹ ŕÁÍ ÚéŸ ÝéŸé‹Í… Íß՜› ŕƒ ‚ŕ›‚œÍƒ ߗͅ ß Á߂‡ řß͋ ÎÁ ‚Ü‰ ŕÁÍ
˙Ÿ‚œÁ߅ ŕ— ÝË͛ ÎÁ á˂ŸÎ ËÁː… ˙Á̓ ŕËßΕÁ ŃÎÍÁ Пß͋ ŢËÍßŔ ݝÁ͕ ˙Á̓
ŹËéœÍÁË Ţ‚éŒéÁÍé›é ˙‚žœ•™… ÍË ÁÍ (SMS ş™ƒ‚– ‚ƒ) ˙œ…› ˙‚ž›‚Ÿ„ ŕ‚ŸÍË
ŹËéœÁŕË͗ ŕԂ‰Á ÁÍ WAP ŕ˜ŸŔ ŕ— ŕ͟… ˙‚ÍƒÁ ŕ— ˙œ‚›Î ‚… .˜—˙› ŕ˂•…‹Á
SMS ŹËé‹Íœ ŕÁÍ ÎÁ ŢÁ̓͂— ͅŒŸƒ ş‚ŽÍ ˙Á̓ ͅžƒ ܗ…ß̈́ ڟ ß Ëœß͜ ͂œ—
̓ ‚ŕ›‚œÍƒ ŕƒ Ĺ‚›ËŠ ˙Á̓ SMS ˙‚ÍË .ˌ‚ƒ ËŒÍ Üƒ‚– ŕ͂ˆ ŕÁÍ ÚŸ ˜Á߅˙›
.ŋÁ ΂ƒ áÍßŔߜ ß Í‚—…ƒÁ ŕœß˜ ͝ ˙ßÍ



ނ˜Ëœ‹Ÿßœ
Ś‚ŸÁ ÍË Loyola Ǚ‚— ÍË Í…ßŸ„›‚— Ýߙ ŕ›‚œÍƒ ÍË ÍŽ‚‰ ܂‰ ÍË Ü‹‚ƒ ܂œß‹
ÎÁ .ËÍÁË ˙é‹éŸßœ ŕ›‚œÍƒ ŕ–ƒ‚‹ ܂‹ ľ ޟœˆ› ßÁ .ŋÁ ͂— ŕƒ ÜߓŒ› ‚ŸËœŸÁ
ŢéŔ ŕÁÍ ÔéŠ ÎÁ ŢÁßé…˙› ŰÍ΃ ˙‚Ţ‚›Î‚‹ ˙Á̓ ˙ß ŕˌ ܟ›—… ˙‚ŕĎß̈́ ŕ™›‡
Ăß震 ޝŔ ŕÁÍ ÚŸÍ…—™Á ъƒ ß (NEEIRI) ڟœßͅ—™Á ˙‹Ëœž› ˙߅Ÿ…‹œÁ Ź‚ŸËœŸÁ
ŢÁÍÁËé•ÍéÔ ŕƒ ˙‹Ÿßœ ŕ›‚œÍƒ ˙‚žœ‚ƒÎ ͘ŸË ß C ÍË Ń߂— ÎÁ Є ßÁ .Ë̓ ݂œ
.ˌ ى™› Á߂‡ ˙‹Ÿßœ ŕ›‚œÍƒ ނƒÎ

ÎÁ Ń韃 ß Ĺ‹Á ͅߟ„›‚— Ýߙ ÍË Đœ‚‹Ÿ™ ßÁ .ˌ‚ƒ˙› RDA ˙œ• Í߂Œ› ܂„ á͘
˙ß .Ĺé‹Á Áß‚é‡ ‚ƒ ͂— ܂‹ ł ܛ‚Œ ŕ— ËÍÁË ÍÁΕÁÝ͜ ˟™ß… ÍË ŕ–ƒ‚‹ ܂‹ ś
ŕËéŒ ą/ą Áß‚é‡ ß ˛ Á߂‡ ˟™ß… ˙Á̓ ނ‹ ŗ͌ ŕ›‚œ ˙Áߘ ŕ‚ŸÍË ŕƒ ÍŠ…•›
.Ë錂éƒ˙› ˜™ŸÍ› ŕ‚˜ŒœÁË ÎÁ Ëߊ ˙Áͅ—Ë ŕ‚ŸÍË Ü‚‰ ÍË ÍŽ‚‰ ܂‰ ÍË ß Ĺ‹Á
ß IEEE Potentials Ëéœéœ‚› ˙…‚ŸÍŒ…œ ÍË ÁÍ á͂Ÿ‹ƒ ˙œ’ ˙‚žƒ‚…— Ţߜ—‚… á͘
ŕƒ ËŸœÁ߅˙› Javapal.com ĐÍËŔ ԋ߅ .ŋÁ ŕ˟œ‚‹Í ȃ Communication UK
.˟œ— Á˟„ ˙‹Í…‹Ë ˙ß ĹŸ‚‹ Ăß


Resources
Download the source code that accompanies this article:
http://www.javaworld.com/javaworld/jw-03-2001/sms/jw-0330-sms.zip

Global mobile phone growth report:
http://home.intekom.com/cellular/stats/statistics_global_handset_sales_2000.htm

The Internet Economy Indicators report, June 1999:
http://www.internetindicators.com/features.html

"What Services Do Wireless Data Users Want?" (internet.com, March 23, 2000):
http://www.allnetdevices.com/marketdata/000323wireless.htm

A comprehensive introduction to SMS:
http://www.anywhereyougo.com/ayg/ayg/sms/Index.po

The Lycos Free SMS Service page:
http://www.lycos.co.uk/service/sms/agb.html

The WAP Forum:
http://www.wapforum.com

"Companies Seek to Bridge 'WAP Gap,'" (internet.com, March 24, 2000):
http://www.allnetdevices.com/news/0003/000324wap.htm

See the findings of the Tamkang University department of mass communications's survey of WAP-enabled cell users -- "Taiwan Survey: WAP Considered Expensive & Slow," Steve Crook (internet.com, April 11, 2000):
http://www.allnetdevices.com/news/0004/000411taiwan.htm

To find out why SMS still rocks -- "SMS Still the Killer App," Jřrgen Berner Ross (wap.com, November 14, 2000):
http://www.wap.com/cgi-bin/view.cgi?id=300302&cat=7

To find out why Microsoft rejected WAP -- "Microsoft Compares WAP with DOS," John Leyden (vnunet.com, July 6, 2000):
http://thebusiness.vnunet.com/news/1105882

Read this article to learn why WAP fails -- "One Wireless Viewpoint: 'WAP is Crap,'" Nicole Manktelow (ZDNet UK, June 30, 2000):
http://www.zdnet.co.uk/news/2000/25/ns-16330.html

"WAP for Java Developers," Qusay H. Mahmoud (JavaWorld, June 2, 2000):
http://www.javaworld.com/jw-06-2000/jw-0602-wap.html

"Give WAP a Break," Joanie Wexler (ITworld.com, January 17, 2001):
http://www.itworld.com/Net/3025/NWW00319216/

For more articles on wireless technologies, browse the Embedded Java section of JavaWorld's Topical Index:
http://www.javaworld.com/javaworld/topicalindex/jw-ti-embedded.html

Talk more about SMS and WAP in the Device Programming discussion, moderated by Qusay Mahmoud:
http://www.itworld.com/jump/jw-0330-sms/forums.itworld.com/webx?230@
@.ee6b808!skip=155


Sign up for the JavaWorld This Week free weekly email newsletter and keep up with what's new at JavaWorld:
http://reg.itworld.com/cgi-bin/subcontent12.cgi

Read more from Sonal Bansal and Gaurav Pal: "Exceptions in Java: Nothing Exceptional About Them," (JavaWorld, August 18, 2000):
http://www.javaworld.com/jw-08-2000/jw-0818-exceptions.html

Read more from Gaurav Pal: "HMVC: The Layered Pattern for Developing Strong Client Tiers," (JavaWorld, July 21, 2000):
http://www.javaworld.com/jw-07-2000/jw-0721-hmvc.html


˙‡œ‹Í՜
ޟÁ ËÍߛ ÍË ÁÍ Ëߊ Í՜
:˟Ÿß˜ƒ ‚› ŕƒ Ă™Ô›

ŃÎÍÁ ‚ƒ ˙™ŸŠ -
ŃÎÍÁ ‚ƒ -
ŃÎÍÁ˙ƒ -

˙œ šßÔ ˙™ŸŠ -
˂œ› -
ŕ‚…ß— -

˙Š… ˙™ŸŠ -
Ăߙԛ -
ŋŸœ ˙Š… ˙•‚— ŕÎÁ˜Á ŕƒ -


:݂œ

:ڟœßͅ—™Á ŋ„

: ŗ͌ ݂œ








Copyright 2001, Javaworld/International Data Group Inc./PC WORLD Iran. All rights reserved.