Qusay H. Mahmouddownload.e-bookshelf.de/download/0000/5801/18/L-G... · 2013. 7. 23. · Middleware...

30
Middleware for Communications Edited by Qusay H. Mahmoud University of Guelph, Canada

Transcript of Qusay H. Mahmouddownload.e-bookshelf.de/download/0000/5801/18/L-G... · 2013. 7. 23. · Middleware...

  • Middlewarefor Communications

    Edited by

    Qusay H. MahmoudUniversity of Guelph, Canada

    Innodata0470862076.jpg

  • Middlewarefor Communications

  • Middlewarefor Communications

    Edited by

    Qusay H. MahmoudUniversity of Guelph, Canada

  • Copyright 2004 John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, England

    Telephone (+44) 1243 779777

    Email (for orders and customer service enquiries): [email protected] our Home Page on www.wileyeurope.com or www.wiley.com

    All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted inany form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except underthe terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by theCopyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission inwriting of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, JohnWiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed [email protected], or faxed to (+44) 1243 770620.

    This publication is designed to provide accurate and authoritative information in regard to the subject mattercovered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. Ifprofessional advice or other expert assistance is required, the services of a competent professional should besought.

    Other Wiley Editorial Offices

    John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA

    Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA

    Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany

    John Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, Australia

    John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809

    John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1

    Wiley also publishes its books in a variety of electronic formats. Some content that appearsin print may not be available in electronic books.

    British Library Cataloguing in Publication Data

    A catalogue record for this book is available from the British Library

    ISBN 0-470-86206-8

    Typeset in 10.25/12pt Times by Laserwords Private Limited, Chennai, IndiaPrinted and bound in Great Britain by TJ International, Padstow, CornwallThis book is printed on acid-free paper responsibly manufactured from sustainable forestryin which at least two trees are planted for each one used for paper production.

    http://www.wileyeurope.comhttp://www.wiley.com

  • To all those who helped in the creation of this book in oneway or another

  • Contents

    Preface xix

    List of Contributors xxi

    Introduction xxvii

    1 Message-Oriented MiddlewareEdward Curry

    1

    1.1 Introduction 11.1.1 Interaction Models 11.1.2 Synchronous Communication 21.1.3 Asynchronous Communication 21.1.4 Introduction to the Remote Procedure Call (RPC) 21.1.5 Introduction to Message-Oriented Middleware (MOM) 41.1.6 When to use MOM or RPC 6

    1.2 Message Queues 71.3 Messaging Models 8

    1.3.1 Point-to-Point 81.3.2 Publish/Subscribe 91.3.3 Comparison of Messaging Models 11

    1.4 Common MOM Services 121.4.1 Message Filtering 121.4.2 Transactions 121.4.3 Guaranteed Message Delivery 151.4.4 Message Formats 151.4.5 Load Balancing 151.4.6 Clustering 16

    1.5 Java Message Service 161.5.1 Programming using the JMS API 17

    1.6 Service-Oriented Architectures 221.6.1 XML 221.6.2 Web Services 23

  • viii Contents

    1.6.3 MOM 231.6.4 Developing Service-Oriented Architectures 24

    1.7 Summary 26Bibliography 26

    2 Adaptive and Reflective MiddlewareEdward Curry

    29

    2.1 Introduction 292.1.1 Adaptive Middleware 302.1.2 Reflective Middleware 302.1.3 Are Adaptive and Reflective Techniques the Same? 322.1.4 Triggers of Adaptive and Reflective Behavior 33

    2.2 Implementation Techniques 33

    2.2.1 Meta-Level Programming 332.2.2 Software Components and Frameworks 342.2.3 Generative Programming 35

    2.3 Overview of Current Research 352.3.1 Reflective and Adaptive Middleware Workshops 352.3.2 Nonfunctional Properties 362.3.3 Distribution Mechanism 37

    2.4 Future Research Directions 422.4.1 Advances in Programming Techniques 422.4.2 Open Research Issues 442.4.3 Autonomic Computing 47

    2.5 Summary 48Bibliography 49

    3 Transaction MiddlewareStefan Tai, Thomas Mikalsen, Isabelle Rouvellou

    53

    3.1 Introduction 533.2 Transaction Processing Fundamentals 54

    3.2.1 ACID Transactions 553.2.2 Distributed Transactions 573.2.3 Common Extensions 583.2.4 Programming Models for Transactions 60

    3.3 Distributed Object Transactions 61

    3.3.1 Transaction Model 613.3.2 Transaction APIs 633.3.3 Container-Managed Transactions 63

    3.4 Messaging Transactions 65

    3.4.1 Messaging Models 653.4.2 Programming Models 663.4.3 Queued Transaction Processing 67

    3.5 Web Transactions 683.5.1 Web Services Coordination and Transactions 693.5.2 Programming model 69

  • Contents ix

    3.5.3 Web Services Messaging 703.6 Advanced Transactions 70

    3.6.1 Long Running Unit of Work (LRUOW) 713.6.2 Conditional Messaging and D-Spheres 723.6.3 Transactional Attitudes (TxA) 74

    3.7 Conclusion 77Bibliography 78

    4 Peer-to-Peer MiddlewareMarkus Oliver Junginger

    81

    4.1 Introduction 814.1.1 Peer-to-Peer and Grids 824.1.2 Lack of Peer-to-Peer Middleware 824.1.3 Group Communication 834.1.4 Challenges 834.1.5 Chapter Outline 83

    4.2 JXTA 844.2.1 Overview 844.2.2 Resources and Advertisements 844.2.3 Peer Groups 854.2.4 Services and Modules 854.2.5 Protocols 864.2.6 Messages and Pipes 864.2.7 Security 874.2.8 Relay and Rendezvous Peers 874.2.9 Group Communication 884.2.10 Applications using JXTA 894.2.11 Challenges 894.2.12 Summary 90

    4.3 P2P Messaging System 90

    4.3.1 Self-Organizing Overlay Networks 904.3.2 Failure Tolerance 924.3.3 Implicit Dynamic Routing 934.3.4 Quality-of-Service 944.3.5 System Model 954.3.6 Network Abstraction Layer 964.3.7 Implementation 964.3.8 Challenges and Comparison with JXTA 964.3.9 Summary 97

    4.4 Hybrid Middleware – a Conceptual Proposal 974.4.1 Service Providers 994.4.2 Conceptual Model and Services 994.4.3 Service Connectors 1004.4.4 Peer Group Membership Service 1014.4.5 Synchronization Service and P2P Synchronization 1024.4.6 Summary 104

    4.5 Conclusion 105Bibliography 105

  • x Contents

    5 Grid MiddlewareGregor von Laszewski and Kaizar Amin

    109

    5.1 The Grid 1105.2 Grid Architecture 1125.3 Grid Middleware Software 1145.4 Grid Middleware Challenges 1155.5 Grid Middleware Standardization 1155.6 Grid Middleware Services 115

    5.6.1 Elementary Grid Middleware Services 1165.6.2 Advanced Grid Management Services 117

    5.7 Grid Middleware Toolkits 1185.7.1 Globus Toolkit 1185.7.2 Commodity Grid Kits 1205.7.3 Open Grid Services Architecture 120

    5.8 Portal Middleware for Grids 1235.9 Applications Using and Enhancing Grid Middleware 125

    5.9.1 Astrophysics 1255.9.2 Earthquake Engineering 1265.9.3 High-energy Physics Grids 126

    5.10 Concluding Remarks 127Acknowledgments 127Bibliography 128

    6 QoS-enabled MiddlewareNanbor Wang, Christopher D. Gill, Douglas C. Schmidt,Aniruddha Gokhale, Balachandran Natarajan, Joseph P. LoyallRichard E. Schantz, and Craig Rodrigues

    131

    6.1 Introduction 1316.1.1 Emerging Trends 1316.1.2 Key Technical Challenges and Solution Approaches 1326.1.3 Chapter Organization 135

    6.2 The Evolution of Middleware 1356.2.1 Overview of Middleware 1356.2.2 Limitations of Conventional Middleware 137

    6.3 Component Middleware: A Powerful Approach toBuilding DRE Applications 138

    6.3.1 Overview of Component Middleware and the CORBA ComponentModel 138

    6.3.2 Limitations with Conventional Component Middleware for Large-scale DRE Systems 142

    6.4 QoS Provisioning and Enforcement with CIAO and QuO Qoskets 144

    6.4.1 Static Qos Provisioning via QoS-enabled Component Middlewareand CIAO 145

    6.4.2 Dynamic QoS Provisioning via QuO Adaptive Middlewareand Qoskets 150

    6.4.3 Integrated QoS provisioning via CIAO and Qoskets 154

  • Contents xi

    6.5 Related Work 1566.6 Concluding Remarks 158Bibliography 159

    7 Model Driven MiddlewareAniruddha Gokhale, Douglas C. Schmidt,Balachandran Natarajan, Jeff Gray, Nanbor Wang

    163

    7.1 Introduction 1637.2 Overview of the OMG Model Driven Architecture (MDA) 169

    7.2.1 Capabilities of the MDA 1697.2.2 Benefits of the MDA 172

    7.3 Overview of Model Driven Middleware 1727.3.1 Limitations of Using Modeling and Middleware in Isolation 1737.3.2 Combining Model Driven Architecture and QoS-enabled

    Component Middleware 1737.4 Model Driven Middleware Case Study: Integrating MDA with QoS-enabled

    Middleware 1787.5 Related Work 1817.6 Concluding Remarks 183Bibliography 184

    8 High-Performance Middleware-Based SystemsShikharesh Majumdar

    189

    8.1 Introduction 1898.2 Performance of CORBA Middleware 1918.3 Impact of Client-Server Interaction Architectures 192

    8.3.1 Three Interaction Architectures 1928.3.2 Performance Comparison 194

    8.4 Middleware Performance Optimization 1978.4.1 Systems with Limited Heterogeneity 1988.4.2 Flyover 1988.4.3 Performance of Flyover 201

    8.5 Application Level Performance Optimizations 2048.5.1 Connection Setup Latency 2048.5.2 Parameter Passing 2058.5.3 Combination of Methods and Performance Recovery 2068.5.4 Method Placement and Object Packing 2078.5.5 Load Balancing 207

    8.6 Summary and Conclusions 2088.7 Acknowledgments 208Bibliography 208

    9 Concepts and Capabilities of Middleware SecuritySteven Demurjian, Keith Bessette, Thuong Doan, Charles Phillips

    211

    9.1 Introduction 211

  • xii Contents

    9.2 Security in CORBA, .NET, and J2EE 212

    9.2.1 CORBA Security Capabilities 2139.2.2 .NET Security Capabilities 2179.2.3 J2EE Security Capabilities 223

    9.3 RBAC and MAC using CORBA and JINI 227

    9.3.1 Overview of the RBAC/MAC Security Model 2289.3.2 The Security Services of USR 2299.3.3 Prototyping/Administrative and Management Tools 231

    9.4 Conclusion 232Bibliography 234

    10 Middleware for Scalable Data DisseminationPanos K. Chrysanthis, Vincenzo Liberatore, Kirk Pruhs

    237

    10.1 Introduction 23710.2 Architecture Overview 23810.3 Background and Historical Notes 242

    10.3.1 Multicast Data Dissemination 24210.3.2 Multicast 242

    10.4 Middleware Components 24310.4.1 Transport Adaptation Layer 24310.4.2 Document Selection 24410.4.3 Multicast Push Scheduling 24510.4.4 Multicast Pull Scheduling 24710.4.5 Multicast Indexing 24910.4.6 Data Consistency and Currency 25010.4.7 Client Cache 251

    10.5 Building Block Integration 25210.5.1 Integration 25210.5.2 Scheduling for Layered Multicast 253

    10.6 Application: Real-Time Outbreak and Disease Surveillance 25310.7 Conclusions 254Bibliography 255

    11 Principles of Mobile Computing MiddlewareCecilia Mascolo, Licia Capra, Wolfgang Emmerich

    261

    11.1 Introduction 26111.2 Mobile Distributed Systems 262

    11.2.1 Characterization of Distributed Systems 26311.2.2 Traditional Distributed Systems 26411.2.3 Mobile Nomadic Systems 26411.2.4 Mobile Ad Hoc Systems 265

    11.3 Middleware Systems: A Reference Model 266

    11.3.1 Middleware for Fixed Distributed Systems 26711.3.2 Middleware for Mobile Nomadic and Ad hoc Systems 268

  • Contents xiii

    11.4 Fault Tolerance 26911.4.1 Connectivity 26911.4.2 Data-sharing 271

    11.5 Heterogeneity 27211.6 Openness 27311.7 Scalability 274

    11.7.1 Discovery 27411.7.2 Quality of Service 275

    11.8 Resource-sharing 27611.8.1 Transactions 27611.8.2 Security 277

    11.9 Conclusions 278Bibliography 278

    12 Application of Middleware Technologies to MobileEnterprise Information ServicesGuijun Wang, Alice Chen, Surya Sripada, Changzhou Wang

    281

    12.1 Introduction 28112.2 Wireless Technologies 28312.3 Middleware Technologies for Enterprise Application Integrations 28612.4 An Integrated Architecture for Mobile Enterprise Information Services 289

    12.4.1 Enterprise Requirements 28912.4.2 Design Considerations and Our Approach 28912.4.3 An Integrated Mobile EIS Architecture 29012.4.4 Deployment and Operation 291

    12.5 J2EE-Based Middleware in Mobile EIS 29212.5.1 J2EE Middleware Platform 29212.5.2 JMS 29212.5.3 JMS in Our Mobile EIS 295

    12.6 Data Representation and Presentation in Mobile Enterprise InformationServices 296

    12.7 Challenges and Future Directions 29912.8 Summary and Conclusions 30112.9 Acknowledgment 302Bibliography 302

    13 Middleware for Location-based Services: Designand Implementation IssuesPeter Langendörfer, Oliver Maye, Zoya Dyka, Roland Sorge, Rita Winkler,Rolp Kraemer

    305

    13.1 Introduction 30513.2 Related Work 30613.3 Architecture 307

    13.3.1 Infrastructure 307

  • xiv Contents

    13.3.2 Platform Components 31113.4 Concepts of Selected Components 314

    13.4.1 Event Engine and Auras and Objects Engine 31413.4.2 Profile Servers and Profile Database 319

    13.5 Measurements 32113.5.1 Testbed Settings 32113.5.2 Results 32213.5.3 Conclusions 324

    13.6 Realization of PLASMA 32513.6.1 Design Decisions and Lessons Learned 32513.6.2 Implementation Notes 326

    13.7 Conclusions 327Bibliography 327

    14 QoS-Enabled Middleware for MPEG Video StreamingKarl R.P.H. Leung, Joseph Kee-Yin Ng, Calvin Kin-Cheung Hui

    331

    14.1 Introduction 33114.2 Related Works 333

    14.2.1 Overview of MPEG 33314.2.2 Quality of Services 33414.2.3 Video Distribution 335

    14.3 Requirements for QoS-enabled MPEG-Streaming Middleware 336

    14.3.1 Environment Analysis 33614.3.2 Requirements for the Middleware 337

    14.4 QoS Facilities 33714.4.1 QoS-GFS 33714.4.2 Transmission Scheme 33814.4.3 QoS Tuning Scheme 341

    14.5 Architecture 34114.5.1 Clientware 34114.5.2 Serverware 345

    14.6 Experiments 347

    14.6.1 System Setup 34714.6.2 Experiment Results 34814.6.3 QoS in QoS-Index 35314.6.4 QoS-Frame and QoS-Byte 353

    14.7 Discussions 35314.8 Acknowledgment 35414.9 Conclusion & Future Works 355Bibliography 355

    15 Middleware for Smart CardsHarald Vogt, Michael Rohs, Roger Kilian-Kehr

    359

    15.1 Introduction 35915.2 ISO 7816 360

    15.2.1 Communication between Card and Card Reader 360

  • Contents xv

    15.3 Data Structures on Smart Cards 36115.3.1 Command Sets 362

    15.4 JavaCards 36215.4.1 Hardware Architecture 36315.4.2 Runtime Environment 36315.4.3 Developing JavaCard Applets 365

    15.5 PC/SC: Data Communications 36915.6 OpenCard Framework 371

    15.6.1 Architectural Concepts 37115.6.2 Configuration 37315.6.3 Programming Model 37315.6.4 Summary 374

    15.7 JavaCard RMI 37515.7.1 On-Card JCRMI 37515.7.2 Off-Card JCRMI 37815.7.3 Summary 382

    15.8 PKCS #11 Security Tokens 38215.9 Smart Cards as Distributed Objects 38315.10 Smart Card Middleware for Mobile Environments 383

    15.10.1 SIM Application Toolkit 38315.10.2 J2ME Smart Card Middleware 385

    15.11 JiniCard 38615.12 Smart Cards on the Internet 387

    15.12.1 A Browser Interface for Smart Cards 38715.12.2 Smart Cards as Mobile Web Servers 38715.12.3 Internet Smart Cards 388

    15.13 Conclusion 389Bibliography 389

    16 Application-Oriented Middleware for E-CommerceJesús Martı́nez, Luis R. López, Pedro Merino

    393

    16.1 Introduction 39316.2 Previous Work on Networked Smart Card Applications 39416.3 A Public Transport Ticketing System for e-Commerce 396

    16.3.1 The System Architecture 39616.3.2 The Electronic Ticket 39916.3.3 Choosing a Smart Card for the System 400

    16.4 Advanced Ticketing Management Using Middleware 402

    16.4.1 Middleware Platform Security 40316.4.2 The Smart Card Service 40416.4.3 The Smart Card Object-Oriented Library 406

    16.5 The Application Prototype 40716.6 Summary and Conclusions 41116.7 Acknowledgments 411Bibliography 411

  • xvi Contents

    17 Real-time CORBA MiddlewareArvind S. Krishna, Douglas C. Schmidt, Raymond Klefstad,Angelo Corsaro

    413

    17.1 Introduction 41317.2 DRE System Technology Challenges 415

    17.2.1 Challenges of Today’s DRE Systems 41517.2.2 Challenges of Future DRE Systems 41617.2.3 Limitations with Conventional DRE System Development 417

    17.3 Overview of Real-time CORBA 41817.3.1 Overview of CORBA 41817.3.2 Overview of Real-time CORBA 1.0 41917.3.3 Overview of Real-time CORBA 2.0 421

    17.4 TAO: C++-based Real-time CORBA Middleware 42217.4.1 Motivation 42217.4.2 TAO Architecture and Capabilities 42317.4.3 TAO Successes 425

    17.5 ZEN: RTSJ-based Real-time CORBA Middleware 42617.5.1 Motivation 42617.5.2 ZEN Architecture and Capabilities 42717.5.3 ZEN Successes 430

    17.6 Related Work 43217.7 Concluding Remarks 433Bibliography 434

    18 Middleware Support for Fault ToleranceDiana Szentiványi, Simin Nadjm-Tehrani

    439

    18.1 Introduction 43918.2 Terminology 441

    18.2.1 Replication Styles 44118.2.2 Consensus 44118.2.3 Unreliable Failure Detectors 44218.2.4 Broadcast 442

    18.3 Background 442

    18.3.1 Middleware Fault Tolerance 44318.3.2 CORBA and Fault Tolerance 443

    18.4 Standard Support for FT in CORBA 44418.4.1 The FT-CORBA Standard 44418.4.2 Architecture Units 445

    18.5 Adding Support for Full Availability 45018.5.1 Architecture Units 45018.5.2 Infrastructure Interactions 45118.5.3 Platform Implementation 453

    18.6 Experiments with a Telecom Application 455

    18.6.1 The Service 45518.6.2 Experiment Setup 45518.6.3 Measuring Overheads 456

  • Contents xvii

    18.7 Trade-off Studies 45618.7.1 Overheads 45718.7.2 Failover Times 459

    18.8 Conclusions 46118.9 Acknowledgments 463Bibliography 463

    Index 465

  • Preface

    Middleware has emerged as a critical part of the information technology infrastructure.The need for it stems from the increasing growth in network-based applications as wellas the heterogeneity of the network computing environment. Communications systemssuch as computer and telecommunications networks are composed of a collection of het-erogeneous devices whose applications need to interact. Middleware systems are used tomask heterogeneity of applications that are made up of several distributed parts runningon different computer networks and telecommunications systems. In addition, middle-ware systems provide value-added services such as naming and transaction services, aswell as tools and APIs that offer uniform high-level interfaces to application develop-ers so that applications can be easily constructed. The importance of middleware willcontinue to grow as long as computing and communications systems continue to beheterogeneous.

    All existing books on middleware concentrate on a specific area: fundamentals of mid-dleware, comparing some middleware technologies such as CORBA, RMI, and DCOM,or surveying middleware products that exist on the market. The aim of this book is to fillthe gap by providing a state-of-the-art guide to middleware. The book covers all aspectsof middleware by including chapters on concepts and fundamentals for beginners to getstarted, advanced topics, research-oriented chapters, and case studies.

    This book provides convenient access to a collection of exemplars illustrating thediversity of communications problems being addressed by middleware technology todayand offers an unfolding perspective on current trends in middleware. The lessons learnedand issues raised in this book pave the way toward the exciting developments of nextgeneration middleware.

    Audience

    This book is aimed at students, researchers, and practitioners. It may be used in undergrad-uate and graduate courses on middleware. Researchers will find the book useful as it pro-vides a state-of-the-art guide to middleware technology, and offers an unfolding perspec-tive on current and future trends in middleware. Practitioners will find the book useful as ameans of updating their knowledge on particular topics such as Message-Oriented Middle-ware (MOM), Adaptive and Reflective Middleware, Transaction Middleware, Middlewarefor Mobile Computing, Middleware for Peer-to-Peer Systems, QoS-enabled Middleware,

  • xx Preface

    Grid Middleware, Model Driven Middleware, Real-time Middleware, Middleware forSmart Cards, Middleware Performance, and Middleware Security.

    Acknowledgments

    A large number of people have contributed to this book and I would like to thank themall. First of all, I am deeply grateful to my editors Birgit Gruber and Sally Mortimore forproviding me with the opportunity to edit this book but more importantly for providingme with comments, suggestions, and guidelines over the course of its production.

    This book would not exist without the authors of the individual chapters that make upthis book. I would like to thank all the authors of the individual chapters without whomthis book would not have been possible. Also, I am grateful to the anonymous reviewersfor the terrific job they did in evaluating and recommending chapters.

    Finally, I would like to thank my wife, Reema, and son Yusef for putting up with mystrenuous schedule over the past several months.

    Qusay H. MahmoudToronto, Canada

    June 2004

  • Contributors

    Qusay H. MahmoudDepartment of Computing & Information

    ScienceUniversity of Guelph, Guelph, ON, N1G

    [email protected]

    Edward CurryDepartment of Information TechnologyNational University of Ireland, [email protected]

    Stefan TaiIBM T.J. Watson Research CenterP.O. Box 704Yorktown Heights, NY [email protected]

    Thomas MikalsenIBM T.J. Watson Research CenterP.O. Box 704Yorktown Heights, NY [email protected]

    Isabelle RouvellouIBM T.J. Watson Research CenterP.O. Box 704Yorktown Heights, NY [email protected]

    Markus Oliver JungingerGermersheimer Str. 3381541 Mü[email protected]

    Yugyung LeeSchool of Computing & EngineeringUniversity of Missouri, Kansas City5100 Rockhill Rd.Kansas City, MO [email protected]

    Gregor von LaszewskiArgonne National Laboratories &

    University of Chicago9700 S. Cass Ave.Argonne, IL [email protected]

    Kaizar AminArgonne National Laboratories &

    University of North Texas9700 S. Cass Ave.Argonne, IL [email protected]

    Nanbor Wang5541 Central Ave., Suite 135Boulder, CO [email protected]

  • xxii Contributors

    Christopher D. GillDept. of Computer Science & EngineeringWashington UniversityOne Brookings DriveSt. Louis, MO [email protected]

    Douglas C. SchmidtInstitute for Software Integrated SystemsVanderbilt UniversityBox 1829, Station BNashville, TN [email protected]

    Aniruddha GokhaleInstitute for Software Integrated SystemsVanderbilt UniversityBox 1829, Station BNashville, TN [email protected]

    Balachandran NatarajanInstitute for Software Integrated SystemsVanderbilt UniversityBox 1829, Station BNashville, TN [email protected]

    Joseph P. LoyallBBN Technologies10 Moulton StreetCambridge, MA [email protected]

    Richard E. SchantzBBN Technologies10 Moulton StreetCambridge, MA [email protected]

    Craig RodriguesBBN Technologies10 Moulton StreetCambridge, MA [email protected]

    Jeff GrayDepartment of Computer & Information

    ScienceUniversity of Alabama1300 University Blvd.Birmingham, AL [email protected]

    Shikharesh MajumdarDepartment of Systems & Computer

    EngineeringCarleton University1125 Colonel By Drive, Ottawa, ON, K1S

    [email protected]

    Steven A. Demurjian, Sr.Computer Science & Engineering

    Department371 Fairfield Road, Unit 1155The University of ConnecticutStorrs, Connecticut [email protected]

    Keith BessetteComputer Science & Engineering

    DepartmentThe University of ConnecticutStorrs, CT [email protected]

    Thuong DoanComputer Science & Engineering

    DepartmentThe University of Connecticut

  • Contributors xxiii

    Storrs, CT [email protected]

    Charles PhillipsDepartment of Electrical Engineering &

    Computer ScienceUnited Stated Military AcademyWest Point, NY [email protected]

    Panos K. ChrysanthisDepartment of Computer ScienceUniversity of PittsburghPittsburgh, PA [email protected]

    Vincenzo LiberatoreElectrical Engineering & Computer

    Science DepartmentCase Western Reserve UniversityCleveland, Ohio [email protected]

    Kirk PruhsDepartment of Computer ScienceUniversity of PittsburghPittsburgh, PA [email protected]

    Cecilia MascoloDepartment of Computer ScienceUniversity College LondonGower StreetLondon WC1E [email protected]

    Licia CapraDepartment of Computer ScienceUniversity College LondonGower Street

    London WC1E [email protected]

    Wolfgang EmmerichDepartment of Computer ScienceUniversity College LondonGower StreetLondon WC1E [email protected]

    Dr. Guijun WangMathematics & Computing TechnologyThe Boeing CompanyP.O. Box 3707, MC 7L-20Seattle, WA [email protected]

    Alice ChenMathematics & Computing TechnologyThe Boeing CompanyP.O. Box 3707, MC 7L-20Seattle, WA [email protected]

    Surya SripadaMathematics & Computing TechnologyThe Boeing CompanyP.O. Box 3707, MC 7L-20Seattle, WA [email protected]

    Changzhou WangMathematics & Computing TechnologyThe Boeing CompanyP.O. Box 3707, MC 7L-20Seattle, WA [email protected]

    Peter LangendörferIHP, Im Technologiepark 25

  • xxiv Contributors

    D-15236 Frankfurt (Oder)[email protected]

    Oliver MayeIHP, Im Technologiepark 25D-15236 Frankfurt (Oder)[email protected]

    Zoya DykaIHP, Im Technologiepark 25D-15236 Frankfurt (Oder)[email protected]

    Roland SorgeIHP, Im Technologiepark 25D-15236 Frankfurt (Oder)[email protected]

    Rita WinklerIHP, Im Technologiepark 25D-15236 Frankfurt (Oder), [email protected]

    Rolp KraemerIHP, Im Technologiepark 25D-15236 Frankfurt (Oder), [email protected]

    Karl R.P.H. LeungDepartment of Information &

    Communications TechnologyHong Kong Institute of Vocational

    Education (Tsing Yi)Tsing Yi IslandHong [email protected]

    Joseph Kee-Yin NgDepartment of Computer ScienceHong Kong Baptist UniversityKowloonHong [email protected]

    Calvin Kin-Cheung HuiDepartment of Computer ScienceHong Kong Baptist UniversityKowloonHong [email protected]

    Harald VogtInstitute for Pervasive ComputingHaldeneggsteig 4ETH Zentrum8092 [email protected]

    Michael RohsInstitute for Pervasive ComputingHaldeneggsteig 4ETH Zentrum8092 [email protected]

    Roger Kilian-KehrSAP Corporate ResearchVincenz-Priessnitz-Str. 1, 76131, [email protected]

    Jesus MartinezComputer Science DepartmentUniversity of MalagaCampus de Teatinos s/n. 29071, [email protected]

    Luis R. LópezComputer Science DepartmentUniversity of MalagaCampus de Teatinos s/n. 29071, [email protected]

    Pedro MerinoComputer Science DepartmentUniversity of Malaga

  • Contributors xxv

    Campus de Teatinos s/n. 29071, [email protected]

    Arvind S. KrishnaInstitute of Software Integrated SystemsP.O.Box 1829, Station BNashville, TN [email protected]

    Raymond KlefstadDept. of Electrical Engineering &

    Computer ScienceUniversity of California, IrvineIrvine, CA [email protected]

    Angelo Corsaro, Phone: 314-935-6160Dept. of Computer Science & EngineeringWashington University

    St. Louis, MO [email protected]

    Diana SzentivanyiDepartment of Computer & Information

    ScienceLinköping UniversityS-581 83 Linkö[email protected]

    Simin Nadjm-TehraniDepartment of Computer & Information

    ScienceLinköping UniversityS-581 83 Linkö[email protected]

  • Introduction

    Traditionally, distributed application developers had to rely on low-level TCP/IP com-munication mechanisms, such as sockets, in order to establish communication sessionsbetween a client and a server. The use of such low-level mechanisms, involves the designof a protocol or a set of rules that a client and a server must follow in order to commu-nicate. The design of protocols, however, is error-prone.

    Remote Procedure Calls (RPCs), invented by Sun Microsystems in the early 1980s, pro-vide a higher-level abstraction where procedures, or operations, can be invoked remotelyacross different operating system platforms. RPC can be considered as a basis for Object-Oriented middleware platforms such as the Distributed Computing Environment (DCE),the Common Object Request Broker Architecture (CORBA), the Distributed ComponentObject Model (DCOM), and Java Remote Method Invocation (RMI). In such systems,communication interfaces are abstracted to the level of a local procedure call, or a methodinvocation. RPC systems are usually synchronous – the caller must block and wait untilthe called method completes execution [1]–and thus offer no potential for parallelismwithout using multiple threads. In other words, RPC systems require the client and theserver to be available at the same time; such tight coupling may not be possible oreven desired in some applications. Message-Oriented Middleware (MOM) systems pro-vide solutions to these problems: they are based on the asynchronous interaction model,and provide the abstraction of a message queue that can be accessed across a network.This generalization of the well-known operating system construct ‘the mailbox’ is flexi-ble as it allows applications to communicate with each other without requiring same-timeavailability or causing anyone to block.

    What is Middleware?

    Middleware is a distributed software layer that sits above the network operating system andbelow the application layer and abstracts the heterogeneity of the underlying environment.It provides an integrated distributed environment whose objective is to simplify the task ofprogramming and managing distributed applications [2] and also to provide value-addedservices such as naming and transactions to enable distributed application development.Middleware is about integration and interoperability of applications and services runningon heterogeneous computing and communications devices.

    Middleware platforms such as CORBA, DCOM, and RMI offer higher-level distributedprogramming models that extend the native OS network environment. Such platforms

  • xxviii Introduction

    allow application developers to develop distributed applications much like stand-aloneapplications. In addition, the Simple Object Access Protocol (SOAP) can be consideredas another emerging distribution middleware technology that is based on a lightweightand simple XML-based protocol allowing applications to exchange structured and typedinformation on the Web. SOAP is designed to enable automated Web services based onopen Web infrastructure, and more importantly, SOAP applications can be written in awide range of programming languages. In addition, middleware approaches such as Jini,JavaSpaces, Enterprise JavaBeans (EJBs), and Message Queuing Series (MQSeries) havereceived widespread attention.

    All such middleware platforms are designed to mask the heterogeneity that developersof distributed applications must deal with. They mask the heterogeneity of networks andhardware as well as operating systems. Some middleware platforms go further and maskthe heterogeneity of programming languages, and CORBA goes even further by mask-ing the heterogeneity among vendor implementations of the same standard. In addition,middleware platforms provide higher-level, domain-independent value-added services thatfree application developers from worrying about the lower-level details and thus enablethem to concentrate on the business logic [3]. For example, application developers donot need to write code that handles database connection pooling, threading, or secu-rity because such tasks are bundled as reusable components into middleware platforms.Examples of middleware value-added services include the following: CORBA servicesprovide a wide variety of services including event notification, logging, persistence, globaltime, multimedia streaming, fault tolerance, concurrency control, and transactions; SunMicrosystems’ EJBs allow developers to create multi-tier distributed applications simplyby linking prebuilt software component services, or beans, without having to write codefrom scratch.

    The role of middleware in communications systems will become increasingly important,especially in emerging technology areas such as mobile computing where the integrationof different applications and services from different wired and wireless networks becomesincreasingly important. As an example, the wireless mobile Internet will be different fromsimply accessing the Internet wirelessly. Users with handheld wireless devices – beingmostly mobile – have different needs, motivations, and capabilities from wired users.Users will employ mobile services that will act as brokers and communicate with otherapplications and services to address their needs. In order to achieve such seamless inter-action, applications and services must be aware of and able to adapt to the user’s envi-ronment. One approach is to rewrite all existing applications and services to the wirelessmobile Internet. A more intelligent solution would be to implement generic functionalityin a middleware layer of the infrastructure.

    Middleware Challenges

    There are several challenges that need to be addressed in order to design and optimize mid-dleware for communications systems. The most significant challenge facing middlewareis facilitating the wireless mobile Internet application integration.

    Conventional middleware platforms designed for wired networks expect static connec-tivity, reliable channels, and high bandwidth, which are limited in wireless networks.