Kiến trúc và chuẩn phần mềm trên nền web, ứng dụng xây dựng hệ thống thi trắc nghiệm

111 21 0
Kiến trúc và chuẩn phần mềm trên nền web, ứng dụng xây dựng hệ thống thi trắc nghiệm

Đ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

Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH MỞ ĐẦU 11 U PHẦN - KIẾN TRÚC VÀ CHUẨN PHẦN MỀM TRÊN NỀN WEB 12 CHƯƠNG - KIẾN TRÚC PHẦN MỀM 13 1.1 Kiến trúc phần mềm 13 1.1.1 Định nghĩa kiến trúc phần mềm 13 1.1.2 Các đặc tính kiến trúc phần mềm 14 1.1.3 Tại kiến trúc phần mềm quan trọng 16 1.1.4 Kết luận kiến trúc phần mềm 16 1.2 Kiến trúc hướng dịch vụ (SOA) 16 1.2.1 Vài nét lịch sử SOA 17 1.2.2 SOA gì? 17 1.2.3 Các phần tử SOA 19 1.2.4 Mơ hình khái niệm SOA 21 1.2.5 Kênh dịch vụ doanh nghiệp (ESB - Enterprise Service Bus) .22 1.2.6 Các nguyên tắc SOA 24 1.2.7 SOA Dịch vụ Web 25 1.2.8 Tương lai cho SOA 25 1.3 Dịch vụ web (web service) 26 1.3.1 Khái niệm dịch vụ web 26 1.3.2 Các đặc tính dịch vụ web 27 1.3.3 Vai trò dịch vụ web 27 1.3.4 Kiến trúc dịch vụ web 28 1.3.5 Đặc tả công nghệ dịch vụ web 29 1.3.6 An ninh dịch vụ web 31 1.3.7 Kết luận dịch vụ web 32 1.4 REST 33 1.4.1 Tại gọi REpresentational State Transfer 33 1.4.2 Các chuẩn sử dụng REST 33 1.4.3 Các nguyên tắc REST 34 1.4.4 Các phần tử kiến trúc REST 34 1.4.5 Thiết kế thực thi REST 35 Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm 1.5.So sánh đánh giá dịch vụ web CHƯƠNG - CHUẨN PHẦN MỀM TRÊN NỀN WEB 2.1.Các chuẩn web gì? 2.2.Tại sử dụng chuẩn web 2.3.Cách thức kiểm tra web chuẩn 2.4.Công cụ cải thiện chất lượng web 2.5.Kết luận chuẩn web PHẦN 2: ỨNG DỤNG XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM CHƯƠNG - XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM 3.1.Mơ tả tốn thi trắc nghiệm 3.2.Kiến trúc phần mềm 3.2.1 Giới thiệu 3.2.2 Biểu diễn kiến trúc 3.2.3 Mục tiêu ràng buộc kiến trúc 3.2.4 Khung nhìn ca sử dụng 3.2.5 Khung nh 3.2.6 Khung nhìn tiến trình 3.2.7 Khung nhìn triển khai 3.2.8 Khung nhìn thực thi 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.Thực hệ thống Lựa chọn công nghệ Thiết kế chương trình Thiết kế sở liệu Thiết kế lời gọi REST Một số hình ảnh chương trình PHẦN 3: THẢO LUẬN VÀ KẾT LUẬN TÀI LIỆU THAM KHẢO PHỤ LỤC 01: MỘT SỐ ĐẶC TẢ CHUẨN DỊCH VỤ WEB PHỤ LỤC 02: XÂY DỰNG DỊCH VỤ WEB KIỂU SOAP PHỤ LỤC 03: MỘT SỐ CHUẨN WEB THÔNG DỤNG Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm LỜI CAM ĐOAN Với mục đích học tập, nghiên cứu để nâng cao kiến thức trình độ chun mơn, tơi làm luận văn cách nghiêm túc trung thực Trong luận văn, tơi có sử dụng số tài liệu tham khảo số tác giả Các nội dung viết có sử dụng tài liệu tham khảo rõ nguồn ngoặc vuông Danh sách tài liệu tham khảo liệt kê mục “Tài liệu tham khảo” Tồn mã nguồn để xây dựng chương trình tơi tự viết Chương trình có dùng số thư viện, công cụ để tạo lập môi trường mang tính chất tiện ích Tơi xin cam đoan chịu trách nhiệm trung thực luận văn tốt nghiệp Thạc sĩ Hà Nội, ngày 21 tháng 10 năm 2008 Học viên Đỗ Đức Thảo Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm LỜI CẢM ƠN Tôi xin cảm ơn Thầy, Cô giáo Trường Đại học Công nghệ truyền đạt nhiều kiến thức, giảng quý báu cho thời gian học Trường Tôi xin cảm ơn Thầy giáo - TS Trương Anh Hồng tận tình hướng dẫn bảo nhiều suốt thời gian làm luận văn Tôi xin cảm ơn Ban Giám hiệu, Khoa CNTT, phòng Đào tạo sau đại học - Nghiên cứu khoa học, trường Đại học Công nghệ tạo điều kiện giúp đỡ tơi hồn thành luận văn khố học Thạc sĩ trường Trong q trình học tập làm luận văn, nhận giúp đỡ khơng nhỏ từ phía gia đình, bạn bè đồng nghiệp Tôi xin cảm ơn tất người Hà Nội, ngày 21 tháng 10 năm 2008 Đỗ Đức Thảo Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT STT SOA WSDL SOAP UDDI XML REST HTTP WOA RFC 10 STD 11 XHTML 12 SVG 13 CSS 14 CNTT Luận văn Thạc sĩ - Đỗ Đức Thảo Tên Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm DANH MỤC CÁC BẢNG Bảng - Các phần tử kiến trúc REST 34 Bảng - So sánh dịch vụ web SOAP REST 38 Bảng - Bảng danh sách định nghĩa kiểu tài liệu web 43 Bảng - Bảng cấu trúc project Hệ thống thi trắc nghiệm 65 Bảng - Bảng thiết kế lời gọi REST 74 Bảng - Bảng tổng hợp ánh xạ từ UDDI/WSDL 92 Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm DANH MỤC CÁC HÌNH Hình - Mơ hình 4+1 khung nhìn 15 Hình - Sơ đồ khối định nghĩa SOA 18 Hình - Ví dụ hệ thống SOA 18 Hình - Mô tả dịch vụ 20 Hình - Mơ hình khái niệm SOA 21 Hình - Mơ hình đầy đủ SOA, thể vai trị kênh dịch vụ .21 Hình - Bên ESB 24 Hình - Giải pháp SOA sở 28 Hình - Sơ đồ kiến trúc tổng thể dịch vụ web 29 Hình 10 - Sơ đồ đặc tả dịch vụ web 30 Hình 11 - Kiến trúc WS-Security 31 Hình 12 - Mơ hình WS-Security 31 Hình 13 - Thiết kế kiến trúc mức cao REST 36 Hình 14 - Phân giải URL tới chức 36 Hình 15 - So sánh đánh giá SOA 38 Hình 16 - Hình ảnh kiểm tra web site IBM 44 Hình 17 - Hình ảnh kiểm tra web site EVN 44 Hình 18 - Tổng quan Hệ thống thi trắc nghiệm 50 Hình 19 - Khung nhìn ca sử dụng 51 Hình 20 - Kiến trúc tổng thể 53 Hình 21 - Lớp trình diễn 54 Hình 22 - Lớp trình diễn - Ngân hàng câu hỏi 54 Hình 23 - Lớp trình diễn - Lập đề thi 54 Hình 24 - Lớp trình diễn - Quản lý thí sinh 55 Hình 25 - Lớp trình diễn - Làm thi 55 Hình 26 - Lớp ứng dụng 55 Hình 27 - Lớp dịch vụ - Ngân hàng câu hỏi 56 Hình 28 - Lớp dịch vụ - Quản lý thi 57 Hình 29 - Mơ hình hoạt động tổng thể hệ thống thi trắc nghiệm 58 Hình 30 - Mơ hình triển khai hệ thống thi trắc nghiệm 59 Hình 31 - Mơ hình mạng áp dụng thực tế Đơn vị 59 Hình 32 - Khung nhìn thực thi 60 Hình 33 - Kiến trúc DotNetNuke 62 Hình 34 - Mơ hình DataProvider 62 Hình 35 - Mơ hình CBO Hydrator để Fill Object/Collection 63 Hình 36 - Mơ hình hoạt động mơ đun 63 Hình 37 - Màn hình DotNetNuke xem 64 Hình 38 - Màn hình DotNetNuke thiết kế 64 Luận văn Thạc sĩ - Đỗ Đức Thảo Trang Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Hình 39 - Giao diện quản lý ngân hàng câu hỏi 74 Hình 40 - Giao diện thêm/sửa nhóm 75 Hình 41 - Giao diện thêm/sửa câu hỏi 75 Hình 42 - Giao diện tự kiểm tra trắc nghiệm 76 Hình 43 - Màn hình dịch vụ web nhận yêu cầu kiểu REST 76 Hình 44 - Cấu trúc ngữ nghĩa WSDL 1.1 85 Hình 45 - Mơ hình cấu trúc biểu diễn quan hệ phần tử, theo .85 Hình 46 - Cấu trúc ngữ nghĩa WSDL 2.0 89 Hình 47 - Cấu trúc message SOAP 94 Hình 48 - Mơ hình kiến trúc dịch vụ web StockTrader 97 Hình 49 - UML class diagram cho StockTraderTypes definition assembly 99 Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 10 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm MỞ ĐẦU Cùng với phát triển mạnh mẽ CNTT, có nhiều cơng nghệ đời làm thay đổi giới Một số công nghệ web với kiến trúc hướng dịch vụ (SOA) Rất nhiều báo, Công ty lớn giới viết tham tra trực tiếp vào lĩnh vực Nhận thấy lĩnh vực mới, thiết thực có nhiều ý nghĩa ngành Cơng nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng, tơi lựa chọn đề tài “Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm” làm đề tài luận văn Thạc sĩ Nội dung luận văn gồm phần: • Phần 1: Kiến trúc chuẩn phần mềm web Gồm chương: - Chương 1: Kiến trúc phần mềm Đề cập lý thuyết kiến trúc phần mềm, kiến trúc hướng dịch vụ dịch vụ web, kiểu kiến trúc REST - Chương 2: Chuẩn phần mềm web Trình bày khái niệm chuẩn web, lý cần chuẩn web, nguyên tắc để kiểm tra chuẩn web • Phần 2: Ứng dụng xây dựng hệ thống thi trắc nghiệm Gồm: - Chương 3: Xây dựng hệ thống thi trắc nghiệm Đề cập ứng dụng thực tế sở lý thuyết để xây dựng hệ thống thi trắc nghiệm Hệ thống thi trắc nghiệm hệ thống phần mềm truyền thống, có nhiều ứng dụng thương mại lẫn mã nguồn mở (open source) Tuy nhiên, muốn tiếp cận xây dựng hệ thống theo hướng dựa tảng SOA Qua đó, có nhiều ý tưởng lợi ích mẻ khám phá dựa sức mạnh SOA • Phần 3: Thảo luận Kết luận Kết luận kết đạt Hà Nội, ngày 21 tháng 10 năm 2008 Đỗ Đức Thảo Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 11 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm PHẦN - KIẾN TRÚC VÀ CHUẨN PHẦN MỀM TRÊN NỀN WEB Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 12 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm SOAP giao thức giao tiếp có cấu trúc XML mã hóa thành định dạng chung cho ứng dụng trao đổi với Ý tưởng Microsoft, Developmentor Userland IBM Lotus góp phần xem xét đặc tả Sau đó, phiên SOAP 1.1 công bố vào tháng 4/2000 Bản đặc tả chấp nhận rộng rãi công nghiệp Tổ chức WS-I nhận phần tiểu sử sở Các tác giả đệ trình SOAP 1.1 lên World Wide Web Consortium (W3C) vào tháng 5/2000 Trải qua nhiều lần thay đổi, phiên SOAP 1.2 W3C công bố vào tháng 6/2003 với nhiều ưu điểm vuợt trội SOAP 1.1 SOAP xem cấu trúc xương sống ứng dụng phân tán xây dựng từ nhiều ngôn ngữ, hệ điều hành khác 5.1 Đặc trưng SOAP SOAP có đặc trưng sau : SOAP thiết kế đơn giản dễ mở rộng Tất message SOAP mã hóa sử dụng XML SOAP sử dùng giao thức truyền liệu chuẩn hoá HTTP, SMTP, TCP giao thức riêng IBM WebSphereMQ Khơng có garbage collection phân tán, khơng có chế tham chiếu Vì SOAP client khơng giữ tham chiếu đầy đủ đối tượng xa SOAP không bị ràng buộc ngơn ngữ lập trình cơng nghệ Vì đặc trưng này, khơng quan tâm đến cơng nghệ sử dụng, để thực miễn người dùng sử dụng thông điệp theo định dạng XML Tương tự, dịch vụ thực ngôn ngữ nào, miễn xử lý message theo định dạng XML 5.2 Cấu trúc message theo dạng SOAP Cấu trúc message theo dạng SOAP mô tả hình [24]: Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 93 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Hình 47 - Cấu trúc message SOAP Thông điệp theo dạng SOAP văn XML bình thường bao gồm phần tử sau: Phần tử gốc (envelop) : phần tử bao trùm nội dung thông điệp, khai báo văn XML thông điệp SOAP Phần tử đầu trang (header) : chứa thông tin tiêu đề cho trang, phần tử không bắt buộc khai báo văn Những đầu mục cịn mang liệu chứng thực, chữ ký số hóa, thơng tin mã hóa, cài đặt cho giao tác Phần tử khai báo nội dung thơng điệp (body), chứa thơng tin yêu cầu phản hồi Phần tử phát sinh lỗi (Fault) cung cấp thông tin lỗi xảy qúa trình xử lý thơng điệp Trong trường hợp đơn giản nhất, phần thân SOAP message gồm có: o Tên message o Một tham khảo tới thể service o Một nhiều tham số mang giá trị mang tham chiếu Có kiểu thông báo o Request messages : với tham số gọi thực thi service o Response messages: với tham số trả về, sử dụng đáp ứng yêu cầu o Fault messages: báo tình trạng lỗi Một ví dụ thơng điệp SOAP : 3 Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 94 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm 2004-02-25T01:00:0000:00 true Widgets 100 20.5 5.3 Mơ hình liệu Mục đích mơ hình liệu SOAP cung cấp trừu tượng hóa độc lập ngơn ngữ cho kiểu ngơn ngữ lập trình chung Nó gồm có : - Những kiểu XSD đơn giản kiểu liệu đa số ngôn ngữ lập trình int, string, date, … - Những kiểu phức tạp, có hai loại struct array - Tất phần tử định danh có mơ hình liệu SOAP định nghĩa namespace SOAP-ENC 5.5 Mã hóa Trong mơi trường tính tốn phân tán, mã hóa định nghĩa giá trị liệu ứng dụng dịch từ khuôn dạng nghi thức Khuôn dạng nghi thức cho dịch vụ web XML, giả sử giả thiết service requestor service provider phát triển Java Vì vậy, mã hóa SOAP môi trường thực thi để làm chuyển đổi từ cấu trúc liệu Java sang SOAP XML ngược lại Một ánh xạ định nghĩa mối quan hệ phần tử XML, lớp Java, loại mã hóa giới thiệu Một ánh xạ rõ làm cách nào, để mã hóa mà phần tử XML đầu vào chuyển đổi tới lớp Java ngược lại.Chúng ta quan tâm tới hai phương hướng ánh xạ XML tới Java Java tới XML Bất kỳ môi trường thực thi SOAP phải có bảng chứa mục ánh xạ, gọi SOAPMappingRegistry Nếu kiểu liệu giả thiết sử dụng loại mã hóa định, ánh xạ tương ứng phải tồn đăng ký (registry) môi trường thực thi SOAP Đa số kiểu Java chuẩn JavaBeans mặc định hỗ trợ Những kiểu liệu khơng chuẩn (do tự định nghĩa) cần ánh xạ server client Giới thiệu WSE (Web Service Enhancement) Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 95 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm WSE cung cấp cho người phát triển NET để thực thi WS-specification với WS-I Basic Profile WSE sản phẩm tiên tiến chưa hỗ trợ tất đặc tả dịch vụ web Nhưng hỗ trợ nhiều phần quan trọng, WS-Security WSSecure Conversation Phiên WSE WSE 3.0 hỗ trợ tương thích với WCF Trong tương lai WSE tiếp tục phát triển hỗ trợ nhiều đặc tả Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 96 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm PHỤ LỤC 02: XÂY DỰNG DỊCH VỤ WEB KIỂU SOAP Việc xây dựng dịch vụ web ngơn ngữ lập trình tảng khác có nhiều cách tiếp cận để thực Trong phần trình bày kiểu mẫu (design partern) xây dựng dịch vụ web theo phương pháp hướng dịch vụ, đảm bảo tính mềm dẻo linh hoạt cao, dùng cho ngơn ngữ tảng Các bước xây dựng trích từ [11] Giả thiết cần xây dựng dịch vụ web StockTrader cung cấp phương thức truy cập thông tin kinh doanh chứng khốn Mơ hình kiến trúc thể theo sơ đồ sau: Hình 48 - Mơ hình kiến trúc dịch vụ web StockTrader Trong đó: • StockTraderTypes Definition Assembly: định nghĩa interface định nghĩa kiểu liệu Quote, Trade, Chúng sử dụng chung thành phần hệ thống tầng nghiệp vụ (Business Component), dịch vụ web (StockTrader web service) ứng dụng client khác có • BusinessComponent: thực thi interface sử dụng class kiểu liệu StockTraderTypes Definition Assembly BusinessComponent gọi đến StockTrader Service • StockTrader Web Service: giao diện dịch vụ web, phần nghiệp vụ khơng đóng gói dịch vụ web mà gọi tới BusinessComponent • Client Application: ứng dụng dạng dịch vụ web client ứng dụng khác (nếu muốn) Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 97 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Các bước xây dựng hệ thống dịch vụ web theo kiến trúc gồm bước sau: Bước 1: Tạo Dedicated Type Definition Assembly Tạo giao diện định nghĩa kiểu liệu Assembly tham chiếu component, service ứng dụng cần sử dụng giao diện kiểu liệu Bước 2: Tạo Dedicated Business Assembly Tạo Dedicated Business Assembly để thực thi lớp logic giao diện kiểu liệu Business Assembly phải tham chiếu tới định nghĩa assembly tạo bước Khi bước hồn thành, bạn tạo tính mềm dẻo xây dựng giải pháp n-tier Khi hiểu thực tế SOA, dịch vụ web đơn gateway để đặt phương thức kiểu điều khiển assemblies khác Bản thân dịch vụ web cung cấp tập điểm kết thúc sử dụng SOAP (SOAP-enabled endpoinds) mà truy cập thơng qua nhiều giao thức truyền thông Bước 3: Tạo dịch vụ web dựa Type Definition Assembly Tạo dịch vụ web, thiết lập reference import kiểu liệu tạo bước Bước 4: Thực thi Business Interface dịch vụ web Tạo reference import Business assembly đạo bước Tạo lập phương thức dịch vụ web cung cấp cho bên Chi tiết thực thi phương thức gọi tới Business Assembly tạo bước 2, sử dụng kiểu liệu, giao diện bước Bản thân dịch vụ web không xử lý business mà cung cấp phương thức gọi Bước 5: Sinh dịch vụ web proxy class dựa WSDL Document Sau dịch vụ web xây dựng xong, bước sinh tự động tài liệu WSDL tạo proxy class (bước sử dụng cơng cụ cơng cụ lập trình) Bước 6: Tạo dịch vụ web client Tạo dịch vụ web client gọi tới dịch vụ web thông qua class trung gian proxy class tạo bước Tuy nhiên thay sử dụng kiểu liệu sinh tự động proxy class, bạn bỏ kiểu liệu thay reference import kiểu liệu tạo bước Điều đảm bảo đảm bảo client dịch vụ web hiểu kiểu liệu Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 98 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Minh hoạ bước cho hệ thống dịch vụ web StockTrader: Bước 1: Tạo Dedicated Type Definition Assembly Pseudo code: namespace StockTraderTypes { public interface IStockTrader { } public class Quote { } public class Trade { } public class Trades { } public enum TradeStatus { } public enum TradeTypes { } } Hình 49 - UML class diagram cho StockTraderTypes definition assembly Chi tiết code C# cho StockTraderTypes definition assembly: using System; using System.Xml.Serialization; namespace StockTraderTypes { public interface IStockTrader Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 99 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm { Quote RequestQuote(string Symbol); Trade PlaceTrade(string Account, string Symbol, int Shares, System.Double Price, TradeType tradeType); Trade RequestTradeDetails(string Account, string TradeID); Trades RequestAllTradesSummary(string Account); } public class Quote { public string Symbol; public string Company; // Additional type members not shown } public class Trade { public string TradeID; public string Symbol; // Additional type members not shown } public class Trades { public string Account; public Trade[] Bids; public Trade[] Asks; } public enum TradeStatus { Ordered, Filled, // Additional type members not shown } public enum TradeType { Bid, Ask } Bước 2: Tạo Dedicated Business Assembly using StockTraderTypes; namespace StockTraderBusiness { public class StockTraderBusiness : StockTraderTypes.IStockTrader { public Quote RequestQuote(string Symbol) { / Implementation code not shown } public Trade PlaceTrade(string Account, string Symbol, int Shares, System.Double Price, TradeType tradeType) { / Implementation code not shown } public Trade RequestTradeDetails(string Account, string TradeID) { / Implementation code not shown } public Trades RequestAllTradesSummary(string Account) { / Implementation code not shown } } } } Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 100 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Bước 3-5: Tạo dịch vụ web Pseudo code: using using using using using using System.Web; System.Web.Services; System.Web.Services.Protocols; System.Web.Services.Description; StockTraderTypes; StockTraderBusiness; namespace StockTrader { public class StockTrader : System.Web.Services.WebService, StockTraderTypes.IStockTrader { [WebMethod] [SoapDocumentMethod(RequestNamespace="http://www.bluestonepartners.com/sche mas/StockTrader/", ResponseNamespace="http://www.bluestonepartners.com/schemas/StockTrader/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)] [return: System.Xml.Serialization.XmlElement("Quote", Namespace= "http://www.bluestonepartners.com/schemas/StockTrader/")] public Quote RequestQuote(string Symbol) { / Implementation code not shown } [WebMethod] //XML and SOAP serialization attributes not shown public Trade PlaceTrade(string Account, string Symbol, int Shares,System.Double Price, TradeType tradeType) { / Implementation code not shown } [WebMethod] //XML and SOAP serialization attributes not shown public Trade RequestTradeDetails(string Account, string TradeID) { / Implementation code not shown } [WebMethod] //XML and SOAP serialization attributes not shown public Trades RequestAllTradesSummary(string Account) { / Implementation code not shown } } } Thực thi method RequestQuote: [WebMethod] / XML and SOAP attributes not shown public Quote RequestQuote(string Symbol) { StockTraderBusiness b = new StockTraderBusiness(); Quote q = b.RequestQuote(Symbol); return q; } Bước 6: Tạo dịch vụ web client / Create an instance of the Web service proxy StockTraderProxy serviceProxy = new StockTraderProxy(); / Retrieve the Web Service URI from app.config Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 101 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm serviceProxy.Url = ConfigurationSettings.AppSettings["remoteHost"]; / Call the Web service to request a quote Quote q = serviceProxy.RequestQuote("MSFT"); / Display the Quote results in the form Console.WriteLn("\t:Company:\t " + q.Company); Console.WriteLn("\t:Symbol:\t " + q.Symbol); Console.WriteLn("\t:Last:\t " + q.Last.ToString()); Console.WriteLn("\t:Prev Close:\t " + q.Previous_Close.ToString()); Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 102 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm PHỤ LỤC 03: MỘT SỐ CHUẨN WEB THÔNG DỤNG HTML (HyperText Markup Language) HTML công bố vào năm 1991 Berners-Lee Phiên gần HTML HTML 4.01 công bố W3C vào tháng 12/1999 ISO/IEC 15445:2000 vào tháng 5/2000 HTML ngôn ngữ đánh dấu bật cho trang web Nó cung cấp ý nghĩa để mơ tả cấu trúc thông tin dựa văn tài liệu Như rõ văn xác định liên kết, tiêu đề, câu, danh sách, bổ sung thêm với form tương tác, ảnh nhúng, đối tượng khác HTML viết theo dạng thẻ, bao quanh dấu ngoặc góc () HTML mơ tả thêm, cho vài cấp độ, xuất ngữ nghĩa tài liệu, bao gồm mã ngơn ngữ script nhúng (như JavaScript) mà ảnh hưởng tới hành vi trình duyệt web xử lý HTML khác Ví dụ chương trình Hello world đơn giản HTML: XHTML (Extensible Hypertext Markup Language) XHTML ngơn ngữ đánh dấu có độ diễn tả HTML, phù hợp với cú pháp XML Trong lúc HTML ứng dụng ngôn ngữ SGML, ngôn ngữ đánh dấu mềm dẻo, XHTML ứng dụng XML, tập nhiều hạn chế SGML Bởi chúng định dạng tốt, tài liệu XHTML thực cho phép xử lý tự động hoá thực cách sử dụng công cụ HTML Không giống HTML, địi hỏi phân tích phức tạp, hiền, tuỳ biến chung, XHTML có nghĩ tập giao HTML XML khía cạnh, định dạng lại HTML XML XHTML trở thành khuyến nghị W3C vào tháng 1/2000 Phiên XHTML 1.1 vào tháng 5/2001 Bản thảo XHTML 2.0 W3C đưa vào tháng 7/2006, dự kiến năm 2008 thảo thứ Ví dụ XHTML: Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 103 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Ví dụ XHTML: SVG (Scalable Vector Graphics) SVG đặc tả định dạng file XML để mô tả đồ hoạ dạng vector chiều, cặp tĩnh động Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 104 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm Đặc tả SVG chuẩn mở, phát triển W3C từ 1999 Các ảnh SVG hành vi chúng đinh nghĩa file XML Điều có nghĩa chúng tìm kiếm, đánh số, kịch yêu cầu, nén Tất trình duyệt web, ngoại trừ Microsoft Internet Explorer (IE) hỗ trợ thể cách trực tiếp SVG Để xem file SVG IE, người dùng phải tải cài đặt plugin Đa số plogin IE chung tạo Adobe Systems SVG phát triển vào năm 1998 W3C Bản SVG Tiny 1.2 đưa tháng 8/2006 Ví dụ file SVG: Cascading Style Sheets (CSS) CSS ngôn ngữ bảng định kiểu (stylesheet) dùng để mơ tả trình diễn tài liệu viết ngôn ngữ đánh dấu Ứng dụng nhiều định kiểu cho trang web viết HTML, XHTML, ngơn ngữ áp dụng cho loại tài liệu XML nào, gồm SVG XUL (XML User Interface Language, phát triển dự án Mozilla) CSS dùng cách cục cho trình đọc trang web để định nghĩa mầu sắc, font, cách bố trí khía cạnh khác trình diễn tài liệu Đặc tả CSS trì W3C Kiểu phương tiện internet (MIME type) text/css đăng ký sử dụng với CSS RFC 2318 (1998) Phiên đặc tả CSS khuyến nghị thức W3C công bố tháng 12/1996 Và CSS vào tháng 5/1998 CSS giai đoạn phát triển Ví dụ: file highlightheaders.css: ECMAScript ECMAScript ngơn ngữ kịch chuẩn hố, dựa phần lớn JavaScript Netscape JScript Microsoft Chuẩn ECMAScript định nghĩa Uỷ Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 105 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm ban kỹ thuật 39 ECMA (ECMA’s Technical Committee 39 (TC-39)) Nó đặc tả ECMA-262 Mục đích sử dụng ECMAScript ngơn ngữ dựa đối tượng, để vận hành đối tượng trang web xác định Document Object Model (DOM) Các đối tượng thêm, xố, di chuyển thay đổi thuộc tính Vào tháng 12/1995, Sun Microsystem Netscape công bố JavaScript tích hợp Netscape Navigator 2.0 vào tháng 3/1996 Cùng với thành công JavaScript, Microsoft phát triển JScript đưa IE phát hành tháng 8/1996 Netscape đệ trình JavaScript tới ECMA năm 1996 Phiên ECMA-262 đưa vào tháng 6/1997, phiên vào tháng 12/1999 Document Object Model (DOM) DOM tảng mơ hình đối tượng chuẩn độc lập ngôn ngữ để biểu diễn HTML XML định dạng liên quan Trình duyệt web không cần bắt buộc sử dụng DOM để thể tài liệu HTML Tuy nhiên, DOM yêu cầu JavaScript với ý định biến đổi trang web cách động Sơ đồ phân cấp đối tượng DOM: Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 106 ... trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm PHẦN 2: ỨNG DỤNG XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 46 Kiến trúc chuẩn phần mềm web, ứng dụng. .. 2: Ứng dụng xây dựng hệ thống thi trắc nghiệm Gồm: - Chương 3: Xây dựng hệ thống thi trắc nghiệm Đề cập ứng dụng thực tế sở lý thuyết để xây dựng hệ thống thi trắc nghiệm Hệ thống thi trắc nghiệm. .. thi trắc nghiệm PHẦN - KIẾN TRÚC VÀ CHUẨN PHẦN MỀM TRÊN NỀN WEB Luận văn Thạc sĩ - Đỗ Đức Thảo Trang 12 Kiến trúc chuẩn phần mềm web, ứng dụng xây dựng Hệ thống thi trắc nghiệm CHƯƠNG - KIẾN TRÚC

Ngày đăng: 11/11/2020, 21:39

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan