T-110.455 Network Application Frameworks and XML

Download Report

Transcript T-110.455 Network Application Frameworks and XML

T-110.5140 Network Application
Frameworks and XML
Mobile Middleware
18.3.2008
Sasu Tarkoma
Contents

Mobile Middleware
 Motivation
 Examples

Summary
Mobile Middleware I

Middleware is typically designed and
implemented for fixed-network hosts




High bandwidth, low latency, reliable
communication
Persistent storage and sufficient computing
power
No mobility
Mobile environment requires new
solutions



Existing middleware services do not scale
Previous lectures: mobility is challenging
Small devices / embedded systems pose
totally different challenges
Mobile Middleware II

Goals for middleware:


fault-tolerance, adaptability,
heterogeneity,scalability, resource sharing
Mobile middleware


dynamically changing context
decoupled


events, tuple spaces
Basic solution for wireless

Use a proxy
Reflection

In general, middleware provides
transparency to the underlying conditions


In mobile environments this is not always
desired


Location transparency in RPC/RMI
Sometimes we need to know about location
changes, QoS changes, etc.
Requirement for reflective middleware


Should expose APIs for querying / changing
important parameters
Under development
WAE
Middleware
.NET
Objects
IPv6
mobility,
HIP
XML
J2ME
Symbian
Wireless
CORBA
Plain
IPv4 MIP
NAF
Mobility
Secure
mobile XML
routing
Security
Examples









WAE
J2ME
Symbian
MAEMO
Android
Wireless CORBA
Mobile Web Server
Pervasive Computing Middleware
Fuego
WAE

Wireless Application Environment (WAE)


A suite of protocols and specifications for
optimizing data transfer for wireless
communication
WAP stack


Focus on binary transmission
Protocols




WSP (Wireless Session Protocol)
• HTTP replacement, “compressed”
WTP (Wireless Transaction Protocol)
• Request/response, more efficient than TCP
WTLS (Wireless Transport Layer Security)
• Based on TLS, may not be end-to-end with a
gateway
WDP (Wireless Datagram Protocol)
• UDP replacement
Programming model
Client
Web
Browser
encoded
request
wireless
encoded
response
Gateway
Server
request
Encoders
Decoders
Protocol
Gateways
HTTP
Server
response
CGI,..
Web Access

Data transformation


Data compression


User profile and device characteristics are stored
in the WAP gateway
Security


Technique are used for dealing with images and
other graphics
Adaptability


WAP gateway performs data transformation
between WML (or XHTML) and HTML
Secure Enterprise Proxy (SEP) using 128-bit
encryption in WAP 1.2
Service discovery and mobility support

WAP’s “walled garden” – WAP gateways are
provided by ISP such as AOL
Comparison
HTML/JS
WAE
Other
Session Layer (WSP)
HTTP
TLS - SSL
TCP/IP
UDP/IP
Transaction Layer (WTP)
Security Layer (WTSL)
Transport Layer (WDP,UDP)
Bearers: SMS,CDMA,..
WAE: current status




WAP Forum now in OMA (Open Mobile Alliance)
WAP 2.0, is a re-engineering of WAP using a cutdown version of XHTML with end-to-end HTTP
Gateway and custom protocol suite is optional.
WAP used by many handsets


1.2 version introduced WAP Push (typically using
an SMS message)
Typically versatile networking stacks with also
IPv6 support
Java 2 Platform Micro Edition
(J2ME)



Java for consumer electronics and
embedded devices
A virtual machine and a set of APIs
Configurations and profiles

Configurations


two-low level APIs and optimized VMs
• CDC, CLDC
Profiles





API specification on top of a configuration for
complete runtime
CLDC: MIDP
CDC: Foundation, Personal Basis, Personal
Specify both APIs and Configurations
Profiles defined using Java Community
Process (JCP)
Source: http://developers.sun.com/techtopics/mobility/getstart/articles/survey/
J2ME optional packages


JSR 172: J2ME Web Services Specification
Content Handler API (CHAPI) JSR 211



Security and Trust Services JSR-177
J2ME Client Provisioning JSR-124


allows the invocation of J2ME platform applications
from native applications and vice versa
J2ME Client Provisioning Specification defines a
server partitioning standard for provisioning
applications.
Mobile Media API JSR-135
CLDC Technology














