Conventions Used in This Book
This book uses various stylistic and typographic conventions to make it easier to use.
When you see a note in this book, it indicates additional information that can help you better understand a topic or avoid problems
Tips introduce techniques applied by
Cautions warn you of hazardous procedures (for example, actions that have the potential to compromise the security of a system).
Cross-references are used throughout the book to help you quickly access related information in other chapters.
For an introduction to the terminology associated with transactions, see "Understanding Transactions," p. 332 .
Many of the chapters in this book conclude with a "Troubleshooting" section that provides solutions to some of the common problems that you might encounter regarding a particular topic. Throughout the main chapter text, cross-references such as these are included to direct you to the appropriate heading within the "Troubleshooting" section to address these problems.
Part I: Developing Enterprise JavaBeans
Chapter 1. Introduction to Enterprise Applications
In this chapter
The Enterprise JavaBeans Architecture
Component-Based Distributed Computing
Why Use EJB?
The Enterprise JavaBeans Architecture
The EJB 2.0 Specification defines Enterprise JavaBeans (EJB) as an architecture for component-based distributed computing. Although this definition works well if you are already familiar with terms such as component-based and distributed computing, the definition doesn't help much if you are
Figure 1.1. A high-level view of the EJB architecture.
If you were to ask 100 software developers or
Enterprise development did not begin with the
Although companies have been using the Common Object Request Broker Architecture (CORBA) since the early '90s, due to the boom of the Internet and the decentralization of the Information Technology (IT) departments within organizations, more and more applications are being developed that cross the network boundaries and
Riding right on the back of this decentralization is an entire
As you can start to see, enterprise developers must deal with many complex technological issues that just are not present in many smaller applications. Enterprise applications must support multiple sites that can be
Going back to the EJB definition that was provided from the specification and considering a different definition of what enterprise application development is, let's try to come up with our own EJB definition. We need a definition that we can intuitively grasp and understand without a great deal of confusion and be able to communicate it to others. So here is an attempt at a definition that you should be able to understand with a little bit of thought:
Although the previous definition contains a few terms that might be new to you, it should take you a little closer to understanding how the EJB architecture helps you build enterprise applications.
The application server that was mentioned in the definition is typically built by a third party and installed into your environment.
There are other characteristics that you will need to understand when building enterprise applications using EJBs. These include such things as scalability, multi-user, load balancing, fault-tolerance, and many more. The problem is that there is so much to learn that you will have an easier time grasping all these concepts if you are exposed to them at the right pace and at the right time. That's one of the main goals of this book: to introduce concepts gradually and when it makes sense to introduce them. Learning Enterprise JavaBeans can sometimes seem overwhelming because of the supporting concepts and technologies that accompany it. Hopefully, you will learn by the time you are finished with this book that one of the greatest benefits from using EJB and its supporting technologies is that much of the infrastructure is provided for you.