37
T-110.5140 Network Application Frameworks an XML Mobile Middleware 18.3.2008 Sasu Tarkoma

T-110.455 Network Application Frameworks and XML Middleware and

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: T-110.455 Network Application Frameworks and XML Middleware and

T-110.5140 Network Application Frameworks and XML

Mobile Middleware

18.3.2008

Sasu Tarkoma

Page 2: T-110.455 Network Application Frameworks and XML Middleware and

Contents

Mobile Middleware Motivation Examples

Summary

Page 3: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 4: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 5: T-110.455 Network Application Frameworks and XML Middleware and

Reflection

In general, middleware provides transparency to the underlying conditions Location transparency in RPC/RMI

In mobile environments this is not always desired 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

Page 6: T-110.455 Network Application Frameworks and XML Middleware and

NAF

XML

Security

Objects

Middleware

IPv6 mobility,HIP

MobilityWireless CORBA

Secure mobile XML routing

Plain IPv4 MIP

J2ME

Symbian

.NET

WAE

Page 7: T-110.455 Network Application Frameworks and XML Middleware and

Examples

WAE J2ME Symbian MAEMO Android Wireless CORBA Mobile Web Server Pervasive Computing Middleware Fuego

Page 8: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 9: T-110.455 Network Application Frameworks and XML Middleware and

Programming model

Client

WebBrowser

Server

HTTPServer

CGI,..

Gateway

EncodersDecoders

encodedrequest

encodedresponse

request

responseProtocol

Gateways

wireless

Page 10: T-110.455 Network Application Frameworks and XML Middleware and

Web Access

Data transformation WAP gateway performs data transformation

between WML (or XHTML) and HTML Data compression

Technique are used for dealing with images and other graphics

Adaptability User profile and device characteristics are stored

in the WAP gateway Security

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

Page 11: T-110.455 Network Application Frameworks and XML Middleware and

Comparison

TCP/IPUDP/IPTCP/IPUDP/IP

TLS - SSLTLS - SSL

HTTPHTTP

HTML/JSHTML/JS

Transport Layer (WDP,UDP)Transport Layer (WDP,UDP)

Bearers: SMS,CDMA,..Bearers: SMS,CDMA,..

Security Layer (WTSL)Security Layer (WTSL)

Transaction Layer (WTP)Transaction Layer (WTP)

Session Layer (WSP)Session Layer (WSP)

WAEWAE OtherOther

Page 12: T-110.455 Network Application Frameworks and XML Middleware and

WAE: current status

WAP Forum now in OMA (Open Mobile Alliance) WAP 2.0, is a re-engineering of WAP using a

cut-down 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

Page 13: T-110.455 Network Application Frameworks and XML Middleware and

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)

Page 14: T-110.455 Network Application Frameworks and XML Middleware and

Source: http://developers.sun.com/techtopics/mobility/getstart/articles/survey/

Page 15: T-110.455 Network Application Frameworks and XML Middleware and

J2ME optional packages

JSR 172: J2ME Web Services Specification Content Handler API (CHAPI) JSR 211

allows the invocation of J2ME platform applications from native applications and vice versa

Security and Trust Services JSR-177 J2ME Client Provisioning JSR-124

J2ME Client Provisioning Specification defines a server partitioning standard for provisioning applications.

Mobile Media API JSR-135

Page 16: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 17: T-110.455 Network Application Frameworks and XML Middleware and

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)

Page 18: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 19: T-110.455 Network Application Frameworks and XML Middleware and

Software Components

Kernel Manages and controls access to hw Hw-supported privileges, kernel mode

Application Program with a user interface Runs in user mode in its own process

Server 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

Page 20: T-110.455 Network Application Frameworks and XML Middleware and

Symbian architecture

Kernel Services & Hardware Abstraction

Base Services

Generic OS Services

Comms Services

Multimedia &Graphics Srv.

Connec-tivity Srv.

Java J2MEApplication Services

UI Framework

Page 21: T-110.455 Network Application Frameworks and XML Middleware and

MAEMO

Open Source development platform for Nokia Internet Tablets and other Linux-based devices

Maemo SDK www.maemo.org

Page 22: T-110.455 Network Application Frameworks and XML Middleware and
Page 23: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 24: T-110.455 Network Application Frameworks and XML Middleware and

Wireless CORBA

CORBA does not support accessing mobile objects or wireless communication Wireless CORBA specification

Three basic requirements Invocations from mobile objects Invocations to mobile objects Wireless communication

Home bridge Access bridges Tunnelling over wireless Handoff protocols

Page 25: T-110.455 Network Application Frameworks and XML Middleware and

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

Page 26: T-110.455 Network Application Frameworks and XML Middleware and

Architecture• Redirects requests for services on the terminal• Keeps track of the current access bridge• Other side end of the Access Bridge

