tổng quan j2ee
DESCRIPTION
java J2EETRANSCRIPT
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 TechnologiesJ2SE™
J2EE™
JMSServletJSPConnector
XMLData BindingXSLT
ProductsApp ServersWeb ServersComponents DatabasesObject to DB tools
LegacySystems
DatabasesTP MonitorsEIS 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
PersonalBasis 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 J2EEJ2EE ManagementJ2EE DeploymentJMX 1.1JMS 1.1JTA 1.0
Servlet 2.4JSP 2.0EJB 2.1JAXRConnector 1.5JASSJAXP 1.2JavaMail 1.3JAF 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ăngcủa HTTPServerTạ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ệctrì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ặccustom 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-sidePhát triển và triển khai ứng dụng dựa trên côngnghệ 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ảicung 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ấuhì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 pahỉ được cấuhì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ôngqua 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 J2EETools J2EE Platforms
StandardDeployment 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 & ComponentsJN
DI
J2SE
JMS
RM
I/IIO
P
JDB
C
Database
AppClient
App Client Container
HTTP/HTTPS
J2SE
RMI
J2SE
JND
I
JMS
RM
I/IIO
P
JDB
C
JTA JavaMail
JAF JND
I
JMS
RM
I/IIO
P
JDB
C
JTA
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ầngHTML client, JSP/Servlets, EJB, JDBC/Connector
3-tầngHTML client, JSP/Servlets, JDBC
3-tầngEJB standalone applications, EJB, JDBC/Connector
B2BSử 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
NetBeanIDEGlassfishJDK 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 *.warbuild.xmlsrc: source các thành phần dạng servlets và JavaBeansweb: các trang JSP, trang HTML, các ảnh.
Ví dụ: hello2Hello2
• 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
URLhttp://[host]:[port]/[request path]?[query string]
URN-Aliashttp://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/javaeehttp://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