230 likes | 258 Views
Explore the comprehensive roadmap for EJB 2.0, covering integration with JMS, persistence enhancements, and support for relationships among EJBs. Dive into the details of inheritance, query syntax, container extensions, and more.
E N D
Java 2 Enterprise Edition • Platform specification • Reference implementation (RI) • Application programming model (APM) • Compatibility test suite (CTS)
J2EE Status and Schedule • J2EE Platform Specification • Public Draft June 15 • Public Release July 1999 • Final Release December 1999 • J2EE RI & CTS • Beta September 1999 • FCS December 1999 • J2EE APM document • Public Draft August 1999 • Sample App Beta August 1999
Enterprise JavaBeans 2.0 Specification • Integration of Enterprise JavaBeans with the Java Message Service™ (JMS) • Improved support for entity beans persistence • support for relationships among EJBs • Support for inheritance and subclassing of Enterprise JavaBeans • Query syntax for entity bean finder methods • support for additional methods in the Home Interface • Mechanisms for container extensions • EJB Server network interoperability protocol
Integration of EJB with JMS • JMS is an API for accessing enterprise messaging systems from Java programs • JMS integration is needed to allow • Enterprise JavaBeans to be invoked asynchronously from clients • EJBs to interoperate with legacy systems that use JMS for integration • use of disconnected clients with Enterprise JavaBeans • use of Enterprise JavaBeans within publish/subscribe configurations
Improved Support for Persistence for Entity Beans • Define a standard interface between the container and the persistent storage mechanism • insure that a bean developed on one EJB server can be portably deployed in a different server environment with a different • persistent storage facility • set of tools • database • enable tools to operate across the containers of multiple vendors
Support for Relationships among Enterprise JavaBeans • The bean provider in EJB 1.1 is responsible for • management of 1-1, 1-n, and m-n associations among enterprise beans • management of relationships between enterprise beans and their dependent objects • Capture information about relationships so that it can be made available at • deployment time • run time
Support for Inheritance and Subclassing of Enterprise JavaBeans • EJB currently supports class inheritance but not component inheritance • Subclassing of components being considered for EJB 2.0 • unclear how object persistence will be implemented • practical advantages unclear
Query Syntax for Entity Bean Finder Methods • Define a format for specifying the query criteria or the selection predicates that are to be used by finder method implementations • support the definition of portable finder methods
Mechanisms for Container Extensions • Interceptors are methods the container invokes during the bean invocation protocol • provides a portable means for specializing the behavior of the container for specific operational environments • reduces the need for specialized containers
Support for Additional Methods in the Home Interface • Currently no means for adding methods independent of individual bean instances (other than create and finder methods) • home methods are similar to static members in traditional OO • can be used, for example, to support bulk update operations
EJB Server Network Interoperability Protocol • Movement towards requiring RMI/IIOP • Complete the mapping of EJB via RMI/IIOP by specifying support for interoperable security and naming • supports network interoperability among CORBA-based EJB server implementations
Not Planned for EJB 2.0 • Portable, security solution • vendors must implement their own custom solutions
EJB Release Schedule • Release 1.0 • March 98, Final • Release 1.1 • May 99, Public Draft • Q3 99, Public Release • Q4 99, Final Release • Release 2.0 • Year 2000
EJB Summary • EJB server implementations lag behind proprietary application servers in • support for distributed transactions • security • EJB supports development of “Write Once, Run AnywhereTM” Java applications • issues exist porting between EJB servers
What are the Alternatives? • Microsoft Transaction Server (MTS) • Vendor suites • database vendors (I.e., Oracle, Sybase) • transaction manager (I.e., BEA Tuxedo) • Web vendors (I.e., Netscape) • Custom integration of Java technologies • Enterprise Resource Planning (I.e., SAP, PeopleSoft, Baan, IBM San Francisco)
Microsoft Transaction Server (MTS) • Microsoft proprietary solution • only runs on Windows NT • based on the Component Object Model (COM) • interfaces to broad range of databases • will support active directory (clustering) in Windows 2000 • Efficient, low-cost solution on Microsoft platform • “feel the power of the dark side of the force”
Vendor Suites • Application servers that do not adhere to an EJB specification • application programming language usually C++ but may also be Java • typically provides support for distributed transactions, security, failover, replication • database, transactions, Web vendors have different strengths • Allows the development of large, complex enterprise systems • risk of vendor lock
Custom Integration • Best-of-breed integration of components • control own architecture • allows flexibility in selection of components that meet specific requirements • components can be incrementally upgraded • Greater degree of control and flexibility but • requires greater expertise in infrastructure technologies • greater investment in time and $$$ • integrating products from different vendors can be problematic
Enterprise Resource Planning (ERP) • Vertically integrated domain-specific frameworks • includes business processes • often difficult to integrate with legacy systems • usually does not consist of the latest and greatest technologies • Offers business solution • may require the adoption of business processes • trades flexibility for complete solution
Conclusion • EJB can be used to build scalable, platform-neutral, multi-tier applications, but only if you avoid product-specific features • EJB is still rapidly evolving -- look for stability elsewhere • EJB is the keystone of Sun’s Java 2 Enterprise Edition
For More Information... • Telephone 412 / 268-5800 • Fax 412 / 268-5758 • Email rcs@sei.cmu.edu • kcw@sei.cmu.edu • jer@sei.cmu.edu • scd@sei.cmu.edu • World Wide Web http://www.sei.cmu.edu • U.S. mail Customer Relations Software Engineering Institute Carnegie Mellon Pittsburgh, PA 15213-3890