T110 5140 Network Application Frameworks and XML Mobile
T-110. 5140 Network Application Frameworks and XML Mobile Middleware 12. 3. 2007 Sasu Tarkoma
Contents n Mobile Middleware u Motivation u Examples n Summary
Mobile Middleware I n Middleware is typically designed and implemented for fixed-network hosts u u u n High bandwidth, low latency, reliable communication Persistent storage and sufficient computing power No mobility Mobile environment requires new solutions u u u Existing middleware services do not scale Previous lectures: mobility is challenging Small devices / embedded systems pose totally different challenges
Mobile Middleware II n Goals for middleware: u n fault-tolerance, adaptability, heterogeneity, scalability, resource sharing Mobile middleware u u dynamically changing context decoupled F u events, tuple spaces Basic solution for wireless F Use a proxy
Reflection n In general, middleware provides transparency to the underlying conditions u n In mobile environments this is not always desired u n Location transparency in RPC/RMI Sometimes we need to know about location changes, Qo. S changes, etc. Requirement for reflective middleware u u Should expose APIs for querying / changing important parameters Under development
WAE Middleware. NET Objects IPv 6 mobility, HIP XML J 2 ME Symbian Wireless CORBA Plain IPv 4 MIP NAF Mobility Secure mobile XML routing Security
Examples n n WAE J 2 ME Wireless CORBA Fuego
WAE n Wireless Application Environment (WAE) u n A suite of protocols and specifications for optimizing data transfer for wireless communication WAP stack u u Focus on binary transmission Protocols F F 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
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 n n 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 u n 1. 2 version introduced WAP Push (typically using an SMS message) Typically versatile networking stacks with also IPv 6 support
Java 2 Platform Micro Edition (J 2 ME) n n n Java for consumer electronics and embedded devices A virtual machine and a set of APIs Configurations and profiles u Configurations F u two-low level APIs and optimized VMs • CDC, CLDC Profiles F F F 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/
J 2 ME optional packages n n JSR 172: J 2 ME Web Services Specification Content Handler API (CHAPI) JSR 211 u n n Security and Trust Services JSR-177 J 2 ME Client Provisioning JSR-124 u n allows the invocation of J 2 ME platform applications from native applications and vice versa J 2 ME Client Provisioning Specification defines a server partitioning standard for provisioning applications. Mobile Media API JSR-135
CLDC Technology n n n n 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 J 2 ME; JSR 179 SIP API for J 2 ME; JSR 180 File. Connection and PIM API (JSR-75) Security and Trust Services API for J 2 ME, (SATSA); JSR-177 Mobile 3 D Graphics; JSR-184 J 2 ME Web Services APIs, (WSA); JSR 172 Bluetooth API (JSR-82, Motorola, Java Partner Site) J 2 ME Content Handler API, (CHAPI); JSR 211
CDC Technology n n n n 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 J 2 ME 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)
Wireless CORBA n CORBA does not support accessing mobile objects or wireless communication u n Three basic requirements u u u n n 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 n n n MIP addresses host mobility, not object mobility MIP does not specifically support wireless protocols MIP hides all handoff events u 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 and. WDP. 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 n Network initiated handoff u u n Terminal initiated handoff u u n n 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
Fuego Core (HIIT) n Mobile and wireless environments have different requirements than desktop systems u n n Vision: A service application is distributed among various application servers, network elements and terminals Three year Tekes project (2002 -2004) u u n User mobility, terminal mobility, connectivity, device characteristics, dynamic environments Industrial partners: Nokia, Telia. Sonera, Elisa, Ericsson, Movial Open source software Demonstration at WMCSA 2004
Fuego Architecture n The Fuego middleware service set for mobile computing u Data communication F F u Data synchronization F F u Efficient wireless SOAP Efficient content-based routing (asynchronous events) 3 -way XML document merging XML-aware distributed file system Applications F Presence service, mobile ticker, image-album
Automatic reconciliation of XML documents Optimized storage of XML Expressive async. communication 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 Control of presence visibility Support for context-aware operation Efficient sync/async messaging Efficient XML serialization Persistent connections across mobility Reliable messaging Multiplexing multiple connections on TCP Prioritization of connections End-to-end authentication of hosts Encryption of network traffic using IPsec Mobility and multihoming support Resilient sockets
FUEGO DEMO
Summary n Mobile middleware u u u n Desktop middleware not usable on small, mobile devices Special solutions are needed J 2 ME, WAE, Wireless CORBA, . . Current trend u u Flexibility, decoupled nature Convergence / unification
- Slides: 26