Java: Unleashing the Power of Application Development – Advanced Java Networking
By now, you’ve seen all the hype, read all the books, and discovered all the wonders of Java. But many developers still use C++ or C to create robust applications, reserving Java for web pages or leaving it to HTML enthusiasts. Doing so misses the opportunity to use a programming language that simplifies interfacing with a computer, reduces frustration, and speeds up results.
Java is much more than “Dancing Dukes” or a language for web pages. It offers a strong alternative to the arduous programming of the past, where debugging took months compared to the mere days spent coding the initial concept. Java allows us to spend more time in the conceptual phase of software design, thinking up new and creative ways to bring the vast knowledge of the Internet and its many users to our desktops.
Today, our information and its steady flow come from the Internet and millions of computer users worldwide. Up until now, you’ve likely designed programs to interface with that knowledge using C or C++. Java will change all of that. Beyond its ability to create functional and attractive user interfaces quickly and easily, Java excels in connecting to the Internet. Java is, after all, the Internet Language.
What This Book Is All About
“Advanced Java Networking” presents a myriad of alternatives to connect your applications to the Internet. It is neither a programming reference nor a marketing brochure. Instead, we explore each alternative without marketing bias or engineering snobbery.
One part of the engineering community will tell you that sockets are the only true way to communicate over a network. Another segment advocates for Java-only applications relying on Remote Method Invocation (RMI) to solve all your communication problems. Then, of course, there is the Common Object Request Broker Architecture (CORBA) camp. We’ll discuss these alternatives and explore server-side programming, using a web server to generate dynamic web pages connected to databases and more. We provide an honest account of each option and guidelines for choosing what’s best for your business or programming needs.
In addition to hundreds of lines of sample code to help you start from scratch with Java communication, we emphasize migrating your existing desktop-centric applications to an Internet-ready world.
Who Should Read This Book
This book is not for beginning programmers or an introductory Java text. We assume you have a strong object-oriented programming background, preferably in Java. You should have a solid grasp of Java fundamentals, including creating classes, compiling and executing programs on your native system, and deploying Java applications. Furthermore, you should understand a good deal of object-oriented terminology.
How to Read This Book
This book is divided into parts, with each part further divided into chapters. Each part addresses one aspect of Internet programming: Java Fundamentals; Core Networking such as RMI, CORBA, or Java Database Connectivity (JDBC); Advanced Networking like Beans and Web Servers; general Java Networking information, including a special chapter on Internet security that addresses simple Applet Security restrictions; or more complex subjects such as Directory Services and JNDI. We’ve also included a short chapter introducing TCP/IP and how the Internet works, which I have found invaluable as the first topic in the Internet Programming course I teach.
Finally, we want to show you that Java programming is much more than animation on a web page or interactive Internet content. Java is a language that can stand its ground in the world of desktop applications, and the examples in the book are typically written as applications rather than applets. We make no effort to contain our enthusiasm for Java and certainly don’t apologize for our delight in working with it. We hope that you will come to love this language as much as we have.