1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO THỰC TẬP-KIẾN TRÚC NỀN TẢNG J2EE

19 585 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 610,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tùy thuộc vào tính chất của ứng dụng, lập trình viên có thể quyết định cách thức truy cập vào cơ sở dữ liệu thong qua 1 web tier hoặc thông qua business tier còn gọi là EJB tier : Môi tr

Trang 1

Trường Đại học Công nghệ Thông tin

Khoa Công nghệ Phần mềm

*****

Chuyên đề: Lập trình J2EE

Giáo viên hướng dẫn: Ths Huỳnh Ngọc Tín

Nhóm 06:

1. Vũ Ngọc Hưng 06520197

2. Vương Hà Thanh Mẫn 06520282

BÁO CÁO CUỐI HỌC KỲ

ĐỀ TÀI:

KIẾN TRÚC NỀN TẢNG J2EE

******

Trang 2

Mục lục:

PHẦN A: KIẾN TRÚC NỀN TẢNG J2EE 3

1 Kiến trúc J2EE 3

2 Hệ thống ứng dụng J2EE 4

3 Các kỹ thuật liên quan đến kiến trúc J2EE 5

3.1 Các loại container trong J2EE 5

3.2 Các kỹ thuật liên quan đến kiến trúc 6

3.2.1 Công nghệ EJB 7

3.2.2 Công nghệ Servlet 7

3.2.3 Công nghệ JSP 7

3.2.4 Java API cho dịch vụ thông điệp 7

3.2.5 Java API cho giao tác 7

3.2.6 Java API cho mail 8

3.2.7 Kiến trúc hoạt tác JavaBean 8

3.2.8 Java API cho xử lý XML 8

3.2.9 Java API cho giao thức gọi hàm từ xa dựa trên XML 9

3.2.10 Java API cho giao thức SOAP kèm thông tin 9

3.2.11 Java API cho sổ đăng ký XML 10

3.2.12 Kiến trúc bộ kết nối J2EE 10

3.2.13 Java API cho kết nối cơ sở dữ liệu 10

3.2.14 Giao diện quản lý thư mục và định danh trong Java 11

3.2.15 Dịch vụ cấp phép và xác thực người dùng trong Java 12

3.2.16 Kỹ thuật giản đơn tích hợp ứng dụng J2EE 12

PHẦN B: TRIỂN KHAI ĐỒ ÁN TASKMANAGER 13

1 Lời nói đầu: 13

2 Project TaskManager 13

2.1 Giới thiệu 13

2.2 Yêu cầu chức năng 13

2.3 Cấu trúc chương trình 15

2.4 Chạy chương trình phía server 16

2.5 Chạy chương trình phía client 17

Trang 3

PHẦN A: KIẾN TRÚC NỀN TẢNG J2EE

Nền tảng J2EE dựa trên các ứng dụng phân tán Nó là kiến trúc phân tán

hướng thành phần, trong đó các thành phần được triển khai và thực thi trong 1

container ( thành phần là 1 đơn vị nhỏ nhất có khả năng kế thừa và chúng độc

lập với nhau ) Cũng là một ứng dụng java tất nhiên J2EE cũng thừa hưởng được tính chất của 1 ứng dụng thuần java như : viết một lần, chạy khắp nơi, độc lập

hệ điều hành, độc lập server triển khai Ngoài ra J2EE còn có các ưu điểm nổi

bật như: là 1 ứng dụng với kiến trúc đa tầng, hoạt động trong môi trường phân

tán, năng động, khả chuyển, có khả năng giao tiếp tốt với các nền tảng khác như CORBA, NET

Kiến trúc đa tầng: đây là nhân tố cơ bản trong kiến trúc của J2EE Nhân

tố này giúp cho lập trình viên có thể tạo ra các component hoạt động, trao đổi

thong tin với nhau ở các môi trường máy ảo khác nhau Tùy thuộc vào tính chất của ứng dụng, lập trình viên có thể quyết định cách thức truy cập vào cơ sở dữ

liệu thong qua 1 web tier hoặc thông qua business tier( còn gọi là EJB tier ):

Môi trường phân tán: trong mô trình kiến trúc của J2EE, môi trường

này giúp cho các thành phần hoạt động trong các máy áo khác nhau có khả năng giao trao đổi thông tin với nhau Đây cũng là một nhân tố hết sức quan trọng

Trang 4

trong 1 ứng dụng J2EE Ví dụ như việc sử dụng cơ sở dữ liệu phân tán để giải

quyết lại với việc sự gia tăng nhanh kích thước của cơ sở dữ liệu

Năng động khả chuyển: một ứng dụng J2EE có khả năng chạy trên mọi

