Sun GlassFishTM Mobility Platform: Getting from zero to Mobility

Similar documents
Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Mobilizing Applications with BlackBerry in Your Lotus Environment. Alex Chang Technical Account Manager Research In Motion HK

Minne menet, Mobiili-Java?

Petr Suchomel Architect, NetBeans Mobility

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Introduction to Worklight Integration IBM Corporation

Hands-on Development of Web Applications with Java EE 6

JVA-563. Developing RESTful Services in Java

AD105 Introduction to Application Development for the IBM Workplace Managed Client

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

<Insert Picture Here> Java Virtual Developer Day

UiB 1. april 04. Sun Microsystems

Oracle Corporation

1.2. Terminal Configuration Use-Cases SyncML Device Management

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

LAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device

Making The Future Java

Eclipse Java Ejb 3.0 Tutorial For Beginners With Examples Pdf

JBPM Course Content. Module-1 JBPM overview, Drools overview

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

IMS Client Platform and IMS End-to-End

Migrating traditional Java EE applications to mobile

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

TECHNICAL HELP: PRESS * 0

Contents at a Glance

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

CO Java EE 7: Back-End Server Application Development

Developing Applications with Java EE 6 on WebLogic Server 12c

Integrating Legacy Assets Using J2EE Web Services

Top 7 Data API Headaches (and How to Handle Them) Jeff Reser Data Connectivity & Integration Progress Software

Bridging the Gap. Peter Ebell AMIS

Building a Java ME Test Suite in 15 Minutes

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

BlackBerry Integration With IBM WebSphere Everyplace Access 4.3

Integrating Salesforce and SharePoint Netwoven Inc.

The Java Mobile and Embedded Platform: Now and the Future

<Insert Picture Here> Future<JavaEE>

Adding Telephony to Java Technology-Based Enterprise Applications

Encapto WiFi OVERVIEW

Going Mobile at Northwestern

E-BOOK / JAVA ENTERPRISE FOR SAP

Push-to-Revenue: Maximizing Potential Beyond Basic Push-to-Talk. David Wetherelt, Director International Carrier Sales

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8

This document applies to Sybase Unwired Platform For more information, visit the Mobile homepage.

Java EE 6 & GlassFish v3 Paving the path for future. Arun Gupta Sun Microsystems, Inc.

Unified Communication and Collaboration

ITM DEVELOPMENT (ITMD)

<Insert Picture Here> JavaFX Overview April 2010

The Now Platform Reference Guide

Agenda Time (PT) 8:45 a.m. Event Platform Opening 9:00 a.m. Keynote - Java: Present and Future Java EE 7 Java SE 8 Java Embedded

Improve and Expand JavaServer Faces Technology with JBoss Seam

Soap Based Web Services In Java Tutorial Eclipse Jboss

Fusion Registry 9 SDMX Data and Metadata Management System

Deccansoft Software Services. J2EE Syllabus

Takes 2 to Tango: Java Web Services and.net Interoperability

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

(C) Global Journal of Engineering Science and Research Management

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

Nuxeo Roadmap. From Memphis to Chicago Nuxeo Team

EMEA/Africa/Middle East - Tuesday June 25th, :00:00 a.m. - 1:00pm BST / 10:00:00 a.m. - 2:00 p.m.cest /

APPLICATION ARCHITECTURE JAVA SERVICE MANUAL

Distributed Multitiered Application

Security Guide Zoom Video Communications Inc.

BlackBerry 101: An Introduction to the BlackBerry Wireless Solution

Developing Cross Device Mobile Applications

Swyft Mobile for Saleforce TM. User Guide

User s Guide 12c (12.2.1)

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Java EE und WebLogic Roadmap die nächsten Schritte

WIT WebRTC Gateway. Real-time communications in all browsers. webrtc.wit-software.com

"Web Age Speaks!" Webinar Series

Gmail Integration for Salesforce and Dynamics 365

Streaming Real-Time Data into Xcelsius Applications

Composable Web Services Using Interoperable Technologies From Sun s Project Tango

