2. TM
Sun GlassFish Mobility Platform
In a nutshell ...
A platform for developing mobile
applications using a combination of
Java technologies and Open Mobile
Alliance (OMA) industry standards.
2
3. TM
Sun GlassFish Mobility Platform
• Based on GlassFish, MySQL, Java
CAPS
Access to
Anything • Secure data access and
synchronization to:
Access from
> Enterprise Apps (Siebel, Oracle,
Anywhere SAP)
> Consumer Apps (Twitter,
Access for
Anyone FaceBook)
> PIM (Email, Calendar, Network
Access at Address Book)
Anytime • Device and carrier agnostic
• Convenient pricing
3
4. Product Features
Developer 2-way
Encryption Toolkit Synchronization
Application Offline Conflict
Connectors Data Caching Resolution
Remote Over-the-air Device
Data Wipe Provisioning Lockout
4
5. SGMP Key Features
•Out of the box access to over many commercial
applications (Salesforce.com, SAP, Siebel, etc.)
•Open Standards – OMA DS protocols, Java ME, JAX-
WS, JAX-RS
•Offline mode with data cached on the device
•On-Line synchronization
•Dynamic Data support via RESTful Web Services
•Device agnostic: common interface to any device and
OS
5
6. Mobility Platform Architecture
Components at a glance
Mobile App
Client Library
(Sync and WS)
Mobile App
Mobile App
Java ME
Java EE
Connector
Sync Engine
Connector
Connector
EIS
JavaCAPS JavaCAPS
Consumer
Adapter Adapter EIS Content
JavaCAPS
Adapter
6
7. Mobility Platform Architecture
MP Components
Mobile Application Components
Mobile App
Device
APIs
Jersey
Protocols
MCBO ME
SyncML/HTTP(S)
Client Library
FC
Client DB
Mobile Gateway
ECBO / JAX-RS / SOAP Sync Engine
JPA
JAX-RS/HTTP(S) Connector
JCA Sync DB
Enterprise or
Consumer Application Protocol JavaCAPS Adapters
Application
7
8. Service Provider Hosted Deployment
CARRIER NETWORK
Sun Fire T2000
PDA Enterprise Information
System
Siebel
SAP
etc.
Smart Phone
SyncML/HTTP(S)
Sun Fire T2000
GlassFish Mobility Platform
RIM Device Gateway
Sync
DB
8
9. Service Provider Managed Deployment
CARRIER NETWORK CORPORATE NETWORK
Sun Fire T2000
PDA
Enterprise Information
System
Sync
Siebel
DB
SAP
etc.
SOAP/HTTP(S)
Smart Phone
Sun Fire T2000
GlassFish Mobility Platform
SyncML/HTTP(S)
Gateway Tier
Sun Fire T2000
GlassFish Mobility Platform
RIM Device Enterprise Tier
Auth
DB
9
10. Enterprise Deployment
CARRIER NETWORK CORPORATE NETWORK
Sun Fire T2000
PDA
Enterprise Information
System
Siebel
SAP
etc.
Smart Phone
SyncML/HTTP(S)
Sun Fire T2000
GlassFish Mobility Platform
Gateway
RIM Device
Sync
DB
10
11. Authentication
• Enterprise / Service Provider Hosted Deployment
 User/pass authentication directly with backÂend
 No need to store passwords in Mobile Gateway
• Service Provider Managed Deployment
 User/pass authentication with Mobile Gateway
 Mobile Gateway server authenticates with Web Service
server
 Mobile user mapped to Enterprise user in Web Service
server
 Two password domains: Gateway server and Web
Service server
Slide 11
12. Mobile Client Security
• Client Application Authentication
 syncml:authÂbasic / syncml:authÂmd5 over https
• Transport Layer Security via HTTPS
• OnÂDevice Data Encryption
 Alphanumeric PIN based encryption scheme
 MD5 digest of pin used as encryption key
 data encrypted with triple DES or AES
Slide 12
19. Development Tools - MP Client
• JavaME based client development
NetBeans 6.5 IDE w/ Mobility Pack
>
Full integration with JavaME Wireless Toolkit
>
Choice of UI framework: (LWUIT, LCD UI, SVG, etc)
>
Mobile Client Business Object library
>
JerseyMe client
>
• Easy to plug-in device emulators (Nokia, BlackBerry,
Sprint, etc)
19
20. Development Tools - MP Connector
• Connector templates using Maven archetypes
> Archetype-based generation supported in multiple IDEs
including Eclipse and Netbeans
• Object Type Definitions (OTDs) for various
enterprise systems
> Wizards included in MP plugin for Netbeans
> OTDs generated from enterprise system's meta-data
20
22. JAX-RS Connector Template
/**
* Returns a binary representation of a business object. The
* binary representation is part of the contract between a
* connector and a client.
*
* @param user User's name logged into the session
* @param password User's password logged into the session
* @param sessionId Sync session id generated by gateway
* @param id Business object's identifier
* @return Binary representation of business object
*/
@GET
@Produces(quot;application/octet-streamquot;)
public byte[] getBusinessObject(
@QueryParam(quot;usernamequot;) @DefaultValue(quot;usernamequot;) String user,
@QueryParam(quot;passwordquot;) @DefaultValue(quot;passwordquot;) String password,
@QueryParam(quot;sessionIdquot;) @DefaultValue(quot;quot;) String sessionId,
@PathParam(quot;idquot;) String id)
{
// INSERT CODE: return object representation for client
return new byte[0];
}
22
26. For more information
• Engage with Us
1 > Ask for a workout or assessment to determine your workforce mobility
needs
• Download GlassFish Mobility Platform
2 > http://www.sun.com/mobilityplatform
> Version 1.1 now available! (http://www.sun.com/software/products/mep/
get.jsp)
• Be a Part of Community
3 > SGMP User Forum (http://forums.sun.com/forum.jspa?forumID=930)
> Sun Developer Network
4 • Sun Enterprise Mobility Blog
> http://blogs.sun.com/mobility
26