Download - Tutorial m Business 2003
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 1/46
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 2/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 3/46
Franz Gruber, Werner Kurschl 3
Building Mobile Solutions
Organizational 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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 4/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 5/46
Franz Gruber, Werner Kurschl 5
Building Mobile Solutions
Technical 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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 6/46
Franz Gruber, Werner Kurschl 6
Building Mobile Applications
Technical Implications ctd.
Data management
Synchronisation
On-/offline capabilities
Security issues
Dangers for mobile devices
Threats of communication technology
Danger of exposing enterprise data
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 7/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 8/46
Franz Gruber, Werner Kurschl 8
Development Infrastructure
Mobile device Development computer
- Design
- Implementation
- Debugging - Debugging
- Test - Test
- Deployment
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 9/46
Franz Gruber, Werner Kurschl 9
Emulators
PalmOS PocketPC Symbian OS
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 10/46
Franz Gruber, Werner Kurschl 10
Emulators ctd.
JAVA
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 11/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 12/46
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 13/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 14/46
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
Architectur e
Development
Comparison
Conclusion
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 15/46
Franz Gruber, Werner Kurschl 15
Java and .NET
Philosophies
.NET is ...
Language independent (VB, C#)
Platform dependent (Windows CE, PocketPC)
Company driven
Java is ...
Language dependent
Platform independent
Community driven
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 16/46
Franz Gruber, Werner Kurschl 16
Overview of Comparison
Architecture
Design
Infrastructure
Development tools Availability, licensing
Standardization
User Interfaces
Data capabilities
Communication
Conclusion
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 17/46
Franz Gruber, Werner Kurschl 17
Building Mobile Applications
.NET Compact Framework - Architecture
Franz Gruber
Werner [email protected]
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 18/46
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)
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 19/46
Franz Gruber, Werner Kurschl 19
NET Compact Framework
Execution Environment
ost
ar ware
oot oa er
Threa s
Timers
Networkin
Files stem
ost ervices
latform aption a er ( )
Execution En ine
pp omain oa er
Class oa er
erifier
Instruction En ine/JIT
Garba e Collection
ebu er
ase class libraries
l erverCE librar evice-specific an custom libraries
pplication pplication
Native Co e
ana e Co e
.NET Compact
Framework
C R
C REE.
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 20/46
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 21/46
Franz Gruber, Werner Kurschl 21
Building Mobile Applications
Java 2 Micro Edition - Architecture
Franz Gruber
Werner [email protected]
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 22/46
Franz Gruber, Werner Kurschl 22
Java 2 Micro Edtion
Architecture
Configurations
Device classes
Profiles
Market segment
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 23/46
Franz Gruber, Werner Kurschl 23
Java 2 Micro Edition
Building Blocks
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 24/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 25/46
Franz Gruber, Werner Kurschl 25
General Characteristics
Comparison
.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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 26/46
Franz Gruber, Werner Kurschl 26
General Characteristics
Comparison ctd.
.Net Compact
Framework J2ME Connected
Device
Configuration J2ME Connected
Limited Device
Configuration Native APIs P/Invoke;
consistent acrosssupported devices
JNI; device- and OS-specific N/A
Development
tools VS.Net 2003 Command line,vendor SDKs,CodeWarrior, andWebSphere
Command line,vendor SDKs, allmajor Java IDEs
Specification
process Single company Community Community
Security
model Simplified .Netmodel Full Java security
manager Limited Java 2modelsupplemented byOTA specification
Client
installation ActiveSync,Internet Explorer download Sync, download Formal OTA
specification
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 27/46
Franz Gruber, Werner Kurschl 27
Building Mobile Applications
Feature ComparisonJ2ME CDC - J2ME CLDC - .NET CF
Franz Gruber
Werner [email protected]
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 28/46
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 29/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 30/46
Franz Gruber, Werner Kurschl 30
Data Capabilities
J2ME
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.)
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 31/46
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.6megabytes (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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 32/46
Franz Gruber, Werner Kurschl 32
No built in support for ML in J2ME
J2ME does not contain any ML specific classes
Third party APIs available for J2ME CDC and
CLDC
k ML ± ML DOM and SA
SLT Compiler from Sun for J2ME
XML support will be standardized in J2ME
optional package for Web Services (see below)
XML Support
J2ME
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 33/46
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)
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 34/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 35/46
Franz Gruber, Werner Kurschl 35
Web Services
Overview
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 36/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 37/46
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 clientapplications
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 38/46
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 applicationarchitecture
± Web Services
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 39/46
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)
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 40/46
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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 41/46
Franz Gruber, Werner Kurschl 41
Which Technology To
Choose?
Technology is not the driving force for a mobile
solution
Used devices and available infrastructuresdetermine the technology
No r ecommendation for onespecific technolo y!
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 42/46
Franz Gruber, Werner Kurschl 42
Building Mobile Applications
Questions And Discussion
Franz Gruber
Werner Kurschl
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 43/46
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
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
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 bookshttp://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
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 44/46
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 ManagementFramework (SMF):http://www-3.ibm.com/software/pervasive/products/wsdd/
Simplicity IDE from Data Representations:http://www.datarepresentations.com/
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 45/46
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 mobiledatabases:http://www.jcp.org/en/jsr/detail?id=169
J2EE Client Provisioning specification:http://java.sun.com/j2ee/provisioning/
8/8/2019 Tutorial m Business 2003
http://slidepdf.com/reader/full/tutorial-m-business-2003 46/46
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.shtmlIBM 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.htmlOracle'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/mobileWeb Services in der Praxis ± Seminarhttp://www.scch.at/webservices
Developing Java applications for mobile devices ± Tutorial OOPSLA 2002http://www.scch.at/index.jsp?menu=publications&link=/research/publications/publication.jsp&id=1221