Introduction

This book has the unfortunate burden of serving a diverse set of audiences. We realize that this book might appeal to both experienced Java programmers who are new to Linux, and to experienced Linux programmers who are new to Java, with all possible shadings in between.

In addition to balancing these two poles, we are also trying to strike a balance between the size of the book and the range of our topic. Fortunately, there is today quite a range of both book and Web publishing on both Java and Linux, so we are able to do our best within the limits of a book a normal person may lift, and we can make recourse to a number of outside references you might wish to use to supplement our efforts.

Who Should Buy This Book

If you are an experienced Java programmer, but quite new to Linux, and you have been looking for information on the tools available to develop and deploy Java applications on Linux systems, this book will provide a lot of useful information.

If you are an experienced Linux user or developer, and you are interested in using the Java language on that platform, this book will guide you through some advanced Java development topics and will present, we hope, some novel uses for familiar Linux and GNU tools.

If you are a rank beginner to either Linux or Java, we still think this book has value, but we would recommend that you use it in conjunction with more introductory books. For a basic introduction to Java and object-oriented programming, we recommend Bruce Eckel’s excellent book, Thinking in Java (ISBN 0-13-100287-2). For an introduction to Linux and its tools, we can recommend The Linux Book by David Elboth (ISBN 0-13-032765-4)[1] as an all-around title. We also list several other books in sections titled Resources throughout this book. Many books we recommend are not actually Linux-specific. Since Linux duplicates (in most respects) a UNIX platform, we do occasionally recommend books that are general to all *nix systems.

If you are a developer, contractor, or MIS development manager with more projects than budget, our book will introduce you to many solid tools that are free of license fees for the development and deployment of production Java applications. We are all being asked to do more with less all the time. In many (but certainly not all) cases, Free and Open Source software is an excellent way to do that.

Who Should Not Buy This Book

Those looking for complete documentation on Java APIs and Linux-based Java application servers will be disappointed. Complete reference material on Free Software and Open Source Software may be found in book form, but it is most certainly out-of-date. And while this is an open-content book, we know full well that we will only be updating it as our “day jobs” permit. In other words, those seeking complete and current reference material should go to the Web.

Those who have a multimillion-dollar budget for applications development will probably be well served by commercial application server products. While we very much believe that Linux and Java on Linux are fully capable of supporting production environments, we recognize that products such as BEAWeblogic and IBM’s WebSphere have large support organizations behind them, and (at least for now) a larger base of developers and contracting organizations with staff (variably) experienced in writing and supporting applications in these environments. Please note that you can run these products on Linux systems, and that they are part of the Linux-Java world. Our book does not cover them, however, both because they are well-covered elsewhere, and because we have chosen to emphasize the Free and Open Source tools merely to keep the book small enough to lift, while still covering those tools most in need of well-written supporting documentation.

How to Use This Book

There are many approaches to a book. Some people like to start with the last chapter to see how it all turns out in the end; others like to start at the front and master each topic before moving on; some read through quickly, then reread for detail; still others prefer to skip around, “cherry picking” topics as whim and fancy strike. We hope this book will work for you, whatever your style.

Each chapter is not really free-standing, nor is it intricately tied to the previous chapters. If we were writing in depth on a single topic we might be able to build chapter by chapter. Instead, we’ve tackled an immense amount of information in hopes of condensing it down to give a good overview, to give you a glimpse of the possibilities, and to whet your appetite for more. Some chapters will be strongly related to previous chapters; others you may be able to read without having read any of the preceding chapters—it will depend on the topic.

Many Paths

What we’re describing below are a few possible paths that you might take through the book, depending on what you bring to the task—your experience and skills, your patience and persistence. We have tried to pack a lot of useful and practical information into these few chapters, distilling down the most important topics for each subject area. We hope that, even for the most experienced of our readers, we still offer, if not some new facts, at least some fresh explanations that might give you new insight into familiar topics.

The Linux Newbie Path

If you are new to Linux, then you’ll want to start with the first two chapters. If you are already experienced in Java, feel free to skip Chapter 3, but you may want at least to skim Chapters 4 and 5. You will definitely want to check out Chapter 7 as we are almost sure that it is something you didn’t know about.

Chapter 8 is another topic you may not have encountered outside of Linux, although CVS is not limited to Linux environments. Beyond that, it will depend on what else you already know. See what other categories, below, might fit your situation.

The Java Newbie Path

If you are new to Java, then be sure to read Chapters 3 and 4, but if you are not already an experienced programmer you should probably bring along another, more introductory text.

Chapters 5 and 10 will give you some good background for choosing your Java development tools. So many Java projects these days are tied to Ant that you should also cover Chapter 9 if you don’t already know the tool.

With your experience in other languages you may have done a lot of unit testing; read about the approach most popular with Java developers in Chapter 13.

The Client-Side Path

Depending on what type of Java development that you hope to do, you may want to concentrate on certain parts of the latter half of the book. Those most interested in the front end or client side should focus on the middle chapters. Of most interest to you will be Chapters 16 and 17. Your client-side emphasis should also include Chapters 18 and 19.

The Server-Side Path

For those with an emphasis on the middle and third tier, or those with a general server emphasis, all of Part IV will be helpful. This is in addition to a solid grounding in the previous chapters in Parts I and II.

The Enterprise Path

The final Part V will discuss enterprise scale software. Such software also typically includes JSP and Servlet software, as covered in Chapters 18, 19, and 20.

For those working at this level, the projects are usually large enough to be staffed with a variety of roles. Even if your role doesn’t include the deployment of the software, we encourage you to read these chapters (20 and 24) so as to get some understanding of what is needed and how it fits together.

Now, let’s get to work, and discover some of the amazing capabilities available to you when you combine two of the most powerful software trends in the history of computing—Java and Linux.



[1] Note that we do tend to recommend titles from Pearson Education (our publishers), but that we by no means confine ourselves to that publisher.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.9.2