Your SlideShare is downloading. ×
Funambol Java Clients Development: The Blackberry Case
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Funambol Java Clients Development: The Blackberry Case

2,332
views

Published on

Published in: Education, Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,332
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
96
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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: What’s 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: <Connection_type> c = (<Connection_type>) 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?)