M422 Java Technology for the Mobile Enterprise - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

M422 Java Technology for the Mobile Enterprise

Description:

One-stop source for developing. and deploying m-Business solutions. Market Leader ... Developed for Insignia Jeode Java VM running on PocketPC ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 52
Provided by: Kar9252
Category:

less

Transcript and Presenter's Notes

Title: M422 Java Technology for the Mobile Enterprise


1
M422Java Technology for the Mobile Enterprise
  • Martyn Mallick
  • Wireless Solutions Evangelist
  • iAnywhere Solutions
  • mmallick_at_ianywhere.com

2
Agenda
  • Introduction
  • Mobile Application Overview
  • Which Java When?
  • Java on the Server ? J2EE
  • Java on the Client ? J2SE, J2ME
  • Summary

3
iAnywhere Solutions
  • Complete m-Business Platform
  • One-stop source for developingand deploying
    m-Business solutions
  • Market Leader
  • 68 mobile database market share
  • 700 application partners and 10,000 corporate
    customers
  • 6 million deployed technology licenses
  • Global Presence
  • Leverage Sybase resources and channels
  • Offices in 44 countries around the world

Source Gartner Groups Dataquest, August 2001
4
Java Introduction Java Editions
  • J2EE (Java 2 Enterprise Edition)
  • Enterprise Servers
  • e.g. EJBs, JSPs, Servlets, etc
  • J2SE (Java 2 Standard Edition)
  • Workstation and Desktops computers
  • Foundation for the PersonalJava Application
    Environment
  • e.g. Applets, Applications, JavaBeans, etc
  • J2ME (Java 2 Micro Edition)
  • Reduced memory consumer electronics and Internet
    appliances
  • e.g. Applications, Applets, MIDlets, etc

5
Introduction Why Java?
  • Java is a good language for software engineering,
    pure object model and lack of pointers eliminate
    errors and increase productivity
  • Provides flexibility over C/C to single purpose
    devices enabling easy configuration of
    functionality and programmability
  • Java built-in standardized communication
    facilities, with TCP/IP serialization and
    reflectivity built into the the language is the
    first programming language to seamlessly support
    data communications
  • Java has a single source for the language and API
    editions assuring developers that Java stays
    focused and standardized
  • Large and growing community of developers

6
Agenda
  • Introduction
  • Mobile Application Overview
  • Which Java When?
  • Java on the Server ? J2EE
  • Java on the Client ? J2SE, J2ME
  • Summary

7
Mobile Application Overview
  • Current mobile applications face many challenges
  • Unpredictable Wireless network coverage
  • Time to Market due to complex nature of wireless
    solutions
  • Wireless networks are inefficient and expensive
  • Device Support and Battery Life
  • Enterprises require an Always Available solution

8
iAnywhere m-Business Platform
9
Agenda
  • Introduction
  • Mobile Application Overview
  • Which Java When?
  • Java on the Server ? J2EE
  • Java on the Client ? J2SE, J2ME
  • Summary

10
Which Java When?
  • All three Java specifications can play a part in
    creating mobile and wireless applications
  • Java 2 Enterprise Edition (J2EE)
  • Java 2 Standard Edition (J2SE)
  • Java 2 Micro Edition (J2ME)

11
Which Java When?
12
Wireless Internet Characteristics J2EE based
applications
  • Browser based applications
  • No deployment required
  • Dynamic content
  • Multiple devices
  • Many different browsers
  • Many different markup languages
  • Messaging
  • Notifications and alerts
  • Integrated business logic
  • Logic remains on server platform

13
Which Java When? J2EE Overview
  • Superset of J2SE geared for enterprise
    applications
  • Built for server applications that require
    performance, scalability and enterprise
    integration
  • Client support provided using Java Servlets and
    Java Server Pages
  • Component based development using Enterprise
    JavaBeans (EJB)
  • Messaging provided by Java Message Service (JMS)

