| Java
2 Platform (J2EE) |
 |
| The
Platform for Enterprise Solutions |
 |
| The Java 2 Platform, Enterprise
Edition (J2EE) defines the standard for developing
multitier enterprise applications. J2EE simplifies
enterprise applications by basing them on
standardized, modular components, by providing
a complete set of services to those components,
and by handling many details of application
behavior automatically, without complex programming.
|
 |
| The Java 2 Platform, Enterprise
Edition, takes advantage of many features
of the Java 2 Platform, Standard Edition,
such as "Write Once, Run Anywhere"
portability, JDBC API for database access,
CORBA technology for interaction with existing
enterprise resources, and a security model
that protects data even in internet applications.
Building on this base, Java 2 Enterprise Edition
adds full support for Enterprise JavaBeans
components, Java Servlets API, JavaServer
PagesTM and XML technology. The J2EE standard
includes complete specifications and compliance
tests to ensure portability of applications
across the wide range of existing enterprise
systems capable of supporting J2EE. |
 |
| Making
Middleware Easier |
 |
| Today's enterprises gain competitive
advantage by quickly developing and deploying
custom applications that provide unique business
services. Whether they're internal applications
for employee productivity, or internet applications
for specialized customer or vendor services,
quick development and deployment are key to
success. |
 |
| Portability and scalability
are also important for long term viability.
Enterprise applications must scale from small
working prototypes and test cases to complete
24 x 7, enterprise-wide services, accessible
by tens, hundreds, or even thousands of clients
simultaneously. |
 |
| However, multi tier applications
are hard to architect. They require bringing
together a variety of skill-sets and resources,
legacy data and legacy code. In today's heterogeneous
environment, enterprise applications have
to integrate services from a variety of vendors
with a diverse set of application models and
other standards. Industry experience shows
that integrating these resources can take
up to 50% of application development time.
|
 |
| As a single standard that can
sit on top of a wide range of existing enterprise
systems -- database management systems, transaction
monitors, naming and directory services, and
more -- J2EE breaks the barriers inherent
between current enterprise systems. The unified
J2EE standard wraps and embraces existing
resources required by multi tier applications
with a unified, component-based application
model. This enables the next generation of
components, tools, systems, and applications
for solving the strategic requirements of
the enterprise. |
 |
| With simplicity, portability,
scalability and legacy integration, J2EE is
the platform for enterprise solutions. |
 |
| The
Standard with Industry Momentum |
 |
| While Sun Microsystems invented
the Java programming language and pioneered
its use for enterprise services, the J2EE
standard represents a collaboration between
leaders from throughout the enterprise software
arena. Our partners include OS and database
management system providers, middleware and
tool vendors, and vertical market applications
and component developers. Working with these
partners, Sun has defined a robust, flexible
platform that can be implemented on the wide
variety of existing enterprise systems currently
available, and that supports the range of
applications IT organizations need to keep
their enterprises competitive. |
 |
| A
New Model for Enterprise Applications |
 |
| The Java BluePrints Design Guidelines
for J2EE describe the J2EE application model
and best practices for using J2EE. Building
on the Java 2 Platform, Enterprise Edition,
the J2EE application model provides a simplified
approach to developing highly scalable and
highly available internet or intranet based
applications. |
 |
| |
 |
 |
| Thanks to the J2EE application
model, maybe the most interesting thing about
Java 2 Enterprise Edition applications is
what they don't do. That is, various complexities
inherent in enterprise applications -- transaction
management, life-cycle management, resource
pooling -- are built into the platform and
provided automatically to the components it
supports. Component and application developers
are free to focus on specifics such as business
logic and user interfaces. |
 |
| Another advantage of J2EE is
that the application model encapsulates the
layers of functionality in specific types
of components. Business logic is encapsulated
in Enterprise JavaBeans (EJB) components.
And client interaction can be presented through
plain HTML web pages, through web pages powered
by Java technology-based applets, Java Servlets
API, or JavaServer Pages technology, or through
stand-alone Java applications. Components
communicate transparently using various standards:
HTML, XML, HTTP, SSL, RMI, IIOP, and others.
|
 |
| Reusable J2EE components mean
competitive choices for enterprise developers
and IT organizations. J2EE will enable them
to assemble applications from a combination
of standard, commercially available components
and their own custom components. From general
business application components to vertical
market solutions, a range of standardized
Java 2 Enterprise Edition functionality is
expected to be available off the shelf. |
 |
