Contents

“Determined to spare other developers hours of trial and error, Albing and Schwarz demonstrate the platform, tools, and application development by showing realistic, easy-to-follow examples.”

Java™ Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.

Java™ Application Development on Linux®

Table of Contents

Preface.

Introduction.

I. GETTING STARTED.


1. An Embarrassment of Riches: the Linux Environment.

   The Command-Line: What’s the Big Deal?
   Basic Linux Concepts and Commands.


2. An Embarrassment of Riches: Editors.

   Eye to Eye with vi.
   Editors Galore.


3. An Experienced Programmer’s Introduction to Java.

   Fundamental Language Elements.
   Using (and Making) Java APIs.
   Inheritance, Encapsulation, and Polymorphism.
   O, Templates! Where Art Thou?
   Virtually final.
   A Useful Simple Application.


4. Where Am I?–Execution Context.

   A Simple Start.
   The Java System class.
   The Java Properties class.
   The Java Runtime class.


5. The Sun Microsystems™ Java Development Kit.

   All You Need, and Not One Thing More.
   The Java Compiler.
   The Java Runtime Engine.
   Complete, Up-to-date Program Documentation Made Easy.
   Dispensing With Applets.
   Going Native.
   Introducing RMI.
   The Java Debugger.
   Return to the Source–The Java Decompiler.
   Bundling a java program: Put it in a JAR.
   The Rest of the Toolkit.


6. The IBM Java Development Kit.

   Use Linux Features to Make Multiple Java SDK’s Play Nicely Together.
   How the IBM JDK Differs from the Sun JDK.
   What Are All These "_g" Versions?


7. The GNUCompiler for Java (gcj).

   A Brand GNU Way.
   The GNU Compiler Collection.
   Compiling our Simple App With gcj.
   Options and switches.
   Reasons to Use gcj.
   Reasons Not to Use gcj.


8. Know what you have–CVS.

   Source Control–Whys and Hows.
   A GUI–jcvs.


9. The Ant: An Introduction.

   The Need for a Different Build Tool.
   Obtaining and Installing ant.
   A Sample ant Buildfile.


10. Integrated Development Environments.

   NetBeans–The Open Source IDE.
   SunONE Studio, Community Edition.
   Eclipse–The Source of SWT.


II. DEVELOPING BUSINESS LOGIC.

11. Balancing Acts: Making and Keeping a Budget.

   Statement of the Need.
   How to Develop Software.
   What Makes a Good Requirement.
   Whom to Ask for Requirements.
   Requirements for the Budget Application.
   Documenting, Prototyping, and Stakeholder Buy-in.

12. Analysis and Design: Seeking the Objects.

   Facing the Blank Page.
   Using CRC Cards.
   Finding the Objects.
   Finding the Methods and Attributes.
   Essential and Non-essential.
   Analysis Paralysis.
   Real Software Engineering.
   Core Classes.

13. JUnit–Automating Your Unit Testing.

   JUnit–why all the fuss.
   Design then Test then Code.
   Installing and Running JUnit.
   Writing Test Cases.
   Running Test Suites.


14. Storing the Data.

   Follow the Objects.
   Of Persistence.
   Thinking of the Future, or Painting in Corners.
   Oracle, PostgreSQL, MySQL.
   Being Self-Contained.
   Alternative Persistance.


15. Accessing the Data: An Introduction to JDBC.

   Introducing JDBC.
   Making Connections.
   Querying Data.
   Getting Results.
   Updates, Inserts, Deletes–Operations Without Result Sets.


III. DEVELOPING GRAPHICAL USER INTERFACES.

16. Getting in the Swing of Things: Designing a GUI for BudgetPro.

   Stompin’ At the Savoy, or The Swing Paradigm.
   A Simple Swing Program.
   Slow, Slow, Quick-Quick, Slow: The Basic Swing Objects.
   Layout Managers.
   Beyond Arthur Murray: The JTable Class.
   Getting Down To Cases: Designing a GUI for BudgetPro.


17. Other Ways: Alternatives to Swing.

   The IBM SWT Toolkit.
   Porting a BudgetPro App to SWT.
   SWT and gcj.


IV. DEVELOPING WEB INTERFACES.

18. Browsing, Part 1: Servlets.

   Servlets: Program-centric Server Side Documents.
   How to write a servlet.
   Matters of State: Cookies, Hidden Variables, and the Dreaded Back Button.
   Designing a BudgetPro Servlet.


19. Browsing, Part 2: Java Server Pages.

   JSPs: Document-centric Server Side Programs.
   How to write a JSP.
   Designing a BudgetPro JSP.


20. Deploying and Running Web Applications on a Linux Server.

   Downloading Jboss.
   Be an enabler, or, “Let’s be co-dependent!”
   Installing JBoss.
   Things that Make it Go.
   Disposition of Forces.


V. DEVELOPING ENTERPRISE SCALE SOFTWARE.

21. Corporate, Branch, Department: Extending an Application’s Scale.

   Expanding to EJBs.
   What’s in a Name? (JNDI).
   Refactoring BudgetPro to an Enterprise Level.
   Parent and Child: Multiple EJB Containers.


22. Tools for Enterprise Projects.

   Project Planning.
   Software Development Aids.

23. Building an EJB Application.

   Authentication and Security Infrastructure.
   Lend me Your EAR: Enterprise Packaging and Deployment.
   A Simple Sample Enterprise that Scales.


24. Deploying EJBs.

   Theory Into Practice.
   OpenLDAP for Enterprise Authentication.
   Jboss & Tomcat Setup and Deployment.
   Rolling out Enterprise BudgetPro.
   Expanding: Adding new Instances.
   Expanding: Maintinaing a Distributed Application.
   Expanding: Integrating New Business Applications.
   Expanding: Abstracting Legacy Applications.


Index.
 

BuiltWithNOF

[Home] [About] [Downloads] [Links] [Contents]