14
Which Java When? J2EE Architecture
JSPEngine
JDBC
JavaMail
HTTP Server
Servlet Container
JNDI Server
EJB Server
15
Addressing Wireless Complexity
  • Wireless Application Servers
  • Based on open standards (eg. J2EE)
  • Reduce development complexity
  • Target multiple devices and content types
  • HDML, WML, HTML, CHTML, VoiceXML
  • Identify type of device and micro-browser
  • Display content appropriate for each device
  • Leverage existing assets
  • Enterprise Database Systems
  • Business Applications
  • Messaging systems

16
iAnywhere Wireless Server What it Offers
  • Reduced development complexity
  • Global data members
  • Extends capabilities of Java Servlets/JSPs
  • Device identification
  • Parallel content with single URL
  • Application management
  • Session management
  • User authentication
  • Flow management

17
iAnywhere Wireless Server What it Offers
  • Servlet and JSP support
  • Servlet class library and JSP tag library geared
    at wireless application development
  • Enterprise data integration
  • JDBC/ODBC
  • Custom adapters
  • XML
  • Servlet, JSP and XML/XSL development

18
Message Anywhere What it Offers
  • JMS access to Mobile Messaging systems
  • Application to Application Messaging
  • SMS
  • HDML Alerts
  • WAP Push
  • E-mail
  • Paging Networks
  • Higher-level messaging services
  • Priority
  • Personalization
  • Message expiry
  • Message status

19
Smart Client Characteristics J2SE, J2ME based
applications
  • Persistent data
  • Mobile data store
  • High-performance data access
  • Data Synchronization
  • Integration with the Enterprise
  • Messaging
  • Push important data to mobile devices
  • Rich user experience
  • Contains business logic
  • Sophisticated User Interface
  • Pocket PC, Palm OS, Symbian OS, RIM, Linux

20
Which Java When? J2SE Overview
  • J2SE targets traditional Java applications
  • Stand alone applications
  • Applets running in a web browser
  • Core set of classes that existed before the
    separation into three editions
  • Component support provided by JavaBeans
    specification
  • Java Virtual Machines (JVMs) for a variety of
    clients

21
Which Java When? J2SE Overview
22
Which Java When? J2SE Overview
  • Java Runtime Environment (JRE) for J2SE has a
    footprint of 3-4 MB
  • For Mobile Clients, we need to have a smaller JRE
  • Some PDAs can have as little as 2 MB of total
    memory, a 3-4 MB JRE is too large
  • PersonalJava can help solve this problem

23
Which Java When? PersonalJava
  • PersonalJava Application Environment (PJAE)
  • Introduced in 1997 to bring Java to
    resource-limited devices
  • Components
  • A J2SE Java Virtual Machine
  • An optimized set of java class libraries suited
    for mobile devices (The PersonalJava API)
  • Reference Implementations
  • Windows CE

24
Which Java When? PersonalJava PJAE Classes
  • A subset of the J2SE JDK APIs (some packages are
    optional)
  • New APIs for mouseless environments, remote
    controlled systems, and managing timer events
  • Preloaded ROMable classes minimize the memory
    footprint
  • PersonalJava 3.0.1 includes support for JNI,
    JVMDI, and JVMPI

PJAE
New PJAE-Specific classes
J2SE
Optional J2SE Classes
25
Which Java When? PersonalJava Device
Requirements
  • Memory
  • ROM lt2MB
  • RAM 1MB
  • Processor
  • 32-bit gt50 MHz
  • Connectivity
  • Connectivity to some type of network
  • Display\Interface
  • Robust graphical user interface (AWT)
  • Character data entry capability

26
Which Java When? J2ME Introduction
  • J2ME apps are built upon three vital components
  • Configurations for core functionality
  • Profiles for additional functionality
  • Optional packages extending profile functionality

27
Which Java When? J2ME Overview
  • A configuration contains either a KVM or CVM with
    a minimal set of APIs to define a broad platform
    of devices
  • A profile sits on top of a configuration and adds
    additional APIs to make a complete platform for a
    narrower set of devices

