Title: Java 2 Platform Enterprise EditionJ2EE
1Java 2 Platform Enterprise Edition(J2EE) A Model
for Enterprise Application Development Report
from the Java Days ConferenceAthens,Greece
17/01/2002 Nikolaos Th. Korfiatis(nkorf_at_acm.org
)Research AssistantInformation Systems
Technologies LaboratoryDepartment of Management
Science and TechnologyAthens University of
Economics and Business Athens, Greece
2The Platform for Enterprise Solutions
- According to SUN the J2EE platform
- Represents a single standard for implementing and
deploying enterprise applications. - Has been designed through an open process.
- Is engaging a range of enterprise computing
vendors, to ensure that it meets the widest
possible range of enterprise application
requirements. - Addresses the core issues that impede
organizations efforts to maintain a competitive
place in the information economy.
3J2EE Architecture Overview
- The J2EE architecture is designed to provide
server-side and client-side support for - Developing enterprise, multitier applications.
- Providing client services and business logic for
an application, and backend enterprise
information systems - Providing data and knowledge management.
4J2EE Platform Benefits
- With a set of features designed specifically to
expedite the - process of distributed application development,
the J2EE - platform offers several benefits such as
- Simplified architecture and development
- Scalability to meet demand variations
- Integration with existing information systems
- Choices of servers, tools, components
- Flexible security model
5Simplified Architecture and Development
- The J2EE platform supports a simplified,
component-based development model. - Because its based on the Java programming
language and the Java 2 Platform, Standard
Edition (J2SE TM platform), this model offers
Write Once, Run Anywhere portability, supported
by any server product that conforms to the J2EE
standard. - The component-based J2EE development model can
enhance application development productivity in a
number of ways
6Simplified Architecture and Development
- Maps easily to application functionality
- Component-based application models map easily and
flexibly to the functionality desired from an
application. - Component-based design also simplifies
application - maintenance, since components can be
updated and - replaced independently new functionality
can be shimmed into existing
applications simply by updating selected
components.
7Simplified Architecture and Development (2)
- Enables assembly- and deploy-time behaviors
- Components can expect the availability of
standard services in the runtime environment, and
can be dynamically connected to other components
providing well-defined interfaces. - As a result, many application behaviors can be
configured at the time of application assembly or
deployment, without any recoding required.
8Simplified Architecture and Development (3)
- Supports division of labor
- Components help divide the labor of application
development among specific skill sets, enabling
each member of a development team to focus on his
or her ability. - Thus, JSP templates can be created by graphic
designers, their behavior by Java programming
language coders, business logic by domain
experts, and application assembly and deployment
by the appropriate team members. - This division of labor also helps expedite
application maintenance.
9Integrating Existing Enterprise Information
Systems
- The J2EE platform, together with the J2SE
platform, includes a number of industry standard
APIs for access to existing enterprise
information systems. Basic access to these
systems is provided by the following APIs - JDBC TM is the API for accessing relational data
from Java. - The Java Naming and Directory Interface TM (JNDI)
is the API for accessing information in
enterprise name and directory services. - The Java Message Service (JMS) is the API for
sending and receiving messages via enterprise
messaging systems like IBM MQ Series and TIBCO
Rendezvous. - JavaMail TM is the API for sending and receiving
email. - Java IDL is the API for calling CORBA services.
10Support for Business Logic Components
- In the J2EE platform, middle-tier business logic
is implemented in the middle tier as Enterprise
JavaBeans components (also referred to as
enterprise beans). Enterprise beans allow the
component or application developer to concentrate
on the business logic while the complexities of
delivering a reliable, scalable service are
handled by the EJB server. -
- The J2EE platform and EJB architecture have
complementary goals. The EJB component model is
the backbone of the J2EE programming model. The
J2EE plat-form complements the EJB specification
by - Fully specifying the APIs that an enterprise bean
developer can use to implement enterprise beans. - Defining the larger, distributed programming
environment in which enterprise beans are used as
business logic components.
11Scalability
- J2EE containers provide a mechanism that supports
simplified scaling of distributed applications,
without requiring any effort on the part of the
application development team. Because J2EE
containers provide components with transaction
support, database connections, life cycle
management, and other features that influence
performance, they can be designed to provide
scalability in these areas. This can achieved, by
- Providing database connection pooling so
containers can ensure that clients will have
access to data quickly. - By allowing server providers freedom to configure
containers to run on multiple systems. Web
containers can be implemented to perform
automatic load balancing as the demand for a
particular application fluctuates.
12Choice of Servers, Tools, and Components
- The J2EE standard and J2EE brand are central to
creating a marketplace for servers, tools, and
components. The J2EE brand on a server product
ensures the kind of ubiquity thats fundamental
to the goals of the J2EE platform. In addition,
J2EE - standards ensure a lively marketplace for tools
and components. - A range of server choicesApplication
development organizations can expect J2EE branded
platforms from a variety of vendors, providing a
range of choices in hardware platforms, operating
systems, and server configurations. This ensures
that businesses get a choice of servers
appropriate to the strategic purpose of the
applications they need. - Designed for tool support
- Both EJB and JSP components are designed to be
manipulated by graphical development tools, and
to allow automating many of the application
development tasks traditionally requiring the
ability to write and debug code. -
13Choice of Servers, Tools, and Components
- Both J2EE server providers and third-party
tool developers can develop tools that conform to
J2EE standards and support various application
development tasks and styles. Application
developers get a choice of tools to manipulate
and assemble components, and individual team
members may choose tools that suit their specific
requirements best. - A marketplace for componentsComponent-based
design ensures that many types of behavior can be
standardized, packaged, and reused by any J2EE
application. Component vendors will provide a
variety of off-the-shelf component solutions,
including accounting beans, user interface
templates, and even vertical market functionality
of interest in specific industries. Application
architects get a choice of standardized
components to handle common or specialized tasks.
14Simplified, Unified Security Model
- The J2EE security model is designed to support
single sign-on access to application services.
Component developers can specify the security
requirements of a component at the method level,
to ensure that only users with appropriate
permissions can access specific data operations. -
- While the EJB and Java Servlet APIs both provide
mechanisms for building security checks into
code, the basic mechanism for matching users with
roles (groups of users having specific
permissions) is performed entirely at application
deployment time. This provides both greater
flexibility and better security control.
15 Summary
- The challenge to IT professionals today is to
efficiently develop and deploy distributed
applications for use on both corporate intranets
and over the Internet. Companies that can do this
effectively will gain strategic advantage in the
information economy. - The Java 2 Platform, Enterprise Edition is a
standard set of Java technologies that streamline
the development, deployment, and management of
enterprise applications. The J2EE platform is
functionally complete in the sense that it is
possible to develop a large class of enterprise
applications using all the range of technologies
that the java language can provide.
16References Resources
- http//www.sun.com/developers/evangcentralSUN
Microsystems Technology Evangelists Main Page. - http//Java.sun.comThe Java Language Reference.
- http//www.maxgoff.com
- Max Goff is a Technology Evangelist for Sun
Microsystems, specializing in various Java
technology-related topics.
17Java 2 Platform Enterprise Edition(J2EE) A Model
for Enterprise Application Development Report
from the Java Days ConferenceAthens,Greece
17/01/2002 Nikolaos Th. Korfiatis(nkorf_at_msn.co
m)Undergraduate StudentDepartment of
Management Science and TechnologyAthens
University of Economics and Business