25
1 HC VIN CÔNG NGHBƯU CHÍNH VIỄN THÔNG --------------------------------------- Nguyễn Đức Linh PHÁT TRI N HTHNG KT NI DLI U DA TRÊN CÁC CÔNG NGHWCF, WPF CHO VNPT HẢI DƯƠNG Người hướng dn khoa hc: PGS.TS Trần Đình Quế TÓM TT LUẬN VĂN THẠC SĨ KỸ THUT HÀ NI – 2011

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

Embed Size (px)

Citation preview

Page 1: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

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

Page 2: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

2

MỞ ĐẦU

Sự phát triển nhanh chóng công nghệ phần mềm trong những năm vừa qua làm xuất

hiện ngày càng đa dạng các công cụ phát triển và các công nghệ phần mềm mới. Hầu như

các doanh nghiệp sử dụng CNTT đều có rất nhiều hệ thống phần mềm độc lập chạy trên

nhiều nền tảng khác nhau (giao diện người dùng, database, kiến trúc phần mềm, liên kết dữ

liệu…). Nhu cầu tích hợp và liên kết dữ liệu giữa các hệ thống là một vấn đề hết sức quan

trọng đặc biệt là với các tập đoàn, các doanh nghiệp lớn có các hệ thống phân tán. Nhưng

đồng thời tích hợp và liên kết dữ liệu luôn là thách thức không nhỏ của cả các đơn vị thiết

kế, phát triển ứng dụng.

VNPT Hải Dương cũng triển khai nhiều phần mềm độc lập chạy trên nhiều nền 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ệ bản đồ 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 này chạy độc lập, trên nhiều môi trường khác nhau, gây ra vấn đề

chồng chéo dữ liệu, khó khăn trong việc quản lý và sử dụng. Yêu cầu đặt ra là phát triển ứng

dụng và kết nối dữ liệu giữa các hệ thống độc lập sẵn có. Lựa chọn giải pháp công nghệ nào

để đảm bảo khả năng đáp ứng tốt nhất yêu cầu trên trong rất nhiều kỹ thuật phần mềm hiện

nay.

Trên thế giới đã có nhiều nhà cung cấp các hệ thống phần mềm thống nhất cho doanh

nghiệp như các giải pháp về lĩnh vực ERP (Enterprise resource planning: Hoạch định

nguồn tài nguyên doanh nghiệp) và CRM (Customer relationship management: Quản lý

quan hệ khách hàng ). Tuy nhiên các giải pháp này vô cùng đắt đỏ, và không kế thừa được

những hệ thống có sẵn.

Trong xu thế tích hợp và liên kết của công nghệ phần mềm, với tham vọng “All in

one”- tích hợp tất cả trong một môi trường phát triển, tháng 11 năm 2006, Microsoft chính

thức phát hành bộ các công cụ mới trong .NET Framework 3.0 là Windows Presentation

Foundation(WPF), Windows Communication Foundation(WCF), Windows Workflow

Foundation(WF). Tích hợp trong Visual studio 2008. Đây là một bước đột phá quan trọng

Page 3: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

3

trong chiến lược tích hợp công nghệ của Microsoft với WPF là “All in one” trong tích hợp

design và WCF theo mô hình SOA (Kiến trúc hướng dịch vụ) là “All in one” trong liên kết

dữ liệu trong hệ thống phân tán.

WPF tích hợp khả năng của rất nhiều ngôn ngữ sử dụng NetFramwork trước nó.

Bao gồm cả Windows API , GDI, GDI+, Windows Media Player, DirectX,

Direct 3D and HTML, …và cũng bị ảnh hưởng bởi các công cụ trên web khác

như ADobe, Flash, và các ứng dụng Windows phổ biến khác như MS Word,

PDF….WPF được xây dựng nhằm vào ba mục tiêu cơ bản:

- Cung cấp một nền tảng thống nhất để xây dựng giao diện người dùng

- Cho phép người lập trình và người thiết kế giao diện làm việc cùng nhau

một cách dễ dàng.

- Cung cấp một công nghệ chung để xây dựng giao diện người dùng trên cả

Windows và trình duyệt Web.

WCF có thể kết hợp được hầu hết các kỹ thuật cho hệ phân tán hiện nay:

ASP.NET Web Services (ASMX), Web Service Enhancements (WSE),

Microsoft Message Queue (MSMQ), Enterpise Services/COM+ và .Net

Remoting. Cho phép phát triển các ứng dụng hướng dịch vụ dựa trên kết nối giữa

các dịch vụ và các ứng dụng .Thay thế cho các kiến trúc phân tán trước đây như

Web services, COM+, Microsoft Message Queue, or .NET Framework Remoting,

cung cấp mô hình thống nhất cho viết thiết kế và kiến trúc các giải pháp mà

