Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Java(TM) Application Development on Linux(R) Review by R. Lodato
Extremely readable, very informative, and deep without being
Java was developed to be a cross-platform language. "Write Once, Run Anywhere" is the slogan, and an admirable ideal to attempt to reach. So when I first saw the title of the book Java Application Development on Linux, I expected to find descriptions of some idiosyncrasies in the Linux environment that affected the "Run Anywhere" part of the equation. What I got was a lot more.
The authors, Carl Albing and Michael Schwarz, chose to create a book that is a complete guide to writing commercial-quality Java programs. They focused on how to use the tools of Linux to assist in the creation of Java programs. The book is broken up into five major parts: Getting Started, Developing Business Logic, Developing Graphical User Interfaces, Developing Web Interfaces, and Developing Enterprise Scale Software. Each chapter is self-contained, and the reader can choose what they read without losing track. Each chapter starts with a summary of what you'll learn, and concludes with a "What You Still Don't Know" section.
Part I provides a 10-chapter overview of Linux, Java, the SDK's (Software Development Kits) from Sun and IBM, version control via CVS, and IDEs. The first two chapters cover a sampling of command-line Linux, plus the Vi editor to create your programs. Chapter 3 gives you a overview of the Java language, and Chapter 4 covers how the program can deal with the context in which it's running. The next two chapters cover Sun's SDK and IBM's development kit (briefly). Chapter 7 describes how to use the GNU Compiler for Java (gcj) to create native-code programs.
Larger programs definitely need some form of source control, so the widely available Concurrent Versioning System (CVS) is clearly described out. For building and deploying the numerous files of a larger project, Ant provides value beyond what the make facility can offer. Finally, Integrated Development Environments (IDEs) are covered. The focus is on NetBeans, but SunONE Studio Community Edition and Eclipse are also covered.
If the book stopped after Part I, you would still have a valuable addition to your bookshelf. However, Part II continues with a five-chapter discussion on how to get requirements, documentation, and buy-in; how to analyze the program and discover the objects to be created; automated testing with JUnit; storing data in databases using Oracle, PostgreSQL, and MySQL; and using the Java Database Connector (JDBC) to access them.
Most users want some form of a graphical user interface (GUI) to access the program and their data. Part III describe how to create a GUI using Swing and the Standard Widget Toolkit (SWT).
By far the most popular way to access programs is via a browser. Part IV describes Java Servlets and JSP (JavaServer Pages), and also talks about two Java-based web application servers (JBoss and Geronimo).
Finally, Part V covers Enterprise JavaBeans (EJBs) in what the authors describe as "an almost criminally brief introduction". While it is definitely an overview, they still cover more than enough about EJBs to get you rolling. They wrap up the book with a plea for help. The book is an Open Content book, and therefore they are requesting comments, suggestions, and patch files to help improve the text and examples.
I have to admit that Java Application Development on Linux is an extremely readable, very informative, and deep without being lengthy book. The tone used by Carl and Michael was very conversational. I found it enjoyable, interesting, and highly informative. The only complaint I have is that they tried to cover a little too much in a single book. EJBs definitely warranted more coverage than they provided. In all, I rate it a 4 out of 5.