Book description
Linux is the fastest-growing Java development platform because it saves money and time by serving as a platform for both development and deployment. But developers face significant platform-specific challenges when managing and deploying Java applications in a controlled production environment.
Written for Java and Linux developers alike, Java™ Application Development on Linux®is the hands-on guide to the full Java application development lifecycle on Linux.
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. After a simple command-line application introduces basic tools, this program leads readers through business-logic object analysis, database design, Java servlet UIs, Java Server Pages (JSP) UIs, Swing GUIs, and Standard Widget Toolkit (SWT) GUIs. Scaling up to the enterprise level provides the opportunity to use both the JBoss Application Server and the Apache Geronimo Application Servers, and Enterprise JavaBeans (EJB).
Readers learn how to
Use development tools available on Linux, such as the GNU Compiler for Java (gcj), Ant, the NetBeans IDE, IBM's Eclipse Java IDE, JUnit, and SunONE Studio
Develop business logic layers using Java DataBase Connectivity (JDBC)
Add a Web interface using servlets and JSPs
Add a GUI using Sun's Abstract Window Toolkit (AWT) and IBM's SWT
Deploy EJBs in Linux
The authors conclude by demonstrating how a hierarchy of budgets can be created, tracked, and shared with Concurrent Versions System (CVS).
A companion Website includes all source code and a link to each tool described.
Java™ Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
Table of contents
- Copyright
- Bruce Peren's Open Source Series
- Preface
- Introduction
-
I. Getting Started
-
1. An Embarrassment of Riches: The Linux Environment
- 1.1. What You Will Learn
- 1.2. The Command Line: What’s the Big Deal?
- 1.3. Basic Linux Concepts and Commands
- 1.4. Review
- 1.5. What You Still Don’t Know
- 1.6. Resources
- 2. An Embarrassment of Riches: Editors
-
3. An Experienced Programmer’s Introduction to Java
- 3.1. What You Will Learn
- 3.2. Fundamental Language Elements
- 3.3. Using (and Making) Java APIs
- 3.4. Encapsulation, Inheritance, and Polymorphism
- 3.5. O, Templates! Where Art Thou?
- 3.6. Virtually Final
- 3.7. A Useful Simple Application
- 3.8. Review
- 3.9. What You Still Don’t Know
- 3.10. Resources
- 3.11. Exercises
- 4. Where Am I? Execution Context
-
5. The Sun Microsystems Java Software Development Kit
- 5.1. What You Will Learn
- 5.2. All You Need, and Not One Thing More
- 5.3. The Java Compiler
- 5.4. The Java Runtime Engine
- 5.5. Complete, Up-to-Date Program Documentation Made Easy
- 5.6. Dispensing with Applets
- 5.7. Going Native
- 5.8. Introducing RMI
- 5.9. The Java Debugger
- 5.10. Return to the Source: The Java Decompiler
- 5.11. Bundling a Java Program: Put it in a JAR
- 5.12. The Rest of the Toolkit
- 5.13. Review
- 5.14. What You Still Don’t Know
- 5.15. Resources
- 6. The IBM Developer Kit for Linux, Java 2 Technology Edition
- 7. The GNU Compiler for Java (gcj)
- 8. Know What You Have: CVS
- 9. Ant: An Introduction
- 10. Integrated Development Environments
-
1. An Embarrassment of Riches: The Linux Environment
-
II. Developing Business Logic
-
11. Balancing Acts: An Imaginary Scenario
- 11.1. What You Will Learn
- 11.2. Statement of the Need
- 11.3. How to Develop Software
- 11.4. What Makes a Good Requirement
- 11.5. Whom to Ask for Requirements
- 11.6. Requirements for the Budget Application
- 11.7. Documenting, Prototyping, and Stakeholder Buy-In
- 11.8. Review
- 11.9. What You Still Don’t Know
- 11.10. Resources
- 11.11. Exercises
-
12. Analysis and Design: Seeking the Objects
- 12.1. What You Will Learn
- 12.2. Facing the Blank Page
- 12.3. Using CRC Cards
- 12.4. Finding the Objects
- 12.5. Finding the Methods and Attributes
- 12.6. Essential and Nonessential
- 12.7. Analysis Paralysis
- 12.8. Real Software Engineering
- 12.9. Core Classes
- 12.10. Review
- 12.11. What You Still Don’t Know
- 12.12. Resources
- 12.13. Exercises
- 13. JUnit: Automating Unit Testing
-
14. Storing the Data
- 14.1. What You Will Learn
- 14.2. Follow the Objects
- 14.3. Of Persistence
- 14.4. Thinking of the Future, or Painting in Corners
- 14.5. Oracle, PostgreSQL, MySQL
- 14.6. Being Self-Contained
- 14.7. Beyond the Basics
- 14.8. Persistence Is Not the Whole Story
- 14.9. Setting Up PostgreSQL for BudgetPro
- 14.10. Review
- 14.11. What You Still Don’t Know
- 14.12. Resources
- 14.13. Exercises
- 15. Accessing the Data: An Introduction to JDBC
-
11. Balancing Acts: An Imaginary Scenario
-
III. Developing Graphical User Interfaces
-
16. Getting in the Swing of Things: Designing a GUI for BudgetPro
- 16.1. What You Will Learn
- 16.2. A Simple Swing Program
- 16.3. Stompin’ at the Savoy, or The Swing Paradigm
- 16.4. Slow, Slow, Quick-Quick, Slow: The Basic Swing Objects
- 16.5. Layout Managers
- 16.6. Beyond Arthur Murray: Actions, Listeners, Events
-
16.7. Getting Down to Cases: Designing a GUI for BudgetPro
- 16.7.1. Overview
-
16.7.2. Creating Pieces
- 16.7.2.1. Simple JLabels
- 16.7.2.2. FlowLayout
- 16.7.2.3. BoxLayout
- 16.7.2.4. JButtons
- 16.7.2.5. Actions for Buttons
- 16.7.2.6. The createStatus() Revisited
- 16.7.2.7. JTable: The Workhorse of Data Display
- 16.7.2.8. Table Model
- 16.7.2.9. Renderers
- 16.7.2.10. Selection Listeners
- 16.7.2.11. Ready, aim, fire!
- 16.7.2.12. Scrolling
- 16.7.2.13. Dialogs
- 16.8. Review
- 16.9. What You Still Don’t Know
- 16.10. Resources
- 16.11. Exercises
-
17. Other Ways: Alternatives to Swing
- 17.1. What You Will Learn
- 17.2. The IBM SWT Toolkit
- 17.3. Porting BudgetPro to SWT
- 17.4. SWT and gcj
- 17.5. Review
- 17.6. What You Still Don’t Know
- 17.7. Resources
- 17.8. Exercises
-
16. Getting in the Swing of Things: Designing a GUI for BudgetPro
-
IV. Developing Web Interfaces
-
18. Servlets: Java Pressed into Service
- 18.1. What You Will Learn
- 18.2. Servlets: Program-Centric Server-Side Documents
- 18.3. Perspective
- 18.4. How to Write a Servlet
- 18.5. Input, Output
- 18.6. Matters of State: Cookies, Hidden Variables, and the Dreaded “Back” Button
- 18.7. Designing a BudgetPro Servlet
- 18.8. Review
- 18.9. What You Still Don’t Know
- 18.10. Resources
- 18.11. Exercises
- 19. JSP: Servlets Turned Inside Out
-
20. Open Source Web Application Servers
- 20.1. What You Will Learn
- 20.2. Downloading JBoss
- 20.3. Be an Enabler, or “Let’s Be Codependent!”
- 20.4. Installing JBoss
- 20.5. Things That Make It Go
- 20.6. Disposition of Forces
- 20.7. Apache Geronimo
- 20.8. Installing Geronimo
- 20.9. Running the Geronimo Server
- 20.10. Review
- 20.11. What You Still Don’t Know
- 20.12. Resources
-
18. Servlets: Java Pressed into Service
-
V. Developing Enterprise Scale Software
-
21. Introduction to Enterprise JavaBeans
- 21.1. What You Will Learn
- 21.2. Expanding to EJBs
- 21.3. What’s in a Name? An Introduction to JNDI
- 21.4. Review
- 21.5. What You Still Don’t Know
- 21.6. Resources
- 22. Building an EJB
- 23. Deploying EJBs
- 24. Parting Shots
- A. ASCII Chart
- B. A Java Swing GUI for BudgetPro
- C. GNU General Public License
-
21. Introduction to Enterprise JavaBeans
Product information
- Title: Java™ Application Development on Linux®
- Author(s):
- Release date: November 2004
- Publisher(s): Pearson
- ISBN: 013143697X
You might also like
book
Java™ Performance
“The definitive master class in performance tuning Java applications…if you love all the gory details, this …
book
OCA/OCP Java SE 7 Programmer I & II Study Guide (Exams 1Z0-803 & 1Z0-804)
A complete update to the definitive, bestselling guide to the #1 certification for Java programmers Written …
book
How to Use Objects: Code and Concepts
While most developers today use object-oriented languages, the full power of objects is available only to …
book
Modular Programming in Java 9
Kick-start your modular programming journey and gear up for the future of Java development About This …