không bị giới hạn bởi một cơ cấu riêng nào đó.

Đề tài của 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à một sự lựa chọn cần thiết

nhằm giải quyết những vấn đề khó khăn trong ứng dụng và phát triển CNTT của Doanh

nghiệp hiện nay.

Page 4: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

4

CHƯƠNG 1

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 tại 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 trong phạm vi một bưu điện tỉnh/thành phố. Hệ thống bao gồm

bộ chương trình khai thác, quản lý, quản trị và bộ tích hợp bản đồ cho phép quản trị hệ

thống, khai thác các chức năng liên quan tới mạng cáp, quản lý về mạng cáp, thuê bao cũng

như phân công sửa chữa máy hỏng trên bản đồ

Hệ quản trị cơ sở dữ 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ệ bản đồ số GIS

của 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 các chức năng 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,

các chính sách khuyến mại giá cước…

Hệ quản trị cơ sở dữ 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ý và 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 năng tiếp nhận tất cả các

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 về các bộ phận liên quan (tổng đài, truyền dẫn, dây máy, kế toán

cước…) xử lý các yêu cầu đó, từng bước cho đến khi hoàn thành yêu cầu của khách hàng,

cuối cùng là đẩy số liệu vào các hệ thống liên quan (chương trình quản lý cáp, quản lý cước

Page 5: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

5

kể trên). Ngoài ra hệ thống còn quản lý các dịch vụ, các thiết bị liên quan đến dịch vụ như

cổng DSLAM, cổng Switch, đầu số… Kiểm tra tính sẵn dùng của thiết bị để đáp ứng dịch

vụ, tra cứu thông tin danh bạ…

Hệ quản trị cơ sở dữ 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 và điều hành công việc.

Chức năng: Trang báo cáo và điều hành bao gồm các chức năng 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 sự cố chương trình, góp ý phát triển hệ thống.

Ngoài ra còn có hai modul Báo cáo ngày và Xử lý khiếu nại.

Hệ quản trị cơ sở dữ 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 sự

Chức năng: Quản lý nhân sự, tiền lương, phòng ban chức năng.

Hệ quản trị cơ sở dữ 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 của hệ thống hiện tại.

Như vậy hệ thống hiện tại phát sinh nhiều điểm bất cập:

Dữ liệu thường quản lý chồng chéo nhau và không đồng nhất, khó khăn về vấn

đề đồng bộ dữ liệu của các chương trình. Ví dụ khi cập nhật thông tin của một cá

nhân nào đó trong doanh nghiệp thì phải cập nhật ở tất cả các hệ thống. điều này

rất dễ làm sai, thiếu dữ liệu. không biết dữ liệu nào mới là tin cậy

Người sử dụng khó khăn do phải cài đặt và 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 dữ liệu giữa các hệ thống. Người dùng thông

thường không thể khai thác được. Bắt buộc phải có Admin quản trị am hiểu về

các hệ thống mới thực hiện được.Ví dụ với yêu cầu: Thống kê doanh thu có được

Page 6: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

6

trên môt tuyến cáp.Rõ ràng trong hệ thống QLMC không có số liệu doanh thu.

Còn hệ thống CUOC có số liệu doanh thu của thuê bao nhưng không có số liệu

cáp.Yêu cầu này bắt buộc phải liên kết giữa hai hệ thống mới có thể đưa ra kết

quả…

Việc nâng cấp, phát triển hệ thống, bổ xung thêm các module chức năng nghiệp

vụ mới rât phức tạp vì đòi hỏi phải tìm hiểu hầu hết các hệ thống hiện tại với

nhiều môi trường lập trình và các cấu trúc khác nhau.

Chưa hỗ trợ khả năng làm việc phân tán trên mạng Internet tại bất cứ địa điểm

nào. Người sử dụng bắt buộc phải phụ thuộc vào vị trí máy cài đặt thì mới kết nối

được vào hệ thống.

1.3. Đề xuất giải pháp liên kết dữ liệu và tích hợp giao diện

Xuất phát từ những bất cập của hệ thống hiện tại. Nhằm giải quyết vấn đề thống nhất

dữ liệu và thống nhất nền tảng khai thác. Bài luận văn này đề xuất giải pháp tích hợp hệ

thống dựa trên các công cụ mới nhất của Microsoft.

Vấn đề tích hợp giao diện: Với công nghệ WPF thì thống nhất giao diện trở thành

một vấn đề đơn giản. WPF đáp ứng hầu hết các yêu cầu về giao diện hiện tại, người dùng

chỉ cần cài đặt một môi trường duy nhất. Đồng thời WPF cho phép triển khai cả trên môi

trường desktop và môi trường Web cho phép người dùng kết nối vào hệ thống từ bất cứ vị

