1 / 37

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

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

cworthy
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. T-110.5140 Network Application Frameworks and XML Mobile Middleware18.3.2008Sasu Tarkoma

  2. Contents • Mobile Middleware • Motivation • Examples • Summary

  3. 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

  4. 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

  5. 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

  6. Objects Secure mobile XML routing WAE Middleware XML IPv6 mobility, HIP .NET J2ME Security Mobility NAF Symbian Wireless CORBA Plain IPv4 MIP

  7. Examples • WAE • J2ME • Symbian • MAEMO • Android • Wireless CORBA • Mobile Web Server • Pervasive Computing Middleware • Fuego

  8. 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

  9. Programming model encodedrequest Client Gateway Server request Encoders Decoders HTTPServer WebBrowser wireless ProtocolGateways CGI,.. encodedresponse response

  10. 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

  11. HTML/JS HTTP TLS - SSL TCP/IP UDP/IP Comparison WAE Other Session Layer (WSP) Transaction Layer (WTP) Security Layer (WTSL) Transport Layer (WDP,UDP) Bearers: SMS,CDMA,..

  12. 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

  13. 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)

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

  15. 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

  16. 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

  17. 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)

  18. 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

  19. 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

  20. Symbian architecture UI Framework Java J2ME Application Services Generic OS Services Comms Services Multimedia & Graphics Srv. Connec- tivity Srv. Base Services Kernel Services & Hardware Abstraction

  21. MAEMO • Open Source development platform for Nokia Internet Tablets and other Linux-based devices • Maemo SDK • www.maemo.org

  22. 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

  23. 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

  24. 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

  25. Architecture • Redirects requests for • services on the terminal • Keeps track of the current • access bridge • Abstract transport-independent • tunnel for GIOP messages • Concrete tunnels for TCP/IP, • UDP/IP and WAP WDP. • Protocol requires reliable and • ordered delivery • 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

  26. 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

  27. Network Initiated Handoff

  28. 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

  29. Overview Browser Webserver 2 1 3 2.5/3G Operator Firewall DNS Internet Gateway By courtesy of Johan Wikman Presented in EuroOSCON 2006

  30. Pervasive computing middleware

  31. 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

  32. 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

  33. Automatic reconciliation of XML documents Optimized storage of XML Ad-hoc file sharing Integrates with existing file systems (NFS) Expressive async. communication Content-based routing using filters Event buffering / mobility support Support for context-aware operation Presence service based on events Control of presence attribute visibility 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

  34. FUEGO DEMO

  35. 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

More Related