Upload
tuan-nguyen
View
525
Download
11
Embed Size (px)
DESCRIPTION
Lập Trình Mạng Nâng Cao - J2EE
Citation preview
Tổng quan J2EE
ThS Văn Thiên Hoàng
Mục đích
Giới thiệu tổng quan về công nghệ J2EE.Biết các thành phần J2EE
J2EE là gì?
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
J2EE là gì?
Nền tảng công nghệ chuẩn và mở cho việc:Phát triển, triển khai, và quản lýCác ứng dụng lớn dựa vào các thành phần,
quản lý tập trung, dạng web, n tầng.
Nền tảng công nghệ Java
High-EndServer
Java Technology Enabled Desktop
WorkgroupServer
Java Technology Enabled Devices
Nền tảng công nghệ Java
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)
Tại sao sử dụng J2EE
Platform có giá trị cho nhà phát triển. Platform hỗ trợ đa dạng công nghệ có
giá trị đối với người sử dụng.
Java EE 4 APIs
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 JASS JAXP 1.2 JavaMail 1.3 JAF 1.0
Java EE 5
JAX-WS 2.0 & JSR 181Java PersistenceEJB 3.0JAXB 2.0JavaSever Faces 1.2 – new to PlatformJSP 2.1 – Unification w/ JSF 1.2StAX – Pull Parser – new to Platform
Servlet là gì?
Các đối tượng Java mà nó kế thừa chức năng của HTTPServer
Tạo nội dung động.Một sự thay thế tốt CGI, NSAPI, ISAPI, ..
Hiệu quảĐộc lập Platform và server.Quản lý SessionDựa trên ngôn ngữ Java
Servlet và CGI
CGIBased
Webserver
Request CGI2
Request CGI1
Request Servlet1
Request Servlet2
Request Servlet1
CGIBased
WebserverChild for CGI2
Child for CGI1
Servlet Based Webserver
JVMServlet1
Servlet2
Request CGI1Child for CGI1
JSP là gì?
Cho phép tách biệt xử lý nghiệp vụ với việc trình bày giao diện.Trình bày ở dạng HTML hoặc XML.Xử lý nghiệp vụ trình bày ở dạng Java Bean
hoặc custom tag.Có thể duy trì và cải tiến dễ dàng.
Mở rộng thông qua custom tag.Xây dựng dựa trên công nghệ Servlet.
Công nghệ EJB là gì?
Công nghệ ở server-side Phát triển và triển khai ứng dụng dựa trên
công nghệ này dễ dàng. Giúp thể hiện tiện ích của công nghệ phía
server side. Tách biệt việc xử lý nghiệp vụ với hệ thống
code. Cho phép cấu hình trong thời gian triển khai.
Kiến trúc EJB
Java Beans
Enterprise JavaBeans
Entity Bean Message-Driven Bean
Synchronous communication Asynchronous communication
Stateless Stateful
Bean managedPersistence
(BMP)
Container managedPersistence
(CMP)
Session Bean
Java Message Service (JMS)
Các hệ thống thông điệp cung cấpCác cuộc giao tiếp dạng cặp. Giao tiếp đồng bộ hóa. Đóng vai trò là bưu điện trung tâm.
Tiện lợi của hệ thống quản lý thông điệp. Linh hoạt, tin cậy, gọn.
JMS là thư viện chuẩn cho quản lý thông điệp.
Kiến trúc Connector
Định nghĩa API chuẩn cho việc tích hợp công
nghệ J2EE với hệ thống EIS. CICS, SAP, PeopleSoft, etc.
Trước khi có Connector, mỗi ứng dụng server
phải cung cấp bộ điều khiển thuộc tính cho mỗi
EIS. m (# of App servers) x n (# of EIS's) Adaptors
Với kiến trúc connector, cùng một adaptor có thể
thực hiện với nhiều container J2EE. 1 (common to all App servers) x n (# of EIS's) Adaptors
Bài toán mxn trước kiến trúc Connector
AppServer1
AppServer
AppServer3
AppServer2
SAP
EIS4
EIS3
m n
EIS2
JAAS: Authentication
Gắn framework cho việc chứng thựcUserid/passwordSmartcardKerberosBiometric
Lược đồ chứng thức khả chuyển. Cung cấp lược đồ chứng thực độc lập API.Lược đồ chứng thực được đặc tả bởi tập tin
cấu hình mà nó được đọc bởi JAAS.
Chứng thực - JAAS
JNDI
Giao diện dịch vụ Naming và Directory. Tiện lợi cho ứng dụng J2EE xác định tài nguyên
và các đối tượng. Ứng dụng sử dụng tên để tham chiếu đến tài nguyên
qua JNDI. Tên tượng trưng và tham chiếu đối tượng phải được
cấu hình bởi quản trị khi ứng dụng được triển khai.
JDBC
Cung cấp thư viện lập trình java cho cơ sỏ dữ liệu quan hệ.
Sử dụng SQL
Nhà cung cấp JDBC driver (được gọi thông qua các hàm chuẩn của Java).
Quản lý J2EE
Một platform cho phép quan lý J2EE server.
JMX
Triển khai J2EE
Tools J2EE PlatformsStandard
Deployment API(Universal Remote)
IDEs
Vendor Deploy Tools
Management Tools
JMX
J2EE App ServerApp
JMX
JMX
JMX defacto
Dynamic DeploymentJMX API into the J2EE 1.4 platform
Công nghệ đơn giả cho Platform J2EE
Kiến trúc Plagform J2EE
B2BApplications
B2CApplications
WebServices
WirelessApplications
Application Server EnterpriseInformation
Systems
ExistingApplications
Kiến trúc N-tầng
Web Tier EJB Tier
J2EE Containers & Components
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
Phân tích ứng dụng EJB
DB & EISResources
Browser
Stand-alone
Web Server EJB Server
Web Server EJB Server
Phân tích ứng dụng EJB
4-tầng HTML client, JSP/Servlets, EJB, JDBC/Connector
3-tầng HTML client, JSP/Servlets, JDBC
3-tầng EJB standalone applications, EJB, JDBC/Connector
B2B Sử dụng JMS hoặc thông nghiệp dựa vào XML.
Công cụ thiết lập môi trường
NetBean IDEGlassfishJDK 1.6IE
Kiến trúc kiểm soát sự kiện
Công nghệ ứng dụng web
Các bước viết một ứng dụng web Viết và biên dịch code cho các thành phần xử
lý (Servlet or JSP) và các lớp bổ trợ khác. Tạo các nguồn tài nguyên tĩnh (ví dụ: ảnh,
HTML) Tạo tập tin cấu hình miêu tả triển khai
(web.xml). Đóng gói ứng dụng Web (tập tin *.war hoặc
thư mục được deloyment). Triển khai ứng dụng web vào Web server. Web client truy cập ứng dụng URL.
Cấu trúc thư mục
Thư mục gốc – lưu dạng file *.war build.xml src: source các thành phần dạng servlets và
JavaBeans web: các trang JSP, trang HTML, các ảnh.
Ví dụ: hello2 Hello2
• src/servlets– GreetingServlet.java– ResponseServlet.java
• web– WEB-INF
» web.xml– duke.waving.gif
• build.xml
Triển khai một ứng dụng web
Sử dụng công cụ hỗ trợ deloy của web server. Sao chép tập tin *.war vào thư mục triển khai. Cấu trúc tập tin *.war.
URL và Alias
URL http://[host]:[port]/[request path]?[query string]
URN-Alias http://localhost:8080/hello1/greeting?
username=Monica
Cấu trúc tập tin XML
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet> <servlet-name>ServletDemo</servlet-
name> <servlet-class>ServletDemo</servlet-class> <init-param> <param-name>HelloStr</param-name> <param-value>Hello Servelet</param-
value> </init-param> </servlet> <servlet> <servlet-name>FormServlet</servlet-name> <servlet-class>FormServlet</servlet-class> </servlet> <servlet> <servlet-name>UploadServlet</servlet-
name> <servlet-class>UploadServlet</servlet-
class> </servlet>
<servlet-mapping> <servlet-name>ServletDemo</servlet-
name> <url-pattern>/ServletDemo</url-
pattern> </servlet-mapping> <servlet-mapping> <servlet-name>FormServlet</servlet-
name> <url-pattern>/FormServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UploadServlet</servlet-
name> <url-pattern>/UploadServlet</url-
pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
Câu hỏi