trí nào có kết nối internet. (Xem ở Chương 2).

Vấn đề liên kết dữ 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 một hệ thống dữ liệu trung gian liên kết tất cả các hệ thống database

hiện có, gọi là DATASET QLHD (Hình 1.6). Dataset này có bao gồm tất cả các thành phần

dữ liệu của tất cả các hệ thống được database hiện tại thiết kế theo 4 nguyên tắc sau.

1. Với các module (thực thể dữ liệu) độc lập, là các modul chỉ có duy nhất trên toàn

hệ thống database trong doanh nghiệp, thì nó đơn giản chỉ là tham chiếu đến các

module gốc, giữ nguyên định dạng cấu trúc và kiểu dữ liệu.

2. Với các module trùng nhau, là các modul xuất hiện ít nhất trên hai hệ thống cơ sở

dữ liệu trong doanh nghiệp (như modul quản lý người dùng), thì cấu trúc của nó

sẽ có các trường (field) bao gồm toàn bộ các trường của các hệ thống cơ sở dữ

liệu, với độ rộng trường là độ rộng lớn nhất.

Page 7: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

7

3. Nếu cùng một trường thông tin nhưng khác kiểu dữ liệu thì bổ xung chức năng

chuyển đổi kiểu dữ liệu bên trong khi lấy giá trị (get) hoặc gán giá trị (set).

4. Tất cả các relation, constraint trên csdl gốc đều được thiết lập trên Dataset này.

Hình 1.6: Mô hình liên kết dữ liệu

DATASET QLHD không chứa dữ liệu, nó chỉ là một tập hợp các class định nghĩa

sẵn chỉ tải các dữ liệu cần thiết khi được gọi. Nó được triển khai trên một máy chủ cung cấp

dịch vụ cài đặt Service host WCF. Service host này cung cấp tất cả các dịch vụ cần thiết để

truy vấn các đối tượng, module chứa trong DATASET QLHD. Ngoài ra các oject (module)

của DATASET QLHD có thể truy vấn dữ liệu bằng LINQ.

Khi đó các máy khai thác chỉ cần liên kết mới máy này, chỉ cần biết cấu trúc của

DATASET QLHD để truy vấn dữ liệu mà không cần biết đến các server thực đang tồn tại

nữa. Dữ liệu của Toàn bộ hệ thống dường như thống nhất là một CSDL duy nhất.

Page 8: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

8

CHƯƠNG 2

CÔNG NGHỆ WPF

(WINDOWS PRESENTATION FOUNDATION)

2.1. Tổng quan về công nghệ WPF

2.1.1. Nhìn lại vấn đề lập trình giao diện.

Windows Forms đã được chuẩn hóa và mang trong mình đầy đủ các công cụ cho

phép xây dựng các chương trình dễ dàng. Tuy nhiên, do sử dụng Windows API, nên giao

diện của các control chuẩn như button, checkbox, textbox bị phụ thuộc vào phiên bản

Windows mà .NET Framework đang chạy. Rắc rối lớn nhất của Windows Forms chính là

giao diện của các control chuẩn này lại gần như không thể được can thiệp và thay đổi theo

tư duy sáng tạo của designer, ngoại trừ trường hợp có ai đó chịu khó đến nỗi ngồi viết cả tấn

code bằng mô hình lập trình cấp thấp GDI/GDI+ (Graphical Device Interface).

Với sự gia tăng liên tục của các ứng dụng nền tảng dựa trên HTML và JavaScript,

Microsoft nhận thấy rằng, một công nghệ mới là cần thiết đã thoát khỏi những hạn chế của

GDI + và USER, có thể cung cấp các loại tính năng sẵn có trong khuôn khổ như Windows

Forms, đồng thời công nghệ này vừa có khả năng thú vị và dễ dàng sử dụng như ứng dụng

Web, nhưng với năng lực của máy tính cục bộ. Windows Presentation Foundation (WPF) là

câu trả lời cho các nhà phát triển phần mềm và thiết kế đồ họa, những người muốn tạo ra

những trải nghiệm người dùng hiện đại mà không phải mất quá nhiều thời gian để làm chủ

nó. Một ý tưởng đột phá trong WPF là có thể kết hợp cả hai công nghệ Winform và

Webform trong vấn đề thiết kế giao diện

2.1.2. Các điểm nổi bật của WPF

Những đặc điểm nổi bật của WPF được thể hiện ở Hình 2.1

