Nhận tin nhắn

Một phần của tài liệu Nghiên cứu kỹ thuật biến đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo hướng tiếp cận MDA (Trang 104)

C ƢƠNG 1 KỸ T UẬ TP ÁT TRIỂN ỨNG DỤNG WEB ƢỚNG MÔ ÌN

A.2.7Nhận tin nhắn

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

PHỤ LỤC B B.1 CÁC MÔ HÌNH TRONG UWE

B1.1. Mô hình các Yêu cầu

Mục tiêu tổng thể của việc mô hình hóa các yêu cầu là đặc tả tập các chức năng của hệ thống như là một mô hình độc lập về mặt điện toán (CIM). Các mục tiêu cụ thể đối với các hệ thống Web trở thành: (1) việc chỉ ra cụ thể các yêu cầu chức năng dưới dạng các nhu cầu điều hướng và các quy trình nghiệp vụ, (2) việc chỉ ra cụ thể các yêu cầu về nội dung và (3) việc định nghĩa các kịch bản tương tác cho các nhóm người dùng Web khác nhau.

Hình 0.1: Biểu đồ Use Case dành cho cổng thông tin âm nhạc (CIM)

UWE mô hình hóa các yêu cầu bằng các biểu đồ tình huống sử dụng UML và biểu đồ hoạt động UML. UWE phân biệt hai dạng tình huống sử dụng: các tình huống sử dụng điều hướng và các tình huống sử dụng mô tả các quy trình nghiệp vụ Web. Dạng thứ hai - theo đề nghị của UWE - cần phải được chi tiết hóa hơn nữa bằng các biểu đồ hoạt động. UWE sử dụng lược tả UML dành cho các yêu cầu Web

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

(WebRE) được định nghĩa bởi Escalona & Koch [31], trong đó bao gồm các tình huống sử dụng, các hoạt động và các đối tượng được tạo khuôn mẫu, cung cấp các ngữ nghĩa đặc trưng lĩnh vực Web cho các phần tử mô hình hóa. Hình 2.14 minh họa biểu đồ tình huống sử dụng dành cho cổng âm nhạc và Hình 2.15 cho thấy biểu đồ hoạt động dành cho tình huống sử dụng tải album xuống.

Hình 0.2: Biểu đồ hoạt động cho mô hình Use Case tải album trên cổng thông tin âm nhạc (giản lƣợc) (CIM)

B.1.2. Các Mô hình Thiết kế

Ở mức thiết kế, UWE tuân theo nguyên tắc tách bạch các mối quan tâm vốn được áp dụng rộng rãi trong công nghệ Web. Xây dựng các mô hình riêng biệt dành cho các khía cạnh nội dung, điều hướng và biểu diễn của các hệ thống Web bằng cách sử dụng các biểu đồ lớp UML cho phần biểu diễn bằng thị giác [38]. Thêm vào chúng một mô hình quy trình bổ sung dành cho các ứng dụng Web giao dịch, và một mô hình thích ứng dành cho các hệ thống được cá nhân hóa và phụ thuộc bối cảnh. UWE định nghĩa các phần tử mô hình hóa đặc trưng lĩnh vực Web chẳng hạn như lớp và menu điều hướng cho mô hình điều hướng, và lớp biểu diễn và mốc neo cho mô hình biểu diễn.

Lược tả UWE cung cấp các khuôn mẫu tương ứng. Hình 2.16 và Hình 2.17 minh họa mô hình nội dung và mô hình điều hướng của cổng âm nhạc. Các nút có

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

thể điều hướng được biểu diễn bằng các thực thể của siêu lớp NavigationNode chẳng hạn như NavigationClass, Menu và ProcessClass (các khuôn mẫu mở rộng Class UML). Các liên kết giữa các nút điều hướng được biểu diễn bằng các thực thể của NavigationLink và ProcessLink. Ngoài ra, các tuyến điều hướng được kiến thiết bằng các thực thể thuộc các kiểu đặc biệt của các nguyên tố truy xuất chẳng hạn như Index, Query và GuidedTour. Các chỉ số biểu diễn các lựa chọn trong số các thực thể của một lớp điều hướng cụ thể. Trái lại, các menu (như MainMenu) biểu diễn các lựa chọn trong số các thực thể của các nút điều hướng thuộc các kiểu khác nhau. Một Query (như SearchAlbum) mô hình hóa một hành động dò tìm trong ứng dụng Web, trong đó người dùng có thể nhập vào một từ và lựa chọn trong số các kết quả trùng khớp.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 0.4 Mô hình điều hƣớng (PIM)

