New York University
Computer Science Department
Courant Institute of Mathematical Sciences
Introduction to Enterprise JavaBeans
Course Title: Application Servers Course Number: g22.3033-011
Instructor: Jean-Claude Franchitti Session: 6
Enterprise JavaBeans (EJB) is the server-side component-based middleware standard for Java. The specification, led and driven by Sun with participation from many key industry vendors, aims at unifying application server vendors to support a standard architecture so that compliant business applications are not only platform independent, but vendor independent.
EJB is intended for complex distributed systems that use a purchased application server to handle the ‘plumbing’, or low-level technical workload. Encapsulation and separation of the technical services layer from the business application layer allows application developers to focus on solving business problems.
q Decreases time to market. EJB greatly simplifies development of complex distributed transactional systems by shielding application builders and architects from the complexity of distributed transactional systems and enabling business-focused design and implementations.
q Horizontally scalable. With its distributed architecture, EJB is designed to take advantage of more machines as needed without requiring changes to or redesign of the business application.
q Reduces vendor and platform dependence. Being a Java technology, EJB provides a standard mechanism for developing component-based applications regardless of the platform or software vendor used. This allows, for instance, development of a large UNIX-based system to take place in an inexpensive NT environment.
q Promotes sound architecture. EJB by specification separates data access, business logic, and presentation into separate layers for maximum flexibility and maintainability.
q Broad industry adoption. The specification was the joint effort of industry leaders. As EJB takes hold, it will provide the foundation for a rich COTS server-side component market.
q Promotes Reuse. Being component-based and object-oriented, EJB promotes project and enterprise level reuse and consistency.
q Not yet widely proven. Being a new technology, EJB has yet to amass significant numbers of successful deployment examples. Based on the number of current and announced commercial application server implementations, Sun expects EJB to be widely adopted by the end of 1999.
q Performance behind competing technologies. Because of Java’s architecture, native-compiled languages and architectures will perform better for the foreseeable future. New Java compilers and faster hardware, however, continue to bring Java closer to the C++ performance bar.
q Possible learning curve. While EJB is simple enough for Java developers to ramp up quickly, non-Java developers will have the added learning curve of a new language.
EJB provides a component-based approach to application
development and competes with COM/COM+ as well as non-component based
approaches such as native C++. These competing technologies benefit in
performance from system-specific optimizations, whereas EJB benefits in
time-to-market and platform independence by separation from the runtime
Because EJB is a standard implemented by application server venders, several important system services are provided as standard fare in an EJB system. Custom developing these services for a project would add significant expense and greatly extend the time to market. Outlined below are just a few of these services:
q Data access and integrity. Storage and retrieval of the application data is handled in a manner to ensure accuracy and consistency, even in the face of system failure.
q Security. Application servers ensure that unauthorized users cannot access the system.
q Scalability. EJB applications can be easily adjusted to take advantage of added computing power when the need arises.
Just one year since its introduction, several application servers implement all or part of the EJB specification, and many more have announced plans to support EJB in upcoming product versions. Major application server vendors such as BEA, Persistence and IBM currently have EJB offerings, and dozens more have registered with Sun to implement EJB in their next version.