7
MOBILE MIDDLEWARE ARCHITECTURE, PATTERNS AND PRACTICE Sasu Tarkoma Helsinki University of Technology, Finland ®WILEY A John Wiley and Sons, Ltd., Publication

MOBILE MIDDLEWARE - GBV

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MOBILE MIDDLEWARE - GBV

MOBILE MIDDLEWARE ARCHITECTURE, PATTERNS AND PRACTICE

Sasu Tarkoma Helsinki University of Technology, Finland

®WILEY A John Wiley and Sons, Ltd., Publication

Page 2: MOBILE MIDDLEWARE - GBV

Contents

Preface xiii

About the Author xv

List of Contributors xvii

1 Introduction 1 1.1 Mobile Middleware 1 1.2 Mobile Applications and Services 2 1.3 Middleware Services 3 1.4 Transparencies 5 1.5 Mobile Environment 5 1.6 Context-awareness 7 1.7 Mobility 7 1.8 Example Use Case 8 1.9 Requirements for Mobile Computing 9 1.10 Mobile Platforms 11 1.11 Organization of the Book 11

Bibliography 13

2 Architectures and Platforms IS 2.1 Overview 15 2.2 Networking 16

2.2.1 TCP/IP 16 2.2.2 IPv4 and IPv6 18 2.2.3 TCPandUDP 18 2.2.4 MANETs and Wireless Mesh Networks 19

2.3 Naming and Addressing 20 2.3.1 Basic Definitions 20 2.3.2 Challenges 21 2.3.3 Mobility and Multi-homing 22 2.3.4 Network Address Translation 23 2.3.5 A Taxonomy 24

2.4 Middleware and Platforms 25 2.4.1 Overview 25 2.4.2 Objects, Components, and Services 26

Page 3: MOBILE MIDDLEWARE - GBV

viii Contents

2.4.3 Message Passing and RPC/RMI 2.4.4 Mediation and Delegation 2.4.5 Mobility Overview of Platforms 2.5.1 Java Platform 2.5.2 SPICE 2.5.3 Service Ecosystem Mobile Platforms 2.6.1 Java ME 2.6.2 iPhone 2.6.3 Symbian and Series 60 2.6.4 BREW 2.6.5 WAP 2.6.6 Windows Mobile and .NET Compact Framework 2.6.7 NoTA 2.6.8 Linux Maemo 2.6.9 Android 2.6.10 OSGi 2.6.11 Python 2.6.12 Flash Lite 2.6.13 Opera Mini 2.6.14 Summary Bibliography

Support Technologies Session Initiation Protocol (SIP) IP Multimedia Subsystem (IMS) Web Services Other Technologies 3.4.1 IP Television (IPTV) 3.4.2 SQLite 3.4.3 OpenGL ES 3.4.4 PAMP Service Discovery 3.5.1 UPnP 3.5.2 Jini 3.5.3 Service Location Protocol 3.5.4 ZeroConf Mobility Solutions 3.6.1 Mobile IP 3.6.2 Host Identity Protocol (HIP) 3.6.3 Wireless CORBA 3.6.4 Comparison Advanced Topics 3.7.1 Overlay Networks 3.7.2 Context-awareness 3.7.3 Service Composition 3.7.4 Security and Trust 3.7.5 Charging and Billing

29 29 31 31 32 33 36 37 37 42 44 47 48 50 52 56 57 61 62 62 63 64 65

67 67 72 74 77 77 78 79 79 79 80 81 82 83 84 84 85 88 90 92 92 96 97 97 98

Page 4: MOBILE MIDDLEWARE - GBV

Contents ix

3.8 Fuego: Example Middleware Platform 99 Bibliography 101

103 103 104 104 105 107 108 109 ПО 111 112 114 114 115 116 116 118 118 120 121 121 121 122 122 122 125 131 134 135

137 137 140

5.2.7 Standardization Process in General 140 5.2.2 Standards Organizations 141

5.3 Wireless Communications Standards 142 5.3.1 Cellular Networks 143 5.3.2 Local Area Networks 144 5.3.3 Personal Area Networks 145 5.3.4 Comparison 146

5.4 W3C Standards 147 5.4.1 The Mobile Web Initiative 148 5.4.2 Basic XML Specifications 148 5.4.3 XML Schema Languages 151 5.4.4 XML Querying and Transformations 154

4 4.1 4.2

4.3 4.4 4.5

4.6

4.7

4.8

5 5.1 5.2