Các mô hình quy trình được biểu diễn trực quan như là các biểu đồ hoạt động UML 2.0 (xem Hình 2.18). Các hành động (như FindUser) mô hình hóa các hành động mà người dùng và hệ thống phải thực hiện để hoàn thành quy trình nghiệp vụ.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 0.6: Các trạng thái Home và Song của “bức tranh tổng thể”

UWE đề xuất xây dựng mô hình biểu diễn để phác thảo bố cục sắp xếp của ứng dụng Web. Nó sử dụng ký pháp hợp thành UML dành cho các lớp, nghĩa là quan hệ bao hàm được biểu diễn bằng việc lồng về mặt đồ họa các ký hiệu vào nhau. Dạng biểu diễn này thích hợp cho việc mô hình hóa các giao diện người dùng vì nó cho phép việc sắp đặt bố cục trật tự về mặt không gian, nhưng có vấn đề là phần lớn các công cụ tình huống (case tool) tiêu chuẩn không hỗ trợ nó. Đối với các mô hình thích ứng, lược tả UWE bao gồm các khuôn mẫu dành cho nút khác và cơ chế thích ứng liên kết. Kỹ thuật biểu đồ được UWE sử dụng là kỹ thuật mô hình hóa hướng khía cạnh (AOM), trong đó có sự mở rộng UML bằng các khái niệm như khía cạnh, cắt điểm (pointcut) và lời khuyên (advice) để hỗ trợ AOM . Do những hạn chế về mặt không gian, tôi không đề cập chi tiết hơn nữa về các mô hình biểu diễn và mô hình thích ứng trong tài liệu này. Độc giả có thể tham khảo [30] và [37].

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

UWE đề xuất việc tạo ra một mô hình được tích hợp, trong đó các mối quan tâm riêng biệt của một hệ thống Web được hợp nhất trong một bức tranh tổng thể. Việc sử dụng các máy trạng thái UML như là các kết quả của quá trình tích hợp mang lại khả năng áp dụng các kỹ thuật hình thức cho việc xác nhận tính hợp lệ, chẳng hạn như việc kiểm nghiệm mô hình [35]. Hiện tại, bức tranh tổng thể là kết quả của việc tích hợp các mô hình nội dung, điều hướng và logic nghiệp vụ, nhưng nó có thể dễ dàng được mở rộng để bao gồm cả các tính năng như kiểm soát truy cập [48] và điều chỉnh thích ứng [30]. Hình 2.19 cho thấy các trạng thái Home và Song, cả hai đều là thành phần của mô hình “Bức tranh Tổng thể”

B.1.3. Các Mô hình Kiến trúc và Mô hình Cài đặt

Các thông tin bổ sung về các phong cách kiến trúc có thể được hợp nhất ở các bước khác nhau trong quy trình MDD UWE. Theo cách tiếp cận WebSA mà tôi đề nghị trong [41] là tích hợp các mô hình thiết kế và các mô hình kiến trúc trong một giai đoạn rất sớm của quy trình phát triển. Một cách tiếp cận như vậy được minh họa trong tổng quan quy trình UWE. Các mô hình kiến trúc trong cách tiếp cận Kiến trúc Phần mềm Web (WebSA) được đặc tả như là các mô hình độc lập nền hệ thống (các PIM). Knapp và Zhang đề nghị trong [36] là hợp nhất các mô hình kiến trúc với mô hình bức tranh tổng thể, nghĩa là hợp nhất với kết quả của mô hình đã được tích hợp của các mối quan tâm khác nhau (nội dung, cơ chế điều hướng và logic nghiệp vụ). Một phương án tiếp cận thứ ba là đưa các thông tin kiến trúc vào khi tạo ra các mô hình đặc trưng nền hệ thống.

B.2 Cách sử dụng UWE để thiết kế ứng dụng web

Mục đích chính của phương pháp MDA trong việc tạo ra ứng dụng Web là thu hẹp khoảng cách giữa các khái niệm trừu tượng hiện nay trong các mô hình thiết kế (nội dung, điều hướng, quy trình, trình bày) với các nền tảng Web. Trong thực tế với phương pháp UWE, khoảng cách này là khá gần giữa Content và mô hình Presentation. Cấu trúc tĩnh UML được sử dụng để mô tả Content trong UWE (nếu có thể bỏ qua các mô hình phức tạp hơn như các mẫu nâng cao, kết hợp gói và các loại tương tự) gần như mô tả lại giống hệ các phần bên trong của ứng dụng như mô

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

