But first, an advisory: we won't be looking at source code or how-to topics this month. This article isn't a tutorial; rather it's an architectural overview. EJB covers a lot of territory, and without first understanding the basic concepts involved, code snippets and programming tricks are meaningless. If there's interest on the part of JavaWorld's readers, future articles may cover the specifics of using the Enterprise JavaBeans API to create your own Enterprise JavaBeans.
In order to understand why EJB is so attractive to developers, we need some historical background. First, we'll look at the history of client/server systems, and at the current state of affairs. Then, we'll discuss the various parts of an EJB system: EJB components -- which live on an EJB container running inside an EJB server -- and EJB objects, which the client uses as a kind of "remote control" of EJB components. We'll go over the two types of EJBs: session and entity objects. You'll also read about home and remote interfaces, which create EJB instances and provide access to the EJB's business methods, respectively. By the end of the article, you'll have an idea of how extensible servers can be built using Enterprise JavaBeans. But first, a look back in time.
Ancient history
In the beginning, there was the mainframe computer. And it was good. (Or as good as it got, anyway.) The state of the art
in information processing through the 1960s consisted primarily of big, expensive machines used by large organizations to
support their daily business operations. Minicomputers and timesharing in the 1970s increased the accessibility of computing
power, but information and processing were still centralized on individual machines. The first personal computers in the 1980s
quickly cluttered the corporate landscape with thousands of tiny islands of information, all tirelessly churning out reports
of variable quality, losing critical data when they crashed, and quickly becoming inconsistent with each other.
Client/server to the rescue
The client/server architecture is one of the most common solutions to the conundrum of how to handle the need for both centralized
data control and widespread data accessibility. In client/server systems, information is kept relatively centralized (or is
partitioned and/or replicated among distributed servers), which facilitates control and consistency of data, while still providing
access to the data users need.
EJBs overviewBy Anonymous on October 17, 2009, 7:19 amProvided a basic understanding of EJB-s. Details of implementation were missing, though I believe that is out of scope for the article.
Reply | Read entire comment
This is an exelent materialBy M.Nadeem Arif on July 16, 2009, 5:48 amThis is an exelent material for understanding of EJB and its related concepts
Reply | Read entire comment
Tutorial is ExcellentBy Anonymous on May 31, 2009, 6:24 amThis tutorial is very simple and best. It is easily understandable for any beginners.
Reply | Read entire comment
The tutorial helped me understand a lot of conceptsBy Anonymous on May 19, 2009, 3:41 amI had an application written using EJB 2.0 and it seemed really hard to understand before i went through tutorial :)
Reply | Read entire comment
EJBs overviewBy Anonymous on May 11, 2009, 11:54 amExcellent tutorial for begginners.The concepts have been explained very well.Written in a very simplified manner.
Reply | Read entire comment
View all comments