hệ điều hành và mọi server hỗ j2ee Ngoài ra ta có thể tùy biến ứng dụng j2ee

mà không cần phải chỉnh sửa hay biên dịch lại source code

Giao tiếp với các nền tảng khác: đây là 1 đặc điểm rất quan trọng của

ứng dụng J2EE giúp cho các thành phần được viết bằng ngôn ngữ java có khả

năng giao tiếp với các thành phần được viết bằng các ngôn ngữ khác J2EE hỗ

trợ giao tiếp với 2 nền tảng là CORBA( Common Object Request Broker

Architecture ) và NET

J2EE hỗ trợ cho ta rât nhiều công nghệ để xây dựng nên các thành phần

cho các tier khác nhau như Client Technologies, Presentation Technologies(web tier), Business Technologies(ejb tier), và một số các công nghệ khác như JNDI, JMS, JTA, JAXP, …

Với Client Technologies ta có thể xây dựng nên 2 loại client đó là

application client và web client Các application client là các ứng dụng được

viết bằng ngôn ngữ java, các ứng dụng này có khả năng giao tiếp với các tier

khác, như trao đổi thông tin trực tiếp với Business tier, hoặc với web tier thong qua giao thức HTTP Các web client là các ứng dụng sử dụng các giao thức

HTTP để giao tiếp với các ứng dụng ở Server Nó có thể là 1 ứng dụng có khả

năng gửi HTTP request hoặc 1 web browser

Presentation Technologies còn gọi là kĩ thuật hiển thị ở tầng web tier Nó

hỗ trợ lập trình viết tạo nên các thành phần ở server có khả năng nhận các

request từ client và tương tác trực tiếp( hoặc thong qua ejb tier ) với cơ sơ dữ

liệu Lập trình viên có thể tạo nên các thành phần này bằng servlet hoặc jsp

Servlet đơn thuần là 1 class java có khả năng tiếp nhận các request từ client JSP

là 1 dạng file chứa các đoạn mã, chúng được dịch sang servlet bởi JspEngine

Servlet và Jsp đều có khả năng truy cập trực tiếp vào cơ sở dữ liệu(EIS tier)

hoặc thong qua EJB tier Ngoài ra ta cũng có thể sử dụng JavaBean để tạo ra các class sử dụng cho servlet và jsp

Business Technologies các thành phần được xây dựng bằng công nghệ

này để thực thi các business logic của ứng dụng Trong J2EE việc phát triển các thành phần này sử dụng công nghệ gọi là Enterprise Java Bean

JDBC Technologies đây là cách thức mà Middle tier(web tier và ejb

tier ) sử dụng để truy cập vào cơ sơ dữ liệu Đối với J2EE việc truy cập vào cơ

sơ dữ liệu bắt buộc phải được thực hiện thong qua JDBC API

Naming Service do các J2EE được triển khai trong môi trường phân tán

nên các component sẽ nằm ở các máy ảo khác nhau Chính vì vậy cần phải có

Trang 5

một cách thức để xác định vị trí của các thành phần đó Và đây cũng chính làm

nhiệm vụ của Naming Service ( còn gọi là JNDI: Java Naming and Directory

Interface )

Java Message Service( JMS ) đây là phương thức trao đổi thong tin bất

đồng bộ giữa các component Với JMS các thành phần có thể trao đổi thông tin theo mô hình 1-1( point -point ) hoặc 1-nhiều(publish-subscribe )

Transaction Service( JTA ) việc quản lí các giao tác của các thành phần

trong ứng dụng là rất quan trọng, giao tác này thực hiện trên cở sở sử dụng Java Transaction API

XML Processing Service( JAXP ) Việc xử lí XML là 1 phần tính hợp

vào J2EE Nó được sử dụng để parse các XML file Nó cũng support các công

cụ như SAX( Simple API for XML parsing ), DOM( Document Object Model ), XSLT( XML Stylesheet Language for Transformation )

Ngoài ra còn một số các công nghệ khác như RMI, Java mail, …

3. Các kỹ thuật liên quan đến kiến trúc J2EE

J2EE là nền cung cấp các dịch vụ, các hàm giao tiếp(API) và các giao

thức để triển khai các ứng dụng đa tầng

3.1 Các loại container trong J2EE

Server J2EE cung cấp 2 container : Web Container và EJB container

Trang 6

+ EJB (Enterprice java bean) container : quản lý và thực thi các thành phần

enterprice bean

+ Web Container : quản lý và thực thi các thành phần JSP và Servlet

+ Application Client Container : quản lý và thực thi các thành phần phía client

(ví dụ như applet)

