|
The J2EE platform is designed to provide
server-side and client-side support for developing enterprise,
multi-tier applications. Such applications are
typically configured as a client tier to provide the user interface, one
or more middle-tier modules that provide client services and business logic for an application, and
backend enterprise information systems providing data management.
|
Application Components
The J2EE runtime environment defines four application component types that a J2EE product must support:
- Application clients are Java programming language programs that are
typically GUI programs that execute on a
desktop computer. Application clients offer a user experience similar to that of native applications, and have access to all of the facilities of the J2EE middle tier.
- Applets are GUI components that typically execute
in a web browser, but can execute
in a variety of other applications or devices that support the applet-programming model. Applets can be used to provide a powerful user interface for J2EE applications
- Servlets, JSP pages, filters, and web event
listeners typically execute in a web server
and may respond to HTTP requests from web clients. Servlets,
JSP pages, and filters may be
used to generate HTML pages that are an application’s user
interface. They may also be used to
generate XML or other format data that is consumed by other application components. Web applications are composed of web components and other data such as HTML pages.
- Enterprise JavaBeans™ (EJB) components execute in a managed environment that supports transactions. Enterprise beans typically contain the business logic for a J2EE application.
J2EE Standard Services
The J2EE standard services include the following. Some of these standard services are actually provided by J2SE.
- HTTP
- The HTTP client-side API is defined by the java.net package. The HTTP server-side API is defined by the servlet and JSP interfaces.
- HTTPS
- Use of the HTTP protocol over the SSL protocol is supported by the same client and server APIs as HTTP.
- Java Transaction API (JTA)
- The Java Transaction API consists of two parts:
- An application-level demarcation interface that is used by the container and application components to demarcate transaction boundaries.
- An interface between the transaction manager and a resource manager used at the J2EE SPI level (in a future release).
- RMI-IIOP
- The RMI-IIOP subsystem is composed of APIs that allow for
the use of RMI-style programming that is
independent of the underlying protocol, as well as an implementation of these APIs that supports both the J2SE native RMI protocol (JRMP) and the CORBA IIOP protocol.
- Java IDL
- JavaIDL allows J2EE application components to invoke external CORBA objects using the IIOP protocol.
- JDBC API
- The JDBC API is the API for connectivity with relational
database systems. The JDBC API has two
parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform.
- Java Message Service (JMS)
- The Java Messaging
Service is a standard API for messaging
that supports reliable point-to-point messaging as well as the publish-subscribe model. This specification requires a JMS provider that implements both point-to-point messaging as well as publish-subscribe messaging.
- Java Naming and Directory
Interface (JNDI)
- The JNDI API is the standard API for naming and directory access. The JNDI API has two parts:
- An application-level
interface used by the application components to access naming and directory services and a service provider interface to attach a provider of a naming and directory service.
- JavaMail
- Many Internet applications require the
ability to send email notifications, so the
J2EE platform includes the JavaMail API along with a JavaMail service provider that allows an application component to send Internet mail. The JavaMail API has two parts:
- An application-level interface used by the application components to send mail, and a service provider interface used at the J2EE SPI level.
- JavaBeans Activation Framework (JAF)
- The JavaMail API makes use of the JAF API, so it must be included as well.
- Java API for XML Parsing (JAXP)
- JAXP provides support for the industry standard SAX and DOM APIs for parsing XML documents, as well as support for XSLT transform engines.
- J2EE Connector Architecture
- The Connector architecture is a J2EE SPI that allows resource
adapters that support access to Enterprise Information
Systems to be plugged in to any J2EE product. The Connector architecture defines a standard set of system-level contracts between a J2EE server and a resource adapter.
- Java Authentication and Authorization Service (JAAS)
- JAAS enables services to authenticate and enforce access controls upon
users. It implements a Java technology version
of the standard Pluggable Authentication Module (PAM) framework, and extends the access control architecture of the Java 2 Platform in a compatible fashion to support user-based authorization.
J2EE Platform Benefits
With a set of features
designed specifically to expedite the process of distributed Application development, the J2EE platform offers several benefits:
- Simplified architecture and development
- Scalability to meet demand variations
- Integration with existing information systems
- Choices of servers, tools, components
- Flexible security model
|