Tải bản đầy đủ (.pdf) (2 trang)

041_Tìm hiểu và vận dụng một số công nghệ tiên tiến trong phần mềm hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (224 KB, 2 trang )

- 6 -
TÌM HIỂU VÀ VẬN DỤNG MỘT SỐ CÔNG NGHỆ TIÊN TIẾN TRONG
PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Thực hiện: Trương Công Ái (0122259)
Nguyễn Phương Chính (0122260)
Giáo viên hướng dẫn: ThS.Đặng Đức Hạnh

1. Mở đầu
Xây dựng phần mềm theo phương pháp hướng
đối tượng là một kỹ thuật tiên tiến để phát triển hệ
thống. Phương pháp này phù hợp cho các hệ
thống lớn, phức tạp và đã được cụ thể hóa trong
nhiều quy trình phát triển phần mềm (tiêu biểu là
RUP). Tuy nhiên khi áp dụng phương pháp này
vào các loại ứng dụng trên nền Web cũng như các
ứng dụng đòi hỏi nhu cầu truy cập dữ liệu lớn,
chúng ta sẽ gặp phải các khó khăn trong vấn đề
thiết kế. Hiện này, đây là những lớp ứng dụng rất
quan trọng và phổ biến. Do đó đòi hỏi phải có
công nghệ chuyên sâu giải quyết vấn đề này. Một
trong số các công nghệ này là Struts và Hibernate.
Trong đề tài này, chúng tôi tập trung vào việc
tìm hiểu nội dung và khả năng vận dụng của công
nghệ Struts và Hibernate. Trong đó, công nghệ
Struts giải quyết vấn đề thiết kế hướng đối tượng
cho ứng dụng Web; công nghệ Hibernate giải
quyết vấn đề tổ chức lưu trữ dữ liệu lâu bền cho
các hệ thống hướng đối tượng.
2. Nội dung
2.1 Struts – Giải pháp cho ứng dụng Web


Quá trình chuyển từ phân tích sang thiết kế là
bước quan trọng trong việc xây dựng phần mềm
hướng đối tượng. Hoạt động chủ yếu của giai
đoạn này là làm mịn các đối tượng thuộc mô hình
phân tích, và chuyển chúng thành các lớp thiết kế
có thể cài đặt trên một kiến trúc nào đó. Việc xây
dựng các ứng dụng trên kiến trúc Web có những
điểm khác biệt so với việc xây d
ựng trên các kiến
trúc khác.
Kiến trúc Web làm việc theo cơ chế hoạt động
của CGI (Common Gateway Interface) tỏ ra
không phù hợp cơ chế hoạt động các hệ thống
hướng đối tượng là truyền thông điệp.


Có nhiều giải pháp được đưa ra để giải quyết
vấn đề của CGI trong đó có một số công nghệ
được sử dụng khá phổ biến như ASP (Active
Server Page), JSP (Java Server Page), hay Servlet
nhưng tất cả
đều có những nhược điểm nhất định.
Do đó đòi hỏi phải có một mô hình mới ra đời
phù hợp quy trình xây dựng các ứng dụng cho
Web theo hướng đối tượng. Struts là một mô hình
như vậy.
Structs được thiết kế với mục đích cung cấp
một khung làm việc mã nguồn mở nhằm tạo ra
những ứng dụng Web có khả năng dễ dàng tách
rời tầng trình diễn và cho phép nó tr

ừu tượng hoá
so với các tầng thực thi và dữ liệu.
Struts cài đặt trên mẫu thiết kế MVC bao gồm
các thành phần :

Model: Miêu tả các đối tượng dữ liệu.
Model là những cái đang được tính toán
và đưa ra cho người dùng.

View: Là các dịch vụ như màn hình hiển
thị của Model. Nó là những đối tượng đưa
ra những trạng thái hiện tại của các đối
tượng dữ liệu.

Controller: Xác định cách mà giao diệ
n
người dùng phản ứng lại thông tin vào .
Thành phần Controller là đối tượng tính
toán Model hoặc đối tượng dữ liệu.
2.2 Hibernate – Giải pháp cho vấn đề tổ
chức lưu trữ lâu bền
Trong các ứng dụng ngày nay vấn đề truy cập
và duy trì dữ liệu có ý nghĩa rất quan trọng và nó
cũng tiêu tốn rất nhiều thời gian của các nhà phát
triển. Ngoài ra với các ứng dụng được thiết kế
theo phương pháp hướng đối tượng, việc duy trì
các đối tượng vào trong các bảng của cơ sơ dữ
liệu quan hệ gặp rất nhiều khó khăn. Hibernate là
công nghệ ánh xạ đối tượng tới quan hệ, nó cho
phép làm giảm tới 95% các câu lệnh trong việc

