Preface

If you’re basing your livelihood on Java these days, you are going to run across at least one enterprise application programming project; if it hasn’t come upon you already, it’s just around the corner. I’ve been faced with more than twenty at this point in my career, and see many more in my future. Each time I get into these projects, I find myself paging through book after book and searching the Web, looking for the same information time after time. Additionally, I’ve developed a bit of a toolkit for handling common enterprise tasks.

What I have determined is that there are many terrific books on specific technologies like Enterprise JavaBeans, servlets, and the Java Message Service. These books cover the details of these APIs and explain how to use them. I have also found, though, that there is no resource in existence that describes connecting these components in an intelligent way. No coherent examples are documented and explained that tell how best to code façade patterns, attach entity beans to directory servers, use servlets and JSP with EJB without killing performance, or a host of other common tasks. At the same time, these very issues are the heart of my job description, and probably of many other programmers’ as well.

Rather than simply write a short article or two and fall short of really addressing the topic (something I see lots of people doing), I convinced O’Reilly & Associates to put forth an exhaustive series on enterprise programming in Java. I’m proud to say that you have in your hands the first volume of that series. It covers the back-end of application programming and explains databases, entity beans, session beans, the Java Message Service, JNDI, RMI, LDAP, and a whole lot more.

The topic will be extended in the next two volumes, which are already planned. The second volume will cover traditional web applications, including HTTP, HTML, servlets, JSP, and XML presentation solutions. The third volume will detail the web services paradigm, demonstrating the use of UDDI, SOAP, WSDL, and other emerging technologies.

In each volume, you will find extensive code (the code listings in this book, without comments, total well over 100 pages, about 30% of the actual book), without needless instruction or banter. I’ve gotten straight to the point, and tried to let you see code, not discussion of code, whenever possible. I hope that you enjoy the series, and that it aids you in your own enterprise application programming.

Organization

This book starts from the back of an enterprise application, moves from introduction into design and planning, through the database and directory server, and into the code you’ll need to use this data. Here are concise descriptions of each chapter.

Chapter 1

This chapter expands on the basic information in this Preface. It provides a blueprint for the series as well as the topics included in the chapters of this book.

Chapter 2

As suggested by the title, this chapter presents the vital planning and requirements phase of enterprise programming. It explains how decisions are made and how business needs are mapped to technical requirements, and outlines the process of taking a vague description and converting it to a technical blueprint.

Chapter 3

This chapter starts to dig into technical details. It takes the blueprints from Chapter 2 and begins to implement these in terms of data storage. You’ll learn how to handle issues surrounding relational databases, write the SQL to create the data store, and develop constraints for the database. You’ll also learn about directory servers and create a directory for the book’s sample application.

Chapter 4

This chapter details the basics of entity beans in terms of enterprise programming. You’ll create your first entity bean for the sample application, learn about IDs and sequences, and set the groundwork for the rest of the application.

Chapter 5

This chapter deals with more advanced concepts. IDs and sequences will be handled in a more generic fashion, and you’ll mix session beans with entity beans, learn about information maps, and delve into more advanced CMP entity beans.

Chapter 6

This chapter introduces the manager component, explaining how data can be abstracted into Java components. Specifically, you’ll write code to provide access to the directory server created earlier, and tie this component in with already-developed entity beans and databases.

Chapter 7

This chapter puts the finishing touches on the data access layer. You’ll deal with threading and multiple directory server instances, as well as client applications. Finally, testing will be put in place to ensure that everything is working correctly to this point.

Chapter 8

This chapter moves from the data layer into the business layer. It further explains using the manager component, specifically with session beans. You’ll also find out the best approaches to connecting your session beans to the entities and managers already in place

Chapter 9

This chapter completes the business layer with a discussion of using JMS and message-driven beans. You’ll create a messaging layer in your application as well as clients that interact with it. Finally, basic packaging issues are detailed and related to the components already developed.

Chapter 10

This final chapter gives some general advice for moving beyond this first volume into web applications and web services. It also provides some practical information and resources for continuing in your application development.

Appendixes

The appendixes cover deployment of SQL scripts, installation of directory servers, application server setup and configuration, and supplemental code listings. These are chock-full of technical details that didn’t easily fit into the chapters.

Get Building Java Enterprise Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.