Java Unleashed is a book for the Java programmer who wants to move to a senior-level programming role. This book prepares the reader to become involved with project design earlier and to interact with senior staff on larger design issues. It contains the rules of thumb driven by performance and technical considerations. Parts 1 and 2 cover distributed technologies like Enterprise Java Beans (EJB), Java Message Services (JMS), and RMI. Part 3 enables the reader to build systems that are integrated. Part 4 covers the advanced features of the java Platform. Optional APIs such as media, security, and transactions covered in Part 5.
(NOTE: Each chapter concludes with a Summary.)
I. PROGRAMMING WITH DISTRIBUTED OBJECTS.1. Programming Interconnected Computers.
A Brief History of Connectivity. TCP/IP and Java. Understanding Modern Interconnection Technologies. The Design of the Cruise Ticket Application.2. Creating Applications with Remote Method Invocation (RMI).
Understanding RMI. Converting an Application to RMI. Creating an RMI Version of the CruiseList Application.3. Creating Applications with Java API for XML Parsing (JAXP).
Understanding XML. XML Related Tools. Creating an XML Document. Creating a Document Type Definition (DTD). Parsing with the Simple API for XML (SAX). Parsing with the Document Object Model (DOM). An XML Version of the CruiseList Application.4. Application Development with JSP and Servlets.
HTTP Basics. Your First JSP Page. JSP Tag Types. Form Processing with JSP. Your First Servlet. When Do We Use JSP and When Do We Use Servlets? Using JSP and Servlets Together.
II. ENTERPRISE JAVA.5. Enterprise JavaBeans (EJB).
Understanding the EJB Approach. EJB Internals. Developing the Cruise Booking Application with EJB. Developing Stateless Session Beans. Developing Stateful Session Beans. Developing Entity Beans. Building and Running the Cruise Booking Application. EJB Container Services.6. Message-Driven Beans (MDB).
Understanding Message-Driven Beans (MDB). Developing and Deploying MDBs. How MDBs Work. The Point-to-Point Model. Creating a GUI-Based Application. Handling Errors in MDBs.7. Java Message Service (JMS).
Understanding JMS. Building the Cruise Ticket System with JMS. The Publish/Subscribe Model.8. Approaches for Choosing the Right Technology.
The Challenge of Technology Selection. Measuring Software Characteristics. Evaluating Distributed Technologies. Comparing Java Technologies with CORBA.
III. JAVA INTEGRATION TECHNOLOGIES.9. Web Services.
Understanding the Web Service Approach. Understanding SOAP. Creating a Payment Web Service. Understanding WSDL. Understanding UDDI. Integrating with .NET.10. JDBC and Databases.
Why JDBC? How JDBC Works. Batch Processing. JDBC and WebLogic Server. JDBC Transaction Management. Enhancements in JDBC 3.0.11. Java Naming and Directory Interface (JNDI).
The Need for a Naming Service API. Understanding JNDI. How Naming Services Work. Finding the JNDI Provider. JNDI and WebLogic Server. Precautions When Using JNDI.12. Processing Speech with Java.
Understanding Java Speech. Creating and Allocating the Speech Engine. Speech Synthesis. Speech Recognition.13. JavaMail.
Understanding JavaMail. How JavaMail Works. Creating a Simple SMTP Application. Creating a JavaMail-Based CruiseList Application. Retrieving Specific E-mail Messages. Programing an Event-Driven E-mail Application.14. Serial Port Communications.
Understanding the RS-232 Standard. The Java Communications API. Sending Data over the Serial Port.
IV. JAVA MEDIA TECHNOLOGY.15. Drawing with Java 2D.
Understanding Java 2D. Drawing Text on the Screen. Drawing Graphics. Manipulating Images. Combining Text, Graphics, and Images.16. Java 3D Graphics.
Understanding Three-Dimensional (3D) Programming. The Major Objects in the Java 3D API. Adding Motion to a Java 3D Application. Adding Lighting to Your Java 3D Program. Texture Mapping in Java 3D.17. The Java Media Framework (JMF) and the Java Advanced Imaging (JAI) API.
Understanding Time-Based Media. Decoding Time-Based Media with JMF. Programming with the Advanced Imaging API.18. Processing Sound with Java.
The Principles of Sampled Sound. The Principles of MIDI Sound. The Java Sound API. Playing Sound with Java. Capturing Sound with Java.
V. BEST PRACTICES FOR DESIGNING JAVA CLASSES.19. JavaBeans and the Java Event Model.
Understanding JavaBeans. Programming with the Java Event Model. Developing a Simple JavaBean. Methods, Events, and Properties.20. Architectural Models and Frameworks
The Need for Frameworks. What Is a Framework? Overview of the MVC Pattern. An MVC Implementation in the Jakarta Struts Framework.21. Design Patterns in Java.
The Need for Patterns. Java Patterns. EJB Design Patterns.22. Exceptions and Debugging.
The Importance of Exception Handling. Understanding the Java Exception Strategy. Catching Exceptions in Java Programs. Common Exception-Handling Practices. The Right Way to Handle Exceptions. Translating Exceptions. Exception Chaining Without Losing Information. Exception Chaining in JDK 1.4.23. Java Security.
Introduction to Java Security. Java Sandbox Model. Java Secure Sockets.24. Multithreading Applications in Java.
Introduction to Threads. Coordinating Threads. Creating Thread-Safe Applications. Thread Management.25. Java Internationalization.
Fundamentals of Internationalization. Using Resource Bundles for Text. Using ResourceBundle Classes to Store Objects. Internationalizing Dates and Times. Internationalizing Numbers and Currency.26. Persistence and Cloning.
Object Serialization. Object Externalization. Cloning to Achieve Serialization. Security and Serialization.27. Polymorphism and Inheritance.
Why Polymorphism and Inheritance Are Important. The Internals of Polymorphism. Programming with Polymorphism. Inheritance, Composition, or Brute Force. Disadvantages of Inheritance and Polymorphism. Concrete or Abstract Base Classes. Type-Safe Downcasting and Inheritance. Polymorphic Programming with Runtime Type Identification. Polymorphic Programming with Reflection. Inheritance and Handles.28. Code Organization and Deployment.
Understanding Packages. Java Archive (JAR) Files. The Java API Documentation Generator.
VI. APPENDIXES.Appendix A. Source Code Listings for Utility Programs Used in This Book.
The WebLogic/Cloudscape Database Loader. The Access Version of the Database Loader. TicketRequest2.Appendix B. Downloading and Installing WebLogic Server.