Download J2EE: A Bird`s

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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)