28
Which Java When? J2ME Overview
  • Similar application architecture to J2SE
  • Targeted at the consumer device market
  • Ranging from Smart Cards to Wireless Devices
  • leverage Java programming language
  • Code portability
  • Upward scalability with J2SE and J2EE

29
Which Java When? J2ME Overview
  • There are various J2ME technologies
  • Connected Limited Device Configuration (CDLC) and
    Connected Device Configuration (CDC)
  • Lowest common denominator
  • Building Block on which profiles are created
  • Mobile Information Device Profile (MIDP), PDA
    Profile, Foundation Profile, Personal Profile and
    Personal Basis Profile

30
Which Java When? J2ME CDC
  • CDC is designed for higher-end electronic and
    embedded devices.
  • Used in devices requiring a full-featured Java
    VM, but with a smaller footprint.
  • Reference Implementations
  • Linux, Solaris, Windows 2000

31
Which Java When? CDC - The CVM Virtual Machine
  • Full-featured Java VM with a smaller footprint
    supporting
  • Java 2 Platform version 1.3 VM functionality
  • libraries for security, weak references, JNI, and
    JVMDI
  • Class footprint is approx. 40 smaller than J2SE
    and 17 smaller than PersonalJava

32
Which Java When? J2ME Personal Profile
  • This profile is based on the PersonalJava
    application environment and will eventually
    replace PersonalJava.
  • This profile extends the Foundation profile with
    classes necessary to run PersonalJava
    applications within a CDC configuration. These
    additions focus primarily on the addition of user
    interface classes.

33
Which Java When? J2ME CDC Device Requirements
- Application Requirements Additional
34
Which Java When? J2ME Benefits
  • Java Smart Client applications can now fit onto
    constrained devices
  • More advanced profiles such as Personal Profile
    provides the same capabilities as
    J2SE/PersonalJava based clients
  • Mobile Data Storage
  • Data Synchronization
  • Messaging
  • Rich User Interface

35
Smart Client Key Benefits Mobile Data Store
  • Reliable data access
  • Make an informed business decision
  • Capture business information when it occurs
  • High-performance data access
  • Guaranteed transactional reliability for your
    mission critical data
  • Authentication and strong encryption to prevent
    unauthorized access to data

36
Smart Client Key Benefits Synchronization
  • Integration with Enterprise
  • Bi-directional data communication
  • Security
  • Built-in authentication
  • 128-bit encryption of communication stream
  • Support for subsetting / partitioning of data
  • Scalable to thousands of remote users
  • Conflict detection and resolution
  • Error handling

37
Addressing Data Communications Concerns
38
Adaptive Server Anywhere Broad Support for Java
  • Support for Java Virtual Machine in Database
  • Table definitions in Java
  • Java classes to contain logic
  • Stored procedures can be written in Java
  • Type 4 JDBC Driver
  • jConnect
  • J2SE applications can be created to use ASA

39
UltraLite for Java 100 Pure Java Data Store
  • Customized for Handhelds
  • UltraLite deployment option for SQL Anywhere
    Studio
  • Ideal for light-weight deployments
  • Resides on the mobile device
  • Application-optimized footprint as small as 50K
  • Advantages of SQL
  • PersonalJava/J2ME applications can be created to
    use UltraLite for Java

40
UltraLite for Java 100 Pure Java Data Store
  • 100 pure Java port of the UltraLite technology
  • Uses Java 2 (JDK 1.2 or higher) and Java 1.1.x
    (JDK 1.1.4 or higher)
  • Components
  • - UltraLite JDBC Driver
  • - UltraLite Runtime (ulrt.jar)
  • - Generated UltraLite Database

