J 2 EE A BirdsEye View Alan L
J 2 EE: A Bird’s-Eye View Alan L. Batongbacal CS 4244 / 01 Nov 2000
What is J 2 EE? • 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 Java. Beans Java Servlets Java Server Pages HTTP / HTTPS Java RMI-IIOP Java. IDL JDBC • Java Naming and Directory Interface • Java. Mail and Java Activation Framework • Java Messaging Service • Java Transaction API
Enterprise Java. Beans • 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
Java. Mail and Java Activation Framework • Provides a high-level API for accessing an e -mail system • Uses service providers for SMTP, IMAP, POP 3 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 • J 2 EE provides interfaces; third-party vendors supply implementations (IBM MQSeries, Progress Sonic. MQ, Fiorano. MQ)
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 Web. Logic IBM Web. Sphere Oracle 8 i 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 J 2 EE 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/j 2 ee/blueprints/ • “Mastering EJB” by Roman (Wiley) • “Developing Java Enterprise Applications” by Asbury and Weiner (Wiley) • “Java Network Programming” by Harold (O’Reilly)
- Slides: 18