| This means that an e-commerce
site could be built using a combination of
off-the-shelf EJB components for shopping
cart behaviors, modified EJB components for
specialized customer services, and completely
customized layouts using JavaServer Pages
technology that bring a unique look and feel
to the site. |
 |
| This approach means
faster development time, better quality and
maintainability, and portability across a
range of enterprise platforms. The bottom
line benefits are increased programmer productivity,
better strategic use of computing resources,
and greater return on an organization's technology
investments. |
 |
|
Containers and Connectors: Hiding Complexity,
Enhancing Portability |
 |
| |
 |
The J2EE application
model divides enterprise applications
into three fundamental parts: components,
containers, and connectors. Components
are the key focus of application developers,
while system vendors implement containers
and connectors to conceal complexity
and promote portability. |
 |
| Containers intercede between clients
and components, providing services transparently
to both, including transaction support
and resource pooling. Container mediation
allows many component behaviors to be
specified at deployment time, rather
than in program code. |
 |
| Connectors sit beneath the J2EE platform,
defining a portable service API to plug
into existing enterprise vendor offerings.
Connectors promote flexibility by enabling
a variety of implementations of specific
services |
|
 |
| Flexible
User Interaction |
 |
| J2EE provides choices for graphical
user interfaces across a company's intranet
or on the world wide web. Clients can run
on desktops, laptops, PDA's, cell phones,
and other devices. Pure client-side user interfaces
can use standard HTML and Java applets. Support
for simple HTML means quicker prototypes,
and support for a broader range of clients.
Additionally, J2EE supports automatic download
of the Java PlugIn to add applet support where
it's lacking. J2EE also supports stand-alone
Java application clients. |
 |
| For server-side deployment of
dynamic content, J2EE supports both Java servlets
API and JavaServer Pages (JSP) technology.
The Java Servlets API enables developers to
easily implement server-side behaviors that
take full advantage of the power of the rich
Java API. JavaServer Pages technology combines
the ubiquity of HTML with the power of server-side
scripting in the Java programming language.
The JSP 1.0 specification supports static
templates, dynamic HTML generation, and custom
tags. |
 |
| Enterprise
JavaBeans -- the Flexible Business Component
Model |
 |
| Since it was introduced, Enterprise
JavaBeans (EJB) technology has developed significant
momentum in the middleware marketplace. That's
because it enables a simplified approach to
multitier application development, concealing
application complexity and enabling the component
developer to focus on business logic. And
J2EE is the natural evolution of Enterprise
JavaBeans technology. |
 |
| EJB technology gives developers
the ability to model the full range of objects
useful in the enterprise by defining two distinct
types of EJB components: Session Beans and
Entity Beans. Session Beans represent behaviors
associated with client sessions -- for example,
a user purchase transaction on an e-commerce
site. Entity Beans represent collections of
data -- such as rows in a relational database
-- and encapsulate operations on the data
they represent. Entity Beans are intended
to be persistent, surviving as long as the
data they're associated with remains viable.
|
 |
| J2EE extends the power and portability
of EJB components by defining a complete infrastructure
that includes standard clients and service
APIs for their use. |
 |
| A Model for Expediting
Development |
 |
| Based on these flexible component
configurations, the J2EE application model
means quicker development, easier customization
and greater ability to develop powerful enterprise
applications. And, because it's based on the
Java programming language, this model enables
all J2EE applications achieve all the benefits
of Java technology: scalability, portability,
and programming ease. |
 |
| Setting
the Standard for Enterprise Applications |
 |
| Sun Microsystems set a new standard
for client-side computing with the Java 2
Platform, Standard Edition. That experience,
plus input from enterprise software vendors
and developers, has led to a full support
program for the Java 2 Platform, Enterprise
Edition standard, including four specific
deliverables: - The Java 2 Platform, Enterprise
Edition specification - A complete J2EE reference
implementation - The J2EE Java BluePrint -
A Compatibility Test Suite to validate the
J2EE brand. |
 |
| Java
2 Platform, Enterprise Edition Specification
|
 |
| Subjected to close scrutiny
and feedback from a variety of enterprise
technology leaders and the industry at large,
the Java 2 Platform, Enterprise Edition Specification
defines a consistent yet flexible approach
to implementing the platform. The J2EE specification
enumerates the APIs to be provided with all
J2EE platforms and includes full descriptions
of the support levels expected for containers,
clients, and components. It defines a flexible
standard that can be built on either a single
system or deployed across several servers,
each providing a specific set of J2EE support
services. This means a wide range of existing
enterprise systems already in use throughout
industry will be able to support the Java
2 Platform, Enterprise Edition. |
 |