Making Java /.Net Technology- Based Web Services Interoperability Real

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

Department of Computer Science

Edge Foundational Training

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

PDF SIMPLE JAVA WEB SERVICE EXAMPLE

Lessons learned from real-world deployments of Java EE 7. Arun Gupta, Red

Determining the Best Approach

Use Case: Publishing an orchestration as a REST API

DOC // JAVA TOMCAT WEB SERVICES TUTORIAL EBOOK

Cloud Computing. An introduction using MS Office 365, Google, Amazon, & Dropbox.

JavaEE.Next(): Java EE 7, 8, and Beyond

Composable Web Services Using Interoperable Technologies from Sun's "Project Tango"

Red Hat Developer Studio 12.0

Improving Productivity

Oracle Applications Unlimited and Web 2.0: You Can Have It Now!

Applications Expert Center WELCOME I M S

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Java EE 6: Develop Business Components with JMS & EJBs

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS

JBoss DNA. Randall Hauch Principal Software Engineer JBoss Data Services

Welcome to the e-learning course for SAP Business One Analytics Powered by SAP HANA: Installation and Licensing. This course is valid for release

Next Generation Mobile Collaboration

LEVEL 3 SM WEB MEETING

A Virtual Smartphone

Transcription:

Sun GlassFishTM Mobility Platform: Getting from zero to Mobility Satish Hemachandran Sr. Product Line Manager Hans Hrasna Sr. Staff Engineer

This session is intended to help you learn about how GlassFish Mobility Platform helps address challenges in mobile application development. The topics covered include tools for OMA-DS (synchronization), Mobile Security, and Mobile Enterprise application development.

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Evolution of mobile computing TELEPHONY Cellular Voice Text Messaging Video Chat PRODUCTIVITY Mobile Email Mobile Calendar Mobile IM ENTERPRISE APPS Mobile Presence One Device Mobile IT

Device, Network, & Application challenges Multiple device platforms with limited display characteristics Still evolving browsing experience Network connectivity Weak security Different protocols (SMS, GPRS) driven by consumption pattern Application/device provisioning Accessing to enterprise content Desktop synchronization

GlassFish Mobility Platform Access to Anything Secure data access and synchronization to: Access from Anywhere Access for Anyone Access at Anytime Enterprise Apps (Siebel, Oracle, SAP) Consumer Apps (Twitter, FaceBook, Photo sharing) PIM (Email, Calendar, Network Address Book) Support for OMA-DS and multiple mobile development frameworks Integrates with MySQL, Java CAPS Device and carrier agnostic

Design Goals Make it faster and easier to develop and deploy Mobile Solutions Use of standard technologies and protocols Rapid and flexible deployment Security suitable for enterprise deployment Modularity Easy to configure and manage

A Closer Look Mobile Application Mobile Gateway Sales Automation Conflict Resolution BiDirectional Sync Consumer Application Field-Service Secure Transmission Dynamic Data Access Over-the-air Provisioning Application Connectors Consumer Gaming App Server CRM ERP Data Warehouse External Partner

Components and Features Client Library Synchronization of business objects cached on device JerseyMe for realtime access to data using RESTful web services RESTful resources cached on device for off-line support Standards: OMA DS 1.1.2 and 1.2, JAX-RS 1.0, MIDP 2.0 / CLDC 1.1 and 1.1.2 JavaSE MCBO Client SDK

Components and Features SyncML Engine Over-the-air data synchronization between client and server systems Synchronize to any arbitrary enterprise backend data, e.g. Siebel, SAP, Oracle Standard based SyncML (OMA DS) protocol 100% Java implementation

Components and Features Connector Library Enables development of connectors to access enterprise data using ECBO or JAX-RS JAX-RS connectors can implement sync logic and provide access to dynamic data (queries, reports, etc.) Access to Sun JCA adapters for Siebel, SAP, Oracle, etc. Conflict resolution via object merge

Carrier-hosted Services Managed mobility services can be offered as a service by telecom carriers with no upfront investments from the users

