Using Java Beans to handle business logic
Published: 06 Mar 2003 14:21 GMT
The EJB component model conforms to most of the characteristics that we specified for software components:
- Autonomous -- An EJB can perform its work independent of most other components or applications. However, an EJB must be executed inside of an EJB container.
- Dynamically-discoverable -- EJB uses JNDI for locating home interfaces, business methods, and metadata.
- Business process -- EJB components are encapsulated business processes by definition.
- Consist of externally published interfaces -- EJB uses Java interfaces to specify its business methods.
- Usable for building other components or applications -- As with basic software components, EJB can be aggregated to form more complex functionality.
The EJB component model also adds a number of important component-model features that make it even more appealing as a middleware component, such as transactions, security, and database connectivity.
Transaction points and data access points often surface around business logic components in a distributed system. These aspects make EJB a good technology to use for middleware business-logic components.
EJB and the mojo of POJO
EJB has traditionally been called upon when access to business logic was spread across physical boundaries or across JVM boundaries and remote procedure calls made sense. However, since the introduction of local interfaces to the EJB specification, EJB offers a convenient way to expose business logic to objects and components residing on the same physical tier and within the same JVM.
The flexibility of accessing an EJB component using a remote or local interface opens up a number of architectural possibilities. For example, depending upon our business needs, we can call EJB remotely from the presentation tier or locally from other plain-old Java objects (POJO) on the business tier, as Figure B illustrates.
| Figure B |
![]() |
The flexibility of EJB access enables you to employ the composition principles to build logical components out of multiple JavaBeans and one or more POJO. Let's take a look at a simple EJB app that exposes a user account with one business method. The remote interface of the account JavaBean might look something like Listing A. The business-logic class would then look like Listing B. Finally, the client code might look like Listing C.
Imagine now that you want to expose multiple accounts to the presentation tier as one global account. Assuming that you have created EJB for each account, you could use the POJO in Listing D to instantiate each account EJB and present them as one logical account.
Conclusion
We've seen how JavaBeans can be used to build middle-tier business logic and how the EJB component model adds a number of important features for distributed component systems. Future articles will look at how EJB can be used to interact with other objects.
For a weekly round-up of the enterprise IT news, sign up for the Enterprise newsletter.
Tell us what you think in the Enterprise Mailroom.
Full Talkback thread
2 comments
-
HI everybody,
For any kind of javabeans please l... kapil singhal -
ElegantJBeans has a collection of java beans... kapil singhal







