J2ME offers an extraordinarily flexible and robust platform for developing mobile applications with enterprise-class performance, reliability, and value. Now, leading mobile developer Michael Yuan covers every aspect of building industrial-strength applications with J2ME: design, architecture, tools
Enterprise J2ME: developing mobile Java applications
β Scribed by Yuan, Michael Juntao
- Publisher
- Prentice Hall PTR
- Year
- 2003;2007
- Tongue
- English
- Leaves
- 481
- Edition
- 8th print
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
A guide to J2ME development for application developers, architects and IT managers. The text covers basic J2ME profiles and popular mobile Java APIs. It provides complete sample code for each technology covered.
β¦ Table of Contents
Cover......Page 1
Contents......Page 6
Foreword......Page 20
About this Book......Page 22
Acknowledgments......Page 28
I: Introduction......Page 30
1 Mobile Commerce: Visions, Realities, and Opportunities......Page 32
1.1 Mobile Commerce Value Propositions......Page 33
1.2 Mobile Technology Adoption......Page 36
1.3 The Search for Killer Mobile Applications......Page 38
1.4 Mobile Commerce Landscape......Page 40
Resources......Page 42
2 J2ME: Is Mobile Java Ready for Enterprise?......Page 44
2.1 Why Java?......Page 45
2.2 The Java Community Process......Page 46
2.3 Java Everywhere......Page 47
2.4 Java 2 Micro Edition Explained......Page 49
Resources......Page 54
II: End-to-End Enterprise Applications......Page 58
3 The Smart Client Paradigm: iFeedBack......Page 60
3.1 Benefits of Smart Clients......Page 61
3.2 Introducing iFeedBack......Page 62
3.3 iFeedBack Usage Scenarios......Page 64
3.4 Implementation Walk Through......Page 67
Resources......Page 77
4 Managed Smart Clients......Page 80
4.1 Container-Managed Applications......Page 81
4.2 OSGi Containers......Page 84
4.3 A Simple Echo Service Example......Page 88
4.4 Smart Client with HTTP Front End......Page 99
4.5 Mobile Gateways......Page 106
Resources......Page 108
5 Mobile Design Patterns: The Smart Ticket Blueprint......Page 110
5.1 Getting Started......Page 111
5.2 Smart Ticket in Action......Page 113
5.3 Important Architectural Patterns......Page 117
5.4 Implementation Techniques......Page 127
Resources......Page 138
6 Advanced HTTP Techniques......Page 140
6.1 The Decorator Approach......Page 141
6.2 The Process-Chain Approach......Page 143
6.3 Session Tracking via HTTP Cookies......Page 146
6.4 HTTP Basic Authentication......Page 148
6.5 HTTP Digest Authentication......Page 150
6.6 Secure HTTP......Page 152
Resources......Page 154
7 End-to-End Best Practices......Page 156
7.1 Limited Device Hardware......Page 157
7.2 Slow, Unreliable Networks......Page 161
7.3 Pervasive Devices......Page 165
7.4 Ubiquitous Integration......Page 167
7.5 The Impatient User......Page 170
7.6 Summary......Page 172
Resources......Page 173
III: Mobile Messaging Applications......Page 174
8 Email and PIM......Page 176
8.1 Basics of Email......Page 177
8.2 Introducing Mail4ME......Page 178
8.4 The PDA Optional Package......Page 184
8.5 Commercial Email and PIM Suites......Page 185
8.6 Corporate Portal Servers......Page 187
Resources......Page 190
9 Converged Mobile P2P Messaging......Page 192
9.1 Introducing the Wireless Messaging API......Page 193
9.2 WMA in Action......Page 196
9.3 WMA Reference Implementation......Page 201
9.4 SMS from the Back End......Page 203
9.5 Beyond SMS: The IM Convergence......Page 208
9.6 SIP-Based IM Applications......Page 213
Resources......Page 214
10 Enterprise Messaging......Page 216
10.1 Mobile Enterprise Messaging......Page 217
10.2 Introducing the JMS......Page 219
10.3 Mobile JMS from iBus//Mobile......Page 224
10.4 The IBM WebSphere MQ Everyplace......Page 228
Resources......Page 239
IV: Mobile Databases and Synchronization Engines......Page 242
11 Mobile Database for CDC Devices......Page 244
11.1 Database on the Go......Page 245
11.2 Introducing JDBC......Page 246
11.3 Portable and Efficient Code Using PreparedStatement......Page 248
11.4 Access Stored Procedures Using CallableStatement......Page 250
11.5 The JDBC Optional Package for the CDC......Page 252
11.7 iAnywhere Solutions SQL Anywhere Studio......Page 253
11.9 Oracle9i Lite......Page 257
11.10 PointBase Micro Edition......Page 258
11.11 Example Application: Contact Manager......Page 259
11.12 Summary......Page 265
Resources......Page 266
12 Mobile Databases for MIDP Devices......Page 268
12.1 PointBase Micro Edition......Page 269
12.2 The Oracle J2ME SODA SDK......Page 270
12.3 The IBM DB2e FastRecordStore......Page 272
12.4 Summary......Page 275
Resources......Page 276
13 Database Synchronization......Page 278
13.1 Synchronization and Mobility......Page 279
13.2 PointBase UniSync......Page 282
13.3 IBM DB2 Everyplace......Page 286
13.4 iAnywhere Solutions MobiLink......Page 289
13.5 Oracle9i Mobile Server......Page 291
13.6 The Synchronized Contact Manager......Page 292
Resources......Page 297
14 Access Backend Databases......Page 300
14.1 Direct Access to Remote Databases......Page 301
14.2 The Oracle J2ME SQL SDK......Page 302
14.3 Legacy Applications......Page 303
14.4 Using Simplicity for Legacy Databases......Page 305
Resources......Page 310
V: XML and Mobile Web Services......Page 312
15 XML for Small Devices......Page 314
15.1 What Is XML?......Page 315
15.2 Challenges for Small Devices......Page 316
15.3 XML Parsing Models......Page 317
15.4 Introducing Amazon XML Services......Page 320
15.5 Amazon Services via XmlPull......Page 323
15.6 Amazon Services via kDOM......Page 326
15.7 A Mobile RSS Client......Page 329
Resources......Page 332
16 SOAP Web Services on Smart Clients......Page 334
16.1 What Is SOAP Web Services?......Page 335
16.2 Introducing kSOAP......Page 338
16.3 kSOAP Explained......Page 346
16.4 Advanced kSOAP......Page 352
16.5 More kSOAP Examples......Page 354
16.6 Whatβs in kSOAP v2.0?......Page 357
Resources......Page 361
17 The J2ME Web Services Optional Package......Page 362
17.1 A Little History......Page 363
17.2 The XML Processing API......Page 364
17.3 The JAX-RPC API......Page 365
17.4 The SPI for Implementers......Page 370
17.5 Compare with kXML and kSOAP......Page 371
17.6 Summary......Page 372
Resources......Page 373
18 Case Study: Mobile Clients for Location-Based Services......Page 374
18.1 Location-Based Services......Page 375
18.2 Microsoft MapPoint Web Services......Page 376
18.3 MapPoint J2ME Clients......Page 382
18.4 Enhancing the Driving Directions Application......Page 386
18.5 Summary......Page 390
Resources......Page 391
VI: Advanced Mobile Security......Page 392
19 Mobile Security for Enterprise......Page 394
19.1 What Is Advanced Mobile Security?......Page 395
19.2 Lightweight Mobile Cryptography Toolkits......Page 397
19.3 Bouncy Castle Lightweight API......Page 400
19.5 Phaos Technology Micro Foundation Toolkit......Page 402
19.6 NTRU jNeo for Java Toolkit......Page 404
19.7 B3 Security......Page 405
19.9 Standardization of J2ME Security APIs......Page 407
Resources......Page 408
20 The J2ME Crypto Recipes......Page 410
20.1 Overview of Recipes......Page 411
20.2 Symmetric Encryption......Page 413
20.3 Password-Based Encryption......Page 421
20.4 Public Key Encryption......Page 427
20.5 Digital Signature......Page 438
Resources......Page 447
A.1 Life Cycle Methods......Page 448
A.3 Remote and Local Data......Page 449
A.4 Code Walk Through......Page 450
A.5 Packaging and Building......Page 454
A.6 Deployment......Page 458
A.7 Summary......Page 459
B: Tools and J2ME Runtimes for PDAs......Page 460
B.1 Overview of the WebSphere Studio Device Developer......Page 461
B.2 Installing MIDP on PocketPC Devices......Page 462
B.3 Installing Personal Profile on PocketPC Devices......Page 463
B.4 Run Java Applications on the PocketPC Device......Page 464
B.5 Summary......Page 465
B......Page 466
C......Page 467
D......Page 468
E......Page 469
G......Page 470
I......Page 471
J......Page 472
M......Page 473
P......Page 475
R......Page 476
S......Page 477
U......Page 479
X......Page 480
Y......Page 481
π SIMILAR VOLUMES
Developing complex software requires more than just churning out lines of code. As a software architect or developer involved in an industrial project, you must understand and be able to leverage critical software sub-disciplines such as architecture, analysis and design techniques, development proc
Includes bibliographical references and index
This book has a good chapter 4 on UML-Java mapping which is explained very clearly. Other books tends to be bombastic and theorectical and vomitting out dry, useless high level UML jargons. Since most developers knows attrbutes and methods better than say, trying to figure out what an association li