Principles and Patterns Definitions Principles 4.2.1 Internet Principles 4.2.2 Web Principles 4.2.3 SO A Principles 4.2.4 Security Principles 4.2.5 Mobile Principles: Device View 4.2.6 Mobile Principles: SIP Architecture Cross-layer design Model Driven Architecture Architectural Patterns 4.5.1 Overview 4.5.2 Client-Server 4.5.3 Three-tier Architecture 4.5.4 Model-View-Control 4.5.5 Broker 4.5.6 Microkernel 4.5.7 Active Object General Patterns 4.6.1 Structural Patterns 4.6.2 Behavioral Patterns 4.6.3 Concurrency Patterns Patterns for Mobile Computing 4.7.1 Distribution Patterns 4.7.2 Resource Management and Synchronization 4.7.3 Communications Summary Bibliography

Interoperability and Standards Interoperability Standardization

Page 5: MOBILE MIDDLEWARE - GBV

X Contents

5.4.5 User Interfaces and Multimedia 156 5.4.6 The XML Stack 156

5.5 IETF Standards 157 5.6 Emerging Internet Standards 158

5.6.1 Peer-to-Peer SIP 159 5.6.2 Efficient XML Interchange 159 Bibliography 161

163 163 163 170 172 173 174 175 176 177 178 178 179 180 181 183 185 185 186 187 187

6.8 XMPP 188 6.9 Web Services 189

6.9.1 Architecture 190 6.9.2 Locator 191 6.9.3 Syntax 191 6.9.4 Protocol 192

6.10 The Web and REST 193 6.10.1 Architecture 193 6.10.2 Locator 195 6.10.3 Syntax 196 6.10.4 Protocol 196 Bibliography 197

7 Publish/Subscribe 199 7.1 Overview 199 7.2 Router Topologies 203 7.3 Interest Propagation 204 7.4 Routing Decision 205 7.5 Standards 206

7.5.1 OMG Data Distribution Service (DDS) 206

6 6.1

6.2 6.3

6.4

6.5 6.6 6.7

Mobile Messaging Messaging Fundamentals 6.1.1 Messaging System Components 6.1.2 Message Exchange Patterns Messaging Architectures Mobile and Wireless Communication 6.3.1 Mobile Hosts 6.3.2 Wireless Links 6.3.3 Two-way Communication 6.3.4 Designing for Mobility Security 6.4.1 Confidentiality 6.4.2 Integrity 6.4.3 Message-level Security Reliability Java Message Service CORBA and CORBA Messaging 6.7.1 Architecture 6.7.2 Locator 6.7.3 Syntax 6.7.4 Protocol

Page 6: MOBILE MIDDLEWARE - GBV

Contents xi

7.6

7.7

8 8.1

7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7

IP Multicast RSS and Atom Java Distributed Event Model SIP Event Framework CORBA Notification Service and Channel Management WS-Eventing and WS-Notification

Research Systems 7.6.1 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6

Scalable Internet Event Notification Architecture (SIENA) Elvin JEDI Rebeca STEAM Fuego Event Service

Advanced Topics Biblio graphy

Data Synchronization Synch ronization Models

207 208 208 209 210 211 212 212 214 217 218 218 219 220 221

225 225

8.1.1 Basics of Synchronization 226 8.1.2 Synchronization Process 227 8.1.3 Architectures for Synchronization 229 8.1.4 Type-Specific Synchronization 232

8.2 File Systems and Version Control 233 8.3 Synchronization in Middleware 235 8.4 Case Studies 236

8.4.1 ОМА Synchronization (SyncML) 236 8.4.2 The Coda File System 238 8.4.3 The Unison Synchronizer 238 Bibliography 239

9 Security 241 9.1 Basic Principles 241 9.2 Cryptography 242 9.3 Public Key Infrastructure 244 9.4 Network Security 244 9.5 802.1 IX 247 9.6 AAA, RADIUS, Diameter 248 9.7 Transport-layer Security 251 9.8 Web Services Security 253 9.9 Security Tokens 257 9.10 SAML 259 9.11 XACML 259 9.12 Single Sign-On (SSO) 260 9.13 Generic Bootstrapping Architecture (GBA) 261 9.14 Trusted Platform Module 264 9.15 OpenID, OAuth, MicroID 264 9.16 Spam 267 9.17 Downloaded Code 268

Bibliography 269

Page 7: MOBILE MIDDLEWARE - GBV

Xl l Contents

271 271 273 274 275 278 279 281 282 285 287 290 291 292 294 295 297

11 Conclusions 299

10 10.1

10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9

Application and Service Case Studies Mobile Services 10.1.1 Accountability 10.1.2 Identity Management 10.1.3 Taxonomy of Services 10.1.4 Location Awareness 10.1.5 Pervasive Services 10.1.6 Smart Spaces Mobile Server Mobile Advertisement Mobile Push Email Mobile Video Mobile Widgets and WidSets Airline Services Revisiting Mobile Patterns Summary Bibliography

Index 303