Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
J2EE: A Bird’s-Eye View Alan L. Batongbacal CS 4244 / 01 Nov 2000 What is J2EE? • A set of Java-related software practices and technologies for building enterprise-class applications • Emphasis on availability, security, reliability and scalability • Multi-tiered application model Why use multiple tiers? • Enterprises spread across multiple geographic and organization boundaries • Pendulum has swung from data center to desktop to somewhere in-between Component Technologies • • • • • • • Enterprise JavaBeans Java Servlets Java Server Pages HTTP / HTTPS Java RMI-IIOP JavaIDL JDBC • Java Naming and Directory Interface • JavaMail and Java Activation Framework • Java Messaging Service • Java Transaction API Enterprise JavaBeans • Partition app construction task by role • Shift much of development burden to bean containers by taking advantage of container services • Select desired services declaratively • Support non-persistent (session) and persistent (entity) usage EJB App Construction Roles • • • • • • Bean provider Container provider Server provider Application assembler Application deployer System administrator EJB Container Services • Implicit: distributed transaction management, security, resource management and component lifecycle, persistence, remote accessibility, multiclient support, component location transparency • Explicit: naming and directory services Java RMI-IIOP • Java RMI uses Java Remote Method Protocol (JRMP) as its default comm layer • Internet Inter-ORB Protocol (IIOP) is the standard protocol used by CORBA • Provides greater reusability, cross-language use, better integration into legacy systems, firewall navigation and context propagation Java IDL • Addresses semantic differences between RMI and CORBA relating to distributed garbage collection, object conversion and type mapping JDBC • Provides access to most database management systems via SQL • Similar, though not identical to Microsoft ODBC Java Naming and Directory Interface • Provides a unified API for associating names with objects, accessing objects by their names and associating attributes with objects • Acts as an adapter to LDAP, Novell NDS, Sun NFS, Java RMI and both Unix-style and DOS-style file systems JavaMail and Java Activation Framework • Provides a high-level API for accessing an e-mail system • Uses service providers for SMTP, IMAP, POP3 and other protocols • JAF provides means to describe and display content of varying types Java Messaging Service • Provides an API for message-based interprocess communications • Supports point-to-point and publish/subscribe models • J2EE provides interfaces; third-party vendors supply implementations (IBM MQSeries, Progress SonicMQ, FioranoMQ) Java Transaction API • Low-level API for defining units of work and maintaining the logical integrity thereof • Not explicitly used by EJB programmers EJB Container/Server Implementations • • • • • • Reference implementation from Sun BEA Systems WebLogic IBM WebSphere Oracle 8i enhydra.org openejb.org Future Directions • • • • • Updates to EJB, Servlet and JSP specs Addition of JAXP, JAAS Addition of message-driven bean type Addition of J2EE Connector Architecture Improvements to container-managed persistence Other Technologies • Common Object Request Broker Architecture (CORBA) • Microsoft COM/DCOM, COM+, .NET Additional Reading • “Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition”, http://java.sun.com/j2ee/blueprints/ • “Mastering EJB” by Roman (Wiley) • “Developing Java Enterprise Applications” by Asbury and Weiner (Wiley) • “Java Network Programming” by Harold (O’Reilly)