3.2 Các kỹ thuật liên quan đến kiến trúc

Trang 7

3.2.1 Công nghệ EJB

Enterprise JavaBean Technology :Thể hiện vật lý của tầng EJB là

mô-đun EJB bao gồm một hay nhiều linh kiện EJB, EJB nếu xét đơn giản là

một lớp Java bao gồm đoạn mã chứa những phương thức và thuộc tính phục

vụ cho một thao tác nghiệp vụ (một số điểm cơ bản về EJB đã được giới

thiệu trong phần trước)., EJB có thể đơn sử dụng đơn lẻ hay cộng tác với

EJB khác Công nghệ EJB bao gồm các chuẩn, phương pháp và kỹ thuật để

xây dựng nên EJB, như đã đề cập, EJB là phần quan trọng nhất trong kiến

trúc J2EE Có 3 loại EJB: bean phiên làm việc, bean thực thể, bean hướng

thông điệp EJB thường tương tác với CSDL Một trong những thuận lợi của

bean thực thể là chúng ta không cần viết những đoạn mã SQL hay dùng kỹ

thuật kết nối JDBC để truy cập CSDL, những thao tác này đã được thùng

chứa EJB thực hiện thay Tuy nhiên, người dùng có thể thay thế thao tác kết

nối & lưu trữ mặc định của thùng chứa bằng cách sử dụng kỹ thuật JDBC

theo những yêu cầu riêng

3.2.2 Công nghệ Servlet

Java Servlet Technology : Nhắc lại, công nghệ servlet giúp xử lý những

yêu cầu và trả kết quả về cho phía khách qua giao thức HTTP, servlet mở rộng

chức năng của máy chủ theo mô hình yêu cầu – đáp ứng (request – response)

Mặc dù servlet có thể đáp ứng bất kỳ dạng yêu cầu nào từ khách nhưng nó

thường được ứng dụng nhiều trong ứng dụng web

3.2.3 Công nghệ JSP

JavaServer Page Technology : Công nghệ JSP giúp bạn nhúng đoạn

mã Java servlet vào trong tập tin tài liệu dạng văn bản, nói cách khác, một

tập tin JSP chứa 2 dạng văn bản: dữ liệu tĩnh (dữ liệu văn bản theo khuôn

mẫu HTML, WML, XML) và những đoạn mã Java (tức đoạn mã JSP) xử lý

động nội dung của trang web Khi thực thi, JSP được biên dịch thành servlet

thực hiện những chức năng vốn có của servlet, vì thế về bản chất, JSP là

servlet nhưng hỗ trợ việc lập trình trên web dễ dàng hơn

3.2.4 Java API cho dịch vụ thông điệp

Java Message Service API – JMS API : JMS API là chuẩn và kỹ thuật

cho phép những linh kiện có thể đọc, tạo, gởi và nhận thông điệp cho nhau JMS API giúp các linh kiện, dịch vụ trong môi trường phân tán tương tác nhau một

cách đáng tin cậy và có thể theo giao tiếp bất đồng bộ

3.2.5 Java API cho giao tác

Java Transaction API – JTA :JTA cung cập giao diện lập trình chuẩn

cho việc phân ranh giới các giao tác, nói cách khác, JTA quản lý các giao tác

Trang 8

khi có sự cạnh tranh truy xuất hay truy xuất đồng thời giữa các linh kiện,

dịch vụ

Lưu ý:

Giao tác (transaction): là tập một số tác vụ, thực hiện một giao tác

như thực hiện một tác vụ tức thực hiện nhiều tác vụ như thực hiện một tác

vụ, vì thế, giao tác là một đơn vị xử lý không thể phân chia Một giao tác chỉ

có hiệu ứng khi đã được commit (xác nhận)

Rollback (hủy bỏ): hủy bỏ một số tác vụ đã được thực hiện trong một

giao tác rồi trả giao tác về trạng thái ban đầu khi chưa thực hiện các tác vụ

này, xem như giao tác chưa được thực hiện

Commit (xác nhận): xác nhận giao tác đã được thực hiện

Kiến trúc J2EE đưa ra phương thức commit tự động (auto commit) để xử lý

việc commit hay rollback giao tác, commit tự động nghĩa là sau mỗi thao tác

cập nhật dữ liệu, ứng dụng đương nhiên được commit, bất kỳ ứng dụng nào

khác khi đang xem CSDL sẽ thấy được những dữ liệu đã được cập nhật này

Tuy nhiên, nếu trong ứng dụng có các tác vụ truy xuất CSDL phụ thuộc lẫn

nhau (đọc – ghi, ghi – đọc, ghi – ghi) thì chúng ta phải sử dụng JTA để xây

