Learn how to design, develop, and deploy real-world Java business applications on Linux--the fastest growing Java development platform.
Linux has long been the development platform of choice for C/C++ developers. Now Java developers can experience the power of Linux
Coverage of the vast array of development tools available for Java programming on Linux, including the GNU Compiler for Java (gcj)
Example J2EE application enhanced throughout the book helps reader apply their new found knowledge immediately
By 2006, Linux will become the preferred platform for J2EE execution, according to Michael Barnes, Vice President, META Group's Technology Research Services. There are significant platform-dependent issues in managing and deploying a Java application in a controlled production environment, and no book addresses these adequately for Linux. Nearly all books on application development stop at writing the code. Writing the code is but a small part of designing and deploying a production system. This book covers the complete lifecycle. KEY COVERAGE: 1) The book covers the full application development lifecycle on Linux, from designing and developing an application to deploying and maintaining it. And the sample application developed over the course of the book is intentionally designed to be a useful business application. Its a real-world, database-driven, sophisticated budget application, one the authors call BudgetPro. 2) The book provides comprehensive coverage of the java software development tools available on linux, including gcj, CVS, Eclipse, Ant, and JUnit. 3) The authors assume functional literacy with Java and focus on showing somebody who understands basic Java syntax how to design, build, deploy and maintain an enterprise-level business applicaiton on Linux, with Java. 4) Features new in JDK 1.5 are covered. Product 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, JavaT 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.
JavaT Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
Features + Benefits
Learn how to design, develop, and deploy real-world Java business applications on Linux--the fastest growing Java development platform.
° Linux has long been the development platform of choice for C/C++ developers. Now Java developers can experience the power of Linux
° Coverage of the vast array of development tools available for Java programming on Linux, including the GNU Compiler for Java (gcj)
° Example J2EE application enhanced throughout the book helps reader apply their new found knowledge immediately
Backcover
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, JavaT 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.
JavaT Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
0 Preface.
Introduction.
I. GETTING STARTED.
1. An Embarrassment of Riches: The Linux Environment.
What You Will Learn.
The Command Line: What's the Big Deal?
Basic Linux Concepts and Commands.
Review.
What You Still Don't Know.
Resources.
2. An Embarrassment of Riches: Editors.
What You Will Learn.
Eye to Eye with vi.
Editors Galore.
Review.
What You Still Don't Know.
Resources.
3. An Experienced Programmer's Introduction to Java.
What You Will Learn.
Fundamental Language Elements.
Using (and Making) Java APIs.
Encapsulation, Inheritance, and Polymorphism.
O, Templates! Where Art Thou?
Virtually Final.
A Useful Simple Application.
Review.
What You Still Don't Know.
Resources.
Exercises.
4. Where Am I? Execution Context.
What You Will Learn.
A Simple Start.
The SystemClass.
The Properties Class.
The Runtime Class.
Review.
What You Still Don't Know.
Resources.
5. The Sun Microsystems Java Software Development Kit.
What You Will Learn.
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.
Review.
What You Still Don't Know.
Resources.
6. The IBM Developer Kit for Linux, Java 2 Technology Edition.
What You Will Learn.
Use Linux Features to Make Multiple Java SDKs Play Nicely Together.
How the IBM JDK Differs from the Sun JDK.
What Are All These _g Versions?
Review.
What You Still Don't Know.
Resources.
7. The GNU Compiler for Java (gcj).
What You Will Learn.
A Brand GNU Way.
The GNU Compiler Collection.
Compiling Our Simple Application with gcj.
Options and Switches.
Reasons to Use gcj.
Reasons Not to Use gcj.
Review.
What You Still Don't Know.
Resources.
8. Know What You Have: CVS.
What You Will Learn.
Source Control: Whys and Hows.
A GUI: jCVS.
Review.
What You Still Don't Know.
Resources.
9. Ant: An Introduction.
What You Will Learn.
The Need for a Different Build Tool.
Obtaining and Installing Ant.
A Sample Ant Buildfile.
Review.
What You Still Don't Know.
Resources.
10. Integrated Development Environments.
What You Will Learn.
NetBeans: The Open Source IDE.
SunONE Studio Community Edition.
Eclipse: The Source of SWT.
Review.
What You Still Don't Know.
Resources.
II. DEVELOPING BUSINESS LOGIC.
11. Balancing Acts: An Imaginary Scenario.
What You Will Learn.
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.
Review.
What You Still Don't Know.
Resources.
Exercises.
12. Analysis and Design: Seeking the Objects.
What You Will Learn.
Facing the Blank Page.
Using CRC Cards.
Finding the Objects.
Finding the Methods and Attributes.
Essential and Nonessential.
Analysis Paralysis.
Real Software Engineering.
Core Classes.
Review.
What You Still Don't Know.
Resources.
Exercises.
13. JUnit: Automating Unit Testing.
What You Will Learn.
JUnit: Why All the Fuss?
Design Then Test Then Code.
Installing and Running JUnit.
Writing Test Cases.
Running Test Suites.
Review.
What You Still Don't Know.
Resources.
Exercises.
14. Storing the Data.
What You Will Learn.
Follow the Objects.
Of Persistence.
Thinking of the Future, or Painting in Corners.
Oracle, PostgreSQL, MySQL.
Being Self-Contained.
Beyond the Basics.
Persistence Is Not the Whole Story.
Setting Up PostgreSQL for BudgetPro.
Review.
What You Still Don't Know.
Resources.
Exercises.
15. Accessing the Data: An Introduction to JDBC.
What You Will Learn.
Introducing JDBC.
Making Connections.
Querying Data.
Getting Results.
Updates, Inserts, Deletes.
Review.
What You Still Don't Know.
Resources.
Exercises.
III. DEVELOPING GRAPHICAL USER INTERFACES.
16. Getting in the Swing of Things: Designing a GUI for BudgetPro.
What You Will Learn.
A Simple Swing Program 342
Stompin' at the Savoy, or The Swing Paradigm.
Slow, Slow, Quick-Quick, Slow: The Basic Swing Objects.
Layout Managers.
&nbs
The authors teach the students how to design, develop, and deploy real-world Java business applications on Linux. Students build upon the example J2EE application throughout the book which helps them apply their new found knowledge immediately.
Linux has long been the development platform of choice for C/C++ developers. Now Java developers can experience the power of Linux
Coverage of the vast array of development tools available for Java programming on Linux, including the GNU Compiler for Java (gcj)
Example J2EE application enhanced throughout the book helps reader apply their new found knowledge immediately
By 2006, Linux will become the preferred platform for J2EE execution, according to Michael Barnes, Vice President, META Group's Technology Research Services. There are significant platform-dependent issues in managing and deploying a Java application in a controlled production environment, and no book addresses these adequately for Linux. Nearly all books on application development stop at writing the code. Writing the code is but a small part of designing and deploying a production system. This book covers the complete lifecycle. KEY COVERAGE: 1) The book covers the full application development lifecycle on Linux, from designing and developing an application to deploying and maintaining it. And the sample application developed over the course of the book is intentionally designed to be a useful business application. Its a real-world, database-driven, sophisticated budget application, one the authors call BudgetPro. 2) The book provides comprehensive coverage of the java software development tools available on linux, including gcj, CVS, Eclipse, Ant, and JUnit. 3) The authors assume functional literacy with Java and focus on showing somebody who understands basic Java syntax how to design, build, deploy and maintain an enterprise-level business applicaiton on Linux, with Java. 4) Features new in JDK 1.5 are covered. Product 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, JavaT 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.
JavaT Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
Features + Benefits
Learn how to design, develop, and deploy real-world Java business applications on Linux--the fastest growing Java development platform.
° Linux has long been the development platform of choice for C/C++ developers. Now Java developers can experience the power of Linux
° Coverage of the vast array of development tools available for Java programming on Linux, including the GNU Compiler for Java (gcj)
° Example J2EE application enhanced throughout the book helps reader apply their new found knowledge immediately
Backcover
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, JavaT 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.
JavaT Application Development on Linux® can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
0 Preface.
Introduction.
I. GETTING STARTED.
1. An Embarrassment of Riches: The Linux Environment.
What You Will Learn.
The Command Line: What's the Big Deal?
Basic Linux Concepts and Commands.
Review.
What You Still Don't Know.
Resources.
2. An Embarrassment of Riches: Editors.
What You Will Learn.
Eye to Eye with vi.
Editors Galore.
Review.
What You Still Don't Know.
Resources.
3. An Experienced Programmer's Introduction to Java.
What You Will Learn.
Fundamental Language Elements.
Using (and Making) Java APIs.
Encapsulation, Inheritance, and Polymorphism.
O, Templates! Where Art Thou?
Virtually Final.
A Useful Simple Application.
Review.
What You Still Don't Know.
Resources.
Exercises.
4. Where Am I? Execution Context.
What You Will Learn.
A Simple Start.
The SystemClass.
The Properties Class.
The Runtime Class.
Review.
What You Still Don't Know.
Resources.
5. The Sun Microsystems Java Software Development Kit.
What You Will Learn.
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.
Review.
What You Still Don't Know.
Resources.
6. The IBM Developer Kit for Linux, Java 2 Technology Edition.
What You Will Learn.
Use Linux Features to Make Multiple Java SDKs Play Nicely Together.
How the IBM JDK Differs from the Sun JDK.
What Are All These _g Versions?
Review.
What You Still Don't Know.
Resources.
7. The GNU Compiler for Java (gcj).
What You Will Learn.
A Brand GNU Way.
The GNU Compiler Collection.
Compiling Our Simple Application with gcj.
Options and Switches.
Reasons to Use gcj.
Reasons Not to Use gcj.
Review.
What You Still Don't Know.
Resources.
8. Know What You Have: CVS.
What You Will Learn.
Source Control: Whys and Hows.
A GUI: jCVS.
Review.
What You Still Don't Know.
Resources.
9. Ant: An Introduction.
What You Will Learn.
The Need for a Different Build Tool.
Obtaining and Installing Ant.
A Sample Ant Buildfile.
Review.
What You Still Don't Know.
Resources.
10. Integrated Development Environments.
What You Will Learn.
NetBeans: The Open Source IDE.
SunONE Studio Community Edition.
Eclipse: The Source of SWT.
Review.
What You Still Don't Know.
Resources.
II. DEVELOPING BUSINESS LOGIC.
11. Balancing Acts: An Imaginary Scenario.
What You Will Learn.
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.
Review.
What You Still Don't Know.
Resources.
Exercises.
12. Analysis and Design: Seeking the Objects.
What You Will Learn.
Facing the Blank Page.
Using CRC Cards.
Finding the Objects.
Finding the Methods and Attributes.
Essential and Nonessential.
Analysis Paralysis.
Real Software Engineering.
Core Classes.
Review.
What You Still Don't Know.
Resources.
Exercises.
13. JUnit: Automating Unit Testing.
What You Will Learn.
JUnit: Why All the Fuss?
Design Then Test Then Code.
Installing and Running JUnit.
Writing Test Cases.
Running Test Suites.
Review.
What You Still Don't Know.
Resources.
Exercises.
14. Storing the Data.
What You Will Learn.
Follow the Objects.
Of Persistence.
Thinking of the Future, or Painting in Corners.
Oracle, PostgreSQL, MySQL.
Being Self-Contained.
Beyond the Basics.
Persistence Is Not the Whole Story.
Setting Up PostgreSQL for BudgetPro.
Review.
What You Still Don't Know.
Resources.
Exercises.
15. Accessing the Data: An Introduction to JDBC.
What You Will Learn.
Introducing JDBC.
Making Connections.
Querying Data.
Getting Results.
Updates, Inserts, Deletes.
Review.
What You Still Don't Know.
Resources.
Exercises.
III. DEVELOPING GRAPHICAL USER INTERFACES.
16. Getting in the Swing of Things: Designing a GUI for BudgetPro.
What You Will Learn.
A Simple Swing Program 342
Stompin' at the Savoy, or The Swing Paradigm.
Slow, Slow, Quick-Quick, Slow: The Basic Swing Objects.
Layout Managers.
&nbs
The authors teach the students how to design, develop, and deploy real-world Java business applications on Linux. Students build upon the example J2EE application throughout the book which helps them apply their new found knowledge immediately.