1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển hệ thống kết nối dữ liệu dựa trên công nghệ wcf wpf cho vnpt hải dương (tt)

25 3 0

Đ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

1 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Nguyễn Đức Linh PHÁT TRIỂN HỆ THỐNG KẾT NỐI DỮ LIỆU DỰA TRÊN CÁC CÔNG NGHỆ WCF, WPF CHO VNPT HẢI DƯƠNG Người hướng dẫn khoa học: PGS.TS Trần Đình Quế TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI – 2011 MỞ ĐẦU Sự phát triển nhanh chóng công nghệ phần mềm năm vừa qua làm xuất ngày đa dạng công cụ phát triển công nghệ phần mềm Hầu doanh nghiệp sử dụng CNTT có nhiều hệ thống phần mềm độc lập chạy nhiều tảng khác (giao diện người dùng, database, kiến trúc phần mềm, liên kết liệu…) Nhu cầu tích hợp liên kết liệu hệ thống vấn đề quan trọng đặc biệt với tập đồn, doanh nghiệp lớn có hệ thống phân tán Nhưng đồng thời tích hợp liên kết liệu thách thức không nhỏ đơn vị thiết kế, phát triển ứng dụng VNPT Hải Dương triển khai nhiều phần mềm độc lập chạy nhiều tảng công nghệ khác nhau, Ví dụ:  Hệ thống quản lý mạng cáp: chạy database Oracle 9i, Oracle devenloper 6i, giản đồ cáp dùng công nghệ đồ số IOGis  Hệ thống quản lý cước tập trung: chạy database Oracle 9i, Oracle devenloper 95  Chương trình quản lý phát triển thuê bao: ASP, database SQL server 2005  Chương trình quản lý nhân sự, Chấm công… Các hệ thống chạy độc lập, nhiều môi trường khác nhau, gây vấn đề chồng chéo liệu, khó khăn việc quản lý sử dụng Yêu cầu đặt phát triển ứng dụng kết nối liệu hệ thống độc lập sẵn có Lựa chọn giải pháp công nghệ để đảm bảo khả đáp ứng tốt yêu cầu nhiều kỹ thuật phần mềm Trên giới có nhiều nhà cung cấp hệ thống phần mềm thống cho doanh nghiệp giải pháp lĩnh vực ERP (Enterprise resource planning: Hoạch định nguồn tài nguyên doanh nghiệp) CRM (Customer relationship management: Quản lý quan hệ khách hàng ) Tuy nhiên giải pháp vô đắt đỏ, không kế thừa hệ thống có sẵn Trong xu tích hợp liên kết công nghệ phần mềm, với tham vọng “All in one”- tích hợp tất mơi trường phát triển, tháng 11 năm 2006, Microsoft thức phát hành công cụ NET Framework 3.0 Windows Presentation Foundation(WPF), Windows Communication Foundation(WCF), Windows Workflow Foundation(WF) Tích hợp Visual studio 2008 Đây bước đột phá quan trọng chiến lược tích hợp công nghệ Microsoft với WPF “All in one” tích hợp design WCF theo mơ hình SOA (Kiến trúc hướng dịch vụ) “All in one” liên kết liệu hệ thống phân tán  WPF tích hợp khả nhiều ngơn ngữ sử dụng NetFramwork trước Bao gồm Windows API , GDI, GDI+, Windows Media Player, DirectX, Direct 3D and HTML, …và bị ảnh hưởng công cụ web khác ADobe, Flash, ứng dụng Windows phổ biến khác MS Word, PDF….WPF xây dựng nhằm vào ba mục tiêu bản: - Cung cấp tảng thống để xây dựng giao diện người dùng - Cho phép người lập trình người thiết kế giao diện làm việc cách dễ dàng - Cung cấp công nghệ chung để xây dựng giao diện người dùng Windows trình duyệt Web  WCF kết hợp hầu hết kỹ thuật cho hệ phân tán nay: ASP.NET Web Services (ASMX), Web Service Enhancements (WSE), Microsoft Message Queue (MSMQ), Enterpise Services/COM+ Net Remoting Cho phép phát triển ứng dụng hướng dịch vụ dựa kết nối dịch vụ ứng dụng Thay cho kiến trúc phân tán trước Web services, COM+, Microsoft Message Queue, or NET Framework Remoting, cung cấp mơ hình thống cho viết thiết kế kiến trúc giải pháp mà không bị giới hạn cấu riêng Đề tài luận văn “PHÁT TRIỂN HỆ THỐNG KẾT NỐI DỮ LIỆU DỰA TRÊN CÁC CÔNG NGHỆ WCF, WPF CHO VNPT HẢI DƯƠNG” lựa chọn cần thiết nhằm giải vấn đề khó khăn ứng dụng phát triển CNTT Doanh nghiệp 4 CHƯƠNG CÁC HỆ THỐNG PHẦN MỀM TẠI VNPT HẢI DƯƠNG: THỰC TRẠNG & GIẢI PHÁP 1.1 Các hệ thống phần mềm VNPT Hải Dương 1.1.1 Hệ thống phần mềm quản lý mạng cáp (QLMC) Chức năng: Hệ thống phần mềm quản lý mạng cáp tập trung xây dựng phục vụ cho việc quản lý mạng ngoại vi phạm vi bưu điện tỉnh/thành phố Hệ thống bao gồm chương trình khai thác, quản lý, quản trị tích hợp đồ cho phép quản trị hệ thống, khai thác chức liên quan tới mạng cáp, quản lý mạng cáp, thuê bao phân công sửa chữa máy hỏng đồ Hệ quản trị sở liệu: Oracle 9i Trên hệ điều hành Windows Server 2003 hoạt động theo mơ hình Client/Server Cơng cụ phát triển: Designer 2000, Oracle Developer 6i, Công nghệ đồ số GIS Oracle qua OCI sử dụng Microsoft C++ 6.0 1.1.2 Hệ thống phần mềm cước (CUOC) Chức năng: Hệ thống quản lý cước bao gồm chức tính cước, quản lý danh bạ thuê bao,danh bạ khách hàng, quản lý thu nợ cước, khiếu nại cước, đối soát số liệu cước, sách khuyến mại giá cước… Hệ quản trị sở liệu: Oracle 9i Trên hệ điều hành Windows Server 2003 hoạt động theo mơ hình Client/Server Công cụ phát triển: Oracle Developer 6i, Microsoft C++ 6.0 cho chương trình tính cước 1.1.3 Hệ thống quản lý phát triển thuê bao (PTTB) Chức năng: Hệ thống quản lý phát triển thuê bao có chức tiếp nhận tất yêu cầu dịch vụ từ khách hàng (đăng ký phát triển mới, thay đổi loại hình dịch vụ, hủy dịch vụ…) sau đưa số liệu phận liên quan (tổng đài, truyền dẫn, dây máy, kế toán cước…) xử lý yêu cầu đó, bước hồn thành u cầu khách hàng, cuối đẩy số liệu vào hệ thống liên quan (chương trình quản lý cáp, quản lý cước kể trên) Ngoài hệ thống quản lý dịch vụ, thiết bị liên quan đến dịch vụ cổng DSLAM, cổng Switch, đầu số… Kiểm tra tính sẵn dùng thiết bị để đáp ứng dịch vụ, tra cứu thông tin danh bạ… Hệ quản trị sở liệu: Microsoft SQL Server 2005 Trên hệ điều hành Windows Server 2003 hoạt động theo mơ hình Client/Server Cơng cụ phát triển: ASP, javascript 1.1.4 Trang báo cáo điều hành công việc Chức năng: Trang báo cáo điều hành bao gồm chức thông báo nội bộ, tra cứu danh bạ khách hàng, tra cứu danh bạ nội bộ, hướng dẫn sử dụng, chia sẻ tài liệu, tra cứu danh bạ nội bộ, danh bạ trợ giúp, báo cố chương trình, góp ý phát triển hệ thống Ngồi cịn có hai modul Báo cáo ngày Xử lý khiếu nại Hệ quản trị sở liệu: Microsoft SQL Server 2005 Trên hệ điều hành Windows Server 2003 hoạt động theo mơ hình Client/Server Cơng cụ phát triển: ASP.NET, Ngơn ngữ lập trình C#, javascript 1.1.5 Phần mềm quản lý nhân Chức năng: Quản lý nhân sự, tiền lương, phòng ban chức Hệ quản trị sở liệu: Microsoft SQL Server 2005 Công cụ phát triển: ASP.NET, Ngơn ngữ lập trình C#, javascript 1.2 Những yếu điểm hệ thống Như hệ thống phát sinh nhiều điểm bất cập:  Dữ liệu thường quản lý chồng chéo không đồng nhất, khó khăn vấn đề đồng liệu chương trình Ví dụ cập nhật thơng tin cá nhân doanh nghiệp phải cập nhật tất hệ thống điều dễ làm sai, thiếu liệu liệu tin cậy  Người sử dụng khó khăn phải cài đặt sử dụng nhiều môi trường ứng dụng (SQL server, Oracle Server, Win Form, Web Form, Oracle Devenloper…)  Khi phát sinh yêu cầu phải liên kết liệu hệ thống Người dùng thông thường khai thác Bắt buộc phải có Admin quản trị am hiểu hệ thống thực được.Ví dụ với yêu cầu: Thống kê doanh thu có mơt tuyến cáp.Rõ ràng hệ thống QLMC khơng có số liệu doanh thu Cịn hệ thống CUOC có số liệu doanh thu th bao khơng có số liệu cáp.Yêu cầu bắt buộc phải liên kết hai hệ thống đưa kết quả…  Việc nâng cấp, phát triển hệ thống, bổ xung thêm module chức nghiệp vụ rât phức tạp địi hỏi phải tìm hiểu hầu hết hệ thống với nhiều mơi trường lập trình cấu trúc khác  Chưa hỗ trợ khả làm việc phân tán mạng Internet địa điểm Người sử dụng bắt buộc phải phụ thuộc vào vị trí máy cài đặt kết nối vào hệ thống 1.3 Đề xuất giải pháp liên kết liệu tích hợp giao diện Xuất phát từ bất cập hệ thống Nhằm giải vấn đề thống liệu thống tảng khai thác Bài luận văn đề xuất giải pháp tích hợp hệ thống dựa công cụ Microsoft Vấn đề tích hợp giao diện: Với cơng nghệ WPF thống giao diện trở thành vấn đề đơn giản WPF đáp ứng hầu hết yêu cầu giao diện tại, người dùng cần cài đặt môi trường Đồng thời WPF cho phép triển khai môi trường desktop môi trường Web cho phép người dùng kết nối vào hệ thống từ vị trí có kết nối internet (Xem Chương 2) Vấn đề liên kết liệu: Sử dụng cơng nghệ WCF theo mơ hình kiến trúc hướng dịch vụ (SOA), xây dựng hệ thống liệu trung gian liên kết tất hệ thống database có, gọi DATASET QLHD (Hình 1.6) Dataset có bao gồm tất thành phần liệu tất hệ thống database thiết kế theo nguyên tắc sau Với module (thực thể liệu) độc lập, modul có tồn hệ thống database doanh nghiệp, đơn giản tham chiếu đến module gốc, giữ nguyên định dạng cấu trúc kiểu liệu Với module trùng nhau, modul xuất hai hệ thống sở liệu doanh nghiệp (như modul quản lý người dùng), cấu trúc có trường (field) bao gồm tồn trường hệ thống sở liệu, với độ rộng trường độ rộng lớn 7 Nếu trường thông tin khác kiểu liệu bổ xung chức chuyển đổi kiểu liệu bên lấy giá trị (get) gán giá trị (set) Tất relation, constraint csdl gốc thiết lập Dataset Hình 1.6: Mơ hình liên kết liệu DATASET QLHD khơng chứa liệu, tập hợp class định nghĩa sẵn tải liệu cần thiết gọi Nó triển khai máy chủ cung cấp dịch vụ cài đặt Service host WCF Service host cung cấp tất dịch vụ cần thiết để truy vấn đối tượng, module chứa DATASET QLHD Ngoài oject (module) DATASET QLHD truy vấn liệu LINQ Khi máy khai thác cần liên kết máy này, cần biết cấu trúc DATASET QLHD để truy vấn liệu mà không cần biết đến server thực tồn Dữ liệu Toàn hệ thống dường thống CSDL 8 CHƯƠNG CÔNG NGHỆ WPF (WINDOWS PRESENTATION FOUNDATION) 2.1 Tổng quan công nghệ WPF 2.1.1 Nhìn lại vấn đề lập trình giao diện Windows Forms chuẩn hóa mang đầy đủ công cụ cho phép xây dựng chương trình dễ dàng Tuy nhiên, sử dụng Windows API, nên giao diện control chuẩn button, checkbox, textbox bị phụ thuộc vào phiên Windows mà NET Framework chạy Rắc rối lớn Windows Forms giao diện control chuẩn lại gần can thiệp thay đổi theo tư sáng tạo designer, ngoại trừ trường hợp có chịu khó ngồi viết code mơ hình lập trình cấp thấp GDI/GDI+ (Graphical Device Interface) Với gia tăng liên tục ứng dụng tảng dựa HTML JavaScript, Microsoft nhận thấy rằng, công nghệ cần thiết thoát khỏi hạn chế GDI + USER, cung cấp loại tính sẵn có khn khổ Windows Forms, đồng thời cơng nghệ vừa có khả thú vị dễ dàng sử dụng ứng dụng Web, với lực máy tính cục Windows Presentation Foundation (WPF) câu trả lời cho nhà phát triển phần mềm thiết kế đồ họa, người muốn tạo trải nghiệm người dùng đại mà nhiều thời gian để làm chủ Một ý tưởng đột phá WPF kết hợp hai cơng nghệ Winform Webform vấn đề thiết kế giao diện 2.1.2 Các điểm bật WPF Những đặc điểm bật WPF (http://www.wpftutorial.net/WPFIntroduction.html) thể Hình 2.1 Hình 2.1: Tổng quan WPF Nền tảng thống để xây dựng giao diện (Khả tích hợp rộng) WPF cung cấp nhiều tính lập trình giao diện công nghệ đơn Điều giúp cho trình tạo giao diện người dùng trở nên dễ dàng đáng kể Bằng việc hợp tất công nghệ cần thiết để tạo giao diện người dùng vào tảng đơn thể Hình 2.2 – ( http://msdnvietnam.net), Hình 2.2: Đối chiếu cơng nghệ có WPF 10 Khơng phụ thuộc vào độ phân giải hình WPF sử dụng đồ họa vector tính thiết kế giao diện mềm dẻo XAML ứng dụng Web nên khơng phụ thuộc vào độ phân giải hình Tăng tốc phần cứng WPF sử dụng DirectX làm công nghệ sở để xây dựng nên hiệu ứng thú vị DirectX công nghệ đồ họa Microsoft, tận dụng khả phần cứng để tăng tốc chương trình Cơng nghệ chung cho giao diện Windows trình duyệt Web Cơng nghệ web cho ứng dụng desktop: WPF cho phép thay đổi giao diện ứng dụng cách dễ dàng tùy ý thông qua template, style giống CSS HTML nhiều tính rõ ràng Cơng nghệ desktop cho web: Với WPF, tạo ứng dụng cho Windows web WPF sử dụng XBAP (XAML browser application) để tạo ứng dụng thực thi bên trình duyệt Những ứng dụng kết hợp đặc trưng ứng dụng web desktop Control có thành phần phức hợp khả tuỳ biến cao WPF phức hợp theo cách chưa thấy, tạo ComboBox đầy Buttons hoạt hình Menu chứa đầy đoạn video trực tiếp! đạt với đoạn code đơn giản WPF dễ dàng để tùy biến hình dáng control "skin" ứng dụng với vẻ hoàn toàn khác (bằng "Styles, Templates, Skins, Themes") Cộng tác tốt người thiết kế giao diện lập trình viên WPF đưa ngôn ngữ đặc tả eXtensible Application Markup Language (XAML) XAML định tập phần tử XML Button, TextBox, Label…, nhằm định nghĩa đối tượng đồ họa tương ứng nút bấm, hộp thoại, nhãn…, nhờ cho phép mơ tả xác diện mạo giao diện người dùng Các phần tử XAML chứa thuộc tính, cho phép thiết lập nhiều tính chất khác đối tượng đồ họa tương ứng Mỗi phần tử XAML lại tương ứng với lớp WPF, thuộc tính phần tử lại tương ứng với 11 thuộc tính hay kiện lớp Ngồi XAML sửa đổi nhiều công cụ phát triển Visual Studio, Expression Blend, XAMLPad Do WPF cho phép thành viên đội phát triển thiết kế làm việc với file mà không cần phải thông qua file ảnh tĩnh trước Theo cách này, nhà thiết kế xây dựng giao diện phức tạp Expression Blend Toàn thiết kế công cụ sinh thể dạng XAML Nhà phát triển việc sử dụng đoạn mã XAML với công cụ Visual Studio 2008 để viết xử lý logic cho ứng dụng, mà không cần phải thiết kế lại Tách biệt phần hiển thị với phần logic, giảm thiểu dòng lệnh Cơ chế Data Binding WPF khiến tồn q trình hiển thị liệu lên control giao diện xử lý cách tự động mà không cần đến can thiệp đoạn mã phía sau control Tiết kiệm chi phí triển khai WPF cung cấp nhiều công cụ thuận tiện cho việc triển khai, cài đặt tùy thuộc vào kiểu ứng dụng Với ứng dụng túy file XAML, khơng cần phải biên dịch, triển khai chúng website với ASP.NET thông thường Với ứng dụng trình duyệt web XBAP, sử dụng dịng lệnh (command-line) XCopy đóng gói Windows Installer để cài đặt cho khách hàng Với ứng dụng chạy độc lập đóng gói thơng qua Windows Installer ClickOnce Giống Windows Installer, ứng dụng triển khai sử dụng ClickOnce Ngoài ClickOnce cho phép cài đặt ứng dụng trực tuyến thông qua web 2.2 Các thành phần WPF Giống thành phần khác NET Framework, WPF tổ chức chức theo nhóm namespace trực thuộc namespace System.Windows Hình 2.4 (http://msdnvietnam.net ) 12 Hình 2.4: Các thành phần WPF 2.2.1 XAML 2.2.2 Layout control 2.2.3 Style Template 2.2.4 Text Document 2.2.5 Media 2.2.6 Đồ họa 2.2.7 Data Binding (liên kết liệu) 2.2.8 Resource 13 CHƯƠNG CÔNG NGHỆ WCF (WINDOWS COMMUNICATION FOUNDATION) 3.1 Tổng quan Windows Communication Foundation 3.1.1 Kiến trúc hướng dịch vụ (SOA) WCF “Kiến trúc hướng dịch vụ” – Service Oriented Architecture (SOA) đời có hướng tiếp cận giải tồn diện vấn đề khơng đồng tảng cơng nghệ thích hợp với hệ thống phân tán Ưu điểm kiến trúc hướng dịch vụ  Tái sử dụng phần mềm:  Tính linh hoạt dễ dàng triển khai:  Khả thích ứng cao với thay đổi tương lai  Giảm chi phí cho việc cập nhật bảo trì phần mềm WCF thiết kế với nguyên lý sau SOA  Rõ ràng ranh giới: Các ứng dụng dịch vụ liên lạc với thông qua thông điệp mà không quan tâm đến việc xử lý tiếp nhận  Tự phát triển: Dịch vụ sử dụng dịch vụ độc lập với trình nâng cấp phiên bản, triển khai, hoạt động bảo mật  Chia sẻ yêu cầu, không chia sẻ nội dung: Các dịch vụ cung cấp phép tốnvà cấu trúc thơng tin Khơng bao gồm nội dung thơng tin  Tương thích dựa sách: Các dịch vụ thiết kế để độc lập với việc triển khai, thống với ứng dụng chuẩn giao tiếp 3.1.2 Mục tiêu công nghệ WCF  Mục tiêu 1: Hợp công nghệ Khả hợp công nghệ WCF thể Hình 3.1 (http://msdnvietnam.net) Microsoft đưa giải pháp WCF hợp công nghệ phân tán tập hợp tất ưu điểm công nghệ trước WCF tránh việc thay đổi mơ hình giao tiếp làm việc với nhiều công nghệ phân tán, cho phép sử dụng API đơn giản sáng 14 Dịch vụ Web Dịch vụ Web nâng cao Lập trình thuộc tính Mơ h ình từ xa Lập trình thơng điệp Hình 3.1: Khả hợp WCF  Mục tiêu 2: Tương tác đa Hầu hết công ty phần mềm lớn sử dụng giao thức riêng gắn liền với tảng cơng nghệ Một doanh nghiệp lớn thường có hệ thống riêng rẽ, mua thời điểm khác nhau, công ty khác Và tất nhiên chúng khơng tương thích tốt với Việc liên kết hệ thống lại thành thể thống làm việc hiệu yêu cầu cần thiết WCF có khả làm điều đó, hỗ trợ tương tác đa tảng cơng nghệ  Mục tiêu 3: Phát triển hướng dịch vụ WCF công cụ phát triển hướng dịch vụ WCF đảm bảo dịch vụ xây dựng cách tự động theo nguyên tắc SOA (phần 3.1.1) Điều đảm bảo giảm giá thành bảo trì, cho phép thay đổi tương tác đa 15 3.2 Kiến trúc Windows Communication Foundation Hình 3.2: Kiến trúc WCF (microsoft.com) Windows Communication Foundation Framework NET 3.0 Nó gồm nhiều thư viện, khơng gian tên (namespace) cho việc lập trình ứng dụng WCF Kiến trúc WCF tầng mơ tả Hình 3.2 (http://msdnvietnam.net) 3.3 Mơ hình lập trình với WCF Mơ hình dịch vụ WCF tương tự với mơ hình dịch vụ web Điểm khác biệt cách đặt tên Trong WCF thành phần không gọi service, binding, portType mà gọi tương ứng address (địa chỉ), binding, contract (xem bảng 3.1) Bảng 3.1 Tương ứng WCF Web Service WCF Web Service Address Service Xác định nơi mà lời gọi dịch vụ gửi tới Chứa thông tin vị trí dịch vụ Binding Binding 16 Xác định cách thức mà lời gọi gửi Chứa thông tin cách liên lạc với dịch vụ, dịch vụ sử dụng giao thức Contract PortType định nội dung mà lời gọi gửi Giải thích dịch vụ làm 3.3.1 Các phương pháp lập trình Có ba phương pháp hay sử dụng phát triển dịch vụ WCF sau:  Phương pháp khai báo (Declarative programming)  Phương pháp lập trình trực tiếp (Explicit programming)  Phương pháp sử dụng tập tin cấu hình 3.3.2 Ngun lý ABCs Mơ hình lập trình với nguyên lý ABCs thể Hình 3.3 (http://msdnvietnam.net) ABC viết tắt ba khái niệm quan trọng WCF Đó là: Address, Binding Contract Address trả lời cho câu hỏi Where? Xác định nơi lời gọi dịch vụ gửi tới Binding trả lời cho câu hỏi How? Xác định cách thức lời gọi gửi Contract trả lời cho câu hỏi What? Xác định nội dung lời gọi gửi Thông thường, ABC coi cổng giao tiếp (endpoint) với giới bên dịch vụ định nghĩa WCF Để mô tả endpoint, ta dùng tập tin đặc biệt định dạng XML WSDL (Web Services Description Language) WSDL mơ tả dịch vụ làm, cách mà từ bên ngồi truy cập dịch vụ nơi tìm dịch vụ Hình 3.3: Nguyên lý ABCs 17 3.4 Bảo mật WCF 3.4.1 Đặc tính kế thừa bảo mật WPF Kế thừa bảo mật HTTPS SOAP Tích hợp với kiến trúc bảo mật có sẵn WCF hồn tồn làm việc với giải pháp bảo mật có sẵn Secure Sockets Layer (SSL) giao thức Kerbeos Ngồi làm việc với kiến trúc bảo mật sử dụng domain Windows sử dụng Active Directory Tích hợp với mơ hình xác thực có sẵn WCF hỗ trợ nhiều mơ hình xác thực khác nhau:  Anonymous caller  Username client credential  Certificate client credential  Windows (Kerberos NT LanMan – NTML) Các chuẩn tính interoperability (làm việc liên mơi trường) WCF sử dụng WSHttpBinding để hỗ trợ WS-Security 1.1 WS- SecureConversation 3.4.2 Các lĩnh vực bảo mật WCF Bảo mật WCF chia thành ba vùng chức năng: transfer security (bảo mật truyền thông), (access control) điều khiển truy nhập, auditing (ghi vết) 18 CHƯƠNG HỆ THỐNG TÍCH HỢP 4.1 Kiến trúc tích hợp 4.1.1 Mơ hình lập trình MVVM Q trình hình thành mơ hình Model-View-ViewMode Năm 2005, John Gossman, kiến trúc sư WPF Silverlight Microsoft, công bố mẫu thiết kế Model-View-ViewModel (MVVM) blog MVVM giới thiệu cách chuẩn hóa để tận dụng tính cốt lõi WPF để đơn giản hóa việc tạo giao diện người dùng Hình 4.2 ( http://www.orbifold.net ) Hình 4.2: Kiến trúc mơ hình lập trình MVVM Toàn tầng View (phần hiển thị) View liên kết với Model (phần liệu đóng gói thành class, component ) thông qua View Model 19 Mỗi tác động người dùng View tác động trở lại Model qua lệnh (command) 4.1.2 Kiến trúc tích hợp theo mơ hình MVVM Hệ thống tích hợp, liên kết liệu cho VNPT Hải Dương theo mơ hình lập trình MVVM thiết kế thành tầng hình 4.3 Hình 4.3: Kiến trúc hệ thống tích hợp Tầng Data: gồm có tất sở liệu cần tích hợp CSDL QLMC, CSDL CUOC, CSDL PTTB… Nhiệm vụ tầng kết nối đến sở liệu liên quan, lấy cấu trúc đối tượng CSDL View, Table, Procedure, Function… đưa vào Dataset tương ứng Tầng Data Access: Biến đổi tất đối tượng tầng Data, đưa thực thể liệu (class) tương ứng Dữ liệu từ database đóng gói thành thành phần (component, oject) có đầy đủ thuộc tính (properties) phương thức (method, function, procedure…) thao tác với csdl (get, load, save, insert, update….) Tầng WCF Service: tầng tạo service để thơng qua QLHD Model tạo thực thể cần thiết Các service cung cấp phương thức cần thiết để lấy liệu từ xa cho tầng QLHD Model Tầng Presentation: Bao gồm đối tượng QLHD Model, ViewModel hỗ trợ cho việc hiển thị Việc thiết kế Dataset trung gian QLHD Model dựa class có từ tầng Data Access theo nguyên tắc nêu Chương Ứng với thị 20 hình (View) có ViewModel tương ứng ViewModel làm nhiệm vụ kết nối liệu (binding data) từ QLHD Model lên giao diện Cùng với lệnh thực (command) tương tác từ View trở lại ViewModel gọi hành sử View Tầng GUI: Chính View, đối tượng hiển thị hình Đây nhiệm vụ trình diễn cơng nghệ WPF Tầng bao gồm tất trình diễn hình, đồ họa, âm thanh, văn bản… 4.2 Thiết kế thành phần Hệ thống viết Visual Studio 2010 với ngơn ngữ lập trình C# bao gồm project Common, Dataacess, QLHD Model, WcfServiceQLHD, WPFBase Mỗi project tương ứng với tầng thiết kế hình 4.3 Tồn Solution hệ thống Hình 4.4 Hình 4.4: Các project cần thực 4.2.1 Data access layer (DAL) Project DataAcess: Tương ứng với tầng DAL Bao gồm thành phần tác nghiệp với sở liệu (Data) Trong Project DataAcess có project tương ứng với csdl gốc (Hình 4.5)  Project CuocDAL: tương ứng với csdl CUOC  Project NhansuDAL: tương ứng với csdl NHANSU  Project PTTBDAL: tương ứng với csdl PTTB  Project QLMCDAL: tương ứng với csdl QLMC 21  … Mỗi thực thể liệu (class) DAL tương ứng với table (hoặc view) với data base gốc Với thuộc tính tương ứng với collumn table đó, có bổ xung thêm vài thuộc tính khác Tất nhiên có tất thêm phương thức cần thiết để thao tác với đối tượng Data lớp thông qua Methods.( Save, Get,….) 4.2.2 Tầng WCF Service Project WcfServiceQLHD: Cung cấp dịch vụ để truy cập vào tầng DAL sử dụng công nghệ WCF Các Service cung cấp dịch vụ cần thiết để Load, Save… thực thể từ DAL cho tầng QLHD Model Các service tương ứng với project DAL tương ứng gốc  CuocService : tạo dịch vụ truy xuất với CuocDAL  NhanSuService: tạo dịch vụ truy xuất với NhanSuDAL  PTTBService: tạo dịch vụ truy xuất với PTTBDAL  QLMCService.: tạo dịch vụ truy xuất với QLMCDAL  … 4.2.3 QLHD Model Bên QLHD Model gồm có thực thể liệu bao gồm toàn thực thể DAL Các thực thể liệu có cấu trúc (các thành phần liệu, thuộc tính – properties) theo nguyên tắc nêu Chương QLHD Model thông qua Tầng WCF Service để lấy liệu từ xa database server Đầu tiên khai báo đối tượng Data Access Layer liên quan, sau khai báo wcf service cần thiết kết nối với database server để lấy liệu DAL tiến hành tạo thuộc tính Model dựa đối tượng DAL Với thực trùng nhau: Hình 4.6 cho thấy thực thể UserModel Tầng QLHD Model thực thể trùng -có mặt database CUOC PTTB tạo theo nguyên tắc nêu Chương 22 Hình 4.6: Thực thể UserModel Tầng QLHD Model Với thực thể độc lập: Tương tự trường hợp Nhưng cần tham chiếu tới thực thể gốc qua WCF Service 4.2.4 Tầng ViewModel View Tầng nơi trình diễn cơng nghệ WPF, tùy vào ứng dụng cụ thể yêu cầu cụ thể thiết kế giao diện cần thiết 4.3 Triển khai hệ thống 4.3.1 Triển khai Server 4.3.2 Triển khai Client 23 KẾT LUẬN Các kết luận văn đạt  Luận văn khảo sát thực tiễn cách tương đối toàn diện hệ thống phần mềm ứng dụng VNPT Hải Dương phần mềm Quản lý mạng cáp, Quản lý cước thu nợ, Quản lý nhân sự, Trang điều hành báo cáo, Hệ thống quản lý phát triển thuê bao… Nhận thấy tình hình phần mềm ứng dụng đơn vị đa dạng, nhiều tảng công nghệ, nhiều nhà cung cấp hoàn toàn độc lập với Từ khảo sát xác định xác định hạn chế hệ thống phần mềm phát sinh nhiều bất cập là: - Dữ liệu thường quản lý chồng chéo khơng đồng nhất, khó khăn vấn đề đồng liệu chương trình dẫn đến sai số liệu, thiếu liệu liệu tin cậy - Người sử dụng khó khăn phải cài đặt sử dụng nhiều môi trường ứng dụng - Việc nâng cấp, phát triển hệ thống, bổ xung thêm module chức nghiệp vụ phức tạp - Chưa hỗ trợ khả làm việc phân tán mạng Internet, phụ thuộc vào mạng nội môi trường cài đặt - … Từ bất cập địi hỏi phải đưa giải pháp tích hợp liên kết liệu giúp cho việc điều hành quản lý sản xuất kinh doanh doanh nghiệp nhanh chóng, xác hiệu  Qua khảo sát công nghệ tích hợp hệ phân tán (CORBA, EJB, DCOM, SOA…) tham khảo giải pháp nhà cung cấp giới (ERP, CRM…), luận văn đề xuất lựa chọn WPF cho tích hợp giao diện WCF cho liên kết liệu phân tán để xây dựng giải pháp thống liệu giao diện Nội dung luận văn nghiên cứu cơng nghệ tích hợp bên WPF, WCF So sánh ưu điểm với công nghệ Cách thức triển khai kiến trúc hướng dịch vụ (SOA) WCF Làm việc môi trường phân tán liệu với WCF Với hỗ trợ tích hợp giao diện WPF, việc triển khai ứng dụng 24 tương đối dễ dàng, thỏa mãn tất yêu cầu giao diện môi trường Cộng với mạnh liên kết liệu môi trường phân tán WCF, kế thừa tất giao thức trước nó, WCF cho phép liên kết liệu nhiều hệ thống phân tán với tảng cơng nghệ khác Tồn hệ thống thống môi trường phát triển  Xây dựng phương án tương đối chi tiết, đưa mơ hình lập trình dựa mơ hình MVVM nhằm giải tốn u cầu thống liệu tích hợp hệ thống cho VNPT Hải Dương, đưa giải pháp kết nối liệu, phát triển ứng dụng mới, tính hệ thống phần mềm thực tế VNPT Hải Dương Với hệ thống liệu kết nối xây dựng được, đảm bảo tính qn tồn vẹn liệu, làm đơn giản hoá việc báo cáo, thống kê  Giải pháp kế thừa toàn hệ thống trước, đồng thời dễ dàng phát triển ứng dụng thoả mãn nhu cầu cần thiết hoạt động sản xuất kinh doanh doanh nghiệp Triển khai thành công tạo thành hệ thống quán, dễ dàng quản lý, triển khai, cho người sử dụng người phát triển Giải pháp phần thúc đẩy mạnh mẽ tin học hoá doanh nghiệp đem lại hiệu kinh tế trình sản xuất Hướng nghiên cứu  Luận văn đưa mơ hình lập trình giải vấn đề liên kết liệu nên chưa thành sản phẩm cụ thể Hướng nghiên cứu tích hợp tồn hệ thống phần mềm VNPT Hải Dương tảng WPF dựa liệu sẵn có Với csdl thống tạo, việc phát triển ứng dụng trở lên nhanh chóng dễ dàng  Trên sở kiến trúc tích hợp xây dựng, với modul hóa lớp, thành phần, lớp bên thiết kế tự động (Auto Generate Code) sử dụng chung cho hệ thống khác Và sau thiết kế hệ thống tương tự kế thừa hầu hết tầng bên tự động hóa Các ứng dụng hệ thống phát triển cách dễ dàng nhanh chóng cần thiết kế layer bên (tầng giao diện) 25  Ngoài ra, nhu cầu tích hợp liên kết liệu địi hỏi chung cho hầu hết doanh nghiệp, tập đoàn nhu riêng VNPT Hải Dương Như mở rộng tốn đưa giải pháp tương tự cho doanh nghiệp khác với các hệ thống phần mềm khác, định dạng database khác nhau… dựa tảng công nghệ WCF, WPF ... cấp mơ hình thống cho viết thiết kế kiến trúc giải pháp mà không bị giới hạn cấu riêng Đề tài luận văn “PHÁT TRIỂN HỆ THỐNG KẾT NỐI DỮ LIỆU DỰA TRÊN CÁC CÔNG NGHỆ WCF, WPF CHO VNPT HẢI DƯƠNG” lựa... trình dựa mơ hình MVVM nhằm giải toán yêu cầu thống liệu tích hợp hệ thống cho VNPT Hải Dương, đưa giải pháp kết nối liệu, phát triển ứng dụng mới, tính hệ thống phần mềm thực tế VNPT Hải Dương. .. mạnh liên kết liệu môi trường phân tán WCF, kế thừa tất giao thức trước nó, WCF cho phép liên kết liệu nhiều hệ thống phân tán với tảng cơng nghệ khác Tồn hệ thống thống môi trường phát triển 

Ngày đăng: 19/03/2021, 17:54

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w