tổng quan j2ee

39
Tng quan J2EE ThS Văn Thiên Hoàng

Upload: vthoang

Post on 18-Nov-2014

132 views

Category:

Documents


9 download

DESCRIPTION

java J2EE

TRANSCRIPT

Page 1: Tổng Quan J2EE

Tổng quan J2EE

ThS Văn Thiên Hoàng

Page 2: Tổng Quan J2EE

Mục đích

Giới thiệu tổng quan về công nghệ J2EE.Biết các thành phần J2EE

Page 3: Tổng Quan 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

Page 4: Tổng Quan J2EE

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.

Page 5: Tổng Quan J2EE

Nền tảng công nghệ Java

High-EndServer

Java Technology Enabled Desktop

WorkgroupServer

Java Technology Enabled Devices

Page 6: Tổng Quan J2EE

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)

Page 7: Tổng Quan J2EE

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.

Page 8: Tổng Quan J2EE

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

Page 9: Tổng Quan J2EE

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

Page 10: Tổng Quan J2EE

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

Page 11: Tổng Quan J2EE

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

Page 12: Tổng Quan J2EE

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.

Page 13: Tổng Quan J2EE

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.

Page 14: Tổng Quan J2EE

Kiến trúc EJB

Page 15: Tổng Quan J2EE

Java Beans

Enterprise JavaBeans

Entity Bean Message-Driven Bean

Synchronous communication Asynchronous communication

Stateless Stateful

Bean managedPersistence

(BMP)

Container managedPersistence

(CMP)

Session Bean

Page 16: Tổng Quan J2EE

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.

Page 17: Tổng Quan J2EE

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

Page 18: Tổng Quan J2EE

Bài toán mxn trước kiến trúc Connector

AppServer1

AppServer

AppServer3

AppServer2

SAP

EIS4

EIS3

m n

EIS2

Page 19: Tổng Quan J2EE

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.

Page 20: Tổng Quan J2EE

Chứng thực - JAAS

Page 21: Tổng Quan J2EE

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.

Page 22: Tổng Quan J2EE

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).

Page 23: Tổng Quan J2EE

Quản lý J2EE

Một platform cho phép quan lý J2EE server.JMX

Page 24: Tổng Quan J2EE

Triển khai J2EETools J2EE Platforms

StandardDeployment API

(Universal Remote)IDEs

Vendor Deploy Tools

Management Tools

Page 25: Tổng Quan J2EE

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

Page 26: Tổng Quan J2EE

Kiến trúc Plagform J2EE

B2BApplications

B2CApplications

WebServices

WirelessApplications

Application Server EnterpriseInformation

Systems

ExistingApplications

Page 27: Tổng Quan J2EE

Kiến trúc N-tầng

Web Tier EJB Tier

Page 28: Tổng Quan J2EE

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

Page 29: Tổng Quan J2EE

Phân tích ứng dụng EJB

DB & EISResources

Browser

Stand-alone

Web Server EJB Server

Web Server EJB Server

Page 30: Tổng Quan J2EE

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.

Page 31: Tổng Quan J2EE

Công cụ thiết lập môi trường

NetBeanIDEGlassfishJDK 1.6IE

Page 32: Tổng Quan J2EE

Kiến trúc kiểm soát sự kiện

Page 33: Tổng Quan J2EE

Công nghệ ứng dụng web

Page 34: Tổng Quan J2EE

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.

Page 35: Tổng Quan J2EE

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

Page 36: Tổng Quan J2EE

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.

Page 37: Tổng Quan J2EE

URL và Alias

URLhttp://[host]:[port]/[request path]?[query string]

URN-Aliashttp://localhost:8080/hello1/greeting?username=Monica

Page 38: Tổng Quan J2EE

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>

Page 39: Tổng Quan J2EE

Câu hỏi