Connected Limited Device Configuration (CLDC); JSR 30,
JSR 139
Mobile Information Device Profile (MIDP); JSR 37, JSR 118
Information Module Profile, (IMP); JSR 195
Java Technology for the Wireless Industry, (JTWI); JSR 185
Wireless Messaging API (WMA); JSR 120, JSR 205
Mobile Media API (MMAPI); JSR 135
Location API for J2ME; JSR 179
SIP API for J2ME; JSR 180
FileConnection and PIM API (JSR-75)
Security and Trust Services API for J2ME, (SATSA); JSR-177
Mobile 3D Graphics; JSR-184
J2ME Web Services APIs, (WSA); JSR 172
Bluetooth API (JSR-82, Motorola, Java Partner Site)
J2ME Content Handler API, (CHAPI); JSR 211
CDC Technology








Connected Device Configuration (CDC); JSR 36,
JSR 218
Foundation Profile, (FP); JSR 46, JSR 218
Personal Basis Profile, (PBP); JSR 129, JSR 217
Personal Profile, (PP); JSR 62, JSR 216
J2ME RMI Optional Package, (RMI OP); JSR 66
JDBC Optional Package for CDC/Foundation
Profile API; JSR 169
Java TV API; JSR 927
Java Secure Socket Extension for Connected
Device Configuration (JSSE)
Symbian





OS for handheld devices with limited
resources
User interface framework
APIs (C++)
Tools
Operating System



Pre-emptive, multitasking, multithreading,
memory protection
Event-based, active objects
Memory conservation, reliability, CPU
optimizations
Software Components

Kernel



Application



Program with a user interface
Runs in user mode in its own process
Server




Manages and controls access to hw
Hw-supported privileges, kernel mode
Program without a user interface
Manages resources, provides interface to clients
File server, window server, comms, ..
Engine

Application part that manipulates data, typically
separate DLL
Symbian architecture
UI Framework
Java J2ME
Application Services
Generic OS
Services
Comms
Services
Multimedia & ConnecGraphics Srv. tivity Srv.
Base Services
Kernel Services & Hardware Abstraction
MAEMO



Open Source development platform for
Nokia Internet Tablets and other Linuxbased devices
Maemo SDK
www.maemo.org
Android






Mobile OS and application platform from Google
Open Handset Alliance
Linux kernel
Open Source (not yet available)
Uses Java to build applications (Java SE class
library parts from Apache Harmony project)
Optimized virtual machine called ”Dalvik”




Runs .dex files (derived from .class or .jar)
Relies on underlying system for process isolation,
memory mng, and threading
Independent of Sun and JCP
Java APIs for basic comms, location, SQLite,
OpenGL, SyncML
Wireless CORBA

CORBA does not support accessing
mobile objects or wireless
communication


Three basic requirements







Wireless CORBA specification
Invocations from mobile objects
Invocations to mobile objects
Wireless communication
Home bridge
Access bridges
Tunnelling over wireless
Handoff protocols
Mobile IP vs. WCORBA



MIP addresses host mobility, not object
mobility
MIP does not specifically support
wireless protocols
MIP hides all handoff events

location-aware services difficult to implement
• Redirects requests for
Architecture
services on the terminal
• Abstract transport-independent
• Keeps
track of the current
• Encapsulates,
forwards
or ignores
tunnel
for
GIOP
messages
• Other side end of the Access Bridge
access bridge
incoming
GIOP
messages
•
Concrete
tunnels
for
TCP/IP,
• Encapsulate/decapsulates msgs
• Decapsulates
andWDP.
forwards
UDP/IP
andevents
WAP
• Generates
mobility
messages
from reliable
the GIOP
tunnel
• Protocol
requires
and
• Generates
mobility events
ordered
delivery
• Lists available services
Handoffs

Network initiated handoff



Terminal initiated handoff






started by an external application
optional to support make-before-break
terminal discovered a new Access Bridge
make-before-break is required
Access recovery
The Home Location Agent is updated
Old Access Bridges are informed
Mobility events are generated in the
visited domain and the terminal domain
Network Initiated Handoff
Mobile Web Server


Port of Apache web server to Symbian
S60
Custom gateway to connect mobile
servers with the Internet


The firewall/NAT problem
Link

