introduction to java ee (j2ee)
DESCRIPTION
Introduction to Java EE (J2EE). Lecture Objectives. Understanding the value propositions of J2EE Getting a big picture of J2EE architecture and platform Getting high-level exposure of APIs and Technologies that constitute J2EE You don't have to understand all the details - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/1.jpg)
1
Introduction to Java EE (J2EE)
![Page 2: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/2.jpg)
2
Lecture Objectives Understanding the value propositions of
J2EE Getting a big picture of J2EE architecture and
platform Getting high-level exposure of APIs and
Technologies that constitute J2EE You don't have to understand all the details
Understanding why J2EE can be used for as a platform for development and deployment of web services
![Page 3: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/3.jpg)
3
ChallengesPortabilityDiverse EnvironmentsTime-to-marketCore CompetenceAssemblyIntegration
Key Technologies
J2SE™
J2EE™
JMS
Servlet
JSP
Connector
XML
Data Binding
XSLT
Products
App Servers
Web Servers
Components
Databases
Object to DB tools
LegacySystems
Databases
TP Monitors
EIS Systems
Enterprise Computing
![Page 4: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/4.jpg)
4
What Is the J2EE? Open and standard based platform for
developing, deploying and managing n-tier, Web-enabled, server-centric, and
component-based enterprise applications
![Page 5: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/5.jpg)
5
The Java™ Platform
High-EndServer
Java Technology Enabled Desktop
WorkgroupServer
Java Technology Enabled Devices
![Page 6: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/6.jpg)
6
The JavaTM Platform
OptionalPackages
Java 2Enterprise
Edition(J2EE)
Java 2StandardEdition(J2SE)
JVM
Java Card APIs
CardVM
OptionalPackages
Personal Basis Profile
Personal Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition(J2METM)
* Under development in JCP
![Page 7: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/7.jpg)
8
Open and Standard Solution Use "component and container" model in
which container provides system services in a well-defined and as industry standard
J2EE is that standard that also provides portability of code because it is based on Java technology and standard-based Java programming APIs
![Page 8: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/8.jpg)
9
Platform Value to Developers
Can use any J2EE implementation for development and deployment Use production-quality standard implementation which is free
for development/deployment Use high-end commercial J2EE products for scalability and
fault-tolerance
Vast amount of J2EE community resources Many J2EE related books, articles, tutorials, quality code you
can use, best practice guidelines, design patterns etc.
Can use off-the-shelf 3rd-party business components
![Page 9: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/9.jpg)
10
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
![Page 10: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/10.jpg)
11
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
![Page 11: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/11.jpg)
12
J2EEAPIs & Technologies
![Page 12: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/12.jpg)
13
J2EE 1.4 APIs and Technologies J2SE 1.4 (improved)
JAX-RPC (new) Web Service for J2EE J2EE Management J2EE Deployment JMX 1.1 JMS 1.1 JTA 1.0
Servlet 2.4 JSP 2.0 EJB 2.1 JAXR Connector 1.5 JACC JAXP 1.2 JavaMail 1.3 JAF 1.0
![Page 13: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/13.jpg)
14
Java EE 5 JAX-WS 2.0 & JSR 181 Java Persistence EJB 3.0 JAXB 2.0 JavaSever Faces 1.2 – new to Platform JSP 2.1 – Unification w/ JSF 1.2 StAX – Pull Parser – new to Platform
![Page 14: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/14.jpg)
15
Servlet & JSP (JavaServer Pages)
![Page 15: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/15.jpg)
16
What is a Servlet? Java™ objects which extend the functionality
of a HTTP server Dynamic contents generation Better alternative to CGI, NSAPI, ISAPI, etc.
Efficient Platform and server independent Session management Java-based
![Page 16: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/16.jpg)
17
What is JSP Technology? Enables separation of business logic
from presentation Presentation is in the form of HTML or
XML/XSLT Business logic is implemented as Java Beans
or custom tags Better maintainability, reusability
Extensible via custom tags Builds on Servlet technology
![Page 17: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/17.jpg)
18
EJB(Enterprise Java
Beans)
![Page 18: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/18.jpg)
19
What is EJB Technology? A server-side component technology Easy development and deployment of Java
technology-based application that are: Transactional, distributed, multi-tier, portable,
scalable, secure, …
![Page 19: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/19.jpg)
20
Why EJB Technology?● Leverages the benefits of component-model
on the server side● Separates business logic from system code
Container provides system services● Provides framework for portable components
Over different J2EE-compliant servers Over different operational environments
● Enables deployment-time configuration Deployment descriptor
![Page 20: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/20.jpg)
21
EJB Architecture
![Page 21: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/21.jpg)
22
Enterprise JavaBeansEnterprise JavaBeans
Entity Bean Message-Driven Bean
Synchronous communication Asynchronous communication
Stateless Stateful
Bean managedPersistence
(BMP)
Container managedPersistence
(CMP)
Session Bean
![Page 22: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/22.jpg)
23
JMS(Java Message
Service)
![Page 23: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/23.jpg)
24
Java Message Service (JMS) Messaging systems (MOM) provide
De-coupled communication Asynchronous communication Plays a role of centralized post office
Benefits of Messaging systems Flexible, Reliable, Scalable communication
systems Point-to-Point, Publish and Subscribe JMS defines standard Java APIs to
messaging systems
![Page 24: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/24.jpg)
25
Connector Architecture
![Page 25: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/25.jpg)
26
Connector Architecture Defines standard API for integrating J2EE
technology with EIS systems CICS, SAP, PeopleSoft, etc.
Before Connector architecture, each App server has to provide an proprietary adaptor for each EIS system m (# of App servers) x n (# of EIS's) Adaptors
With Connector architecture, same adaptor works with all J2EE compliant containers 1 (common to all App servers) x n (# of EIS's) Adaptors
![Page 26: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/26.jpg)
27
m x n Problem Before Connector Architecture
AppServer1
AppServer
AppServer3
AppServer2
SAP
EIS4
EIS3
m n
EIS2
![Page 27: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/27.jpg)
28
JAAS (Part of J2SE 1.4)(Java Authentication &Authorization Service)
![Page 28: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/28.jpg)
29
JAAS: Authentication Pluggable authentication framework
Userid/password Smartcard Kerberos Biometric
Application portability regardless of authentication schemes underneath JAAS provides authentication scheme independent API Authentication schemes are specified Login configuration
file, which will be read by JAAS
![Page 29: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/29.jpg)
30
JAAS Pluggable Authentication
![Page 30: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/30.jpg)
31
Other J2EE APIs &Technologies
![Page 31: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/31.jpg)
32
JNDI Java Naming and Directory Interface
Utilized by J2EE applications to locate resources and objects in portable fashion Applications use symbolic names to find object
references to resources via JNDI The symbolic names and object references have
to be configured by system administrator when the application is deployed.
![Page 32: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/32.jpg)
33
JDBC
Provides standard Java programming API to relational database
Uses SQL
Vendors provide JDBC compliant driver which can be invoked via standard Java programming API
![Page 33: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/33.jpg)
34
J2EE Management (JSR-77) Management applications should be able to
discover and interpret the managed data of any J2EE platform
Single management platform can manage multiple J2EE servers from different vendors
Management protocol specifications ensure a uniform view by SNMP and WBEM management stations
Leverages JMX
![Page 34: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/34.jpg)
35
J2EE Deployment (JSR-88) - J2EE 1.4
Tools J2EE PlatformsStandard
Deployment API(Universal Remote)
IDEs
Vendor Deploy Tools
Management Tools
![Page 35: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/35.jpg)
36
J2EE App ServerApp
JMX
JMX
JMX defacto
Dynamic DeploymentJMX API into the J2EE 1.4 platform
A single technology for the J2EE platform
JMX
![Page 36: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/36.jpg)
37
J2EE is an End-to-EndArchitecture
![Page 37: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/37.jpg)
39
N-tier J2EE Architecture
Web Tier EJB Tier
![Page 38: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/38.jpg)
40
J2EE J2EE Component & ContainerComponent & Container
ArchitectureArchitecture
![Page 39: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/39.jpg)
41
JN
DI
J2SE
JM
S
RM
I/IIO
P
JD
BC
Database
AppClient
App Client Container
HTTP/HTTPS
J2SE
RMI
J2SE
JN
DI
JM
S
RM
I/IIO
P
JD
BC
JT
A JavaMail
JAF JN
DI
JM
S
RM
I/IIO
P
JD
BC
JT
A
JavaMail
JAF
HTTP/HTTPS
Applet Container
Applet JSP Servlet EJB
Web Container EJB Container
RMI
J2SE
J2EE Containers & Components
![Page 40: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/40.jpg)
42
ComponentsHandle
Concurrency Security Availability Scalability Persistence Transaction Life-cycle
management Management
Presentation Business Logic
ContainersHandle
![Page 41: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/41.jpg)
43
Containers & Components
Containers do their work invisibly– No complicated APIs
– They control by interposition
Containers implement J2EE– Look the same to components
– Vendors making the containers have great freedom to innovate
![Page 42: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/42.jpg)
44
J2EE ApplicationAnatomies
![Page 43: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/43.jpg)
45
DB & EISResources
Browser
Stand-alone
Web Server EJB Server
Web Server EJB Server
Possible J2EE Application Anatomies
![Page 44: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/44.jpg)
46
J2EE Application Anatomies
● 4-tier J2EE applications– HTML client, JSP/Servlets, EJB, JDBC/Connector
● 3-tier J2EE applications– HTML client, JSP/Servlets, JDBC
● 3-tier J2EE applications– EJB standalone applications, EJB,
JDBC/Connector
● B2B Enterprise applications– J2EE platform to J2EE platform through the
exchange of JMS or XML-based messages
![Page 45: Introduction to Java EE (J2EE)](https://reader036.vdocuments.us/reader036/viewer/2022081420/56815ae8550346895dc8acb4/html5/thumbnails/45.jpg)
47
Which One to Use?● Depends on several factors
Requirements of applications Availability of EJB tier Availability of developer resource