• Encapsulate/decapsulates msgs• Generates mobility events

• Encapsulates, forwards or ignores incoming GIOP messages• Decapsulates and forwards messages from the GIOP tunnel• Generates mobility events• Lists available services

• Abstract transport-independent tunnel for GIOP messages• Concrete tunnels for TCP/IP, UDP/IP and WAP WDP.• Protocol requires reliable and ordered delivery

Page 27: T-110.455 Network Application Frameworks and XML Middleware and

Handoffs

Network initiated handoff started by an external application optional to support make-before-break

Terminal initiated handoff 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

Page 28: T-110.455 Network Application Frameworks and XML Middleware and

Network Initiated Handoff

Page 29: T-110.455 Network Application Frameworks and XML Middleware and

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/

mobile-web-server/index.html

Page 30: T-110.455 Network Application Frameworks and XML Middleware and

Overview

Gateway

BrowserWebserver

Operator

Firewall

2.5/3G

InternetDNS

12

3

By courtesy of Johan WikmanPresented in EuroOSCON 2006

Page 31: T-110.455 Network Application Frameworks and XML Middleware and

Pervasive computing middlewareProjects 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

Page 32: T-110.455 Network Application Frameworks and XML Middleware and

Fuego Core (HIIT)

Mobile and wireless environments have different requirements than desktop systems User mobility, terminal mobility, connectivity,

device characteristics, dynamic environments Vision: A service application is distributed

among various application servers, network elements and terminals

Three year Tekes project (2002-2004) Industrial partners: Nokia, TeliaSonera, Elisa,

Ericsson, Movial Open source software

Demonstration at WMCSA 2004

Page 33: T-110.455 Network Application Frameworks and XML Middleware and

Fuego Architecture

The Fuego middleware service set for mobile computing Data communication

Efficient wireless SOAP Efficient content-based routing (asynchronous

events) Data synchronization

3-way XML document merging XML-aware distributed file system

Applications Presence service, mobile ticker, image-album

Page 34: T-110.455 Network Application Frameworks and XML Middleware and

BEEPBEEPHTTP 1.1HTTP 1.1

Wireless SOAPWireless SOAP

Presence ClientPresence Client

Sync.File systemSync.File system

BEEPBEEPHTTP 1.1HTTP 1.1

JettyJetty Wireless SOAP/SOAPWireless SOAP/SOAP

Apache AxisApache Axis

Presence ServicePresence Service

IPIP

Distributed ServersMobile Clients

JettyJetty

Ubiquitous and Pervasive software

TCP

Mobile ServicesMobile Services

Mobile ApplicationsMobile Applications

Filter Service

Filter Service

Event Service

Event BusServletsServlets

Sync. FileSystem

Host Identity Protocol (HIP)

Page 35: T-110.455 Network Application Frameworks and XML Middleware and

BEEPBEEPHTTP 1.1HTTP 1.1

Wireless SOAPWireless SOAP

Presence ClientPresence Client

Sync.File systemSync.File system

BEEPBEEPHTTP 1.1HTTP 1.1

JettyJetty Wireless SOAP/SOAPWireless SOAP/SOAP

Apache AxisApache Axis

Presence ServicePresence Service

IPIP

Distributed ServersMobile Clients

JettyJetty

Ubiquitous and Pervasive software

TCP

Mobile ServicesMobile Services

Mobile ApplicationsMobile Applications

Filter Service

Filter Service

Event Service

Event BusServletsServlets

Sync. FileSystem

Host Identity Protocol (HIP)

End-to-end authentication of hostsEncryption of network traffic using IPsec

Mobility and multihoming supportResilient sockets

End-to-end authentication of hostsEncryption of network traffic using IPsec

Mobility and multihoming supportResilient sockets

Reliable messagingMultiplexing multiple connections on TCP

Prioritization of connections

Reliable messagingMultiplexing multiple connections on TCP

Prioritization of connections

Efficient sync/async messagingEfficient XML serialization

Persistent connections across mobility

Efficient sync/async messagingEfficient XML serialization

Persistent connections across mobility

Expressive async. communicationContent-based routing using filtersEvent buffering / mobility support

Support for context-aware operation

Expressive async. communicationContent-based routing using filtersEvent buffering / mobility support

Support for context-aware operation

Automatic reconciliation of XML documents Optimized storage of XML

Ad-hoc file sharingIntegrates with existing file systems (NFS)

Automatic reconciliation of XML documents Optimized storage of XML

Ad-hoc file sharingIntegrates with existing file systems (NFS)

Presence service based on eventsControl of presence attribute visibilityPresence service based on events

Control of presence attribute visibility

Page 36: T-110.455 Network Application Frameworks and XML Middleware and

FUEGO DEMO

Page 37: T-110.455 Network Application Frameworks and XML Middleware and

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