dựng và quản lý các giao tác

3.2.6 Java API cho mail

JavaMail API :Ứng dụng JEE sử dụng JavaMail API để gởi mail,

JavaMail API gồm hai phần: Giao diện mức ứng dụng hỗ trợ các linh kiện

gởi mail và Giao diện bộ cung cấp dịch vụ Nền tảng J2EE cung cấp

JavaMail với bộ cung cấp dịch vụ cho phép linh kiện gởi mail qua internet

3.2.7 Kiến trúc hoạt tác JavaBean

JavaBeans Activation Framework – JAF : JAF cung cấp những dịch

vụ chuẩn để quyết định kiểu của một mẫu dữ liệu tùy ý, gói gọn các truy cập

đến nó, phát hiện các thao tác dành sẵn trên nó và tạo các JavaBean để thực

hiện các thao tác này JavaMail sử dụng JAF

3.2.8 Java API cho xử lý XML

Java API for XML Processin – JAXP : JAXP cung cấp các phương

thức xử lý XML theo một số mô hình sau:

- DOM: Document Object Model – Mô hình đối tượng tài liệu

- SAX: Simple API for XML – Giao diện lập trình ứng dụng đơn giản cho

XML

- XSLT: Extensible Stylesheet Language Transformation – Chuyển đổi ngôn

ngữ thẻ mở rộng

JAXP cho phép ứng dụng phân tích và chuyển đổi tài liệu XML độc lập với

Trang 9

thao tác bên dưới, điều này có nghĩa là người dùng chỉ cần dùng JAXP xử lý

tài liệu XML qua các giao diện (interface) chuẩn mà không cần biết chi tiết

về kỹ thuật bên trong Theo đó, mô hình JAXP đa phần định nghĩa các giao

diện, người dùng phải sử dụng gói phần mềm của hãng thứ ba nào đó đã thi

công các giao diện này để xử lý tài liệu XML

Lưu ý: J2SE, J2EE, J2ME… nói chung là công nghệ Java do công ty Sun

phát triển, trong đó với một số gói phần mềm, Sun chỉ đưa ra kiến trúc cấp

cao thông qua các giao diện, việc thi công hay cài đặt cụ thể các giao diện

này do hãng/công ty/tổ chức/nhóm/cá nhân khác – thuật ngữ gọi là hãng thứ

ba thực hiện Không phải Sun không thể cài đặt được một số gói nhưng họ

để cho hãng thứ ba thực hiện nhằm tạo nên tính mở rất tốt cho công nghệ

Java, hãng thứ ba có thể cài đặt giao diện tốt hơn và Sun cũng nhẹ gánh, khi

đó Sun chỉ đóng vai trò kiến trúc sư

Các gói phần mềm thi công các giao diện JAXP thường là những bộ phân

tích và bộ xử lý XML (XML parser và XML processor) do hãng thứ ba phát

triển JAXP sử dụng không gian tên (namespace) để tránh trùng tên thẻ khi

xây dựng lược đồ XML

3.2.9 Java API cho giao thức gọi hàm từ xa dựa trên XML

Java API for XML-Based RPC – JAX-RPC :(dùng phát triển dịch vụ

web) JAX-RPC sử dụng giao thức SOAP và HTTP , theo đó phía khách thực

hiện lời gọi hàm xa bằng cách gởi thông điệp theo chuẩn XML qua internet

JAX-RPC cũng hỗ trợ WSDL, vì thế bạn có thể xuất khẩu và nhập khẩu tài

liệu WSDL Với JAX-RPC và WSDL, phía khách tương tác với dịch vụ độc

lập với nền dù Java hay NET, ví dụ: phía khách trên nền NET có thể thực

hiện lời gọi hàm xa với dịch vụ web trên nền Java, ngược lại một dịch vụ

web trên nền Java vẫn tương tác được với phía khách trên nền NET

JAX-RPC dựa trên giao thức vận chuyển HTTP Hơn thế nữa, JAX-JAX-RPC hỗ trợ

xây dựng các dịch vụ kết hợp HTTP với công nghệ Java trên SSL (Secure

Socket Layer –Tầng lỗ cắm bảo mật) và giao thức TSL (Transport Layer

Security – Bản mật tầng vận chuyển) giúp thiết lập sự xác thực

(authentication) căn bản hay hỗ tương trên mạng SSL và TSL bảo đảm tính

toàn vẹn của thông điệp gởi trên mạng bằng kỹ thuật mã hóa dữ liệu ở khách

và khả năng xác thực ở chủ

Xác thực là phương cách bảo đảm một người dùng/nhóm/đơn vị/tổ chức có

