Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz...

46
Franz Gruber, Werner Kurschl 1 Building Mobile Applications Comparing The Java And .NET Approach Franz Gruber franz. gruber @ scch .at , Werner Kurschl werner . kurschl @ fh - hagenberg .at
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz...

Page 1: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 1

Building Mobile Applications

Comparing The Java And .NET Approach

Franz Gruber

[email protected],

Werner Kurschl

[email protected]

Page 2: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 2

Table of Contents

Motivation

Realization scenarios of mobile solutions

Development cycle for mobile applications

Why Java and .NET on devices?

J2ME & .NET CF

Architecture

Development

Comparison

Conclusion

Page 3: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 3

Building Mobile SolutionsOrganizational Issues

Integration into business process

Business model, information flow

Integration into organizational structure

Who is responsible for what?

Integration into technical infrastructure

Devices and communication infrastructure

Integration into security concept

Danger of new security leaks

Page 4: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 4

Table of Contents

Motivation

Realization scenarios of mobile solutions

Development cycle for mobile applications

Why Java and .NET on devices?

J2ME & .NET CF

Architecture

Development

Comparison

Conclusion

Page 5: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 5

Building Mobile SolutionsTechnical Implications

Application scenario Choosing an appropriate scenario

Mobile device Software infrastructure, hardware requirements

Communication technology On-/Offline scenario

Wireless Wide Area Networks/ Wireless Local Area Networks

Communication protocol

Application architecture scenario Thin/fat client

Page 6: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 6

Building Mobile ApplicationsTechnical Implications ctd.

Data management

Synchronisation

On-/offline capabilities

Security issues

Dangers for mobile devices

Threats of communication technology

Danger of exposing enterprise data

Page 7: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 7

Table of Contents

Motivation

Realization scenarios of mobile solutions

Development cycle for mobile applications

Why Java and .NET on devices?

J2ME & .NET CF

Architecture

Development

Comparison

Conclusion

Page 8: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 8

Development Infrastructure

Mobile device Development computer

- Design

- Implementation

- Debugging - Debugging

- Test - Test

- Deployment

Page 9: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 9

Emulators

PalmOS PocketPC Symbian OS

Page 10: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 10

Emulators ctd.

JAVA

Page 11: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 11

Table of Contents

Motivation

Realization scenarios of mobile solutions

Development cycle for mobile applications

Why Java and .NET on devices?

J2ME & .NET CF

Architecture

Development

Comparison

Conclusion

Page 12: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 12

Thin Client/Fat Client Scenario

Local Code

Remote Web Pages

Web ServerWeb Server

Mobile Web Browser

Mobile Web Browser

.NET CF & J2ME.NET CF & J2ME

Services on ServerServices on Server

Device Operating SystemDevice Operating System

Our Focus

Page 13: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 13

J2ME and .NET on Devices?

Base on proven technologies

Use existing know-how

Use known tools and APIs

Hide complexity

Integration into legacy systems with

Java Application Server (J2EE)

.NET Server

Build solutions on contemporary technologies

Future extensibility

Page 14: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 14

Table of Contents

Motivation

Realization scenarios of mobile solutions

Development cycle for mobile applications

Why Java and .NET on devices?

J2ME & .NET CF

Architecture

Development

Comparison

Conclusion

Page 15: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 15

Java and .NETPhilosophies

.NET is ...

