Manning Logo
Home | Ordering Info | Shopping Cart | Manage My Account | Login
Attention customers: online shopping is now available exclusively through our main website: http://www.manning.com. Thank you.
Distributed Programming with Java

Inside the book

Sample Chapters Table of Contents Errata Index Preface Source Code Author Online

Manning Blog

Why small is sweet?

Author Blogs

Dave Crane more...

Author Calendar

Upcoming Events

Catalog

Java .NET Perl XML All by Subject All by Title

About...

Manning Contact Us Ordering FAQs ebooks Covers Sandbox Forums Distributors Manning Early Access Program (MEAP) Affiliate Program Academia/Publicity User Group Program Press Releases Jobs

Manning Publications Co.
209 Bruce Park Avenue
Greenwich, CT 06830

Distributed Programming with Java
Qusay H. Mahmoud

1999 | 320 pages
ISBN: 1884777651
$39.95 Softbound print book  

Table of Contents

preface xiii

acknowledgment xiv

guide to this book xv

intended audience xvi

author online xvii

about the cover xviii

Part I Sockets Programming


    3 Chapter 1 Introduction to distributed programming
      1.1 Introduction 3
      1.2 Overview of internetworking 4
      1.3 Introduction to distributed programming 7
      1.4 Distributed programming techniques 8
      1.5 Distributed programming support in Java 10
      1.6 Network mobility 12
      1.7 Overview of Java security 12
      1.8 Summary 14

    15 Chapter 2 Introduciton to sockets probramming
      2.1 Interprocess communication 15
      2.2 What are sockets? 16
      2.3 TCP/IP and UDP/IP communications 18
      2.4 Client/Server communication 19
      2.5 Sockets programming in Java 19
      2.6 Greetings server example 24
      2.7 Resolving Internet addresses 28
      2.8 Summary 31

    33 Chapter 3 rogramming clients and servers
      3.1 Programming clients for existing services 33
      3.2 Programming with threads 40
      3.3 Programming new services and clients 46
      3.4 Summary 51

    53 Chapter 4 Sockets in real-world applications
      4.1 Developing a multithreaded HTTP server 54
      4.2 Security in HTTP 57
      4.3 Proxy servers 58
      4.4 Database access via sockets 60
      4.5 JDBC explained 60
      4.6 Summary 67

    69 Chapter 5 Advanced sockets programming
      5.1 Object serialization 69
      5.2 Objects over sockets 74
      5.3 Digitally signed messages 78
      5.4 Summary 84

    68 Chapter 6 Case study: a global compute engine
      6.1 Introduction 86
      6.2 Global web-based computing 86
      6.3 Why not CGI? 87
      6.4 The client/server model 89
      6.5 Security issues 89
      6.6 Implementation details 89
      6.7 Other issues 100
      6.8 Summary 101

Part II RMI


    105 Chapter 7 Overview of RMI
      7.1 Introduction to RMI 105
      7.2 What is RMI? 106
      7.3 The goals of RMI 107
      7.4 The RMI system architecture 107
      7.5 How RMI works 109
      7.6 Distributed garbage collection 109
      7.7 RMI and the OSI reference model 110
      7.8 Security 110
      7.9 Summary 111

    113 Chapter 8 Getting started with RMI
      8.1 Anatomy of an RMI-based application 113
      8.2 Working with the RMI registry 120
      8.3 RMI vs. sockets 122
      8.4 Summary 122

    123 Chapter 9 Advanced RMI programming
      9.1 The city information server 124
      9.2 Implementing factories 126
      9.3 Implementing callbacks 130
      9.4 Signing objects over RMI 134
      9.5 Summary 137

    139 Chapter 10 RMI programming with Java 2
      10.1 Creating a custom socket type 140
      10.2 Creating a custom RMISocketFactory 140
      10.3 SSL sockets 142
      10.4 Remote object activation 143
      10.5 Version control 146
      10.6 Summary 149