Enterprise Mobility CARRIER NETWORK CORPORATE NETWORK Sun Fire T2000 Siebel SAP etc. PDA SOAP/HTTP(S) Smart Phone Enterprise Information System Sun Fire T2000 SyncML/HTTP(S) Sync DB Sun Fire T2000 Auth DB RIM Device GlassFish Mobility Platform Gateway Tier GlassFish Mobility Platform Enterprise Tier

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Mobility Platform Architecture Mobile Device Mobile App MCBO Client DB MP Components Application Components APIs Protocols FC Jersey ME Client Library Mobile Gateway JAX-RS/HTTP(S) Enterprise or Consumer Application SyncML/HTTP(S) ECBO / JAX-RS / SOAP Sync Engine JPA Connector JCA Application Protocol Sync DB JavaCAPS Adapters

Flickr Demo Mobile Device SGMP Components Application Components Flickr Components APIs Protocols FlickrDemoFX MCBO Photos FC MEP Library SyncML/HTTP(S) GlassFish REST ECBO Flickr / Yahoo Maps RESTful API Photoset / Maps REST Flickr Connector Sync Engine JPA Sync DB

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Mobile Client Security Client application authentication syncml:auth-basic / syncml:authmd5 over https Transport layer security via https On-device data encryption Pin based encryption scheme MD5 digest of pin used as encryption key Data encrypted with triple DES/AES

Server Authentication Single tier deployment User/pass authentication directly with backend (not storing credentials on gateway) Two tier deployment User/pass authentication with Mobile Gateway Mobile Gateway server authenticates with enterprise tier gateway Mobile user mapped to enterprise user in enterprise datastore/application Two password domains: Gateway tier and Enterprise tier

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Connector Architecture Connector JAX-RS Connector API JCA API Other Java APIs Enterprise Connector BO API JCR API

Enterprise Connector Business Object API Supports synchronization of arbitrary Java objects Each object instance is identified by a name Object serialization of your choice Java serialization, XML, JSON, etc. Contract between mobile application and connector Typical connector is only 5 classes Sits on top of JCA to access Sun JCA Adapters

JAX-RS Enterprise Connector API JAX-RS Bridge to ECBO RESTful Web Service endpoint Object serialization of your choice Can be remotely deployed in any standard servlet container

Business Object Abstraction Business Objects are the entities being synchronized They are serialized into data records Data records are encoded in base64 in SyncML Implement CUD operations with back-end systems With Sun JCA Adapters: Siebel, SAP, Oracle Apps, etc. Without Sun JCA Adapters: JDBC, file system, etc.

Business Object Provider Abstraction A connector's entry point Life cycle methods to initialize and terminate Factory for Business Objects Provides access to session context Implements the R in CRUD Single operation to retrieve list of Business Objects

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Client Architecture JavaME Application JavaSE Application MCBO API JerseyME MCBO API Jersey SyncML (OMA DS) JSR-75 filesystem MIDP 2.0 CLDC 1.1 SyncML (OMA DS) JavaSE

Mobile Client Business Object API Overview BusinessObject defines your data model and the serialized form used to store the data on the device Application developer must implement: bean properties for your data model abstract void deserialize(byte[] data) abstract byte[] serialize() BusinessObjectStorage manages storing and retrieving instances of BusinessObject on the device

Mobile Client Business Object API Overview SyncManager controls synchronization with gateway SyncType and EncodingType enumerate synchronization types and encoding types SyncResults provides coarse-grained stats after syncs

Mobile Client Business Object API Overview (cont.) SecurityManager provides the security features in the MCBO API Extensible - developers can provide their own encryption implementation Developers can choose any, all, or none of these features

Mobile Client Business Object API Sync types Six types of client initiated syncs Client Server Client Server, Server - Client Two way sync (aka fast sync), Slow sync One way: modifications sent Refresh: data replaced Server initiated syncs Server can initiate syncs via SMS messages to the device

Agenda Mobility Challenges GlassFish Mobility Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Provisioning Portal Based on JSR-124 Provisioning server OTA discovery/provisioning Integrated content repository Provisioning based on device capability Content management Add/upgrade applications Content versioning