41
Native UltraLite for Java
  • Developed for Insignia Jeode Java VM running on
    PocketPC
  • Internally uses Java Native Interface (JNI)
  • How is it different from Java UltraLite?
  • Java UltraLite pure Java solution targeted for
    multiple platforms running a Java VM
  • Native UL for Java you still would like to use
    Java but your application requires the
    performance of a native library (currently test
    on Jeode platform on PocketPC)

42
Native UltraLite for Java
  • Supports Windows NT and CE ARM hand-held devices
    including Compaq iPAQ and NEC MobilePro P300
  • Jeode runtime required (comes with some devices)
  • Steps to create app similar to other components
  • Create database schema file
  • Write java code
  • Deploy application include jul8.dll and
    jul8.jar files

43
MobiLink Data Synchronization
  • Synchronize to industry standard databases
  • Oracle8, Microsoft SQL Server, IBM DB2 UDB,
    Sybase ASE, Sybase ASA
  • Synchronization logic can be written in Java
  • Security
  • Built-in authentication, encryption of datastream
  • Support for subsetting of data
  • Support for horizontal and vertical partitioning
    of data
  • Scalable
  • Support for thousands of remote users
  • All synchronization is bi-directional

44
Application Management Manage Anywhere Studio
  • Centralized management of hardware and
    applications for mobile and remote systems
  • Reduce Costs
  • Centralize software installation / configuration,
    distribution and inventory
  • Reduce support/help desk calls
  • Simplify and Speed Deployments
  • Centralize task scheduling and task management
  • Automate application installs and upgrades
  • Protect Investment
  • Deploy and schedule virus protection updates to
    all systems
  • Protect system configurations such as VPN
    settings, or dialup networking settings

45
Which Java When? Going even smaller
  • The Mobile Information Device Profile (MIDP) is
    designed to support devices with minimal display
    capabilities such as cell phones and smaller
    PDAs.
  • Targeted Device Requirements
  • ROM 128KB (app. requirements additional)
  • RAM 40KB (app. requirements additional)
  • Connectivity
  • Two-way wireless networking capability
  • Display\Interface
  • 96x54 pixels
  • Character data entry capability

46
Which Java When? MIDP - Architecture
  • MIDP applications are programmed as MIDlets.
  • MIDlets are screen-based applications providing a
    simple user interface.
  • The Record Management System (RMS) API provides a
    mechanism for storing and retrieving data in MIDP
    applications.
  • Basic form of data storage
  • Synchronization is still required

47
Java Smart Client Overview
Classes outside of J2SE include the
javax.microedition package
J2SE
MIDP (CLDC)
Personal Profile (CDC)
PersonalJava
The CDC classes are a superset of the CLDC
configuration classes. CDLC applications will
execute in a CDC application environment.
48
Agenda
  • Introduction
  • Mobile Application Overview
  • Which Java When?
  • Java on the Server ? J2EE
  • Java on the Client ? J2SE, J2ME
  • Summary

49
Summary Smart Client vs. Thin Client
  • Smart Client
  • Some business logic may reside within the client
  • Updates require client redistribution
  • Occasionally-Connected
  • Synchronizations are required
  • e.g. Java Application
  • Thin Client
  • All business logic is invoked from a server
  • Updates do not require client redistribution
  • Always-Connected
  • Synchronizations are not required
  • e.g. Java Server Page

50
Summary iAnywhere Solutions Platform
  • iAnywhere Solutions m-Business Platform has
    extensive Java support
  • J2EE Wireless Framework as part of iAnywhere
    Wireless Server
  • Advanced mobile messaging using Message Anywhere
  • Broad support for Java in Adaptive Server
    Anywhere
  • Pure Java UltraLite mobile datastore
  • Java interface into UltraLite Component Suite
  • MobiLink enterprise synchronization
  • You can roll out enterprise Always Available
    Java applications today.

51
M422Java Technology for the Mobile Enterprise
  • Martyn Mallick
  • Wireless Solutions Evangelist
  • iAnywhere Solutions
  • mmallick_at_ianywhere.com
Write a Comment
User Comments (0)
About PowerShow.com