Language independent (VB, C#)

Platform dependent (Windows CE, PocketPC)

Company driven

Java is ...

Language dependent

Platform independent

Community driven

Page 16: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 16

Overview of Comparison

Architecture Design

Infrastructure

Development tools

Availability, licensing

Standardization

User Interfaces

Data capabilities

Communication

Conclusion

Page 17: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 17

Building Mobile Applications

.NET Compact Framework - Architecture

Franz Gruber

[email protected],

Werner Kurschl

[email protected]

Page 18: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 18

NET Compact Framework

.NET Compact Framework (CF)

Available for Windows CE 3.0 /CE.NET devices

– Pocket PC is specifically designed for PDAs

– CE.NET is a generic platform for devices like

– Consumer electronics, kiosks, mobile and handheld devices

– Point-of-sale terminals, etc.

Compatible subset (about 25%) of the full .NET Framework

C# and VB.NET language support

Memory footprint is around 1.5 MB vs 20 MB (full .NET Framework)

Page 19: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 19

NET Compact FrameworkExecution Environment

Host OS

Hardware

Boot LoaderThreadsTimers

NetworkingFilesystem

Host OS Services

Platform Adaption Layer (PAL)

Execution Engine

App Domain LoaderClass LoaderVerifier

Instruction Engine/JITGarbage CollectionDebugger

Base class libraries

SqlServerCE library Device-specific and custom libraries

Application Application

Native Code

Managed Code

.NET CompactFramework

CLR

MSCOREE.DLL

Page 20: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 20

.NET Compact Framework Architecture

Collections

Text

DescriptionDiscoveryProtocols

Caching

Services

HtmlControlsWebControls

Design

UI

ConfigurationSecurity

SessionState

System.Web

ADO.NETOdbc

SqlClientSqlTypes

OleDBSqlServerCE

Design

System.Data

XmlDocumentXSLT/XPath Reader/writer

Serialization

System.Xml

Drawing2DPrinting Text

Imaging

System.Drawing

Design

System.Windows.Forms

Diagnostics

IO

Resources Threading

Net

EnterpriseServices

CryptographyPermissions

PolicyPrincipal

Security

Globalization

ServiceProcess

System

... Gray means not present in CF ... Yellow means specific to CF

Reflection

ComponentModel

CompilerServices

RemotingSerialization

Runtime

InteropServices

... Blue means present in CF

Page 21: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 21

Building Mobile Applications

Java 2 Micro Edition - Architecture

Franz Gruber

[email protected],

Werner Kurschl

[email protected]

Page 22: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 22

Java 2 Micro EdtionArchitecture

Configurations

Device classes

Profiles

Market segment

Page 23: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 23

Java 2 Micro EditionBuilding Blocks

Page 24: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 24

Therefore ...

Java 2 Micro Edition is not ONE Java edition

An J2ME compliant application consists of

Configuration

Profile (e.g. Personal, Mobile Information Device Profile (MIDP))

Application code

3 Contenders to compare

Java 2 Micro Edition – Connected Device Configuration (CDC)

Java 2 Micro Edition – Connected Limited Device Configuration (CLDC)

Microsoft .NET Compact Framework

Page 25: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 25

General CharacteristicsComparison

.Net Compact Framework

J2ME Connected Device Configuration

J2ME Connected Limited Device Configuration

Device requirements

Powerful, expensive

Powerful, expensive Cheap, pervasive

Cost High High Medium

Market focus Enterprise Enterprise Consumer and enterprise

Language support C#, VB.Net Java Java

Platforms Pocket PC, Windows CE

Major mobile platforms except Palm OS

All mobile platforms

Byte code compatibility

Standard .Net CLR Standard Java 2 Not compatible

with J2SE or CDC

API compatibility

Subset of .Net

Subset of J2SE plus standard optional packages

Partial compatibility with CDC with additional standard optional packages

Page 26: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 26

General CharacteristicsComparison ctd.

.Net Compact Framework

J2ME Connected Device Configuration

J2ME Connected Limited Device Configuration

Native APIs P/Invoke; consistent across supported devices

JNI; device- and OS-specific N/A

Development tools VS.Net 2003

Command line, vendor SDKs, CodeWarrior, and WebSphere

Command line, vendor SDKs, all major Java IDEs

Specification process Single company Community Community

Security model

Simplified .Net model

Full Java security manager

Limited Java 2 model supplemented by OTA specification

Client installation

ActiveSync, Internet Explorer download

Sync, download Formal OTA specification

Page 27: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 27

Building Mobile Applications

Feature Comparison

J2ME CDC - J2ME CLDC - .NET CF

Franz Gruber

[email protected],

Werner Kurschl

[email protected]

Page 28: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 28

User InterfacesJ2ME

J2ME CDC

Personal Profile: Full AWT available and third party widget toolkits based on AWT available

Personal Basis Profile: Basic AWT components available, lightweight implementation of widgets in reference implementation integrated

J2ME CLDC

Limited set of UI widgets for MIDP

Limited AWT subset for PDA Profile

Page 29: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 29

User Interfaces.NET CF

Two flavors

Generic – provides cross-OS portability

– Drawing primitives

– Controls and Forms

Windows Forms

– Supersets generic functionality

– Available for Windows CE devices

– Consistent with WinForms on .NET Framework

– Drag n’ drop UI designer in Visual Studio

Page 30: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 30

Data CapabilitiesJ2ME

Database interface capabilities on client device

J2ME CDC & CLDC

Optional package for each configuration and profile available

CDC: Subset of full JDBC capabilities downloadable as beta version

CLDC: JDBC like APIs from third party vendors (IBM, PointBase, etc.)

Page 31: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 31

Data Capabilities.NET CF

SQL Server CE Database Engine SQL grammar compatible with SQL Server 2000

Transaction support

128-bit file-level encryption and password protection

Database engine occupies approximately 1.2 to 1.6 megabytes (MB) of disk space

SQL Server CE supports databases up to 2 gigabytes (GB), with support for BLOBs of up to 1 GB.

On Pocket PC ADO.NET data classes can be used

Data-bound controls may use ADO.NET

Page 32: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 32

No built in support for XML in J2ME

J2ME does not contain any XML specific classes

Third party APIs available for J2ME CDC and CLDC

kXML – XML DOM and SAX

XSLT Compiler from Sun for J2ME

XML support will be standardized in J2ME optional package for Web Services (see below)

XML SupportJ2ME

Page 33: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 33

XML Support.NET CF

Built in support for XML

XmlReader and XmlWriter classes

XmlDocument class is an implementation of the Document Object Model (DOM)

Unsupported (heavy weight) features

Validation using Document Type Definitions (DTDs) or XML schemas

Extensible Stylesheet Language Transformations (XSLT) and XML Path language (XPath)

Page 34: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 34

Communication

J2ME

RMI: for CDC and CLDC via optional packages

Sockets and HTTP(S) implementation available

Not available: SOAP in standard J2ME

.NET CF

Sockets built in framework

HTTP(S) request and response

SOAP support built in

Page 35: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 35

Web ServicesOverview

Page 36: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 36

Web Services J2ME

Third party implementations

kSOAP, kXML, kUDDI

Java Web Services Development Pack (SUN)

Development of Server side

J2ME Web Services

Standardization in progress

Subset of relevant technologies

Draft API specification is available

Page 37: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 37

Web Services.NET CF

Full support of web services

Clean, protocol level separation of publishing and usage

Separation of data from presentation enables rich client applications

Client applications can aggregate web services from multiple sources

Client applications can control “chunkiness” of transfers

.NET CF can execute VS.NET generated client proxy code

Sync and async interfaces are supported

Page 38: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 38

Conclusion

Both technologies are mature and applicable Comprehensive set of features

– Many similarities between J2ME and .NET CF

Ease of development– Integrated Development Environments

– Stable implementation base

– Rich set of emulators available

Seamless integration into general application architecture– Web Services

Page 39: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 39

Conclusion ctd.

Features

User Interfaces

– Known desktop widgets

– Limited display size!

Data management

– Simple data management capabilities

XML

– Needed for data exchange and Web Services

– Built in (.NET CF) or third party implementations (J2ME)

Page 40: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 40

Conclusion ctd.

Communication

– Support for relevant protocols (HTTP(S), SOAP, Sockets)

– Transparent use of wireless communication technolgies like GPRS, and WLAN

Web Services

– Standard is supported by .NET CF, and both Java configurations

Page 41: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 41

Which Technology To Choose?

Technology is not the driving force for a mobile solution

Used devices and available infrastructures determine the technology

No recommendation for one specific technology!

Page 42: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 42

Building Mobile Applications

Questions And Discussion

Franz Gruber

[email protected],

Werner Kurschl

[email protected]

Page 43: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 43

References

Main Resource Article

• "Let the Mobile Games Begin," Michael Juntao Yuan (JavaWorld) • Part 1: A comparison of the philosophies, approaches, and features of J2ME and th

e upcoming .Net Compact Framework (February 2003)

• Part 2: J2ME and .Net Compact Framework in action (May 2003)• Andy Wigley, Microsoft .NET COMPACT Framework – Core Reference, Microsoft Press,

2002

Learn more about J2ME and .Net Compact Framework technologies:

• "Java Books Hit the Wire," Michael Juntao Yuan (JavaWorld, July 2002) http://www.javaworld.com/javaworld/jw-07-2002/jw-0719-wireless.html

• Additional reviews of J2ME related books http://www.enterprisej2me.com/J2MEvsdotNET/books.html#j2me

Learn more about .Net Compact Framework technologies:

• Andy Wigley, Microsoft .NET COMPACT Framework – Core Reference, Microsoft Press• Important books to learn about .Net development

http://www.enterprisej2me.com/J2MEvsdotNET/books.html#dotnet • Windows Embedded Frequently Asked Questions, Microsoft

http://www.microsoft.com/windows/embedded/faq/default.asp• Microsoft .Net Compact Framework Quickstarts Tutorial, GOT DOT NET Community

http://samples.gotdotnet.com/quickstart/CompactFramework/doc/default.aspx

Page 44: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 44

References ctd.

• Device Platforms, Microsoft Windows Embeddedhttp://www.microsoft.com/windows/embedded/devices/default.asp

• .NET Compact Framework Overview, Microsoft Smart Devices Developer Communityhttp://smartdevices.microsoftdev.com/Products/.NET+Compact+Framework/default.aspx

• .NET Compact Framework Resources, GOT DOT NET Communityhttp://smartdevices.microsoftdev.com/Products/.NET+Compact+Framework/default.aspx

Mobile development tools:

• Microsoft Visual Studio .Net: http://msdn.microsoft.com/vstudio/

• Borland JBuilder MobileSet: http://www.borland.com/jbuilder/mobileset/index.html

• Sun ONE Studio: http://wwws.sun.com/software/sundev/jde/index.html

• CodeWarrior Wireless Studio: http://www.metrowerks.com/MW/Develop/Wireless/Wireless_Studio/Default.htm

• Sun J2ME Wireless Toolkit: http://java.sun.com/products/j2mewtoolkit/

• IBM WebSphere Studio Device Developer, with links to IBM Service Management Framework (SMF): http://www-3.ibm.com/software/pervasive/products/wsdd/

• Simplicity IDE from Data Representations: http://www.datarepresentations.com/

Page 45: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 45

References ctd,

Connected Limited Device Configuration (CLDC): http://java.sun.com/products/cldc/

Connected Device Configuration (CDC): http://java.sun.com/products/cdc/

The PersonalJava application environment: http://java.sun.com/products/personaljava/

The CDC Foundation Profile: http://java.sun.com/products/foundation/

The CDC Personal Profile: http://www.jcp.org/en/jsr/detail?id=62

The Mobile Information Device Profile (MIDP): http://java.sun.com/products/midp/

J2ME Web Services Specification standardizes XML processing APIs for small devices: http://www.jcp.org/en/jsr/detail?id=172

Security and Trust Services API for J2ME specifies how to access SIM card security information: http://www.jcp.org/en/jsr/detail?id=177

Mobile Media API specification: http://www.jcp.org/en/jsr/detail?id=135

The PDA Profile for the J2ME Platform defines standard interfaces to PIMs for low-end PDA devices: http://www.jcp.org/en/jsr/detail?id=75

Wireless Messaging API is a framework to enable SMS functionalities in your J2ME applications: http://www.jcp.org/en/jsr/detail?id=120

The Personal Profile provides UI for CDC and Foundation Profile devices: http://www.jcp.org/en/jsr/detail?id=62

The Location API for J2ME standardizes location information access on J2ME devices: http://www.jcp.org/en/jsr/detail?id=179

The JDBC Optional Package for CDC/Foundation Profile defines a subset of JDBC 3.0 specification for mobile databases: http://www.jcp.org/en/jsr/detail?id=169

J2EE Client Provisioning specification: http://java.sun.com/j2ee/provisioning/

Page 46: Franz Gruber, Werner Kurschl1 Building Mobile Applications Comparing The Java And.NET Approach Franz Gruber franz.gruber@scch.atfranz.gruber@scch.at, Werner.

Franz Gruber, Werner Kurschl 46

References ctd.

Mobile database tools:

•Microsoft SQL Server CE: http://www.microsoft.com/sql/ce/ •Sybase SQL Anywhere Studio: http://www.sybase.com/products/mobilewireless/anywhere •PointBase (including Embedded and Micro editions): http://www.pointbase.com/home.shtml •IBM DB2 Everyplace: http://www-3.ibm.com/software/data/db2/everyplace/ •Oracle9i Lite database and application server: http://www.oracle.com/ip/deploy/ias/mobile/index.html?feat_synch.html •Oracle's J2ME SDK that demonstrates the capability of its upcoming 9i wireless application server: http://studio.oraclemobile.com/studio/sites/otn/j2me.html

SCCH resources:

•One Architecture For Any Mobile Device? http://www.scch.at/mobile•Web Services in der Praxis – Seminar http://www.scch.at/webservices•Developing Java applications for mobile devices – Tutorial OOPSLA 2002 http://www.scch.at/index.jsp?menu=publications&link=/research/publications/publication.jsp&id=1221