funambol java clients development: the blackberry case
TRANSCRIPT
- 1. Funambol Java Client Development: The Blackberry Case Ivano Brogonzoli
2. Overview
- Blackberry Products flavors
- Technology Overview
- Funambol Clients Architectural Overview
- Funambol Products Localization
- Code Matters
- Conclusions: Whats next
- Q&A
3. Blackberry Products Flavor (1/2) The Funambol PIM Sync Client
- Device PIM Sync
- Older than the email client
- Personal data access
- Blackberry API based
- Manual Sync
- Scheduled Sync
4. Blackberry Products Flavor (2/2) The Funambol Push Email Client
- Email and vCard Sync:
- CTP Push service
- SMS Push Service
- Manual Sync
- Scheduled Sync
5. Technology Overview (1/3)
- Sun JME Technology: VM and kVM
- MIDP 2.0: JSR 118
-
- Standard Profile for a wide set of devices: Graphics Management, IO Stream, Midlet Lifecycle, RMS, Media control API, PKI digital Signature, Localization;
- CLDC 1.0: JSR 30
-
- java.lang (String...), java.util (Vector...), java.microedition.io (connections);
6. Technology Overview (2/3)
- The Blackberry OS:
- JME technology support
- Research In Motion (RIM) API extension
- The build process (ant extensions):
- JME Build tools, obfuscators, pre-verifiers for JME builds
- Specific RIM RAPC extensions to build, compress and sign the code
7. Technology Overview (3/3)
- Testing framework: j2meUnit
- Good Portability
- Test Suites enabled
- Build integrated
- Enhance the automated test process
8. Funambol Java Clients Architectural Overview (1/10)
- MVC Pattern realization :
- Application dependent modules
- +
- Shared API Components
9. Funambol Java Clients Architectural Overview (2/10)
- Funambol JME APIs
- Funambol JME SyncML API
-
- SyncML protocol definition
-
- SyncManager and SyncSource core classes
- Funambol JME Mail API
-
- Message, Address, MessageFlags classes
-
- Parsers and Formatters for incoming and outgoing mail messages
10. Funambol Java Clients Architectural Overview (3/10)
- RIM API Integration with Funambol JME Common API
- Storage management:
-
- ObjectStore management wrapped around a RecordStore (JME shared)
-
- RIM Persistable implementation
- ConnectionManager:
-
- URL configuration implemented for Blackberry due to device behavior with the Connector JME interface
11. Funambol Java Clients Architectural Overview (4/10)
- Funambol JME Storage Management Process
12. Funambol Java Clients Architectural Overview (5/10)
- BlackberryRecordStore Implementation
13. Funambol Java Clients Architectural Overview (6/10)
- JME Connection Framework:
- Usage: c = () Connector.open(URL::String)
14. Funambol Java Clients Architectural Overview (7/10)
- Blackberry Connections
- Connector.open(URL) call success depends by the URL parameters:
-
- Transport Interfaces (Data Bearer)
-
- ServiceBook content (Carrier)
- Blackberry Connections need parameters and must be configured!!
15. Funambol Java clients Architectural Overview (8/10)
- ConnectionManager build implementation:
16. Funambol Java Clients Architectural Overview (9/10)
- Java native interface implementation example:
17. Funambol Java clients architectural overview (10/10)
- High level design on Blackberry: UI and framework to interface the Funambol APIs
- Funambol push email client
-
- MIDlet (kVM compliant)
- Funambol PIM Sync Client
-
- Java application for Blackberry (main())
18. Funambol products Localization
- Different approaches:
- Localization of PIM Sync client:
-
- Simple XML Parser and a language.xml file
- Localization of Funambol Email client
-
- Jar localizer integrated with the build process that read a property file
- Localization & Community members
-
- Lion Sniper Program: https://l10n.forge.funambol.org/
19. Code matters (1/4)
- Checkout the code from the Forge SVN:
20. Code Matters (2/4)
- Configure your property files and build the project calling the ant Blackberry task from the command line
- Start your DS-Server if you need it.
21. Code Matters (3/4) 22. Code Matters (4/4)
- Start the application on the device or Emulator.
- (Demo)
23. Thanks to...
- The Community Contributors:
- All Funambolists (Funambol engineering)
- Mailtrust (PIM Sync Client)
- Funambol Forge User and Dev lists
24. Conclusions
- What's next on Blackberry:
- Wi-Fi Network access (Soon)
- Send photo capability
- Native address book access on the email client
- Different builds for enhanced device? Maybe :)
25. The End (Q&A?)