Beruflich Dokumente
Kultur Dokumente
at
Table of Contents
Motivation
Realization scenarios of mobile solutions Development cycle for mobile applications Why Java and .NET on devices? J2ME & .NET CF
Table of Contents
Motivation
Realization scenarios of mobile solutions Development cycle for mobile applications Why Java and .NET on devices? J2ME & .NET CF
Communication protocol
Application architecture scenario
Thin/fat client
Franz Gruber, Werner Kurschl 5
Dangers for mobile devices Threats of communication technology Danger of exposing enterprise data
Table of Contents
Motivation
Realization scenarios of mobile solutions Development cycle for mobile applications Why Java and .NET on devices? J2ME & .NET CF
Development Infrastructure
Mobile device
- Debugging - Test
Emulators
PalmOS
Franz Gruber, Werner Kurschl
PocketPC
Symbian OS
9
Emulators ctd.
JAVA
Franz Gruber, Werner Kurschl 10
Table of Contents
Motivation
Realization scenarios of mobile solutions Development cycle for mobile applications Why Java and .NET on devices? J2ME & .NET CF
Web Server
Services on Server
Our Focus
Local Code
12
Table of Contents
Motivation
Realization scenarios of mobile solutions Development cycle for mobile applications Why Java and .NET on devices? J2ME & .NET CF
Language independent (VB, C#) Platform dependent (Windows CE, PocketPC) Company driven
Java is ...
Overview of Comparison
Architecture
Design Infrastructure
Development tools Availability, licensing Standardization User Interfaces Data capabilities
Communication
Conclusion
16
17
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)
18
Application Device-specific and custom libraries Base class libraries Execution Engine CLR .NET Compact Framework Managed Code Native Code
App Domain Loader Instruction Engine/JIT Class Loader Garbage Collection Verifier Debugger
MSCOREE.DLL
Host OS
Hardware
19
System Collections Text Globalization Resources ServiceProcess EnterpriseServices IO Net Reflection Threading Diagnostics Runtime CompilerServices InteropServices Remoting Serialization Security Cryptography Permissions Policy Principal
... Gray means not present in CF ... Blue means present in CF Franz Gruber, Werner Kurschl
...
21
Device classes
Profiles Market segment
22
23
Therefore ...
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)
Development VS.Net 2003 tools Specification Single company process Security model Client installation Simplified .Net model ActiveSync, Internet Explorer download
Sync, download
26
27
J2ME CLDC
Limited set of UI widgets for MIDP Limited AWT subset for PDA Profile
Franz Gruber, Werner Kurschl 28
Windows Forms
Supersets generic functionality Available for Windows CE devices Consistent with WinForms on .NET Framework Drag n drop UI designer in Visual Studio
29
30
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
(GB), with support for BLOBs of up to 1 GB.
ADO.NET data classes can be used Data-bound controls may use ADO.NET
Franz Gruber, Werner Kurschl 31
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)
Franz Gruber, Werner Kurschl 32
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
Franz Gruber, Werner Kurschl 34
35
Conclusion
Both technologies are mature and applicable
Ease of development
Integrated Development Environments
Stable implementation base Rich set of emulators available
38
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)
Franz Gruber, Werner Kurschl 39
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
40
42
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 the 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
"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
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
43
References ctd.
Device Platforms, Microsoft Windows Embedded http://www.microsoft.com/windows/embedded/devices/default.asp .NET Compact Framework Overview, Microsoft Smart Devices Developer Community http://smartdevices.microsoftdev.com/Products/.NET+Compact+Framework/default.a spx .NET Compact Framework Resources, GOT DOT NET Community http://smartdevices.microsoftdev.com/Products/.NET+Compact+Framework/default.a spx
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/ 44
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/
45
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
46