| J2EE
Reference Implementation |
 |
| Key to validating the Java 2
Platform, Enterprise Edition, the J2EE Reference
Implementation provides all the specified
technologies, plus a range of sample applications,
tools, and documentation. This lightweight
implementation of the J2EE standard is provided
for two purposes. First, it provides system
vendors with a standard by which to compare
their own implementations. Second, it provides
application developers with a way to familiarize
themselves with J2EE technology as they explore
commercial products for full-scale deployment
of J2EE applications. |
 |
| J2EE
Compatibility Test Suite |
 |
| By providing a means to fully
test implementations of the platform standard,
the Compatibility Test Suite ensures consistent
implementation across various vendor offerings.
For application developers, this means full
portability for enterprise applications. The
suite includes tests for all classes and methods
required by the J2EE specification. It also
includes end-to-end tests to check that all
layers of a J2EE application will interact
correctly and consistently. |
 |
| Java
BluePrints Design Guidelines for J2EE |
 |
| Provided as both documentation
and complete examples, the Java BluePrints
Design Guidelines for J2EE will describe and
illustrate "best practices" for
developing and deploying component based enterprise
applications in J2EE. Topics explored will
include component design and optimization,
division of development labor, and allocation
of technology resources. |
 |
| Sun
Professional Services for J2EE developers
|
 |
| In addition to the J2EE deliverables,
Sun offers a range of services to help enterprises
adopt the J2EE standard. The J2EE Boot Camp
gives your team experience implementing a
distributed application with J2EE technology.
The J2EE Readiness Assessment evaluates your
current Java applications and provides a roadmap
for migration to the J2EE standard. The J2EE
Inception Service starts with your requirements
to develop a plan to help initiate the J2EE
application design process. And the J2EE Application
Design and Deployment Service lets your team
work directly with Sun architects to undertake
J2EE application development |
 |
| The
Enterprise Standard with a Future |
 |
| While J2EE 1.0 defines a powerful
new model for implementing enterprise applications,
the world of enterprise computing continues
to evolve. And Sun Microsystems is already
planning to evolve J2EE to keep pace, with
full Java Message Service API support, additional
integration of XML, the ability to interact
with business objects developed in COM, and
a standard API for building J2EE services
on an expanding variety of existing information
systems. |
 |
| J2EE Standard Enterprise Services
|
 |
| In addition to providing support
for Enterprise JavaBeans, Java Servlets and
JavaServer Pages components, the Java 2 Platform,
Enterprise Edition specification defines a
number of standard services for use by J2EE
components. |
 |
| |
 |
| Java
Naming and Directory InterfaceTM API |
 |
| Designed to standardize access
to a variety of naming and directory services,
the Java Naming and Directory Interface (JNDI)
API provides a simple mechanism for J2EE components
to look up other objects they require. |
 |
| JDBC
API |
 |
| JDBC API enables applications
to manipulate existing data from relational
databases and other data repositories. J2EE
includes the latest implementation of JDBC
API -- version 2.0. This new technology includes
handling of SQL User-Defined Types (UDTs),
rowset manipulation, connection pooling, and
distributed transactions support. |
 |
| JavaMail
API |
 |
| J2EE includes JavaMail to support
applications such as e-commerce websites.
The JavaMail API provides the ability to send
order confirmations and other user feedback.
|
 |
| CORBA
Compliance |
 |
| J2EE supports two CORBA-compliant
technologies: JavaIDL and RMI-IIOP. JavaIDL
enables Java applications to interact with
any CORBA-compliant enterprise system. RMI-
IIOP technology combines the programming ease
of the Java Remote Method Invocation API (RMI)
with CORBA's Internet Inter-ORB Protocol (IIOP)
for easier integration of J2EE applications
with legacy applications. |
 |
| Java
Transaction API |
 |
| While J2EE provides transaction
support automatically, the Java Transaction
API (JTA) provides a way for J2EE components
and clients to manage their own transactions
and for multiple components to participate
in a single transaction. |
 |
| XML
Deployment Descriptors |
 |
| J2EE defines a set of descriptors
in the universal data language, XML. With
its ability to support both standard and custom
data types, XML makes it easier to implement
customizable components and to develop custom
tools. |
 |
| Java
Message Service |
 |
| The Java Message Service (JMS)
API defines a standard mechanism for components
to send and receive messages asynchronously,
for fault-tolerant interaction. JMS is optional
for J2EE release 1.0. |
 |