J2EE(Java EE) Overview
[toc]
Objectives
-
Introdutions to Java EE enterprise application development
review development basics
Java ee architecture and apis
Important terms and concepts
Java ee application, programming, assembly, development
Structure
-
Java EE architecture and APIs
Servlet
JSP
JDBC/JTA
MVC
Web应用实例
中间件 RPC RMI
JMS
JNDI
EJB
Java EE
Security
Java Mail
-
Java EE enterprise appliaction development
- Structs, Spring, Hibernate
reference
The Java EE Tutorial,Release 8 September 2017
Development History
Enterprise applications
distributed
transcational
portable
speed
security
reliability
business logic
Overview
a powerful set of APIs
-
a simplified programming model
More annotations less XML
Dependency injection : hiding the creation and lookup of resources from application
Java EE Application Model
Begins with java language and java virtual machine
proven protability, security, developed productivity
defines an architecture
-
the needed work to implement services
business logic and presentation logic
Standard system services
a distributed multitiered application model
application components
Security
enables security constraints to be defined at deployment time
procides standard declarative access control rules
standard login mechanisms
works in varieties of security environments without changing the source code
Java EE Components
a self-contained functional software unit
Applications clients and applets
web components
EJB components
Java EE Clients
Appliations clients and applets
web client
Web Client
Dynamic web pages
web browser
thin client
enterprise beans
Application Clent
Richer user interface
gui
Directly access enterprise
JavaBeans
Server and client tiers
manage data flow
Web Components
Servlets or web pages using JavaServer Faces or JSP
Might include a javaBeans component
Business Components
Enterprise JavaBeans
Logic
Enterprise Information System Tier
- Enterprise infrastructure systems
Java EE Containers
handle transaction and state management, multithreading, resource pooling
provides underlying services
Container Service
interface between compents and low-level functionality
Assembled into a Java EE module and deployed into its container
specifying container settings
-
e.g.
security
transaction
JNDI lookup
remote connectivity
Container Types
-
Java EE server
Enterprise JavaBeans container
Web container
Application client container
Applet container
relationships
web services support
xml,APIs,tools
Extensible markup language
Simple object access protocol
Web services description languages
Assembly and Deployment
-
Packaged into units
components
Deployment descriptor
Packaging
packaging Applications
Java Archive jar
Web Archive war
Enterprise Archive EAR
deployment descriptors
Java ee deployment descriptor
Runtime deployment descriptor
Java EE module
EJB modules jar
web modules war
application client modules jar
Resource adapter modules rar
Development Roles
-
Java EE product provider
Java EE specification
Application server vendors
-
Tool provider
- Development, assembly, packaging tools
-
Application Component Provider
Web components
Enterprise beans
applets
Application client
-
application Assembler
- ear file
-
application Developer and administrator
- configures and deploys java ee application
Java EE 8 APIs
Enterprise JavaBeans Technology
session bean
Message-driven bean
Enterprise javabean
spring
Java Servlet Technology
Define http-specific servlet classes
a request-response programing model
JavaServer Faces
- user interface framework
JavaServer Pages Technology
Text-based document
Static data
Jsp elements
java persistence api(jpa)
Object-relational mapping
Java se
hibernate
java transaction api(eta)
Default auto commit
two separate database access operations
jax-rs
-
Java api for restful web service
development of web services
Reprentational State Transfer (REST)
Managed Beans
- resource injection, lifecycle callbacks, interceptors
contexts and dependency injection for the java ee platform (CDI)
Make it easy to use enterprise beans
Integrate different kinds of components
a standard set of annotations
Bean Validation
Define validation constraints in one place
share them across the different layers
Java Message Service API
Create,send,receive,read message
Distributed communication
Java EE Connector Architecture
Tool vendors
System integrators
access to enterprise information systems
JavaMail API
- send mail
JACC and JASPIC
Java Authorization Contract for containers
Java Authentication Service Provider Interface
Java EE Security API
- simplify the security apis
json processing
JSON is a text-based data exchange format
Praise, transform query json data
json binding
converting java objects to and from json messages
concurrency utilities
- providing asynchronous capability
Batch Applications for the java Platform
Batch jobs are tasks that can be executed without user interaction
batch framework :creating and running batch jobs in Java applications
Java Database Connectivity API
-
Invoke SQL commands
enterprise bean
servlet or a jsp
Application-level interface, service provider interface
java naming and directory interface( JNDI)
access multiple naming and directory services
Method for peforming standard directory operations
store and retrive any type of named java object
Java Authentication and Authorization Service (JAAS)
- Authenticate and authorize a specific user or group of users
common annotations
- Declarative style of programming
Web服务器和应用服务器
web : tomcat,jetty
Ebb container, jboss,wildfly
Application server, IBM websphere, oracle weblogic