0% found this document useful (0 votes)
44 views

Introduction To Java EE

Introduction to (tm) Java EE (J2EE) Ramesh Parthasarathy Sun Microsystems Introduction to Java EE Sun Proprietary / Confidential: Internal Use Only 1 Session Objectives Getting a big picture of Java EE Architecture Understanding the value propositions ofjava EE.

Uploaded by

Sandeep Thamke
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Introduction To Java EE

Introduction to (tm) Java EE (J2EE) Ramesh Parthasarathy Sun Microsystems Introduction to Java EE Sun Proprietary / Confidential: Internal Use Only 1 Session Objectives Getting a big picture of Java EE Architecture Understanding the value propositions ofjava EE.

Uploaded by

Sandeep Thamke
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Introduction to

Java EE (J2EE)

Ramesh Parthasarathy
Sun Microsystems

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
1
Session Objectives

• Getting a big picture of Java EE


Architecture
• Understanding the value propositions
of Java EE

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

● developing, deploying and managing

●N-tier, Web-enabled, Server-centric and


Component based Enterprise applications

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
6
The Java™ Platform

Java Technology Java Technology Workgroup High-End


Enabled Devices Enabled Desktop Server Server

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

● Data access logic (and data model)

● System services

• The evolution of enterprise application framework reflects


● How flexibly you want to make changes

● Where the system services are coming from

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
11
Single-Tier ( Mainframe Based)

● Dumb terminals are directly connected to mainframe


● Centralized model (as opposed distributed model)
● Presentation, business logic, and data access are
intertwined in one monolithic mainframe application

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
12
Single-Tier: Pros & Cons
• Pros:
● No client side management is required

● Data consistency is easy to achieve

• Cons:
● Functionality (presentation, data model, business

logic) intertwined, difficult for updates and


maintenance and code reuse

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
13
Two-Tier

SQL
request
Database
SQL
response

● Fat clients talking to back end database


● SQL queries sent, raw data returned

● Presentation,Business logic and Data Model


processing logic in client application

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

HTML request SQL


WEB request Database
Server SQL
HTML response
response

● Thinner client: business & data model separated from presentation


● Business logic and data access logic reside in middle tier server while client
handles presentation
● Middle tier server is now required to handle system services
● Concurrency control, threading, transaction, security, persistence, multiplexing,
performance, etc.

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
16
Three-Tier: Pros and Cons
• Pro:
● More loosely coupled

● Code could be more reusable

• 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

Single tier Multi-tier


 No separation  Separation among
among presentation, presentation,
business logic, business logic,
database database
 Hard to maintain  More flexible to
change, i.e.
presentation can
change without
affecting other tiers

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

● Resource management, Connection pooling

• How to solve this problem?


● Commonly shared container that handles the above system

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

● Container provides system services

• The contract between components and container is defined in a


well-defined but with proprietary manner
• Problem of proprietary solution: Vendor lock-in
• Example: Tuxedo, .NET

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

free for development/deployment


● Use high-end commercial Java EE products for scalability

and fault-tolerance
• Vast amount of Java EE community resources
● Many Java EE related books, articles, tutorials, quality code

you can use, best practice guidelines, design patterns etc.


• Can use off-the-shelf 3rd-party business components

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,

Availability, Management and development tools, and so on


• Freedom to innovate while maintaining the portability of
applications
• Do not have create/maintain their own proprietary APIs

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

model), reliability, performance, tools, and more


● Best of breed of applications and platforms

• Large developer pool

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 ...)

● Download and try Java EE 1.5 Tutorial


● http://java.sun.com/javaee/5/docs/tutorial/doc/

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)

● Excellent out of the box Java EE support

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

● Java EE 1.5 SDK


● http://java.sun.com/javaee/downloads/index.jsp

● Java EE 1.5 Tutorial


● http://java.sun.com/javaee/5/docs/tutorial/doc/

● Sun Developer Network (SDN)


● http://java.sun.com/javaee/5/docs/tutorial/doc/

Introduction to Java EE
Sun Proprietary/Confidential: Internal Use Only
34
NetBeans Resources
● NetBeans IDE Homesite
● http://www.netbeans.org

● NetBeans IDE Tutorials/Articles Master index


● http://www.javapassion.com/netbeans/masterindex.html

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

You might also like