được phép truy cập những thông tin cần được bảo vệ hoặc nhạy cảm hay

không nhằm ngăn cản việc sử dụng, khai thác hay vận chuyển thông tin một

cách bất hợp pháp Vận chuyển thông tin có khả năng bị xâm phạm hay bị

sử dụng sai mục đích sẽ bị chặn lại, vì thế, việc cấu hình dịch vụ web

JAX-RPC rất quan trọng để bảo vệ dữ liệu khi vận chuyển

3.2.10 Java API cho giao thức SOAP kèm thông tin

SOAP with Attachments API for Java – SAAJ :(dùng phát triển dịch

vụ web) SAAJ là một API mức thấp giữ vai trò nền tảng cho JAX-RPC

Trang 10

SAAJ cho phép các thông điệp tương thích với đặc tả SOAP có kèm theo

thông tin ghi chú Hầu hết các nhà phát triển không dùng SAAJ API, thay

vào đó họ sử dụng JAX-RPC ở cấp cao hơn

3.2.11Java API cho sổ đăng ký XML

Java API for XML Registries – JAXR :(có thể dùng phát triển dịch

vụ web) Các công ty hay tổ chức cần công bố thông tin về dịch vụ/sản phẩm

của họ lên internet, điều này được thực hiện qua việc đăng ký dịch vụ vào sổ

đăng ký (registry) JAXR giúp bạn truy cập các sổ đăng ký thông thường

hay sổ đăng ký nghiệp vụ qua web JAXR hỗ trợ chuẩn lưu trữ và đăng ký

ebXML đồng thời tăng cường vai trò đặc tả UDDI Với JAXR, nhà phát

triển có thể truy cập sổ đăng ký theo hai công nghệ quan trọng (ebXML và

UDDI) chỉ với một giao diện lập trình duy nhất

Thêm vào đó, các doanh nghiệp/tổ chức có thể chia sẻ các sản phẩm/tài liệu

trên mạng hay truy tìm các tài liệu/sản phẩm khác đã được công bố Ví dụ:

một nhóm xây dựng một lược đồ XML cho một loại tài liệu, hai doanh

nghiệp nếu như đồng ý lược đồ chuẩn này cho đơn đặt hàng, họ hoàn toàn có

thể truy cập thông tin sản phẩm lẫn nhau bởi lược đồ này được lưu trong sổ

đăng ký nghiệp vụ

3.2.12Kiến trúc bộ kết nối J2EE

J2EE Connector Architecture :Những nhà cung cấp công cụ J2EE và

nhà tích hợp hệ thống sử dụng kiến trúc bộ kết nối J2EE để tạo các bộ thích

nghi tài nguyên (resource adapter) – bộ thích nghi tài nguyên giúp ứng dụng

J2EE truy cập hệ thống thông tin (CSDL, mail…) ở tầng EIS, nhờ thế các hệ

thống thông tin ở tầng EIS có thể được gắn vào bất kỳ sản phẩm J2EE nào

Nói cụ thể, một bộ thích nghi tài nguyên là một linh kiện phần mềm cho

phép các linh kiện J2EE truy cập và tương tác với các hệ quản trị tài nguyên

nền tảng tại tầng EIS Một bộ thích nghi tài nguyên chỉ phù hợp với một hệ

quản trị tài nguyên của nó, vì thế sẽ có mỗi bộ thích nghi tài nguyên cho

từng kiểu CSDL hay từng hệ quản trị tài nguyên khác nhau

Kiến trúc bộ kết nối J2EE cung cấp sự tích hợp giữa dịch vụ web J2EE và hệ

thống EIS với phương thức đồng bộ hay bất đồng bộ theo tiêu chuẩn: bảo

mật, hiệu năng cao, dễ mở rộng, dựa trên thông điệp và hỗ trợ giao tác

Thông qua kiến trúc bộ kết nối J2EE, những ứng dụng hiện tại và hệ EIS

tích hợp có thể được cung cấp cho doanh nghiệp như là các dịch vụ web dựa

trên XML có sử dụng công nghệ JAX-RPC và mô hình linh kiện J2EE Vì

thế, JAX-RPC và kiến trúc bộ kết nối là những công nghệ bổ sung cần thiết

cho tích hợp ứng dụng J2EE và cho nghiệp vụ của người dùng cuối

3.2.13 Java API cho kết nối cơ sở dữ liệu

JDBC API:JDBC API giúp bạn thực hiện câu truy vấn SQL đến hệ

quản trị CSDL từ bên trong hệ thống Java Theo cơ chế lưu trữ bền vững

Ngày đăng: 02/06/2015, 16:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w