230 likes | 249 Views
EJB Roadmap. 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
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