(http://www.wpftutorial.net/WPFIntroduction.html)

Page 9: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

9

Nền tảng thống nhất để xây dựng giao diện (Khả năng tích hợp rộng)

WPF cung cấp nhiều tính năng lập trình giao diện trong cùng một công nghệ đơn

nhất. Điều này giúp cho quá trình tạo giao diện người dùng trở nên dễ dàng hơn đáng kể.

Bằng việc hợp nhất tất cả các công nghệ cần thiết để tạo ra một giao diện người dùng vào

một nền tảng đơn nhất thể hiện ở Hình 2.2 – ( http://msdnvietnam.net),

Hình 2.2: Đối chiếu các công nghệ hiện có trong WPF

Hình 2.1: Tổng quan WPF

Page 10: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

10

Không phụ thuộc vào độ phân giải màn hình.

WPF sử dụng đồ họa vector và tính năng thiết kế giao diện mềm dẻo của XAML như

ứng dụng Web nên không phụ thuộc vào độ phân giải của màn hình.

Tăng tốc phần cứng

WPF sử dụng DirectX làm công nghệ cơ sở để xây dựng nên những hiệu ứng thú vị

như trên. DirectX là công nghệ đồ họa của Microsoft, tận dụng được khả năng của phần

cứng để tăng tốc chương trình.

Công nghệ chung cho giao diện Windows và trên 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

một cách dễ dàng và tùy ý thông qua các template, style giống như CSS trong HTML nhưng

nhiều tính năng và rõ ràng hơn..

Công nghệ desktop cho web: Với WPF, chúng ta có thể tạo ra các ứng dụng cho cả

Windows và web. WPF sử dụng XBAP (XAML browser application) để tạo ra những ứng

dụng có thể thực thi bên trong trình duyệt. Những ứng dụng này kết hợp các đặc trưng của

cả ứng dụng web và desktop.

Control có thành phần phức hợp và khả năng tuỳ biến rất cao.

WPF có thể được phức hợp theo những cách chưa từng thấy, có thể tạo một

ComboBox đầy Buttons hoạt hình hoặc Menu chứa đầy các đoạn video trực tiếp! đạt được

với những đoạn code đơn giản. WPF khá dễ dàng để tùy biến hình dáng các control "skin"

và của ứng dụng với vẻ hoàn toàn khác nhau (bằng các "Styles, Templates, Skins, và

Themes").

Cộng tác tốt giữa người thiết kế giao diện và lập trình viên

WPF đưa ra ngôn ngữ đặc tả eXtensible Application Markup Language (XAML).

XAML định ra một tập các phần tử XML như Button, TextBox, Label…, nhằm định nghĩa

các đối tượng đồ họa tương ứng như nút bấm, hộp thoại, nhãn…, và nhờ đó cho phép mô tả

chính xác diện mạo của giao diện người dùng. Các phần tử XAML cũng chứa các thuộc tính,

cho phép thiết lập nhiều tính chất khác nhau của đối tượng đồ họa tương ứng. Mỗi phần tử

XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của phần tử đó lại tương ứng với

Page 11: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

11

thuộc tính hay sự kiện của lớp này. Ngoài ra XAML có thể sửa đổi bằng rất nhiều công cụ

phát triển như Visual Studio, Expression Blend, XAMLPad... Do đó WPF cho phép các

thành viên của đội phát triển và thiết kế có thể làm việc với nhau trên cùng một file mà

không cần phải thông qua một file ảnh tĩnh như trước đây . Theo cách này, nhà thiết kế xây

dựng các giao diện phức tạp bằng Expression Blend. Toàn bộ thiết kế sẽ được công cụ sinh

ra các thể hiện dưới dạng XAML. Nhà phát triển chỉ việc sử dụng các đoạn mã XAML này

với công cụ như Visual Studio 2008 để viết các 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 trong WPF khiến toàn bộ quá trình hiển thị dữ liệu lên các

control giao diện được xử lý một cách tự động mà không cần đến sự can thiệp của các đoạn

mã phía sau của control này.

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 các ứng dụng thuần túy là các file XAML, không cần phải biên dịch,

chúng ta có thể triển khai chúng trên website như với ASP.NET thông thường. Với các ứng

dụng trình duyệt web XBAP, sử dụng dòng lệnh (command-line) trong XCopy hoặc đóng

gói bằng Windows Installer để cài đặt cho khách hàng. Với các ứng dụng chạy độc lập

chúng ta có thể đóng gói thông qua Windows Installer hoặc ClickOnce. Giống như

Windows Installer, ứng dụng được triển khai sử dụng ClickOnce. Ngoài ra ClickOnce còn

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 trong WPF

Giống như các thành phần khác của .NET Framework, WPF tổ chức các chức năng

theo một nhóm namespace cùng trực thuộc namespace System.Windows Hình 2.4

(http://msdnvietnam.net ).

Page 12: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

12

Hình 2.4: Các thành phần cơ bản của WPF

2.2.1. XAML

2.2.2. Layout và control

2.2.3. Style và Template

2.2.4. Text và Document

2.2.5. Media

2.2.6. Đồ họa

2.2.7. Data Binding (liên kết dữ liệu)

2.2.8. Resource

Page 13: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

13

CHƯƠNG 3

CÔNG NGHỆ WCF

(WINDOWS COMMUNICATION FOUNDATION)

3.1. Tổng quan về Windows Communication Foundation

3.1.1. Kiến trúc hướng dịch vụ (SOA) và WCF

“Kiến trúc hướng dịch vụ” – Service Oriented Architecture (SOA) ra đời đã có một

hướng tiếp cận giải quyết khá toàn diện các vấn đề không đồng nhất của các nền tảng công

nghệ và thích hợp với các hệ thống phân tán. Ưu điểm của kiến trúc hướng dịch vụ

Tái sử dụng phần mềm:

Tính linh hoạt và dễ dàng triển khai:

Khả năng thích ứng cao với những thay đổi trong tương lai.

Giảm chi phí cho việc cập nhật và bảo trì phần mềm

WCF đã được thiết kế với các nguyên lý sau của SOA

Rõ ràng về ranh giới: Các ứng dụng và dịch vụ liên lạc với nhau thông qua các

thông điệp mà không quan tâm đến việc xử lý và tiếp nhận

Tự phát triển: Dịch vụ và sử dụng dịch vụ là độc lập với các quá trình nâng cấp

phiên bản, triển khai, hoạt động và 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 các phép toá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 trên chính sách: Các dịch vụ có thể thiết kế để độc lập với việc

triển khai, thống nhất với các ứng dụng về chuẩn giao tiếp.

3.1.2. Mục tiêu của công nghệ WCF

Mục tiêu 1: Hợp nhất công nghệ Khả năng hợp nhất công nghệ của WCF thể hiện trong Hình 3.1

(http://msdnvietnam.net). Microsoft đưa ra giải pháp WCF hợp nhất các công nghệ phân tán tập hợp tất cả

những ưu điểm của các công nghệ trước đó.. WCF tránh được việc thay đổi mô hình giao tiếp khi làm việc với nhiều công nghệ phân tán, cho phép sử dụng một API đơn giản và trong sáng.

Page 14: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

14

Mục tiêu 2: Tương tác đa nền Hầu hết các công ty phần mềm lớn đều sử dụng những giao thức riêng gắn liền với

một nền tảng công nghệ nào đó. Một doanh nghiệp lớn thường có các hệ thống riêng rẽ,

mua ở những thời điểm khác nhau, của những công ty khác nhau. Và tất nhiên chúng sẽ

không tương thích tốt với nhau. Việc liên kết các hệ thống lại thành một thể thống nhất và

làm việc hiệu quả là một yêu cầu cần thiết. WCF có khả năng làm điều đó, hỗ trợ tương tác

đa nền tảng công nghệ

Mục tiêu 3: Phát triển hướng dịch vụ WCF là một công cụ phát triển hướng dịch vụ. WCF đảm bảo các dịch vụ được xây

dựng một 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 và tương tác đa nền.

Dịch vụ Web

Lập trình nền thuộc tính

Lập trình nền thông điệp

Dịch vụ Web nâng cao

MMôô hhììnnhh ttừừ xxaa

Hình 3.1: Khả năng hợp nhất của WCF

Page 15: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

15

3.2. Kiến trúc của Windows Communication Foundation

Hình 3.2: Kiến trúc của WCF (microsoft.com)

Windows Communication Foundation là một Framework trong .NET 3.0. Nó gồm

rất nhiều các 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 và các tầng được mô tả như 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ụ trên WCF cũng tương tự như với mô hình dịch vụ web. Điểm khác

biệt là ở cách đặt tên. Trong WCF các thành phần không được gọi là service, binding, và

portType mà được gọi tương ứng là address (địa chỉ), binding, và contract (xem bảng 3.1)

Bảng 3.1 Tương ứng WCF và Web Service

WCF Web Service

Address

Xác định nơi mà lời gọi dịch vụ sẽ gửi tới

Service

Chứa thông tin về vị trí của dịch vụ

Binding Binding

Page 16: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

16

Xác định cách thức mà lời gọi sẽ được gửi Chứa thông tin về cách liên lạc với

dịch vụ, như dịch vụ sử dụng giao

thức gì

Contract.

định nội dung mà lời gọi sẽ gửi đi

PortType

Giải thích về dịch vụ sẽ làm gì

3.3.1. Các phương pháp lập trình

Có ba phương pháp hay được sử dụng khi phát triển dịch vụ WCF như 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. Nguyên lý ABCs

Mô hình lập trình với nguyên lý ABCs thể hiện như Hình 3.3

(http://msdnvietnam.net). ABC là viết tắt của ba khái niệm quan trọng trong WCF. Đó là:

Address, Binding và Contract.

Address trả lời cho câu hỏi Where?. Xác định nơi lời gọi dịch vụ sẽ 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 được gửi đi

Contract trả lời cho câu hỏi What?. Xác định nội dung lời gọi sẽ gửi đi.

Thông thường, bộ ABC được coi như một cổng giao tiếp (endpoint) với thế giới bên

ngoài của dịch vụ được định nghĩa trong WCF. Để mô tả về endpoint, ta dùng một tập tin

đặc biệt định dạng XML đó là WSDL (Web Services Description Language). WSDL mô tả

những gì dịch vụ có thể làm, cách mà từ bên ngoài có thể truy cập được dịch vụ cũng như

nơi có thể tìm được dịch vụ.

Hình 3.3: Nguyên lý ABCs

Page 17: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

17

3.4. Bảo mật trong WCF

3.4.1. Đặc tính kế thừa trong bảo mật của WPF

Kế thừa bảo mật HTTPS và SOAP

Tích hợp với các kiến trúc bảo mật có sẵn

WCF hoàn toàn có thể làm việc với các giải pháp bảo mật có sẵn như Secure

Sockets Layer (SSL) hoặc giao thức Kerbeos. Ngoài ra nó cũng có thể làm việc với kiến

trúc bảo mật đang sử dụng như domain trên Windows sử dụng Active Directory.

Tích hợp với các mô hình xác thực có sẵn

WCF hỗ trợ rất nhiều các mô hình xác thực khác nhau:

Anonymous caller

Username client credential

Certificate client credential

Windows (Kerberos và NT LanMan – NTML).

Các chuẩn và tính interoperability (làm việc liên môi trường)

WCF sử dụng WSHttpBinding để hỗ trợ WS-Security 1.1 và WS-

SecureConversation.

3.4.2. Các lĩnh vực bảo mật của WCF

Bảo mật trong WCF chia ra 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, và auditing (ghi vết).

Page 18: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

18

CHƯƠNG 4

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

Quá trình hình thành mô hình Model-View-ViewMode.

Năm 2005, John Gossman, hiện tại là trong những kiến trúc sư về WPF và Silverlight

tại Microsoft, đã công bố mẫu thiết kế Model-View-ViewModel (MVVM) trên blog của

mình. MVVM được giới thiệu như là một cách được chuẩn hóa để tận dụng những tính

năng cốt lõi của WPF để đơn giản hóa việc tạo ra những 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 bộ tầng View (phần hiển thị)

View liên kết với Model (phần dữ liệu được đóng gói thành các class, component..)

thông qua View Model.

Page 19: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

19

Mỗi tác động của người dùng trên View tác động trở lại Model qua các 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 dữ liệu cho VNPT Hải Dương theo mô hình lập trình

MVVM được thiết kế thành các tầng như 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 cả các cơ sở dữ liệu cần tích hợp như CSDL QLMC, CSDL

CUOC, CSDL PTTB… Nhiệm vụ của tầng này là kết nối đến cơ sở dữ liệu liên quan, lấy

được cấu trúc các đối tượng của CSDL như là View, Table, Procedure, Function… đưa vào

các Dataset tương ứng.

Tầng Data Access: Biến đổi tất cả các đối tượng của tầng Data, đưa ra các thực thể

dữ liệu (class) tương ứng. Dữ liệu từ database đã được đóng gói thành các thành phần

(component, oject) có đầy đủ các thuộc tính (properties) và các phương thức (method,

function, procedure…) thao tác với csdl (get, load, save, insert, update….).

Tầng WCF Service: tầng này tạo ra các service để thông qua nó QLHD Model tạo

các thực thể cần thiết. Các service cung cấp các phương thức cần thiết để lấy dữ liệu từ xa

cho tầng QLHD Model.

Tầng Presentation: Bao gồm các đối tượng QLHD Model, và các ViewModel hỗ

trợ cho việc hiển thị. Việc thiết kế Dataset trung gian QLHD Model dựa trên các class có

được từ tầng Data Access theo 4 nguyên tắc đã nêu ở Chương 1. Ứng với mỗi hiện thị trên

Page 20: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

20

màn hình (View) sẽ có một ViewModel tương ứng. ViewModel này làm nhiệm vụ kết nối

dữ liệu (binding data) từ QLHD Model lên giao diện đó. Cùng với các lệnh thực hiện

(command) tương tác từ View trở lại. ViewModel còn gọi là hành sử của View.

Tầng GUI: Chính là các View, các đối tượng hiển thị trên màn hình. Đây là nhiệm

vụ trình diễn của công nghệ WPF. Tầng này bao gồm tất cả những gì trình diễn trên màn

hình, đồ họa, âm thanh, văn bản….

4.2. Thiết kế các thành phần.

Hệ thống được viết trên Visual Studio

2010 với ngôn ngữ lập trình C#. bao gồm các

project Common, Dataacess, QLHD Model,

WcfServiceQLHD, WPFBase. Mỗi project tương

ứng với các tầng đã được thiết kế ở hình 4.3.

Toàn bộ Solution của hệ thống như Hình 4.4.

Hình 4.4: Các project cần thực hiện

4.2.1. Data access layer (DAL).

Project DataAcess: Tương ứng với tầng DAL Bao gồm các thành phần tác nghiệp với

các cơ sở dữ liệu (Data). Trong Project DataAcess sẽ có các project con tương ứng với mỗ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

Page 21: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

21

Mỗi thực thể dữ liệu (class) trong DAL tương ứng với một table (hoặc view) với data

base gốc. Với các thuộc tính tương ứng với các collumn của table đó, có bổ xung thêm một

vài thuộc tính khác. Tất nhiên nó có tất thêm các phương thức cần thiết để thao tác với đối

tượng Data ở lớp dưới thông qua các Methods.( Save, Get,….).

4.2.2. Tầng WCF Service.

Project WcfServiceQLHD: Cung cấp các dịch vụ để truy cập vào tầng DAL sử dụng

công nghệ WCF. Các Service sẽ cung cấp các dịch vụ cần thiết để Load, Save… các thực

thể từ DAL cho tầng QLHD Model.

Các service tương ứng với mỗi project trong DAL tương ứng là gốc là

CuocService : tạo các dịch vụ truy xuất với CuocDAL

NhanSuService: tạo các dịch vụ truy xuất với NhanSuDAL

PTTBService: tạo các dịch vụ truy xuất với PTTBDAL

QLMCService.: tạo các dịch vụ truy xuất với QLMCDAL

4.2.3. QLHD Model

Bên trong QLHD Model sẽ gồm có các thực thể dữ liệu bao gồm toàn bộ các thực thể

ở DAL. Các thực thể dữ liệu này có cấu trúc (các thành phần dữ liệu, thuộc tính –

properties) theo 4 nguyên tắc đã nêu ở Chương 1.

QLHD Model thông qua Tầng WCF Service để lấy dữ liệu từ xa trên các database

server. Đầu tiên nó khai báo các đối tượng trong Data Access Layer liên quan, sau đó khai

báo các wcf service cần thiết kết nối với các database server đó để lấy dữ liệu về DAL và

tiến hành tạo các thuộc tính của Model dựa trên các đối tượng DAL.

Với các thực trùng nhau: Hình 4.6 cho thấy thực thể UserModel trong Tầng QLHD

Model là một thực thể trùng nhau -có mặt trong cả 2 database CUOC và PTTB được tạo ra

theo 4 nguyên tắc đã nêu ở Chương 1 như thế nào.

Page 22: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

22

Hình 4.6: Thực thể UserModel trong Tầng QLHD Model

Với các thực thể độc lập: Tương tự như trường hợp trên. Nhưng chỉ cần tham chiếu

tới 1 thực thể gốc qua một WCF Service

4.2.4. Tầng ViewModel và View

Tầng này là nơi trình diễn của công nghệ WPF, tùy vào ứng dụng cụ thể và những

yêu cầu cụ thể sẽ thiết kế những giao diện cần thiết.

4.3. Triển khai hệ thống

4.3.1. Triển khai trên Server

4.3.2. Triển khai trên Client

Page 23: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

23

KẾT LUẬN

Các kết quả luận văn đã đạt được

Luận văn đã khảo sát thực tiễn một cách tương đối toàn diện các hệ thống phần mềm

ứng dụng trong VNPT Hải Dương như là các phần mềm Quản lý mạng cáp, Quản lý

cước và thu nợ, Quản lý nhân sự, Trang điều hành và báo cáo, Hệ thống quản lý phát

triển thuê bao…. Nhận thấy tình hình các phần mềm ứng dụng trong đơn vị rất đa

dạng, trên nhiều nền tảng công nghệ, nhiều nhà cung cấp và hoàn toàn độc lập với

nhau. Từ những khảo sát đó xác định xác định những hạn chế của hệ thống phần mềm

hiện tại đã phát sinh nhiều bất cập như là:

- Dữ liệu thường quản lý chồng chéo nhau và không đồng nhất, khó khăn về

vấn đề đồng bộ dữ liệu của các chương trình dẫn đến sai số liệu, thiếu dữ liệu.

không biết dữ liệu nào mới là tin cậy.

- Người sử dụng khó khăn do phải cài đặt và 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 các module chức năng

nghiệp vụ mới rất phức tạp.

- Chưa hỗ trợ khả năng làm việc phân tán trên mạng Internet, phụ thuộc vào

mạng nội bộ và môi trường cài đặt.

- …

Từ những bất cập đó đòi hỏi phải đưa ra giải pháp tích hợp và liên kết dữ liệu giúp

cho việc điều hành quản lý và sản xuất kinh doanh của doanh nghiệp nhanh chóng,

chính xác và hiệu quả.

Qua khảo sát về các công nghệ tích hợp hiện tại trong hệ phân tán (CORBA, EJB,

DCOM, SOA…) cũng như tham khảo các giải pháp của các nhà cung cấp trên thế giới

(ERP, CRM…), luận văn đề xuất lựa chọn WPF cho tích hợp giao diện và WCF cho

liên kết dữ liệu phân tán để xây dựng một giải pháp thống nhất dữ liệu và giao diện.

Nội dung luận văn nghiên cứu được các công nghệ mới được tích hợp bên trong WPF,

WCF. So sánh ưu điểm với các công nghệ hiện tại. Cách thức triển khai kiến trúc

hướng dịch vụ (SOA) trong WCF. Làm việc trong môi trường phân tán dữ liệu với

WCF. Với những hỗ trợ tích hợp giao diện của WPF, việc triển khai một ứng dụng

Page 24: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

24

mới là tương đối dễ dàng, thỏa mãn tất cả các yêu cầu về giao diện hiện tại trên một

môi trường duy nhất. Cộng với thế mạnh liên kết dữ liệu trong môi trường phân tán

của WCF, kế thừa tất cả các giao thức trước nó, WCF cho phép liên kết dữ liệu nhiều

hệ thống phân tán với nền tảng công nghệ khác nhau. Toàn bộ hệ thống được thống

nhất trên một môi trường phát triển.

Xây dựng phương án tương đối chi tiết, đưa ra một mô hình lập trình dựa trên mô hình

MVVM nhằm giải quyết bài toán yêu cầu thống nhất dữ liệu và tích hợp hệ thống cho

VNPT Hải Dương, đưa ra giải pháp kết nối dữ liệu, phát triển các ứng dụng mới, tính

năng mới trên hệ thống phần mềm thực tế của VNPT Hải Dương. Với hệ thống dữ liệu

kết nối xây dựng được, đảm bảo tính nhất quán và toàn vẹn dữ liệu, làm đơn giản hoá

trong việc báo cáo, thống kê.

Giải pháp này kế thừa được toàn bộ những hệ thống trước, đồng thời có thể dễ dàng

phát triển các ứng dụng mới thoả mãn các nhu cầu cần thiết trong hoạt động sản xuất

kinh doanh của doanh nghiệp. Triển khai thành công sẽ tạo thành một hệ thống nhất

quán, dễ dàng trong quản lý, triển khai, cho người sử dụng và người phát triển. Giải

pháp một phần thúc đẩy mạnh mẽ tin học hoá tại doanh nghiệp và đem lại hiệu quả

kinh tế trong quá trình sản xuất.

Hướng nghiên cứu tiếp theo

Luận văn mới đưa ra mô hình lập trình và giải quyết các vấn đề liên kết dữ liệu nên

vẫn chưa thành một sản phẩm cụ thể. Hướng nghiên cứu tiếp theo là tích hợp toàn bộ

hệ thống phần mềm của VNPT Hải Dương trên nền tảng WPF dựa trên các dữ liệu

sẵn có. Với csdl thống nhất đã tạo, việc phát triển các ứng dụng sẽ trở lên nhanh

chóng và dễ dàng

Trên cơ sở kiến trúc tích hợp đã xây dựng, với sự modul hóa các lớp, các thành phần,

các lớp bên dưới này có thể được thiết kế tự động (Auto Generate Code) và có thể

được sử dụng chung cho các hệ thống khác nhau. Và sau đó có thể thiết kế những hệ

thống tương tự kế thừa được hầu hết các tầng bên dưới đã được tự động hóa. Các ứng

dụng mới trên các hệ thống mới có thể phát triển một cách dễ dàng và nhanh chóng

khi chỉ cần thiết kế những layer bên trên (tầng giao diện).

Page 25: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/869/1/TTLV NG.Duc Linh.pdf · của Oracle qua OCI sử dụng Microsoft C++ 6.0. ... xử

25

Ngoài ra, nhu cầu tích hợp và liên kết dữ liệu là những đòi hỏi chung cho hầu hết các

doanh nghiệp, tập đoàn chứ không phải là nhu riêng của VNPT Hải Dương. Như vậy

có thể mở rộng bài toán trên đưa ra các giải pháp tương tự cho các doanh nghiệp

khác với các các hệ thống phần mềm khác, trên các định dạng database khác nhau…

dựa trên nền tảng công nghệ WCF, WPF.