hình cơ sở dữ liệu quan hệ, mô hình quan hệ hướng đối tượng, hoặc Java Bean. Tương tự, mô hình UWE Presentation, cũng vẫn dựa trên các cấu trúc UML tĩnh, có thể được xem như là một khái niệm trừu tượng trong việc thiết kế trang web,... mô tả lại các kỹ thuật Plain HTML, Dynamic HTML, hoặc Java Server Pages (JSP). Khoảng cách trừu tượng này có thể so sánh với những cấu trúc UWE Navigation chỉ sử dụng các node navigation và truy cập thô sơ. Tuy nhiên trong trường hợp này, thay đổi để mô tả luồng xử lý nghiệp vụ theo UWE, nó sử dụng phép biểu diễn các quy trình làm việc. Đặc biệt, dựa vào các dấu hiệu, giống như việc làm sáng tỏ các hoạt động của UML và kiểm soát sự kết hợp của chúng với luồng dữ liệu, việc đó đặc biệt thích hợp cho việc khai báo truyền đi dữ liệu, khác biệt đáng kể với phương pháp truyền thống, khái niệm ngôn ngữ lập trình điều khiển trung tâm được hỗ trợ bởi nền tảng Web hiện tại.

Vì vậy, để tạo ra một ứng dụng Web từ một mô hình thiết kế UWE, một mặt ta ánh xạ và mặt khác làm sáng tỏ phương pháp tiếp cận: Quy tắc chuyển đổi thích hợp để tạo ra mô hình dữ liệu và lớp giao diện cho một ứng dụng Web từ UWE Content, cấu trúc điều hướng và những mô hình giao diện, ở đây ít có sự khác biệt trong mô hình và nền tảng trừu tượng. Các khác biệt cao hơn trong trừu tượng, hình thức rõ ràng trong các mẫu mô hình quy trình có thể dễ dàng hơn trong việc diễn giải các mô hình thực thi trực tiếp trong máy ảo. Cụ thể, mô tả quá trình tạo ứng dụng Web từ Mô hình UWE bằng một nền tảng Web độc lập, sử dụng framework Spring, nhưng, nếu muốn thay đổi nền tảng, các mô hình chuyển đổi đổi và tùy biến với các máy ảo, ta có thể dễ dàng chuyển sang các công nghệ Web khác như sử dụng một nền tảng đơn giản Java Server Pages (JSP) hay một nền tảng nặng hơn, ASP.NET.

Spring là một framework đa năng dựa trên nền tảng Java theo mô đun tích hợp MVC 2-based Web framework với khả năng dễ dàng truy cập phần mềm trung gian, bền bỉ và quản lý giao dịch. Tách biệt các mô hình, view, và các phần điều khiển trực tiếp phản ánh cấu trúc chung của các mô hình tiếp cận theo hướng UWE và cũng hỗ trợ việc bổ sung sử dụng các quy tắc chuyển đổi, thực hiện engine trong

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA (adsbygoogle = window.adsbygoogle || []).push({});

sinh ra ứng dụng Web: yêu cầu tối thiểu là sử dụng framework Spring trên công nghệ mô hình hóa; trong thực tế, bất kỳ loại Plain Old Java Objects (POJO) đều có thể được sử dụng, và việc tiếp cận với các mô hình từ view hoặc phần controller chỉ là gọi các hàm chức năng get- và set-. Để mô hình hóa cho định nghĩa quy tắc chuyển đổi từ một mô hình nội dung UWE sang Java Beans. Công nghệ View được tách ra từ model và Controller bởi một cơ chế cấu hình được cung cấp bởi Spring; do đó các công nghệ như Faces JSP, Tiles, hoặc Java Server có thể được sử dụng. Ta định nghĩa cách chuyển đổi từ mô hình giao diện UWE sang JSP. Cuối cùng, Controller cung cấp mọi thứ cho việc xây dựng một máy ảo để thể hiện luồng xử lý nghiệp vụ, cũng như nó có thể được tùy chỉnh thông qua bất kỳ lớp Java nào, bổ sung giao diện cụ thể từ các framework Spring. Dữ liệu cấu hình cho máy ảo được tạo ra từ quy trình UWE và mô hình điều hướng.