- 7 -
duy trì dữ liệu. Bằng cách kết hợp các lớp Java
với các miêu tả XML, Hibernate cung cấp một
khung nhìn hướng đối tượng của một cơ sơ dữ
liệu quan hệ.
a. Tổ chức thông tin ánh xạ
Để ánh xạ các lớp trong Java tới các bảng
trong cơ sơ dữ liệu Hibernate sử dụng một tệp ánh
xạ có tên trùng với tên lớp và có phần mở rộng là
*.hbm.xml. Hibernate sử dụng các thẻ để xác định
các bảng tương ứng với các lớp bền vững, các cột
tương ứng với các thuộc tính của lớp. Ngoài ra
Hibernate còn định nghĩa các ràng buộc giữa các
lớp và tự động cập nhật vào các bảng trong cơ sơ
dữ liệu.
b. Quản lý liên kết
Quản lý các liên kết giữa các lớp và mối quan
hệ giữa các bảng là trọng tâm của Hibernate. Phần
lớn các vấn đề khó mắc phải khi thi hành giải
pháp để giải quyết việc quản lý các liên kết.
Hibernate cung cấp đầy đủ các giải pháp để
xây dựng các liên kết, từ các liên kết một chiều
đơn giản như liên kết một-nhiều đến các liên kết
hai chiều như nhiều-nhiều.
c. Quản lý dữ liệu
Hibernate cung cấp một giao diện cho
phép quản lý các dữ liệu lâu bền, nó gồm các
dịch vụ sau:

Các hành động cơ bản CRUD (Create,

Read, Update, Delete)

Sự thi hành các truy vấn

Điều khiển sự thực thi

Quản lý các mức thực thi
Trong Hibernate chúng ta sử dụng HQL
(Hibernate Query Language) để truy vấn các đối
tượng, nó là một ngôn ngữ truy vấn hướng đối
tượng. HQL rất dễ học với những người đã biết
về SQL. HQL không phải là ngôn ngữ thi hành dữ
liệu như SQL, nó chỉ sử dụng cho việc lấ
y về các
đối tượng mà không dùng cho việc cập nhật, thêm
hay xóa dữ liệu.
2.3 Áp dụng công nghệ Struts và Hibernate
vào bài toán xây dựng khung chương trình
Bài toán được phân tích thiết kế dựa trên
phương pháp hướng đối tượng sử dụng UML kết
hợp với Rational Rose. Bài toán là ứng dụng được
xây dựng trền nền web cho phép người dùng tạo
ra các khung chương trình đào tạo. Trong quá
trình dựng ứng dụng Struts được sử dụng vào quá
trình tạo ra các khung nhìn với người dùng, tạo
các điểu khiển của chương trình. Hibernate được
sử dụng để duy trì các dữ liệu vào trong các bảng
của cơ sơ dữ liệu.
3. Kết luận
Việc áp dụng phương pháp phân tích hướng

đối tượng trong xây dựng bài toán mang lại lợi
ích: nâng cao khả năng tái sử dụng, tận dụng được
sức mạnh của phân mềm Rose trong quá trình
phân tích và sinh mã. Áp dụng công nghệ Struts
giúp thiết kế những khung nhìn tách rời khỏi các
điều khiển khiến bài toán trở nên rõ ràng hơn khi
cài đặt và thuận tiện hơn trong bảo trì, sử dụng
phần mềm. Ứng dụng Hibernate làm đơn giản quá
trình duy trì dữ liệu, thuận tiện trong việc truy cập
và xử lý dữ liệu, nâng cao hiệu quả của chương
trình.
Tuy nhiên bài toán đưa ra còn khá đơn giản,
chưa thể hiện được tất cả khía cạnh của công
nghệ. Trong quá trình phát triển ứng dụng còn
gặp phải một số khó khăn nhất định.
4. Tài liệu tham khảo
[1] Christian Bauer & Gavin King,
Hibernate in
Action
, 2003
[2] James Elliott
Hibernate A Developer’s
Notebook
, O’Reilly, 2004
[3] Chuck Cavaness,
Jakarta struts,

O’reilly, 2002
[4] James Goodwill,
Mastering Jakarta Struts

,
Willey, Canada, 2002.
[5] Will Iverson,
Hibernate.A J2EE Developers
Guide
, Addison Wesley, 2004

×