Many special thanks to the people who made direct contributions to this text:


Ben Zhuk - Co-wrote a number of sections, edited the entire book for both content and style, and created all diagrams and illustrations (except those mentioned below).  He was a sounding board for ideas throughout the writing process, and was an invaluable resource. I am more indebted to him for his tireless efforts and the countless hours he put into this project than I can express.


Dmitry Semenov, Senior Software Architect who read the manuscript carefully and thoroughly. Dmitry’s remarks and criticism helped me to clarify content and add significant parts to chapters 3 and 13.


Olga Kaydanov, artist - Provided great design ideas and artistic inspiration for illustrations.


Irina Zadov, artist, – Illustrated Fig.I-1, Fig.I-2, Fig.I-5, Fig.1-4


Inna Vaisberg, designer, – Illustrated Fig.3.1 and Fig.A3.18.


My former students, talented software developers:

Masha Tishkov, who wrote and tested several XML parser methods in the source;

Slava Minukhin, who teamed up with me to write C# sources for Appendix 3: TextToSpeech.cs, SocketTTS.cs, Recognizer.cs;

Alex Krevenya, who helped write email-and-spam related sources for Appendix 3;

and Dina Malkina, who wrote C++ sources for Chapter 12: ListeningClient.cpp and TalkingClient.cpp




This is a great opportunity to say thank you to so many people without whom this book would be impossible.


To Candi Hoxworth, IT Manager, who read most the book and provided great suggestions on improving my American accent in it.

To Stuart Ambler, Mathematician and Software Architect, who reviewed and provided important feedback for Chapters 8, 10, and 12.

To Michael Merkulovich, Software Team Lead, who read and provided valuable suggestions for Chapter 6 and Appendix 1.

To Nina Zadov, Sr. Software Engineer, who read and approved Chapter 7.

To Roman Zadov, Mathematician, who reviewed Chapter 5 (Ontology.)

To Bryan Basham, Java Instructor, who reviewed a section (multipart/form upload) from Appendix 3.

To Linda Koepsell, Course Development Project Manager, who reviewed a section from Chapter 11 (J2ME.)

To Jason Fish, Enterprise Learning, President, who invited me to teach for Java University at an international conference, where I met Lothlórien Homet from Cambridge University Press. Thank you Jason and Lothlórien, you got me started with this book.

To Cambridge University Press editors Lauren Cowles and Katherine Hew; TechBooks project manager Amanda Albert and copy editor Georgetta Kozlovski for their work and dedication.

To Cyc Corporation knowledge experts John De Oliveira, Steven Reed, and Dr. Doug Lenat, who taught me ontology and the Cyc Language, and reviewed several sections from Chapter 5 and 13.

To my colleagues from the University of Phoenix, Mary A. Martin, Ph.D., Blair Smith, Stephen Trask, Adam Honea, Ph.D., and Carla Kuhlman, Ph.D. who reviewed sections from Chapter 2 (Software Architecture), and Notes for Educators.

To my colleagues from DeVry University, Ash Mahajan, Karl Zhang, Ph.D., and Mike Wasson, who reviewed the Preface and Introduction.

To Victor Kaptelinin, Ph.D., Umea University Professor, Sweden, with whom we discussed multiple ideas for collaborative environments.

To Jay DiGiovanni, Director of Software Development, who reviewed and provided encouraging remarks on a section from Chapter 13.

To Vladimir Safonov, Ph.D., S. Petersburg University, Professor, who offered excellent suggestions for Chapter 2 (Software Architecture).

To Vlad Genin, Ph.D., Stanford University and University of Phoenix, Professor of Engineering, who gave me important notes on introductory sections.

To Robert Gathers, GN President, with whom we discussed the future of distributed networks and who reviewed several sections from Chapter 13 and 14.

To Rachel Levy, whose reviews of and ideas for the Introduction and Preface sections were inspired and right on-target.

To my children, Julie and Ben, for their moral support and phenomenal help during the entire process.

And finally, and most importantly, to my wife, Bronia, who makes everything in my life possible.