Engineering Wireless-Based Software Systems and Applications for a Listing of Recent Titles in the Artech House Computing Library, Turn to the Back of This Book
Total Page:16
File Type:pdf, Size:1020Kb
Engineering Wireless-Based Software Systems and Applications For a listing of recent titles in the Artech House Computing Library, turn to the back of this book. Engineering Wireless-Based Software Systems and Applications Jerry Zeyu Gao Simon Shim Hsing Mei Xiao Su a r techhouse. com Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the U.S. Library of Congress. British Library Cataloguing in Publication Data Engineering wireless-based software systems and applications.—(Artech House computing library) 1. Software engineering 2. Wireless communications systems I. Gao, Jerry 005.1 ISBN-10: 1-58053-820-7 ISBN-13: 978-1-58053-820-6 Cover design by Yekaterina Ratner © 2006 ARTECH HOUSE, INC. 685 Canton Street Norwood, MA 02062 All rights reserved. Printed and bound in the United States of America. No part of this book may be reproduced or utilized in any form or by any means, electronic or mechanical, includ- ing photocopying, recording, or by any information storage and retrieval system, without permission in writing from the publisher. All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Artech House cannot attest to the accuracy of this informa- tion. Use of a term in this book should not be regarded as affecting the validity of any trade- mark or service mark. 10 9 8 7 6 5 4 3 2 1 To my wife Tracy and my lovely son Kevin To my parents Ming Gao and Ye-Fang Qin —Jerry Zeyu Gao To my Mom and Dad —Simon Shim To my wife Teresa, my son Wesley, and my daughter Emily —Hsing Mei To Tao and our precious one—Jolie To my parents Mingzhao Su and Yunjun Xu —Xiao Su Contents Preface xvii PART I Introduction 1 CHAPTER 1 Engineering in the Wireless World 3 1.1 Moving to the Wireless World 3 1.1.1 Wireless Markets and Needs 3 1.1.2 Living in the Wireless World 6 1.2 Understanding Wireless-Based Application Systems 8 1.2.1 Basic Definitions 8 1.2.2 Basic Components 8 1.2.3 Special Features and Properties 10 1.2.4 Essential Requirements and Expectations 11 1.2.5 Benefits, Issues, Challenges, and Limitations 12 1.2.6 Classification of Wireless-Based Application Systems 13 1.3 Engineering Wireless-Based Application Systems 14 1.3.1 Engineering Perspectives 16 1.3.2 Engineering Issues, Challenges, and Needs 17 1.4 Summary 20 References 21 PART II Mobile Technologies and Operation Environments 23 CHAPTER 2 Mobile Devices and Operating Systems 25 2.1 An Overview of Mobile Devices 26 2.1.1 Limitations 26 2.1.2 Evolution and Integration 30 2.2 Mobile Operating Systems 35 2.2.1 Symbian OS 39 2.2.2 Windows CE/Mobile 41 2.2.3 Embedded Linux (Mobile Linux) 44 2.3 Mobile Application Platforms 45 vii viii Contents 2.3.1 Java Platform 46 2.3.2 BREW 48 2.4 Summary 51 References 51 CHAPTER 3 Wireless Application Protocols and Technology 53 3.1 Introduction to WAP 53 3.1.1 Brief History 53 3.1.2 WAP Background 55 3.2 Overview of WAP Architecture and Protocols 56 3.2.1 WAP Programming Model 56 3.2.2 WAP Protocol Stack 57 3.2.3 WAP Service Architecture 59 3.2.4 From Web Proxy to WAP Proxy Gateway 62 3.2.5 WAP Push Mechanism 66 3.3 WAE 68 3.3.1 WML 68 3.3.2 WMLScript 70 3.3.3 UAProf 71 3.4 WAP and Messaging Services 72 3.4.1 SMS 72 3.4.2 MMS 74 3.4.3 MMS Works Together with WAP and SMS 74 3.5 Future of WAP—OMA 75 3.5.1 Converging to WAP 2 75 3.5.2 OMA 76 3.6 Summary 78 References 79 CHAPTER 4 Technologies for Mobile Client Software 81 4.1 XML-Based Technologies 81 4.1.1 XML Syntax 82 4.1.2 XML Validation: Document Type Definition/Schema 83 4.1.3 XML Styling: Cascading Style Sheets and Extensible Stylesheet 4.1.3 Language 86 4.1.4 XML-Based Markup Languages 89 4.2 Mobile Web Client 90 4.2.1 XHTML Basic 90 4.2.2 The XHTML Mobile Profile 92 4.3 Java Mobile Client 94 4.3.1 CLDC Connection Framework 94 4.3.2 MIDP Development 95 4.4 i-mode 98 4.4.1 i-mode Infrastructure 98 Contents ix 4.4.2 i-mode Client Technology 99 4.4.3 Server-Side Technologies 100 4.5 Summary 104 References 104 CHAPTER 5 Wireless Multimedia Technologies 107 5.1 Multimedia Streaming 108 5.1.1 Interactive Mobile Services 109 5.1.2 Extensible Markup Language 109 5.1.3 SMIL 110 5.1.4 Mobile Streaming Architecture 110 5.1.5 Backend Server 111 5.1.6 Streaming Client 116 5.1.7 Solution Providers 118 5.2 Wireless Network Technologies 119 5.2.1 Network Protocols 119 5.2.2 QoS and Scalability 121 5.2.3 Proxy Requirement 121 5.2.4 Unicast Versus Multicast 122 5.2.5 Wireless Multimedia Streaming Standards 122 5.3 Codec 123 5.3.1 MPEG 123 5.3.2 MPEG-4 Architecture 123 5.3.3 MPEG-4 Visual Profiles 124 5.3.4 MPEG-4 Encoding and Decoding 124 5.3.5 MPEG-4 File Format 124 5.3.6 Audio Compression Standard 124 5.4 Conclusion 125 References 125 Selected Bibliography 126 PART III Wireless Networks 129 CHAPTER 6 Wireless Local Area Networks 131 6.1 Wireless LAN Protocols 131 6.2 Wireless LAN Standards 132 6.2.1 The 802.11 Physical Layer 133 6.2.2 The 802.11 MAC Sublayer 137 6.3 Wireless LAN Infrastructures 142 6.3.1 Basic Service Areas 142 6.3.2 Extended Service Areas 143 6.3.3 Mobility 144 6.4 Future for Wireless LAN Networks 144 6.4.1 Bluetooth 145 x Contents 6.4.2 Ultrawideband 145 6.4.3 IEEE 802.16 Broadband Wireless 146 6.4.4 3G Cellular Networks 147 6.4.5 Discussions 147 6.5 Summary 147 References 148 Selected Bibliography 148 CHAPTER 7 Wireless Wide Area Networks 149 7.1 Wireless WAN Overview 149 7.1.1 Common Wireless WAN Architecture 149 7.1.2 Mobility Management 151 7.1.3 Communication Background 153 7.2 Cellular Mobile Networks—Up to 2.5G 155 7.2.1 1G Networks: AMPS 156 7.2.2 2G Networks: D-AMPS, GSM, cdmaOne, and More 157 7.2.3 2.5G Networks: General Packet Radio System and Enhanced 4.1.3 Data Rates for Global/GSM Evolution 160 7.3 Cellular Mobile Networks—3G and Beyond 162 7.3.1 3G Networks: CDMA2000 and WCDMA 163 7.3.2 4G Networks and Beyond 165 7.3.3 Standardization Organizations 167 7.4 Summary 168 References 169 CHAPTER 8 Wireless Personal Area Networks 171 8.1 Wireless PAN Overview 171 8.1.1 IEEE 802.15 172 8.1.2 Near-Field Communication 174 8.2 Bluetooth 175 8.2.1 Introduction 175 8.2.2 Protocol Layers 177 8.2.3 States and Operations 181 8.2.4 Application Profiles 183 8.3 Device Coordination (Wireless Access Protocol) 188 8.3.1 Jini 188 8.3.2 Universal Plug-and-Play 191 8.3.3 Home Service Gateway 193 8.4 Summary 194 References 195 PART IV Engineering Wireless-Based Application Systems 197 Contents xi CHAPTER 9 System Requirements Engineering, Analysis, and Modeling 199 9.1 Understanding the Wireless Application Domain 199 9.2 Engineering System Requirements 200 9.2.1 Requirements Engineering Process 200 9.2.2 Requirements Elicitation for Wireless-Based Software Systems 202 9.3 System Analysis and Modeling 207 9.3.1 System Infrastructure and Connectivity Modeling 208 9.3.2 System User Analysis and Modeling 209 9.3.3 System Function Analysis and Modeling 211 9.3.4 System Data and Object Analysis and Modeling 212 9.3.5 System Dynamic Behavior Analysis and Modeling 220 9.4 Summary 225 References 226 CHAPTER 10 System Architectures for Wireless-Based Application Systems 227 10.1 Basic Concepts About System and Software Architectures 227 10.1.1 What Is System Architecture? 227 10.1.2 What Is Software Architecture? 230 10.1.3 Why Is Software Architecture Important? 230 10.1.4 Software Architecture Presentation and Specification 231 10.1.5 Architecture Design Process 231 10.1.6 Quality Factors in Architectural Design 233 10.2 The Network-Based System Infrastructure Classification 234 10.2.1 Application Systems Based on Wireless LAN Networks 234 10.2.2 Wireless Personal Network–Based Application Systems 234 10.2.3 Application Systems Based on Wide Area Networks 235 10.2.4 Wireless Application Systems Based on Heterogeneous 10.2.4 Networks 237 10.2.5 Mobile Commerce Application Systems Based on Sensor 10.2.4 Networks 238 10.3 Wireless Internet-Based Application System Architectures 239 10.3.1 The i-mode Application System Architecture 239 10.3.2 Mobile-Aware Application Architecture 242 10.3.3 Mobile-Transparent Application Architecture 244 10.3.4 Mobile-Interactive Application Architecture 245 10.3.5 Advantages and Limitations of Different Architectures 246 10.3.6 Comparison of Different Wireless Internet Application 10.2.4 Architectures 247 10.4 Smart Mobile Application Architectures 249 10.4.1 Advantages and Limitations of Smart Mobile Application 10.2.4 Systems 250 10.5 Wireless Enterprise Application Architectures 251 10.5.1 Wireless Enterprise Application Architecture Based on 10.2.4 Microsoft Mobile Technology 252 10.5.2 Java-Based Wireless Enterprise Application Architectures 253 xii Contents 10.6 Summary 257 References 258 CHAPTER 11 Wireless Security: Introduction 259 11.1 Secret Key Cryptography 260 11.1.1 Basic Operations 260 11.1.2 Block Cipher Standards 263 11.1.3 Stream Cipher and RC4 267 11.1.4 Confidentiality 268 11.1.5 Authentication 268 11.1.6 Data Integrity 269 11.2 Public Key Cryptography 270 11.2.1 The RSA Algorithm 271 11.2.2 Confidentiality 273 11.2.3 Authentication 274 11.2.4 Data Integrity 275 11.3 Wireless Security Attacks 275 11.3.1 Attacks Against Confidentiality 276 11.3.2 Attacks Against Authentication 277 11.3.3 Attacks Against Data Integrity 279 11.3.4 Attacks Against Availability 280 11.4 Summary 281 References 282 CHAPTER 12 Wireless Security Solutions 285 12.1 Security Threats and Solutions for Wireless LANs 285 12.1.1 Overview of IEEE 802.11 WEP Standard 285 12.1.2 Security Threats for Wireless LANs 286 12.1.3 Security Countermeasures for Wireless LANs 288