http://research.nokia.com/research/projects/m
obile-web-server/index.html
Overview
Webserver
2
Browser
1
3
2.5/3G
Operator
Firewall
DNS
Gateway
By courtesy of Johan Wikman
Presented in EuroOSCON 2006
Internet
Pervasive computing middleware
Projects
Key Issues
UIC
Heterogeneity of devices and networks: It helps users to specialize to the particular
properties of different devices and network environments
X-Middle
Disconnected operations in mobile applications: It allows mobile users to share data
when they are connected, or replicate the data and perform operations on them off-line
when they are disconnected; data reconciliation takes place when user gets reconnected
Gaia
Dynamic adaptation to the context of mobile applications: It supports the
development and execution of portable applications in active spaces
Lime
Programming constructs which are sensitive to the mobility constraints: It explores
the idea by providing programmers with a global virtual data structure and a tuple space
(Tspace), whose content is determined by the connectivity among mobile hosts
Tspaces
Asynchronous messaging-based communication facilities without any explicit
support for context-awareness: It explores the idea of combination of tuple space
(Tspace) and a database that is implemented in Java. Tspace targets nomadic
environment where server contains tuple databases, reachable by mobile devices
roaming around
L2imbo
QoS monitoring and control by adapting applications in mobile computing
environment: It provides the facilities of multiple spaces, tuple hierarchy, and QoS
attributes
Aura
Distraction-free pervasive computing: It develops the system architecture, algorithms,
interfaces and evaluation techniques to meet the goal of pervasive computing
Fuego Core (HIIT)

Mobile and wireless environments have
different requirements than desktop
systems



Vision: A service application is distributed
among various application servers,
network elements and terminals
Three year Tekes project (2002-2004)



User mobility, terminal mobility, connectivity,
device characteristics, dynamic environments
Industrial partners: Nokia, TeliaSonera, Elisa,
Ericsson, Movial
Open source software
Demonstration at WMCSA 2004
Fuego Architecture

The Fuego middleware service set for
mobile computing

Data communication



Data synchronization



Efficient wireless SOAP
Efficient content-based routing (asynchronous
events)
3-way XML document merging
XML-aware distributed file system
Applications

Presence service, mobile ticker, image-album
Ubiquitous and Pervasive software
MobileServices
Services
Mobile
MobileApplications
Applications
Mobile
PresenceService
Service
Presence
PresenceClient
Client
Presence
Sync. File
System
Sync.Filesystem
system
Sync.File
Event Service
Filter Service
Event Bus
Filter Service
Jetty
Jetty
WirelessSOAP
SOAP
Wireless
HTTP1.1
1.1
HTTP
BEEP
BEEP
Servlets
Servlets
ApacheAxis
Axis
Apache
Jetty
Jetty
WirelessSOAP/SOAP
SOAP/SOAP
Wireless
HTTP1.1
1.1
HTTP
BEEP
BEEP
TCP
Host Identity Protocol (HIP)
IP
IP
Mobile Clients
Distributed Servers
Automatic reconciliation of XML documents
Ubiquitous and Pervasive software
Optimized storage of
XML
Expressive
async. communication
MobileServices
Services
Mobile
Ad-hoc file sharing
Content-based
routing
using
filters
Presence service based on events
Integrates
with
existing file systems
(NFS) / mobility support
Event attribute
buffering
MobileApplications
Applications
Control of presence
visibility
Mobile
PresenceService
Service
Presence
Support for context-aware
operation
PresenceClient
Client
Presence
Sync. File
System
Event Service
Efficient sync/async messaging
Sync.File
system
Filter Service
Sync.File systemEfficient XML serialization
Bus
Persistent Event
connections
across mobility
Servlets
ApacheAxis
Axis
Reliable messaging
Filter Service
Servlets
Apache
Multiplexing multiple connections on TCP
Prioritization
of connections
Jetty
Jetty
Wireless
SOAP of hosts
WirelessSOAP/SOAP
SOAP/SOAP
Jetty
Jetty
SOAP
Wireless
End-to-endWireless
authentication
Encryption of network traffic using IPsec
HTTPMobility
1.1
BEEP
HTTP1.1
1.1
BEEP
HTTP
1.1
BEEP
HTTP
BEEP
and multihoming
support
Resilient sockets
TCP
Host Identity Protocol (HIP)
IP
IP
Mobile Clients
Distributed Servers
FUEGO DEMO
Summary

Mobile middleware




Desktop middleware not usable on small,
mobile devices
Special solutions are needed
J2ME, WAE, Wireless CORBA, ..
Current trend


Flexibility, decoupled nature
Convergence / unification