Home > Store

J2EE and JAX: Developing Web Applications and Web Services

Register your product to gain access to bonus material or receive a coupon.

J2EE and JAX: Developing Web Applications and Web Services

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2003
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-13-047676-5
  • ISBN-13: 978-0-13-047676-0

Learn J2EE and the JAX APIs for Web services and applications—all in one volume.

  • The first book to offer integrated coverage of J2EE and JAX in one volume
  • Java Web application and services programming taught by example
  • Rich with code examples and explanations of supporting technologies
  • CD-ROM includes free, fully functional copy of HP Application Server (HP-AS)

Using a simple, stand-alone program as a point of departure, Java expert Michael Yawn brings you through all the steps and decisions needed to transform it into a rich, Web-enabled application. Along the way you'll gain a working knowledge of Java 2 Enterprise Edition (J2EE) and the Java APIs for XML (JAX)—emerging technologies for writing Web applications and working with XML documents and procedures. Yawn's technique of reworking the example application gives you hands-on experience at adapting software for different purposes and environments, as well as a deep understanding of how to build flexibility into your projects from the outset.

  • Web applications and services-and underlying technologies-by example
  • Layering applications to simplify reworking; using design patterns
  • Integrating JavaServer Pages, JavaBeans, Servlets, and custom tag libraries
  • XML on the Web and with wireless devices
  • Java Message Service, MOM, and XML messaging with SOAP and JAXM
  • JAX RPC services and their clients
  • Enterprise JavaBeans-Session, Message-Driven, and Entity beans
  • CD-ROM contains a full copy of HP Application Server (HP-AS)—a free alternative to IBM's WebSphere and BEA's WebLogic—and code samples from the book

In his engaging style, Yawn doesn't simply describe Web applications and services-you'll come away understanding how it all fits together. With the whys well in hand, you'll be a much more effective coder. This book requires only a basic knowledge of Java programming, and its content is applicable to all servers.

Sample Content

Online Sample Chapter

Introduction to J2EE and JAX

Downloadable Sample Chapter

Click here for a sample chapter for this book: 0130476765.pdf

Table of Contents

List of Acronyms.




1. Introduction.

Why This Book Was Written. Who Needs This Book? What's This Book About? Why J2EE and Not Java? Architectural Principles. Organization Software Used. Using This Book. On the Web

2. The Example Application.

Finding the Objects. The Division and Conference Classes. The Team Class. The Game Class. The Teams and Games Container Classes. The Standings Class. Building and Running the Example Application. Exercises. Further Reading.

3. The Layered Application.

A Better Design for Handling Enumerated Types. Using an Object Factory. MVC Architecture. The Team Interface and Implementation. Messaging Facility Interface and Implementation. Continuing the Separation of Interface and Implementation. Separating Persistence from Games and Teams. Separating Presentation from the Standings Class. Separating the User Interface: The Console Class. Building and Running the Layered Application. Exercises. Further Reading.


4. Introduction to Presentation Architecture.

Textual Interfaces. Graphical User Interfaces. Web Browser Interfaces. Web Services. XML Validation. Exercises. Further Reading.

5. Servlets.

What Is a Servlet? Using a Servlet for the Standings Class. Messaging Implementation for Servlets. Dynamic Behavior in the Standings Application. Advanced Servlet Topics. Exercises. Further Reading.

6. JavaServer Pages.

JSP Scripting Elements. JSP Directives. Building, Installing, and Running the Scriptlet. JSP Actions. Exercises. Further Reading.

7. Integrating JavaServer Pages with JavaBeans and Servlets.

Using JavaServer Pages with JavaBeans. Installing and Running the Bean Example. Using Servlets and JSP Together. Custom Tag Libraries. Tag Library API Reference. Exercises. Further Reading.

8. Struts.

What Is a Framework, Anyway? Struts Components. Handling User Preferences. Getting Favorite Team Information from Struts. Building, Installing, and Running the Struts Application. Other Frameworks. Exercises. Further Reading.

9. Web Presentation with XML and XSLT.

XML Acronyms FYI: An XML Glossary with References. XML Processors and JAXP. Creating an XML Document with DOM. Creating an XML Document with JDOM. Transforming XML to HTML via XSLT. Building, Installing, and Running the XML Presentation Classes. Exercises. Further Reading.

10. Using XML with Wireless Clients.

WML and XHTML Markup Languages. Building, Installing, and Running the Wireless Presentation and Servlet Classes. Presentation Architecture Wrap-Up and Review. Exercises. Further Reading.


11. Introduction to Distributed Objects and Web Services.

Web Services Defined. Web-Service Models. Web-Service Security.

12. The Java Message Service.

JMS Features. JMS Pieces and Parts. A JMS-Based Game Server. JMS API Reference. Java Naming and Directory Interface. JNDI API Reference. A JMS Subscriber. Building, Deploying, and Running the JMS Examples. Exercises. Further Reading.

