Page 3 of 7
Both database and application systems can be enhanced by adding additional tiers to the architecture. So-called three-tier systems place an intermediate component between the client and the server. An entire industry -- middleware -- has cropped up to address the liabilities of two-tier systems. A transaction-processing monitor, one type of middleware, receives streams of requests from many clients, and may balance the load between multiple servers, provide failover when a server fails, and manage transactions on a client's behalf. Other types of middleware provide communications protocol translation, consolidate requests and responses between clients and multiple heterogeneous servers (this is particularly popular in dealing with legacy systems in business process reengineering), and/or provide service metering and network traffic information.
Multiple tiers provide a flexibility and interoperability that has resulted in systems with more than these three layers of service. For example, n-tier systems are generalizations of three-tier systems, each layer of software providing a different level of service to the layers above and beneath it. The n-tier perspective considers the network to be a pool of distributed services, rather than simply the means for a client to accesses a single server.
As object-oriented languages and techniques have come into vogue, so have client/server systems increasingly moved toward object-orientation. CORBA (Common Object Request Broker Architecture) is an architecture that allows objects within applications -- even objects written in different languages -- to run on separate machines, depending on the needs of a given application. Applications written years ago can be packaged as CORBA services and interoperate with new systems. Enterprise JavaBeans, which is designed to be compatible with CORBA, is another entry into the object-oriented application-server ring.
The purpose of this article is not to provide a tutorial on client/server systems, but it was necessary to provide some background in order to define context. Now let's look at what EJB has to offer.
Now that we've looked at a bit of history and have an understanding of what application servers are, let's look at Enterprise JavaBeans and see what it offers in that context.
The basic idea behind Enterprise JavaBeans is to provide a framework for components that may be "plugged in" to a server, thereby extending that server's functionality. Enterprise JavaBeans is similar to the original JavaBeans only in that it uses some similar concepts. EJB technology is governed not by the JavaBeans Component Specification, but by the entirely different (and massive) Enterprise JavaBeans Specification. (See Resources for details on this spec.) The EJB Spec calls out the various players in the EJB client/server system, describes how EJB interoperates with the client and with existing systems, spells out EJB's compatibility with CORBA, and defines the responsibilities for the various components in the system.
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