Phát triển ứng dụng web hướng mô hình dựa trên kỹ thuật web UWE
Bạn đang xem tài liệu "Phát triển ứng dụng web hướng mô hình dựa trên kỹ thuật web UWE", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
phat_trien_ung_dung_web_huong_mo_hinh_dua_tren_ky_thuat_web.pdf
Nội dung text: Phát triển ứng dụng web hướng mô hình dựa trên kỹ thuật web UWE
- Kỷ yếu Hội nghị Quốc gia lần thứ VIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 9-10/7/2015 DOI: 10.15625/vap.2015.000195 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRÊN KỸ THUẬT WEB UWE Trần Đình Diễn, Huỳnh Quyu ết Thắng Viện Công nghệ thông tin và Truyền thông, Trường Đại học Bách khoa Hà Nội tddien@cdts.edu.vn, thanghq@soict.hust.edu.vn TÓM TẮT - Trong bài báo này chúng tôi trình bày kỹ thuật phát triển ứng dụng Web hướng mô hình (MDWE)), phân tích, ưu nhược điểm của một số kỹ thuật điển hình. Bài báo đi sâu vào trình bày kỹ thuật UWE trong phát triển các ứng dụng Web: các mô hình, các kỹ thuật chuyển đổi mô hình. Trên cơ sở sử dụng công cụ MaagicUWE và áp dụng kỹ thuật UWE trong phát triển ứng dụng Thuysan.Net, bài báo đã phân tích và làm rõ phương pháp áp dụng chi tiết các kỹ thuật phát triển ứng dụng Web UWE. Từ khóa - Kỹ thuật Web, Kỹ thuật Web dựa UML (UWE), Phát triển ứng dụng Web hướng môô hình (MDWE), Phát triển phần mềm hướng mô hình (MDSD). I. GIỚI THIỆU Kiến trúc hướng mô hình (MDA) là kỹ thuật mới cho sự phát triển sản phẩm phần mềm. Kỹ thuật này giải quyết được sự phức tạp của nền tảng công nghệ khác nhau bằng việc sử dụng các mô hình (models) như là tác nhân chính trong toàn bộ vòng đời phát triển ứng dụng, giảm sự phụ thuộc vào nền tảng công nghệ [17]. Khi có nền tảng mới ra đời thì ứng dụng mới sẽ được chuyển đổi tự động từ các mô hình để tương thích với nền tảng mới. Do đó, MDA đang trở thành một phương phápp tiếp cận được chấp nhận rộng rãi để phát triển các ứng dụng phức tạp và ngày càng dành được nhiều sự quan tâm của cộng đồng nghiên cứu cũng như giới công nghiệp phần mềm [2]. Các ứng dụng Web bao gồm nhiều thành phần khác nhau có thể được cung cấp bởi những nhà phát triển khác nhau với nền tảng công nghệ khác nhau, nên việc sử dụng các kỹ thuật phát triển hướng mô hình cho các ứng dụng Web đặc biệt hữu ích [2, 5, 11]. Các kỹ thuật này đã khắc phục được nhhiều hạn chế mà các quá trình phát triển phần mềm trước đó chưa giải quyết được [11], giảm chi phí thực hiện dự án phần mềm, tăng năng suất thực hiện dự án một cách trực tiếp hoặc thông qua giảm khối lượng công việc làm lại. Có nhiều kỹ thuật để phát triển ứng dụng web hương mô hình như: OOWS, UWE, WebML, WebSA [6,11,16], trong đó UWE là kỹ thuật phát triển ứng dụng web hoàn chỉnh và được sử dụng nhiều nhất trong kỹ thuật Web hướng mô hình. Trong bài báo này chúng tôi trình bày kỹ thuật phát triển phần mềm hướng mô hình cho ứng dụng Web dựa trên kỹ thuật UWE (UML-base Web Engineering), thảo luận và phân tích những lợi thế và bất lợi của phương pháp hướng mô hình trong phát triển ứng dụng Web. Nội dung tiếp theo của bài báo như sau: trong phần II trình bày kỹ thuật Web hướng mô hình, trong đó tổnng hợp so sánh một số kỹ thuật điển hình; Phần III tập trung trình bày kỹ thuật Web hướng mô hình UWE: các mô hình, phương pháp xây dựng mô hình và kỹ thuật chuyển đổi mô hình; Phần IV trình bày chi tiết áp dụng trong xây dựng ứng dụng Thuysan.net; Cuối cùng, phần V là đánh giá nhận xét. II. KỸ THUẬT WEB HƯỚNG MÔ HÌNH A. Giới thiệu Khi kỹ thuật phát triển phần mềm dựa mô hình (Model Driven Software Development - MDSD) [1] ngày càng trở nên phổ biến trong cộng đồng phát triển phần mềm thì các kỹ thuật phát triển ứng dụng Web cũng bắt đầu thay đổi về phương pháp luận và quy trình để phù hợp với kỹ thuật MDSD nhằm tạo ra các ứng dụng Web nhanh chóng và có chất lượng. Hướng tiếp cận theo sự thay đổi này được gọi là kỹ thuật Web hướng mô hình (MDWE) [6]. Hình 1 mô tả cấu trúc phát triển ứng dụng Web hướng mô hình [6]. Hình 1. Cấu trúc MDA cho kỹ thuật Web
- TrT ần Đình Diễn, Huỳnh Quyết Thắng 565 MDWE chấp nhận và phát triển một số kỹ thuật trong MDSD nhằm tạo nêên các ứng dụng Web [1,6, 3, 11] như: (1) xây dựng các siêu mô hìình và mô hình trong miền ứng dụng Web; (2) định nghĩa và thực hiện các chuyển đổi từ mô hình đến mô hình, chuyển đổi từ mô hình đến code với mục đích đạt được một phần trong toàn bộ quá trình thực hiện; và (3) kết nối hoặc phát triển công cụ để hỗ trợ thiết lập, chuyển đổi các mô hình, tạo mã. Với cách này, MDWE giúp thu hẹp khoảng cách giữa mô hình thiết kế cấp cao và mã thực hiện Web cấp thấp [11]. Hiện nay, một số kỹ thuật Web hướng mô hình điển hình như OOWS, UWE, WebML, WebSA đã được sử dụng rộng rãi cho việc thiết kế và phát triển của các ứng dụng Web[15, 18]. Trong mục tiếp theo, chúng tôi tổng hợp và so sánh các kỹ thuật này. B. So sánh một số kỹ thuật Web hướng mô hình điển hình 1) UWE UWE là phương pháp hướng đối tượng dựa trên ngôn ngữ mô hình hóa UML [2], là một trong những kỹ thuật đầu tiên phát triển theo kỹ thuật hướng mô hình và được sử dụng nhiều nhất tronng kỹ thuật Web hướng mô hình [6]. UWE là một kỹ thuật phát triển ứng dụng Web hoàn chỉnh nhưng chủ yếu tập trung vào giai đoạn phân tích và thiết kế. Một trong những ưu điểm quan trọng của UWE là tất cả các mô hình của nó đều là phần mở rộng của UML. UWE sử dụng ký pháp đồ họa hoàn toàn dựa trên UML. Nó cho phép sử dụng các công cụ dựa trên UML và giảm thiểu thời gian nghiên cứu của các nhà phát triển Web, những người đã quen thuộc với UML[6]. Cách tiếp cận MDSD của UWE có lẽ là một trong những phương pháp hoàn thiện nhất vì nó đưa ra một siêu mô hình tương ứng mỗi mô hình của UWE như: Yêu cầu, Nội dung, Điều hướng, Trììnnh bày và Xử lý, các mô hìình này kết hợp với sự chuyển đổi mô hình nhằm thu được mô hình từ các mô hình khác [6]. 2) WEBML WeBML là một phương pháp thiết kế Web thế hệ thứ ba dựa trên MDA [14]. Trong WeBML bổ sung, xây dựng tập ký pháp để thiết kế khái niệm của các trang Web phức tạp [6]. Phát triển ứng dụng với WeBML được hỗ trợ bởi WebRatio, một công cụ thương mại cho việc thiết kế và thực hiện các ứng dụng Web [7]. Phương pháp này ssử dụng ký hiệu (notation) riêng và không sử dụng meta-model tuân thủ MOF, mà sử dụng Document Type Definition (DTD) để lưu các mô hình nội dung và điều hướng, ví dụ định nghĩa dạng ngữ pháp (grammar-like definition) cho cấu trúc của tài liệu XML. DTD không có tính trừu tượng như MOF và thiếu ký hiệu dễ hiểu. Ngôn ngữ chuyển đổi XSLT (eXtensible Stylesheet Language Transformation) được sử dụng cho việc chuyển đổi mô hình sang mã nguồn (hỗ trợ Java và JSP). XSLT không phù hợp với những chuyển đổi phức tạp, khó phát triển chương trình và dễ bị lỗi [2]. Tuy nhiên, phương pháp tiếp cận mô hình định hướng của WeBML đặc biệt hiệu quả trong việc tạo các trang Web hỗ trợ đa phương tiện [4]. Hình 2. Kiến trúc của WeBML [14] Theo [14] có 3 mô hình được đưa ra: (1) Mô hình dữ liệu, thể hiện các nội dung dữ liệu của trang Web tổ chức theo thực thể - quan hệ, WeBML không xác định ký pháp của mình và thay vào đó đề xuất sử dụng kỹ thuật mô hình hóa chuẩn như Sơ đồ Thực thể - Quan hệ hoặc sơ đồ lớp UML. (2) Mô hình siêu văn bản mô tả một hoặc nhiều hypertexts có thể được công bố trên trang Web. Mỗi một siêu văn bản xác định một trang Web, bao gồm một tiểu mô hình thành phần và một tiểu mô hình điều hướng. Mô hình đầu tiên xác định các trang tạo nên siêu văn bản và các đơn vị nội dung kết cấu nên trang Web, mô hình thứ hai mô tả cách các trang và các đơn vị nội dung được liên kết từ siêu văn bản. (3) Mô hình trình bày, nó trình bày các lớp và các đồ họa được thể hiện của trang Web, độc lập với thiết bị đầu ra và ngôn ngữ thể hiện.
- 566 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRÊN KỸ THUẬT WEB UWE 3) OOWS Theo [7] OOWS là phương pháp kỹ thuật Web, nó cung cấp kỹ thuật để hỗ trợ cho việc phát triển ứng dụng Web. OOWS là sự mở rộng của phương pháp OO-Method. OO-Method gồm 3 mô hình: Mô hình cấu trúc, mô hình động, mô hình chức năng, để phù hợp cho việc phát triển ứng dụng Web, OOWS đề xuất mới 3 mô hình: mô hình người dùng, mô hình điều hướng và mô hình trình bày. Ba mô hình mới cho phép mô tả đầy đủ các ứng dụng Web tại mức PIM. Quá trình tạo mã thực hiện bởi công cụ OlivaNova [7]. 4) WebSa WebSA là một cách tiếp cận hướng mô hình cho phát triển ứng dụng Web. Quá trình phát triển dựa trên MDA thiết lập 4 giai đoạn của vòng đời phát triển: phân tích; thiết kế độc lập nền tảng, nơi xây dựng mô hình nền tảng độc lập (PIM); thiết kế nền tảng cụ thể, nơi xây dựng mô hình nền tảng độc lập (PSM) và thực hiện [11]. Phương pháp này nhóm các mô hình ứng dụng web thành 2 khung nhìn: chức năng và kiến trúc (Hình 3) theo [13, 16]. Hình 3. Quy trình phát triển WebSA WebSA sử dụng mô hình đề xuất trong hai phương pháp: UWE và OO-H [11, 16]. Trong giai đoạn phân tích, đặc điểm kỹ thuật Web được chia thành mô hình chức năng và các mô hình kiến trúc khái niệm. Trong bảng 1, đưa ra tổng hợp so sánh các kỹ thuật OOWS, UWE, WebML, WebSA theo cấp độ MDA [6]. Trong khuôn khổ nghiên cứu này chúng tôi tập trung đề cập đến phương pháp xây dựng các mô hình theo UWE, trong đó các hoạt động mô hình hoá chính là phân tích yêu cầu (requirement), thiết kế các khía cạnh nội dung (content), điều hướng (navigation), xử lý (process) và biểu diễn (presentation), ở các bước chuyến đổi mô hình từ CIM sang PIM. Từ PIM sang PSM và từ PSM sang code. Kết quả ở mỗi bước chuyển đổi là mô hình mặc định được tạo và sẵn sàng cho các bước chuyển đổi tiếp theo [1]. Bảng 1. Tổng hợp so sánh các kỹ thuật Web hướng mô hình [6] Kỹ thuật Web Cấp độ kiến trúc mô hình hướng mô hình CIM PIM PSM UWE X X X WebML X X OOWS X X WebSA X X Bảng 1 cho thấy, kỹ thuật UWE hoàn toàn tuân thủ theo MDA cho việc phát triển ứng dụng Web. Vì vậy, các nội dung trình bày trong các mục tiếp theo của bài báo được tập trung vào kỹ thuật UWE. III. KỸ THUẬT WEB HƯỚNG MÔ HÌNH UWE Metamodel UWE được tách theo cấu trúc gói như trong Hình 4. Trong đó, gói Adaptivity có mục đích cho phép ngôn ngữ có thể mở rộng. Gói Core được chia thành các gói nhỏ hơn (còn được gọi là các mô hình trong UWE), bao gồm [9]: (1) Requirements (Yêu cầu), (2) Content (Nội dung), (3) Navigation (Điều hướng), (4) Presentation (Trình bày) và (5) Process (Xử lý) [9].
- TrT ần Đình Diễn, Huỳnh Quyết Thắng 567 Hình 4. Cấu trúc siêu mô hình trong UWE A. Các mô hình trong UWE Mô hình yêu cầu (Requirements Model): mô hình yêu cầu tập trung vào việc sử dụng biểu đồ ca sử dụng của ngôn ngữ UML thông thường để xác định một vài xử lý và hoạt động mà ứng dụng Web cần thực hiện. Các phần tử đặc trưng của mô hình này: > là những use case có nhiệm vụ như: duyệt, xem và tìm kiếm > các use case có nhiệm vụ khác > use case yêu cầu sự thích nghi Mô hình nội dung (Content Model): Mô hình nội dung cho các ứng dụng Web với UWE không khác biệt so với mô hình nội dung phát triển phần mềm không phải Web. Do đó, chúng tôi sử dụng thành phần mô hình UML chuẩn cho mô hình cấu trúc như các lớp, các liên kết và các gói để mô hình hóa nội dung của ứng dụng Web. Ngoài ra mô hình hành vi có thể sử dụng tính năng của UML như máy trạng thái và biểu đồ trình tự. Mô hình điều hướnng (Navigation Model): Như tên gọi, mô hình này được sử dụng để xác định luồng chuyển hướng mà người sử dụng có thể làm theo (VD: các trang Web và luồng chuyển hướng kết nối chúng với nhau). Nó được thực hiện bằng biểu đồ lớp UML, được bổ sung bới những khuôn mẫu UWE đại diện cho các nút và các liên kết. Các metamodel điều hướng UWE được ttrình bày trong hình 5 [9]. TrT ục sương sống của metamodel điều hướng là các cặp trừu tượng metaclasses nút và link và các liên kết giữa các lớp này. Một tập hợp các núút và link cung cấp các metaclass miền Web cụ thể cho việc xây dựng mô hình điều hướng: NaavigationClass và ProcesssClass với NavigationLink và ProcessLink cũng như các Menu và các truy cập nguyên thủy Index, GuidedTour và Querry. Hình 5. Siêu mô hình điều hướng (Navigation Metamodel)
- 568 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRRÊN KỸ THUẬT WEB UWE Mô hình xử lý (Process Model): mô hình xử lý đặc tả hành vi của ứng dụng Web, nhữnng hành động của người dùng và phản hồi của ứng dụng tương ứng. Nó bao gồm: (1) mô hình cấu trúc của xử lý - mô tả mối quan hệ giữa một vài xử lý khác nhau (hoặc cũng có thể là tập hợp các hoạt động) của ứng dụng Web và (2) mô hình luồng xử lý – gồm các biểu đồ hoạt động UML mô tả cụ thể một xử lý được thực hiện như thế nào (khuôn mẫu UserAction trong UWE được sử dụng để xác định các hoạt động đòi hỏi sự tương tác rõ ràng với người sử dụng) (hình 6). Hình 6. Siêu mô hình xử lý (Process Metamodel) [99] Lớp xử lý tượng trưng cho một xử lý thông qua việc hướng dẫn người dùng cách sử dụng trên ứng dụng Web, khuôn mẫu UML: > Link xử lý thường là một liên kết giữa một lớp điều hướng và một lớp xử lý, khuôn mẫu UML: > Trạng thái của một Web xử lý được xác định bởi mô hình luồng xử lý, trình bày bởi biểu đồ hoạt động UML Luồng xử lý bao gồm luồng thực thi được trình bày bởi các nút và các cạnh của hoạt động, các nút điều khiển cung cấp cấu trúc điều khiển của luồng, như là quyết định và đồng bộ hóa, nút đối tượng để trình bày luồng dữ liệu theo các cạnh và đỉnh của hành động, trong UML2 ngữ nghĩa của hoạt động dựa trên điều khiển và các dấu hiệu của dòng dữ liệu. Mô hình trình bày (Presentation Model): Mô hình trình bày mô tả một cái nhìn trừu tượng về giao diện người dùng của ứng dụng (ví dụ giao diện các trang Web). Mô hình trình bày định nghĩa nhiều khuôn mẫu cho các loại thành phần khác nhau (ví dụ như khung nhập văn bản, các nút bấm, ), nhưng không cung cấp chi tiết cụ thể như kiểu CSS hoặc các yếu tố HTML. Hình 7. Siêu mô hình trình bày (Presentation Metamodel) [9] Từ những trình bày trên về UWE metamodel ta có thể định nghĩa một cách ngắn gọn: “UWE metamodel là các tiêu chuẩn về mô hình trong UWE, dựa vào để xây dựng các mô hình Requirement, Content, Navigation, Process và Presentation cho ứng dụng Web.
- TrT ần Đình Diễn, Huỳnh Quyết Thắng 569 B. Chuyển đổi mô hình trong UWWEE Áp dụng các nguyên tắc của MDA, phương pháp tiếp cận UWE đề xuất để xây dựng một tập hợp các CIMS, PIM và chuyển đổi từ CIM sang PIM (Hình 8), từ PIM sang PSM và từ PSM có thể chuyển thành mã chương trình cụ thể thực thi hệ thống (Hình 99). Hình 8. Chuyển đổi mô hình từ CIM tới PIM và từ PIM sang PIM trong UWE [3] Hình 9. Chuyển đổi mô hình từ PIM san PSM trong UWE [2] Về chuyển đổi mô hình, kỹ thuật nổi lên gần đây trong chuyển đổi mô hình được sử dụng trong UWE là ATL và QVT [7, 10, 13]. Một trong những công cụ thực hiện công việc này là MagicDraw, nó bao gồm 1 công cụ đính kèm cho phép khởi tạo ứng dụng Web đối với nền tảng khác nhau [6]. UWE được hỗ trợ bởi nhiều công cụ như: ArgoUWE, MagicUWE, MagicDraw và UWE4JSF [8]. IV. ÁP DỤNG KỸ THUẬT UWE TRONG PHÁT TRIỂN ỨNG DỤNG WEB TTHUYSAN.NET Trên cơ sở lý thuyết đã được trình bày ở trên. Trong phần này, chúng tôi tiến hành thực nghiệm áp dụng kỹ thuật phát triển ứng dụng Web hướng mô hình UWE vào bài toán xây dựng Webbsite Thuysan.net nhằm mục đích thử nghiệm áp dụng kỹ thuật này. Trên cơ sở đó, sẽ tổng hợp kết quả, cũng như đánh giá và khả năng của kỹ thuật này. A. Giới thiệu về ứng dụng Thuysan.net Trong những năm gần đây, nuôi ttrồng thủy sản (NTTS) ở nước ta đã pháát triển thành một ngành kinh tế mũi nhọn, sản xuất hàng hóa lớn và là một trong 10 nước xuất khẩu thủy sản lớn nhất thế giới. Thực tế cho thấy khi NTTS phát triển theo hướng năng suất cao thì luôn đi kèm theo sự phát sinh của dịch bệnh và đó là một trong những khó khăn của NTTS. Dịch bệnh trong NTTS ở nước ta trong vài năm qua đã cho thấy đây là một trong những yếu tố rủi ro nhất cần phải có các giải pháp khắc phục nhằm đưa nghề nuôi thủy sản phát triển theo hướng bền vững. Đặc biệt những năm gần đây mức độ thiệt hại do dịch bệnh ggây ra trên tôm, cá, nhuyễn thể ngày càng tăng và trở thành mối lo lớn của người sản xuất. Chẩn đoán bệnh động vật thủy sản là một quá trình khá phức tạp trong hoạt động sản xuất nuôi trồng thủy sản, lý tưởng nhất để chẩn đoán và điều trị bệnh thủy sản là cần phải có chhuyên gia bệnh học thủy sản đến tận vùng nuôi, nhưng trong thực tế điều này là không thể do không phải người nuôi nào cũng có đđủ kinh phí để thuê một chuyên gia bệnh học thủy sản điều trị cho tôm, cá bị bệnh. Hơn nữa, thông thường các vùng nuôi ở những nơi hẻo lánh rất xa trung tâm nên việc mời các chuyên gia thủy sản để chuẩn đoán bệnh hoặc gửi mẫu bệnh đi phân tích là rất khó khăn và không kịp thời. Do đó, việc xây dựng ứng dụng Web mô phỏng chuyên gia bệnh thủy sản để chẩn đoán và đưa ra phác đồ điều trị cho các loài thủy sản bị bệnh là hết sức cần thiết. Đây là ứng dụng giúp người nuôi thủy ssản tự chẩn đoán nhanh và điều trị sớm dịch bệnh mà ao của mình mắc phải nhằm giảm thiểu rủi ro do dịch bệnh, tăng năng suất
- 570 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRÊN KỸ THUẬT WEB UWE cho người nuôi trồng thủy sản. Ngoài ra ứng dụng Thuysan.net cũng là nơi cung cấp thông tin kịp thời tình hình chung về thủy sản, các nghiên cứu và ứng dụng công nghệ thủy sản cũng như các vấn đề mới trong quản lý và phát triển nghề thủy sản thế giới và Việt Nam, là diễn đàn để trao đổi kinh nghiệm lẫn nhau trong học tập và chẩn đoán bệnh động vật thủy sản, từ đó góp phần cho việc tăng năng suất lao động, góp phần cho sự phát triển thủy sản ở nước ta. B. Lựa chọn công cụ phát triển ứng dụng Web theo kỹ thuật UWE áp dụng cho Thuysan.net Sau khi đã đặc tả chính xác các khía cạnh của ứng dụng Web bằng các mô hình, đây là dữ liệu đầu vào cho các công đoạn chuyển đổi mô hình. Sự chuyển đổi mô hình trong MDA cho phép chuyển đổi các phần tử của PIM sang PSM bằng cách sử dụng các thông tin trong mô hình PSM kết hợp với các kiểu cụ thể của một nền công nghệ .NET, J2EE. Các công cụ sau đây đã được phát triển để hỗ trợ phương pháp UWE [12]: ArgoUWE dựa trên ArgoUML, MagicUWE là phần mở rộng của MagicDraw và các TopUWE-plugin đã được phát triển cho TopCased. Mục tiêu của các công cụ này là hỗ trợ phát triển ứng dụng Web dựa trên kỹ thuật Web UWE. Trong đó, MagicDraw là công cụ bao gồm một tập hợp các plug-in dùng cho việc xây dựng và chuyển đổi mô hình (sử dụng ATL) và plug-in dùng cho việc biểu diễn mô hình miền ứng dụng Web MagicUWE. Plug-in này tập trung vào việc sinh ứng dụng Web cho nền tảng Java, C++, C# một cách tự động. MagicUWE hỗ trợ sinh mã tự động đối với úng dụng Web dựa trên nền tảng khác nhau. Các bước chuyển đổi được thực hiện bằng việc sử dụng ATL cho chuyển đổi mô hình sang mô hình (M2M) và cho chuyển đổi mô hình sang văn bản (M2T). Việc xây dựng các khuôn mẫu sử dụng ATL để thực thi chuyển đổi trong MagicUWE là không cần thiết đối với lập trình viên vì nó đã được xây dựng sẵn bởi dự án như một tập các plug-in tích hợp. Công nghệ chuyển đổi mô hình đã được kết hợp trong công cụ này (Hình 10) [12]. Hình 10. MagicUWE hỗ trợ mô hình và chuyển đổi mô hình trong UWE Như vậy, công cụ MagicUWE có thể áp dụng trong phát triển ứng dụng Thuysan.net, theo các kỹ thuật như đã trình bày trong phần III. Trong mục tiếp theo chúng tôi trình bày chi tiết thiết kế Thuysan.net, theo kỹ thuật UWE, sử dụng công cụ MagicUWE. C. Thực hiện thiết kế mô hình 1) Mô hình yêu cầu Việc phân tích và đặc tả các yêu cầu trong phương pháp UWE cũng giống như trong các phương pháp truyền thống, đó là sử dụng các biểu đồ Use Case, biểu đồ hoạt động (Activity), biểu đồ lớp (Class), Tuy nhiên trong phương pháp UWE các biểu đồ này được thể hiện rõ ràng hơn cho miền ứng dụng Web với việc sử dụng UML Profile. Sau đây là một số biểu đồ tiêu biểu được thiết kế sử dụng MagicUWE được tích hợp với công cụ CASE MagicDraw (Hình 11).
- TrT ần Đình Diễn, Huỳnh Quyết Thắng 571 Hình 11. Biểu đồ ca sử dụng tổng quát (Use Case Diagram) 2) Mô hình nội dung Mục tiêu của mô hình nội dung là xác định các khía cạnh cấu trúc và hành vi của ứng dụng Web. Ngoài các tính năng cấu trúc tĩnh (các thuộc tính và các liên kết) được tham chiếu trong các mô hình điều hướng, mô hình nội dung cũng bao gồm các tính năng hành vi động (hoạt động) được tham chiếu trong các mô hình xử lý. Mô hình nội dung được tự động lấy từ các mô hình yêu cầu bằng cách chuyển đổi Requirements2Content . Kết quả của mô hình nội dung sau đó được tinh chế bằng cách thêm vào các lớp, các thuộc tính, liên kết Hình 12. Mô hình nội dung tổng quát
- 572 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRRÊN KỸ THUẬT WEB UWE 3) Mô hình điều hướng Mục tiêu của mô hình điều hướng để xác định khả năng điều hướng thông qua các nội dung của mộtt ứng dụng Web, tức là xác định một giao diện điều hướng tĩnh của nội dung, để xác định một giao diện điều hướng tĩĩnh của nội dung, các nút đại diện cho các thông tin từ các mô hình nội dung và các liên kết thể hiện các đường dẫn điều hướng giữa các nút. Như vậy, các yếu tố cơ bản trong mô hình điều hướng là các nút điều hướng và các liên kết. Từ mô hình nội dung ta chuyển đổi sang mô hình điều hướng với các thành phần cơ bản, để từ đó loại bỏ bớt và bổ sung thêm các thành phần khác nhằm hoàn thiện mô hình. Việc đặc tả mô hình điều hướng cũng như các mô hình khác bắt buộc phải tuân thủ chặt chẽ các quy tắc đã đề ra vì dữ liệu từ các mô hình này sẽ được dùng cho việc chuyển đổi sau này, về cơ bản mô hình điều hướng thể hiện rõ nét tất cả các chức năng của ứng dụng. Mô hình điều hướng được xây dựng dựa trên các thành phần >, >, >, >, > và các liên kết >, > (Hình 13). Hình 13. Mô hình điều hướng 4) Mô hình xử lý Các thành phần «processClass» ở mô hình điều hướng sẽ được thể hiện rõ hơn bởi mô hình xử lý (Hình 14). Chúng được đặc tả bởi biểu đồ hoạt động mà các hoạt động của người dùng có thhể thực hiện trong ứng dụng Web. Các mô hình điều hướng của một ứng dụng Web miêu tả cấu trúc thông tin tĩnh còn mô hình xử lý diễn tả ý động của ứng dụng Web. 5) Mô hình trình bày Mô hình trình bày định nghĩa từ các lớp của mô hình xử lý và mô hình điều hướng. Mô hình trình bày đặc tả chính xác các thành phần giao diện người dùng và xác định cụ thể cấu trúc của ứng dụng Web mà các mô hình điều hướng, xử lý, không thể hiện được, xem Hình 15.
- TrT ần Đình Diễn, Huỳnh Quyết Thắng 573 Hình 14. Mô hình xử lý tổng quát Hình 15. Mô hình trình bày cụ thể V. KẾT LUẬN Trong bài báo này chhúng tôi đã trình bày tổng quan về một số kỹ thuật phát triển Web hướng mô hình và tập trung làm rõ kỹ thuật UWE cho vấn đề phát triển ứng dụng Web. Chúng tôi đã đtrình bày chi tiết phương pháp tiếp cận MDE để việc tạo ra các ứng dụng Web từ các mô hình theo kỹ thuật Web UWE. Chúng tôi đã xây dựng thành công các
- 574 PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH DỰA TRÊN KỸ THUẬT WEB UWE mô hình và chuyển đổi mô hình từ CIM để PIM và từ PIM để PSM cũng như chuyển đổi PSM đến mã chương trình để xây dựng ứng dựng Web Thuysan.net. Đây là một phương pháp với quy trình phát triển rõ ràng, tiện dụng, nhiều công cụ hỗ trợ. Do đó, áp dụng kỹ thuật này đã làm giảm rất nhiều thời gian cho việc phát triển ứng dụng Web. Lĩnh vực phát triển ứng dụng Web hướng mô hình là rất lớn, do đó vẫn còn rất nhiều việc phải làm trong tương lai. Chúng tôi hy vọng rằng với bài viết này có thể hỗ trợ sự phát triển của MDSD cho xây dựng các ứng dụng Web ở Việt Nam. Do việc nghiên cứu chủ yếu tập trung vào việc tạo ứng dụng, cho nên chúng tôi vẫn chưa đề cập đến những khía cạnh thú vị khác như mô hình hoá hệ thống bằng UML Profile, chuyển đổi mô hình sang mô hình hay quá trình sinh code của phương pháp. Vì vậy, ở phần thực nghiệm với MagicUWE chúng tôi chỉ đơn giản đề cập đến việc cài đặt môi trường, cấu hình, thiết kế ứng dụng demo để minh hoạ cho phần lý thuyết đã nêu. Định hướng nghiên cứu tiếp theo, trước mắt, tôi sẽ tiếp tục nghiên cứu sâu hơn về kỹ thuật chuyển đổi mô hình và kỹ thuật sinh code trong kỹ thuật UWE để tạo ra các ứng dụng Web chuyên nghiệp. VI. TÀI LIỆU THAM KHẢO [1] J. A. A. Ahmed, U. Muhammad, and H. Zahid, "Model Transformations in Model Driven Architecture," UniCSE, 2010. [2] K. Andreas, "Model Driven Software Engineering for Web Applications," University of Malaga, Spanien, 2007. [3] K. Andreas, K. Alexander, and K. Nora, "Model-Driven Generation of Web Applications in UWE," in MDWE'07, Italy, 2007. [4] S. Ceri, P. Fraternali, and A. Bongio, "Web Modeling Language (WebML): a modeling language for designing Web sites," 2000. [5] A. Fatolahi and S. S. Some, "Assessing a Model-Driven Web-Application Engineering Approach," Journal of Software Engineering and Applications, vol. 07, pp. 360-370, 2014. [6] A. Gustavo, M.-J. Escalona, L. Michael, and R. H. Jose, "An Analysis of Model Driven Web Engineering Methodologies," ICIC International, vol. 9, p. 24, 2013. [7] R. Gustavo, P. Oscar, S. Daniel, and O. Luis, Web Engineering: Modelling and Implementing Web Applications. New York: Springer, 2008. [8] N. Koch and S. Kozuruba, "Requirements Models as First Class Entities in Model-DrivenWeb Engineering," in Proceedings of the 12th international conference on Current Trends in Web Engineering Germany, 2012. [9] C. Kroiß and N. Koch, "UWE Metamodel and Profile: User Guide and Reference," Institute for Informatics, 2008. [10] I. Kurtev, "On the Architectural Alignment of ATL and QVT," 2011. [11] J. A. H. Londono and J. F. Duitama, "Model-driven web engineering methods: a literature review," University of Antioquia, vol. Colombia, p. 13, 2012. [12] I. No Magic, "USER MANUAL MagicDraw," 2015. [13] K. Nora, G. FAST, and Germany, "Transformation Techniques in the Model-Driven Development Process of UWE," in MDWE 2006, California, 2006. [14] P. Patel, A. Hande, and Meshram, "Survey of Existing Web Models Techniques to Design Web Application," Int. J. Computer Technology & Applications (IJCTA), 2013. [15] M. h. Rahmouni and S. Mbarki, "MDA-Based Modeling and Transformation to Generate N-Tiers Web Models," Journal of Software Engineering and Applications, 2015. [16] M. Santiago, "The webSA approach: applying model driven engineering to web applications," University of Alicante, Spain, 2006. [17] Y. Tian, "A Model-Driven Architecture based Evolution Method and Its Application in An Electronic Learning System," De Montfort University, England, 2012. [18] A. Vallecillo, N. Koch, and C. Cachero, "MDWEnet: A Practical Approach to Achieving Interoperability of Model-Driven Web Engineering Methods," in International Conference on Web Engineering (ICWE 2007), Italy, 2007. MODEL DRIVEN WEB APPLICATION DEVELOPMENT BASED ON UWE WEB ENGINEERING Tran Dinh Dien, Huynh Quyet Thang ABSTRACT - In this article, we presented Model-driven web engineering (MDWE), analyzed advantages and disadvantages of some typical engineering. The article focused on UWE engineering in development of web applications: models, model transformation engineering. On the basis of MagicUWE tools and UWE web Engineering in development of applications in Thuysan.Net, application of Web UWE was analyzed in details herein. Keywords - Web Engineering, UML-based Web Engineering (UWE), Model Driven Web Engineering (MDWE), Model Driven Software Development (MDSD).