13. XML Messaging: SOAP and JAXM.

SOAP. Creating SOAP Messages with JAXM. Consuming the Web Service. JAXM API Docs. Building, Deploying, and Running the Application. Exercises. Further Reading.

14. Parsing and Manipulating XML.

Using DOM. DOM API Reference. Using SAX. SAX API Reference. Using JDOM. JDOM API Reference. Building and Running the JaxmClient Example. Using JAXB. Building and Running the JAXB Example. Exercises. Further Reading.

15. Remote Method Invocation (RMI).

Basic RMI Concepts. Creating a Remotely Accessible Standings Object. The RMI Registry. An RMI Client. RMI APIs. A Remote Object Factory. RMI Troubleshooting. Building and Running the RMI Examples. Exercises. Further Reading.

16. Building a Web Service with JAX-RPC.

The Basics of JAX-RPC. Publishing a Web Service with JAX-RPC. Creating Stubs and Ties with XRPCC. Consuming a JAX-RPC Web Service. Building, Deploying, and Running the JAX-RPC Examples. Exercises. Further Reading.

17. Describing, Publishing, and Finding Web Services.

Describing Web Services with WSDL. Standardized Web Services. Publishing Web Services. Describing Complex Business Relationships. Exercises. Further Reading.

18. Clients for JAX-RPC Web Services.

JAX-RPC Clients. JAX-RPC API Documentation. Building and Running the Examples. Exercises. Further Reading


19. Session Beans.

Introduction to Enterprise JavaBeans. Creating a Session Bean for the Standings. Session Bean APIs. Building, Deploying, and Running the Examples. Developing an EJB Client. Exercises. Further Reading.

20. Message-Driven Beans.

Writing a Message-Driven Bean. Message-Driven Bean API Reference. Building, Deploying, and Running the Message-Driven Bean Example. Exercises. Further Reading.

21. Entity Beans.

Bean-Managed versus Container-Managed Persistence. Writing an Entity Bean. Entity Bean API Reference. Building and Deploying the Entity Bean. Bean Relationships. Finder Methods and the EJB Query Language. Creating the Database. Deploying An Entity Bean in BEA WLS 6.1. Using the Entity Bean. Exercises. Further Reading.

22. A Look Back, A Look Ahead.

Where We've Been, What We've Learned. What's Ahead for XML and Web Services. What's Ahead for Enterprise JavaBeans. What's Ahead for This Book.

Appendix. Program Listings for the Original Application.

The Conference Class. The Division Class. The Game Class. The Games Class. The Standings Class. The Team Class. The Teams Class.




When JDK 1.0 was released, it comprised eight packages with a total of 212 classes and interfaces. To be a Java programmer during that time was to know something of all of them. Because four of the eight packages dealt with graphical user interfaces, being a server-side Java programmer (if there had been such a thing then) would probably have meant knowing just about any method call you were likely to use right off the top of your head.

Java 1.3 includes 77 packages with over 2,000 classes and interfaces, but this number understates the explosion of Java APIs. This figure only includes Java 2 Standard Edition; we also have Java 2 Enterprise and Micro Editions, each with many additional APIs. No longer is it possible to expect a Java programmer to be able to put a finger right on the appropriate class needed to solve any problem that arises.

A well-stocked Java bookshelf in the JDK 1.0 timeframe might have had four books. Now, you can't really think in terms of a "one size fits all" selection of Java reference material. There are so many specialized APIs, so many acronyms, that scanning the available titles is likely to provide confusion rather than insight. What topics do you really need to know? JSPs, Jini, JAIN, JAX, JXTA, J-Lo, JFC, JWS-that's just a small selection of the Js (and one of them was probably mis-shelved, but can you really be sure?).

Much of the development being done in Java today is the creation of Web applications. Recently, the mix has shifted to include Web Services as well, which are XML-based interfaces that are commonly used for system-to-system communication in areas such as Enterprise Application Integration (EAI) and Electronic Data Interchange (EDI). There are many things that you need to know in order to create Web applications and Web Services, but frequently half the battle is just figuring out what it is you need to know. While it's easy to find a book on XSLT, or UDDI, or JavaServer Pages, it can be quite a bit harder to figure out which are the right technologies to solve your business problem.

In this book, I'll provide a primer on the current J2EE technologies (J2EE 1.3) that are used to develop Java Web applications, and a look at the coming J2EE technologies (J2EE 1.4) that are used to develop Java Web Services. There is a heavy emphasis on code; for any technology you find useful, you should be able to take the provided example programs as a starting point and just add in your application-specific code. The approach taken has been for breadth of coverage, rather than depth. So if you already have a half-dozen J2EE or Web-Service books on your bookshelf, then this won't add much, if anything, to what you already know. If, on the other hand, you're trying to figure out how to get started with Web applications and Web Services, then this book will get you well on your way. When you need more depth in a particular topic, you'll be directed where to go for further study.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership