صفحه 1:
Enterprise
Java EE 5™
Introduction
v100830 Intro to JavaEE 1
صفحه 2:
Goals
* Become familiar with the Java EE
Architecture
~- Understand the purpose of Java SE, Java ME,
and Java EE
- Understand the purpose of each Java EE
Container
~- Understand the purpose of each Java EE API
¢ Understand the difference between an API
and Provider
* Understand there are significant variations
in Java EE architectures
v100830 Intro to JavaEE 2
صفحه 3:
Enterprise
ava
Java Technology Levels
* Java Platform, Standard EditiowiNote: Java Technology has
- Java SE (J2SE) gone through a recent name
~ core language oe 5.0 stayed J2SE 5.0
* Java Platform, Micro Edition | + J2SE 6.0 is called Java SE 6
- Java ME (J2ME) + J2EE 5.0 became java EE 5
- targeted at small devices eee become Java Me
* PDAs
* cell phones
* Java Platform, Enterprise Edition
- Java EE (J2EE)
- targeted at enterprise deployments
* persistence
* distributed systems
* web-based applications
* transactions
vioos30 * Security Intro to JavaEE 3
صفحه 4:
v100830 Intro to JavaEE 4
صفحه 5:
Java EE Architecture
* Does not imply physical partitioning into
machines, processes, etc.
* No “all or nothing” requirement
- use what you need
v100830 Intro to JavaEE
صفحه 6:
Enterprise
ava
Containers
Provide Java EE runtime environments with J2SE
v5.
Provide required services to application components
- example services: JMS, JTA
- application components: Applets, Java applications,
Servlets/JSPs, and EJBs
Understand application component deployment
formats
Interposes between application components to
transparently inject services required
- transactions, security checks, resource pooling
Synonymous with application server from the
application developer point of view
v100830 Intro to JavaEE 6
صفحه 7:
Enterprise
ava
Application Components
* Application Client
- Java programs that execute outside of the EJB, Web, and
‘Applet Containers
- Typically GUI-based
* Applets
- GUI components
- typically execute in Web browser
٠ Web Applications
- accessed through HTTP
- primarily generate HTML and XML output
- Servlets, JSPs, JSF, etc.
* Enterprise Java Beans (EJB)
- execute in managed environment that include transactions
- typically provide business logic for Java EE application
v100830 Intro to JavaEE 7
صفحه 8:
Enterprise
ava
Resource Adapters
* System-level software component
* Extends functionality of Container
- Provides connectivity with external resource
managers or native language components
- Implement existing (e.g., JOBC, JMS) or
alternate APIs 9 1 1
* Plugin into Java EE environment to provide
system-level support for
~ Resource Pooling
- Transactions
- Security
v100830 Intro to JavaEE 8
صفحه 9:
Enterprise
ava
Standard Services
* Communications Services
- HTTP
¢ J2SE java.net package defines client-side API
* Java EE defines server-side API defined within
servlet, JSP, JSF, and Web service interfaces
- HTTPS
* use of HTTP over SSL for transport level
security
- Java Message Service (JMS)
۰ ۸۳] for messaging
9 support for publish-subscribe and point-to-
point
v100830 Intro to JavaEE 9
صفحه 10:
Enterprise
CORBA Support Services ™
* RMI-IIOP
- APIs (javax.rmi) to allow RMI-style programming
independent of underlying protocol
* J2SE native RMI Protocol (JRMP)
* CORBA IIOP protocol
- Permit Java EE application components to access
CORBA services compatible with RMI programming
restrictions
- Permit CORBA clients to access EJB components
- Using dependency injection versus JNDI lookup
eliminates the need for applications to use most of API
* Java IDL
- Permit Java EE application components to invoke
CORBA services, independent of the RMI API
v100830 Intro to JavaEE 10
صفحه 11:
Coordination Services
* Java Naming and Directory Interface (JNDI)
- API for naming and directory access
٠ Java Transaction API (JTA)
~ application-level API to demarcate
transaction boundaries
~ provider-level API between transaction and
resource Managers
v100830 Intro to JavaEE 11
صفحه 12:
Persistence Services
* Java Database Connectivity (DBC) API
- API for connectivity with relational
databases
* Java Persistence API
- API for managing persistence and
object/relational mapping
~ Required in Java EE
- Can be used in J2SE environments (is part of
Java SE 6)
v100830 Intro to JavaEE 12
صفحه 13:
Enterprise
XML and Web Service Services
Java API for XML Processing (JAXP)
- integrated API support for separate
+ SAX, DOM, and StAX (Streaming API for XML) XML parsing APIs
+ XSLT transform engines
Java API for XML-based RPC (JAX-RPC)
~ legacy API for Web services
Java API for XML Web Services (JAX-WS)
= follow-on to JAX-RPC
~ primary API for Web services
~ includes SOAP and RESTful Web service bindings
= uses Java Architecture for XML Binding (JAXB) to define Java to XML bindings
= uses SOAP w/ Attachments API for Java (SAAJ) to manipulate low level SOAP
msgs
Web Services Metadata
~ defines Java language annotations for developing Web services
Java API for XML Registries (JAXR)
~ API for client access to XML registry servers
v100830 Intro to JavaEE 13
صفحه 14:
Enterprise
ava
Security Services
* Java Authentication and Authorization
Service (JAAS)
- enables services to authenticate and enforce
access controls
- Java implementation of standard Plugable
Authentication Module (PAM)
¢ Java Authorization Service Provider
Contract for Containers (JACC)
~ defines contract between Java EE application
server and authorization service provider
v100830 Intro to JavaEE 14
صفحه 15:
Enterprise
ava
System Services
* Java EE Connector Architecture (was J2CA)
- provider-level interface for Resource Adapters to integrate
Enterprise Information Systems into Java EE servers.
* connection management
~ resource pooling
+ transaction management
~ integrate transactions across multiple resource managers
~ import transaction contexts into server
* security access
+ thread management
~ allows resource adapter to allocate server threads for
work
+ message delivery
~ integrate any messaging provider; not just JMS
* optional, generic API between application program and
resource adapter
v100830 Intro to JavaEE 15
صفحه 16:
ممه
Management/Deployment
Services
* Management
~ Defines API for managing Java EE servers
5 Uses Java Management Extensions (JMX)
* Deployment
~ Defines API between deployment tools and
Java EE products
v100830 Intro to JavaEE 16
صفحه 17:
Other Services
* JavaMail
~ API and service provider for sending e-mail
notifications
* JavaBeans Activation Framework (JAF)
~ API for handling MIME types
v100830 Intro to JavaEE
صفحه 18:
Enterprise
Java EE 5 APIs and Versions
* J2SE v5.0 * JAX-RPC 1.1
- JDBC, JNDL, RMI * SAAJ 1.3
* Java Persistence 1.0 * JAXR 1.0
* Common Annotations 1.0 + JSTL 1.2
٠ 0 ٠ [52 2
٠ [115 1.1 * JSP Debugging 1.0
٠ 1 ۰ Jaya EE Management
* Servlet 2.5 1
¢ JSP 2.1 * Java EE Deployment 1.2
* StAX 1.0 * JACC 1.1
* Web Services 1.2 * Connector 1.5
* Web Services Metadata * JavaMail 1.4
2.0 * JAF 1.1
+ JAX-WS 2.0
v100830 Intro to JavaEE 18
صفحه 19:
prise
Java EE Product Extensions
* Java EE products may supply
implementations, in any form, for supplied
Java EE APIs
~ different QOS, sizing, scaling, performance,
cost, etc.
* Java EE Products may provide additional
APIs and protocols as extensions
¢ Java EE products may not add classes to
Java API packages or change any properties
of an existing Java API classes.
* Application use of product extensions is
non-portable across Java EE products
v100830 Intro to JavaEE 19
صفحه 20:
Enterprise
Java EE Roles 5
* Java EE Product Provider
- vendor (e.g., Sun, JBoss, BEA, IBM)
* Application Component Provider
- Java, HTML, etc. developer
* Application Assembler
- integrates components into an application
* Deployer
- integrates application with resources of the runtime
* System Administrator
- monitors and tunes application after deployment
* Tool Provider
- ex. Maven Cargo plugin
* System Component Provider
= ex, external JMS provider
v100830 Intro to JavaEE 20
صفحه 21:
Enterprise
ava
Java EE Release Highlights
۰ 28813
~ Connector API
- EJB (2.x) local interfaces and new CMP model
٠ [288 14
- “Web services”
- Management, Deployment, JAAS
* Java EE5
- “Ease of Development”
- Annotations
- Dependency Injection
~ Better defaults
- Java Persistance API, StAX, JAX-WS
* Java EE 6
- Profiles; making some components optional
- More “Ease of Development”
v100830 Intro to JavaEE 21
صفحه 22:
v100830 Intro to JavaEE 22
صفحه 23:
References
* Java™ Platform, Enterprise Edition 5 (Java
E 5) Specification
(http://jcp.org/en/jsr/detail?id=244)
v100830 Intro to JavaEE 23