Introduction To Java EE
Introduction To Java EE
Java EE (J2EE)
™
Ramesh Parthasarathy
Sun Microsystems
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
1
Session Objectives
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
2
Agenda
• What is Java EE?
• Evolution of Enterprise Application Development
Frameworks
• Why Java EE?
• How to get started?
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
3
What is Java EE?
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
4
Enterprise Computing
Key Products
Challenges
Portability Technologies App Servers
Java SE™
Diverse Environments Web Servers
Time-to-market Java EE™ Components
Core Competence XML Databases
Assembly Object to DB tools
Integration
Legacy Systems
Databases
TP Monitors
EIS Systems
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
5
What is Java EE?
● Open and standard based platform for
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
6
The Java™ Platform
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
7
What makes up Java EE?
• API and Technology specifications
• Development and Deployment Platform
• Standard and production-quality implementation
• Compatibility Test Suite (CTS)
• Java EE brand
• Java EE Blueprints
• Sample codes
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
8
Evolution of Enterprise
Application Frameworks
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
9
Evolution of Enterprise Application
Framework
• Single tier
• Two tier
• Three tier (HTML browser and Web server)
• Proprietary application server
• Standard application server
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
10
About Enterprise Applications
• Things that make up an enterprise application
● Presentation logic
● Business logic
● System services
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
11
Single-Tier ( Mainframe Based)
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
12
Single-Tier: Pros & Cons
• Pros:
● No client side management is required
• Cons:
● Functionality (presentation, data model, business
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
13
Two-Tier
SQL
request
Database
SQL
response
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
14
Two-Tier: Pros and Cons
• Pro:
● DB product independence (compared to single-tier model)
• Cons:
● Presentation, data model, business logic are intertwined
(at client side), difficult for updates and maintenance
● Data Model is “tightly coupled” to every client: If DB
Schema changes, all clients break
● Updates have to be deployed to all clients making System
maintenance nightmare
● DB connection for every client, thus difficult to scale
● Raw data transferred to client for processing causes high
network traffic
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
15
Three-Tier
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
16
Three-Tier: Pros and Cons
• Pro:
● More loosely coupled
• Cons:
● Complexity in the middle-tier still need to be
addressed
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
17
Single-Tier vs Multi-Tier
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
18
Monolithic vs Object Oriented
Monolithic Object-based
1 Binary file
Pluggable parts
Recompiled, relinked, Reusable
redeployed every time Enables better design
there is a change Easier update
Implementation separated
from interface
Only interface is published
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
19
Trends
• Moving from single-tier or two-tier to multi-tier
architecture
• Moving from monolithic model to object-based
application model
• Moving from application-based client to HTML-
based client
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
20
Outstanding Issues and Solutions
• Comlexity at the middle tier server still remains
• Duplicate system services still need to be provided for the
majority of enterprise applications
● Concurrency control, Transactions
● Load-balancing, Security
services
● Proprietary versus Open-standard based
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
21
Proprietary Solution
• Use "component and container" model
● Components captures business logic
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
22
Open and Standard Solution
• Use "component and container" model in which container
provides system services in a well-defined and as industry
standard
• Java EE is that standard that also provides portability of code
because it is based on Java technology and standard-based
Java programming APIs
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
23
Why Java EE?
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
24
Platform Values to Developers
• Can use any Java EE implementation for development and
deployment
● Use production-quality standard implementation which is
and fault-tolerance
• Vast amount of Java EE community resources
● Many Java EE related books, articles, tutorials, quality code
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
25
Platform Value to Vendors
• Vendors work together on specifications and then compete in
implementations
● In the areas of Scalability, Performance, Reliability,
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
26
Platform Value to Business
Customers
• Application portability
• Many implementation choices are possible based on various
requirements
● Price (free to high-end), scalability (single CPU to clustered
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
27
How to get started?
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
28
How to get started?
• Learn about different components about Java EE
● EJB
● Servlet
● JSP
● JSF
● Connectors
● JMS
● JMX
● Web Services
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
29
How to get started? (cont ...)
• Download Java EE 1.5 SDK and try sample programs bundled
with it
● http://java.sun.com/javaee/downloads/index.jsp
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
30
How to get started? (cont ...)
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
31
How to get started? (cont ...)
• Try Java EE IDE of your choice.
• Try open source IDE's
● NetBeans IDE 5.5 (netbeans.org)
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
32
Summary
● Java EE is the platform of choice for development
and deployment of n-tier, web-based, transactional,
component-based enterprise applications
● Java EE is standard-based architecture
● Java EE is all about community
● Java EE evolves according to the needs of the
industry
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
33
Resources
● Java EE Home page
● http://java.sun.com/javaee
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
34
NetBeans Resources
● NetBeans IDE Homesite
● http://www.netbeans.org
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
35
Questions
Post them to Java EE SDK forum
http://forum.java.sun.com/forum.jspa?forumID=136
Send me an email
[email protected]
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
36
Thank You!
Ramesh Parthasarathy
Sun Microsystems
Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
37