Tổng quan về cách biến đổi và phương tiện thực hiện được mô tả theo như Hình 2.35. Các máy ảo để thực hiện xử lý nghiệp vụ và mô hình điều hướng được gói gọn trong một môi trường thời gian thực được xây dựng trước khi chuyển sang Spring framework và cũng đóng gói quản lý dữ liệu và các view xử lý.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

B.2.1. Môi trƣờng thực thi (Runtime Environment)

Cấu trúc của môi trường thực thi được hiển thị trong Hình 26. Framework Spring được cấu hình để thực hiện điều khiển chung có tên MainController. Bộ điều khiển có quyền truy cập vào một tập các đối tượng với những kiểu được tạo ra từ mô hình nội dung và định ra một đối tượng gốc được xem như là một điểm bắt đầu cho các ứng dụng. Mô hình đối tượng được truy cập bởi phương thức get- và set- và các quá trình được định nghĩa trong các mô hình nội dung. Ngoài ra, controller quản lý một tập hợp các đối tượng NavigationClassInfo trong đó có chứa thông tin cấu trúc Navigation với việc thừa kế giữa các lớp navigation và được tạo ra từ các mô hình Navigation. Một bộ của các đối tượng ProcessActivity được tạo ra từ các mô hình xử lý đại diện cho quá trình xử lý Web; với mỗi session nhiều nhất là một quá trình có thể được hoạt động tại một thời điểm.

Có những quan điểm cho rằng, các trang Web không được quản lý một cách rõ ràng bởi các môi trường thực thi , mà chỉ có bộ nhận dạng ký tự hợp lệ. Framework Spring có trách nhiệm phân tích các định dạng này thành các trang web thực sự, được tạo ra từ các mô hình giao diện.

Chức năng handleRequest xử lý các yêu cầu Web bằng cách sửa đổi mô hình và trả về View tương ứng. Khi phương pháp này được gọi, trước tiên nó kiểm tra tiến trình có đang đang hoạt động trong phiên làm việc hiện tại. Nếu có, sau đó việc thực thi được giao cho các môi trường thời gian thực, chi tiết quá trình ở Mục 3.4.3. Nếu không, thì các đối tượng kế tiếp từ mô hình nội dung đó cần được biểu diễn cho người dùng là đã được giải quyết bằng cách được định danh . Cuối cùng , một định dạng được trả lại và trang web tương ứng được hiển thị cho người sử dụng .

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 0.8 Môi trƣờng thời gian thực B.2.2. Content và Navigation

Sự biến đổi mô hình nội dung thành Java beans là khá đơn giản . Ví dụ minh họa sau đây về kết quả của quy tắc chuyển đổi áp dụng cho dự án ProjectManager :

public class ProjectManager { private List<Project> projects; public List<Project> getProjects() { return projects;

}

public void setProjects(List<Project> projects) { this.projects = projects;

}

public void removeProject(Project project) {

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

} }

Mô hình Navigation không được chuyển trực tiếp vào code vì trong việc chuyển đổi các mô hình Presentation, các tham chiếu đến các phần tử từ các mô hình Navigation được giải quyết để các trang được tạo ra trực tiếp truy cập vào các mô hình nội dung . Tuy nhiên , một kiến thức tối thiểu về các mô hình Navigation là cần thiết trong môi trường thời gian thực để xử lý chuyển hướng một cách năng động. Ví dụ , trong mô hình Navigation của Hình 2.32. liên kết xử lý từ lớp xử lý AddProject đến lớp trừu tượng Navigation, với hai lớp con Navigation là UserProject và ValidationProject. Vì vậy, theo đường dẫn AddProject để tạo một dự án thì lớp giao diện cho lớp con Navigation để hiển thị kiểu đối tượng có nội dung động.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

B.2.3. Process

Bởi vì trong những thực hiện ngữ nghĩa phức tạp của các hoạt động dựa trên những dòng dấu hiệu tôi tích hợp quy trình xử lý Web chung, vào nền tảng cụ thể môi trường thời gian thực, được trình bày trong Mục 4.1. Cấu trúc cơ bản của cơ chế xử lý Web được đưa ra trong Hình 2.37. Một tiến trình hoạt động bao gồm một

Một phần của tài liệu Nghiên cứu kỹ thuật biến đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo hướng tiếp cận MDA (Trang 104)