Part III CORBA


    153 Chapter 11 Overview of CORBA
      11.1 Introduction to CORBA 153
      11.2 CORBA architecture 154
      11.3 Client and object implementations 157
      11.4 Object services 157
      11.5 New features in CORBA 3.0 159
      11.6 Summary 160

    163 Chapter 12 Getting started with CORBA
      12.1 CORBA implementations 163
      12.2 Anatomy of a CORBA-based application 164
      12.3 CORBA vs. RMI 170
      12.4 Summary 170

    173 Chapter 13 CORBA IDL: The interface de˙nition language
      13.1 IDL definitions 173
      13.2 IDL interfaces 175
      13.3 Module declaration 175
      13.4 Attribute declaration 176
      13.5 Type declaration 176
      13.6 Arrays 178
      13.7 Typedef declaration 179
      13.8 Constant declaration 179
      13.9 Exception declaration 179
      13.10 Operations declaration 180
      13.11 Pre-processing 181
      13.12 Keywords 181
      13.13 Summary 181

    183 Chapter 14 IDL-to-Java mapping
      14.1 Names 183
      14.2 Modules 184
      14.3 Holder classes 184
      14.4 Constant values 186
      14.5 Basic types 186
      14.6 Constructed types 189
      14.7 Exceptions 192
      14.8 Interfaces 193
      14.9 Typedef mapping 195
      14.10 Summary 196

    197 Chapter 15 Naming and binding
      15.1 A banking application 197
      15.2 Naming objects 202
      15.3 Binding to objects 203
      15.4 Summary 205

    207 Chapter 16 Registering and activating objects
      16.1 The basic object adapter 207
      16.2 Object activation modes 208
      16.3 Object references 208
      16.4 Registering an object 209
      16.5 The implementation repository 210
      16.6 Summary 211

    213 Chapter 17 Inheritance and the tie mechanism
      17.1 Interface inheritance 213
      17.2 The tie mechanism 214
      17.3 Summary 216

    219 Chapter 18 The Dynamic Invocation/Skeleton Interface
      18.1 The Dynamic Invocation Interface 219
      18.2 The Dynamic Skeleton Interface 222
      18.3 The interface repository 223
      18.4 Summary 224

    225 Chapter 19 Caffeine
      19.1 Overview of Caffeine 225
      19.2 Using the java2iiop compiler 226
      19.3 Anatomy of a Caffeine-based application 226
      19.4 Data type mapping 230
      19.5 Summary 231

Part IV Mobile Agents and Voyager


    235 Chapter 20 Overview of mobile software agents
      20.1 Introduction to software agents 235
      20.2 Mobile software agents 236
      20.3 A new paradigm for distributed computing 236
      20.4 Mobile agent applications 237
      20.5 Security in mobile agents 239
      20.6 Mobile agent implementations 239
      20.7 Summary 241

    243 Chapter 21 Getting started with Voyager
      21.1 Overview 243
      21.2 Working with Voyager 244
      21.3 Summary 253

    255 Chapter 22 Programming mobile agents
      22.1 Dynamic aggregation 256
      22.2 Mobility 260
      22.3 Mobile agents 264
      22.4 Summary 269

    271 Chapter 23 Advanced Voyager programming
      23.1 Security 271
      23.2 Advanced messaging 273
      23.3 Publish/subscribe 273
      23.4 Activation 275
      23.5 Timers 276
      23.6 Summary 277

    279 Chapter 24 Voyager and CORBA integration
      24.1 Programming with Voyager CORBA 279
      24.2 Anatomy of a Voyager CORBA application 280
      24.3 Voyager CORBA integration 283
      24.4 Summary 289


291 Bibliography

292 Online references

295 Index

DESCRIPTION

Maybe you've seen some books on Java RMI, others on Java and CORBA and still others on mobile agents. Finally, here's one book that covers ALL the popular approaches for developing distributed applications. What's more, the author makes it easy to compare them by using the same set of examples throughout the book.

If you're a developer or systems architect who wants to start building industrial-strength distributed applications in Java, then Distributed Programming with Java is for you!

Inside, you'll find:

  • An overview of internetworking (TCP/IP, UDP/IP)
  • A comprehensive tutorial on distributed programming
  • How to implement real-world protocols such as SMTP and HTTP
  • RMI in detail; writing factories and implementing callbacks
  • How to use Java security APIs to sign objects over sockets
  • Using Voyager to write mobile agent applications
  • How to use caffeine to develop CORBA/Java applications without IDL

WHAT THE EXPERTS SAY ABOUT THIS BOOK...

"The coverage is reasonable and fairly extensive…If you're looking for a high-level overview of distributed programming, this book is a reasonable investment. There's a lot of good material in these pages."
--Claude Duguay, DevX.com

"If you are new to distributed application development, the book offers a nice start into the area, with a good introduction to Mobile Agents and Voyager not frequently described anywhere."
--John Zukowski, About.com

WHAT THE READERS SAY ABOUT THIS BOOK...

"There really wasn't one perfect source online or elsewhere for all of distributed programming with Java until this book came along."
--Ceri Moran, IT Director, N-ARY, Ltd.

"It's a GOOD book; I have learned a great deal from it and I recommend it to colleagues."
--Michael Katchabaw, Sessional Lecturer, University of Western Ontario

"Very informative on mobile agents and Voyager ... I recommend it as a starter book on this topic."
--Bruce Arbuckle, IT Consultant, Hewlett-Packard Company

ABOUT THE AUTHOR...

An experienced Java specialist, Qusay H. Mahmoud has written dozens of technical articles for JavaWorld, Java Developer's Journal, Visual J+ + Informant and others. He also served as a judge for JavaWorld Editors' Choice Awards '97 and '98.

Home | Catalog | Privacy Policy | About Manning

© 2003-2006 Manning Publications Co.