Agenda Business landscape GlassFish Mobility Key Benefits Architecture Security Enterprise Connector API Mobile Client Business Object API Provisioning Developer Tools

Development Tools - MP Client JavaME 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) JavaSE client development

Client Applications & User Interfaces Salesforce using ODP Flickr using JavaFx Salesforce with Third Party UI Twitter using LWUIT

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 metadata

Development - Connector Archetypes

Salesforce Demo Mobile Device Accounts Contacts Tasks FC SGMP Components Application Components Salesforce Components APIs Protocols SalesforceMidlet MCBO SyncML/HTTP(S) MEP Library Glassfish Salesforce.com Web Service CRM JAX-RS JAX-WS/SOAP Connector Sync Engine JPA Sync DB

Summary SGMP is a platform for rapid development of secure, mobile enterprise solutions Based on open standards Business Object APIs hide all complexity 1.1 Available now!

For more information Product Website: http://www.sun.com/mobility Product Documentation: Sun Mobility Blog: http://docs.sun.com/app/docs/coll/1780.1 http://blogs.sun.com/mobility Sun GlassFish Mobility Platform Team: mep-feedback@sun.com

GlassFish Portfolio Partner Program http://partneradvantage.sun.com Offering Overview: Our goal is to help partners drive business with the GlassFish community of over 18 million users. To support partner products and services, we offer: Development and validation assistance Self-service validation testing (via the EZQual Virtual Lab Environment) Partner logos and profiles on the GlassFish Portfolio Partner Showcase Web site Partner profiles in The Aquarium and other high-profile Sun blogs and social networks Partner articles in Sun newsletters and mailings to opt-in mailing list PR support - GlassFish Portfolio launch participation opportunities; Sun quotes for partner press releases NEW! Lead generation through Sun's online marketing system NEW! Features in "GlassFish Unplugged" podcast series NEW! Participation in Java User Group Speaker's Bureau 42

GlassFish Portfolio Partner Program Want to talk to a live partner program person? GlassFish Portfolio Partner Offering experts will be walking the exhibit hall floor throughout the show Look for the people in the black Sparky fedoras and GlassFish T-shirts. Partners are welcome to call to set up impromptu meetings: Kim Buck: 312-806-6130 Julio Tapia: 650-793-0277 Ruth Anne Ares: 508-344-4473 43

Next steps Check out the demos! Download Mobility Platform & samples Fillout the GlassFish survey www.tinyurl.com/j1survey Signup as a partner

Satish Hemachandran satishh@sun.com Hans Hrasna hans.hrasna@sun.com

JavaFX-Cloud Sync Demo Mobile Device MP Components Application Components APIs Protocols JavaFX Client MCBO Photos FC MEP Library SyncML/HTTP(S) Mobile Gateway JAX-RS Sync Engine JPA network.com Cloud Storage JAX-RS/HTTP(S) S3 Cloud Connector Sync DB

For More Information on GlassFish Resources GlassFish Project http://glassfish.dev.java.net GlassFish v2 http://www.sun.com/glassfish GlassFish v3 http://www.sun.com/glassfishv3 Java EE http://java.sun.com/javaee v3 Download http://www.glassfish.org/downloads/v3

For More Information on SailFin Resources Project Sites http://sailfin.dev.java.net http://glassfish.dev.java.net http://shoal.dev.java.net http://jvoicebridge.dev.java.net SIP Servlets http://jcp.org/en/jsr/detail?id=289 http://jcp.org/en/jsr/detail?id=116 SIP Based Web Conference Manager http://research.sun.com/projects/dashboard.php?id=85

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("application/octet-stream") public byte[] getbusinessobject( @QueryParam("username") @DefaultValue("username") String user, @QueryParam("password") @DefaultValue("password") String password, @QueryParam("sessionId") @DefaultValue("") String sessionid, @PathParam("id") String id) { // INSERT CODE: return object representation for client return new byte[0]; }