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

2 409 1
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

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

Thông tin tài liệu

- 6 - TÌM HIỂU 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ượngmộ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 đã đượ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 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 Hibernate. Trong đề tài này, chúng tôi tập trung vào việc tìm hiểu nội dung khả năng vận dụng của công nghệ Struts 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, 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 cho phép nó tr ừu tượng hoá so với các tầng thực thi 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 đư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 duy trì dữ liệu có ý nghĩa rất quan trọng 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ơ 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 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 dữ liệu Hibernate sử dụng một tệp ánh xạ có tên trùng với tên lớp 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 tự động cập nhật vào các bảng trong 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 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 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ơ 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 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 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 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 . - 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. 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

Ngày đăng: 06/10/2013, 19:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan