CHƯƠNG 2 : GIẢI PHÁP TÍCH HỢP DỮ LIỆU CỦA BỘ GIAO THÔNG VẬN TẢI
2.3. MÔ HÌNH TÍCH HỢP DỮ LIỆU BỘ GIAO THÔNG VẬN TẢI
Hiện nay có rất nhiều giải pháp cho bài toán như trên, tuy nhiên lựa chọn phương pháp nào thì tùy thuộc vào hạ tầng kỹ thuật tin học hiện có, quy định về mặt pháp lý và định hướng của cơ quan đó. Đối với các cục quản lý chuyên ngành của Bộ Giao thông Vận tải đã được trang bị hệ thống thông tin hiện đại và đang hoạt động hiệu quả thì hướng xây dựng các ứng dụng dùng Web service để trao đổi thông tin là giải pháp tốt nhất hiện nay. Để sử dụng Web service xây dựng các ứng dụng, chúng ta cần xem xét Web service dựa trên nền tảng công nghệ nào?
Trên cơ sở hạ tầng viễn thông đã có, các kết nối từ Trung tâm tích hợp dữ liệu của Bộ Giao thông Vận tải tới các Cục quản lý chuyên ngành bằng hệ thống mạng VPN đã tạo ra mạng WAN của Bộ Giao thông Vận tải. Các kết nối liên thông cho phép chúng ta xây dựng ứng dụng tích hợp dữ liệu từ các cục quản lý chuyên ngành về Trung tâm tích hợp dữ liệu của Bộ để phục vụ công tác quản lý.
Trong hệ thống WAN của Bộ Giao thông Vận tải, các Cục quản lý chuyên ngành đã kết nối Internet và VPN. Mặc dù vậy, nhưng hệ thống máy chủ cơ sở dữ liệu ở mỗi nơi là khác nhau, hệ thống mạng được thiết kế khác nhau cả về quy mô và đường truyền vật lý. Nhiệm vụ là thiết kế cách thức để đưa thông tin từ các máy chủ cơ sở dữ liệu lên một nơi mà từ đó ta có thể lấy thông tin mà không phụ thuộc vào bất kỳ hệ quản trị cơ sở dữ liệu và hệ điều hành nào.
Web service trao đổi thông tin dựa trên giao thức HTTP và SOAP, điều này cho phép chúng ta trao đổi thông tin giữa các trung tâm với nhau thông qua hệ thống Internet hay VPN rất thuận lợi. Chúng không phụ thuộc vào hạ tầng kỹ thuật, tin học của các đơn vị.
Hình 24: Mô hình kết nối mạng từ trung tâm Tích hợp dữ liệu của Bộ Giao thông vận tải đến các cục quản lý chuyên ngành.
2.4. TRUY CẬP CƠ SỞ DỮ LIỆU TẠI CÁC CỤC CHUYÊN NGÀNH
Tại mỗi Cục quản lý chuyên ngành sẽ xây dựng một Web service truy cập vào cơ sở dữ liệu cục bộ để lấy thông tin. Việc trao đổi thông tin giữa các trung tâm với nhau thông qua HTTP và SOAP do vậy chỉ cần có một định danh cho Web service đó, có thể là:
- IP tĩnh, động do ta chọn kiểu kết nối qua VPN; - Tên miền Internet nếu dùng đường Leased line.
Hình 25: Mô hình truy cập dữ liệu tại các đơn vị cơ sở.
Trên Web service xây dựng các phương thức truy cập và lấy thông tin từ máy chủ cơ sở dữ liệu. Đối với mỗi loại hệ quản trị cơ sở dữ liệu có cách thức riêng để truy cập và mọi hoạt động này được thực hiện trong phạm vi của tổ chức (trong mạng LAN), dữ liệu mà Web service nhận được là kết quả của việc truy vấn vào cơ sở dữ liệu nội bộ sau đó trả về nơi yêu cầu qua giao thức HTTP, SOAP.
Xét trường hợp phải tổng hợp thông tin về tàu biển theo số IMO hoặc số hô hiệu tàu từ CSDL tại Cục Hàng hải và Cục Đăng kiểm thì:
Tại Web service của Cục Hàng hải ta xây dựng một số các phương thức như:
Getportlist(): Để lấy danh sách cảng.
GetMasterofVessel(): Lấy danh sách các chủ tàu. GetVesselList(): Lấy danh sách tàu.
GetSailorList(): Lấy danh sách thuyền viên.
GetVesselToPort(): Lấy danh sách tàu ra vào cảng. GetGoods(): Lấy số lượng hàng qua cảng.
Tại Web service ở Cục Đăng Kiểm
GetVesselRegisterList(): Lấy thông tin đăng kiểm của tàu.
Toàn bộ thông tin lấy được tích hợp thành cơ sở dữ liệu Tàu biển đặt tại Trung tâm tích hợp dữ liệu của Bộ.
Vậy, ta thấy có một số ưu nhược điểm sau:
Ưu điểm:
1. Bên yêu cầu lấy thông tin thông qua giao thức chung HTTP, SOAP nên không phụ thuộc vào hạ tầng hệ thống thông tin của các trung tâm cơ sở (bao gồm hệ quản trị cơ sở dữ liệu và hệ điều hành).
2. Bên yêu cầu chỉ nhận được thông tin do Web service trả về nên ta có thể tinh giản được lượng dữ liệu trước khi truyền trên Internet.
3. Sự an toàn của máy chủ cơ sở dữ liệu được đảm bảo do bên yêu cầu không phải kết nối trực tiếp vào máy chủ cơ sở dữ liệu, dữ liệu đi qua tầng trung gian là Web service và có thêm chế độ bảo mật của chính Web service.
4. Web service được xây dựng dễ dàng bằng nhiều ngôn ngữ lập trình như: PHP, ASP.NET, C#, VB.NET,…
Hạn chế:
1. Phụ thuộc vào tốc độ đường truyền Internet.
2. Nếu thay đổi yêu cầu nghiệp vụ thì phải thay đổi các phương thức của Web service.
2.5. XỬ LÝ DỮ LIỆU TÍCH HỢP
Hình 27: Mô hình khai thác Web service
Tại cơ quan Bộ Giao thông Vận tải, muốn khai thác các Web service này thì cần làm một số thao tác sau:
- Dùng tiện ích Disco, Wsdl để lấy được các thông tin của các Web service. - Các ứng dụng sẽ tham chiếu thông tin một trong hai tệp này để kích hoạt các phương thức của Web service. Một lời gọi đến phương thức của Web service thực tế là một lời gọi đến Proxy, việc còn lại là do Proxy này thực hiện.
Khi có yêu cầu lấy dữ liệu, một thông điệp được gửi đến Web service của trung tâm cơ sở, sau khi kiểm tra tính hợp lệ của thông điệp một phương thức được chỉ định sẽ thực hiện việc truy nhập vào cơ sở dữ liệu cục bộ để lấy thông tin. Web service gửi thông tin đó dưới định dạng XML về Bộ. Tại đây dữ liệu có thể được xử lý thêm một lần nữa rồi lưu vào cơ sở dữ liệu của Bộ.
Khi lưu thông tin, chúng ta cần phân loại dữ liệu nhận được theo các tiêu chí đã cho.
Thí dụ:
Dữ liệu cần theo dõi theo thời gian: như sản lượng vận tải của ngành đường sắt, ngành đường bộ, hàng không theo từng tháng hay quý thì ta phải thêm thông tin về thời gian vào dữ liệu đã tích hợp.
Dữ liệu theo ngành: Khi cần thông tin về một tàu nào đó chỉ cần có mã tàu (hô hiệu tàu hay số IMO), ta có thể cung cấp hồ sơ đăng kiểm của tàu từ cục Đăng kiểm, quá trình hoạt động của tàu lấy ở cảng vụ và danh sách thuyền viên lấy ở các chủ tàu.
Như vậy khi xây dựng kho dữ liệu ta có thể nhóm các thông tin theo mục tiêu nào đó. Thí dụ tạo cơ sở dữ liệu ngành Hàng hải sẽ lấy thông tin theo cấu trúc sau:
Thông tin được tích hợp trong cùng một cơ sở dữ liệu, khi khai thác thông tin về một tàu nào đó thì truy vấn qua mã tàu (có thể là số IMO, số hô hiệu); nếu lấy thông tin lượng hàng qua cảng theo tháng hoặc quý thì dựa vào mã cảng và thời gian...
Hoặc xây dựng cơ sở dữ liệu đường bộ thì cần tích hợp dữ liệu theo cấu trúc:
Từ cơ sở dữ liệu này có thể tổng hợp được tổng trọng tải, số lượng xe của từng loại xe dựa vào mã xe... Xu hướng phát triển của các loại phương tiện so với sự phát triển của cầu, đường ở Việt Nam...
Các thông tin lấy từ các Cục quản lý chuyên ngành được lưu tại máy chủ cơ sở dữ liệu của Bộ được phân loại theo các mục đích đã định. Đồng thời đảm bảo các hệ thống khác truy cập tổng hợp thông tin theo yêu cầu của lãnh đạo Bộ để phục vụ cho công tác quản lý hay dự báo.
CHƯƠNG 3: KẾT QUẢ THỬ NGHIỆM TÍCH HỢP DỮ LIỆU
TỪ CỤC HÀNG HẢI VỀ BỘ
Từ kết quả nghiên cứu trên tôi đã thực hiện mô phỏng tích hợp dữ liệu từ Cục Hàng hải về Trung tâm tích hợp dữ liệu của Bộ Giao thông Vận tải.
3.1 XÂY DỰNG WEB SERVICE TẠI CỤC HÀNG HẢI
Hình 28: Web service tại Cục Hàng hải
Tại Cục Hàng hải ta xây dựng một Web service theo trình tự như sau:
Ở đây, ngôn ngữ lập trình được sử dụng là ASP.NET và C# trong Visual Studio.NET của Microsoft.
Tạo Web service: 1. Khởi động VS.Net
2. Vào Menu File chọn NewÆWeb Site, máy tính xuất hiện hộp thoại:
Hình 29: Hộp thoại tạo Web service
Khi chương trình khởi động xong ta bắt đầu làm việc với chương trình này.
Bước 1: Tạo kết nối với máy chủ cơ sở dữ liệu:
Dòng lệnh 23 khai báo chuỗi kết nối trong đó: Data Source = Tên máy chủ cơ sở dữ liệu; Initial Catalog = Tên cơ sở dữ liệu;
User = Tên đăng nhập; Password = Mật khẩu;
Bước 2: Xây dựng phương thức truy vấn dữ liệu:
Xét phương thức trên ta thấy dòng lệnh 34 mở kết nối đã được khai báo bởi hàm getConnection(). Dòng lệnh 35 khai báo một câu lệnh truy vấn để lấy dữ liệu từ bảng Ports trong cơ sở dữ liệu. Để thực thi câu lệnh này phải có biến SqlComm với tham số đầu vào là câu lệnh SQL đã khai báo ở dòng lệnh 35. Tại dòng lệnh 37 khai báo kiểu của câu lệnh là CommandType.Text, Nếu câu lệnh là lời gọi đến một
StoreProcedure hay T-SQL thì kiểu của câu lệnh khai báo là
CommandType.StoreProcedure. Từ dòng lệnh 38 đến 40 thực hiện việc điền thông tin vào DataSet, dòng lệnh 41 trả kết quả cho phương thức getPortlist().
Bước 3: Thực hiện bước 2 cho đến khi các yêu cầu được hoàn thành. Như vậy các
phương thức khác được xây dựng tùy theo mục đích thiết kế.
Bước 4: Cấu hình Web service để nó hoạt động. Việc cấu hình Web service tương tự
St Thí toreProced dụ một số dure trong ố phương cơ sở dữ li thức đượ iệu:
ợc xây dựựng dùng cách triệuu gọi cácc
3. th (C và .2 TIÊU TH 3.2.1. Tạ Muốn hông tin về Có ha Consumer A Cách 1: Trong à Wsdl để Bước 1 HỤ WEB S o Proxy sử dụng c Web servi ai cách để Applicatio môi trường lấy thông t 1: Dùng tiệ Disco ww SERVICE các phương ice này. ể đưa thôn n). g lập trình tin của We ện ích Disc ww.vinamarine TẠI CƠ Q g thức của ng tin của DotNet, M eb service. co để lấy th .gov.vn/MTDat QUAN BỘ a Web serv a Web ser MicroSoft c hông tin củ taIntegrated.as vice, ta ph rvice vào cung cấp cá
ủa Web serv
mx /out: c:\da
hải lấy đượợc toàn bộộ
ứng dụngg tiêu thụụ
ác tiện ích như Discoo
rvice
Trong trường hợp Web service cần khai báo quyền truy nhập thì ta dùng thêm hai tham số /username: tên truy cập và /password: mật khẩu. tham số /out chỉ nơi lưu trữ tệp kết quả được trả về, trong trường hợp trên có hai tệp kết quả được trả về là MTDataIntegrated.diso và MTDataIntegrated.wsdl.
Bước 2: Dùng lệnh Wsdl để tạo ra tệp MTDataIntegrated.* phần mở rộng của tệp này tùy thuộc vào việc chỉ định tham số ngôn ngữ (/languge:) trong lệnh Wsdl.
Wsdl http://www.vinamarine.gov.vn/MtDataIntegrated.asmx /o:c:\dataintegrated /language:CS /protocol:SOAP12
Kết quả của việc thực hiện câu lệnh trên là tạo ra được tệp DataIntegrated.cs
tên của tệp kết quả này trùng với tên của lớp được xây dựng bên trong Web service. Tham số:
/language: có thể nhận một số giá trị như JS, CS, VB, VC.
/protocol: chỉ giao thức truyền dữ liệu như SOAP, SOAP12, HttpGet, HttpPost.
Bước 3: Biên dịch tệp DataIntegrated.cs thành DataIntegrated.dll
Cách 2: Khi t dd web ref tạo một ứn ference của ng dụng tiê a Visual St êu thụ Web tudio.net
b service, tta có thể ddùng ngay chức năngg
A
B
Bước 1: Vàoo menu Prroject → Addd web refference…
H Máy tí Hình 30: Th ính xuất hiệ Hìn hêm tham ch ện hộp tho nh 31: Giao hiếu Web se ại: o diện hộp t
ervice vào cchương trìnhh ứng dụng
xu kh
Bước
uất hiện tê hông theo q 2: Nhập đị ên tham ch quy tắc như W B Bước Web service Bước 4: Kh W usi Da vn 3: Chọn e là: vn.gov hi xây dựng eb service ing DataIn ataIntegrate .gov.vinam ịa chỉ của W hiếu của W ư xuất hiện Add Refer v.vinamarin Hình 32: g các đối tư phải khai b ntegratedC edClient: Đ marine.www Web service Web servic n trong ô th e và ô URL ce, trong tr hì người dù L thì trong ô rường hợp ùng phải nh ô Web refer nếu tên th hập vào. rence name ham chiếu e u rence. Tron ne.www và ng chương à xuất hiện g trình này trong chươ y tên tham ơng trình chiếu củaa
: Tham chiếếu của Web service
ượng (lớp) báo dòng l muốn gọi lệnh sau: các phươnng thức củaa Client.vn.goov.vinamarrine.www;
ây là tên chhương trình ứng dụng tiiêu thụ Webb service.
3.2.2. Gọi phương thức của Web service:
Sau khi thực hiện phần trên chúng ta đã có toàn bộ thông tin về Web service cần sử dụng. Trong chương trình tiêu thụ tạo đối tượng thuộc Web service đó.
Sau đây là hàm sử dụng phương thức getPortlist() của Web service hiện thông tin lên đối tượng DataGridView.
Kết quả hiển thị:
Sau khi hiển thị dữ liệu rồi, ta có thể lưu lại thông tin. Thủ tục sau ghi lại thông tin đã hiển thị trên DataGridView.
Trong thủ tục này đối tượng SqlComm có một số thông số
SqlComm.CommandType = CommandType.StoreProcedure;
Kiểu của câu lệnh là StoreProcedure
SqlComm.CommandText = “Updatedanhsachcang”; Tên của StoreProcedure
Khối lệnh foreach () {…} thực hiện việc gán dữ liệu từ bảng vào các tham số của StoreProcedure và thực thi StoreProcedure đó. Mỗi lần StoreProcedure được thực thi thì một bản ghi được chèn vào trong cơ sở dữ liệu.
3.3. TẠO CƠ SỞ DỮ LIỆU:
Trong phần tạo cơ sở dữ liệu để lưu trữ thông tin khai thác được, chương trình được dùng là FileMaker hoặc dùng ngay hệ quản trị cơ sở dữ liệu SQL Server 2005.
Hình 34: Cơ sở dữ liệu được tạo để lưu trữ thông tin nhận được
Dữ liệu nhận được từ việc gọi các phương thức từ các Web service sẽ được lưu thành các bảng trong cơ sở dữ liệu Hàng hải.
3.4. MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH THỬ NGHIỆM
Hình 35: Giao diện chính của chương trình
KẾT LUẬN
Trong luận văn này tôi trình bày tổng thể về giải pháp tích hợp dữ liệu từ các cục quản lý chuyên ngành về Cơ quan Bộ Giao thông Vận tải trên cơ sở hạ tầng viễn thông hiện có. Với Web service là hướng ứng dụng công nghệ mới trong mấy năm gần đây, nó cho phép các hệ thống trao đổi thông tin với nhau thông qua giao thức HTTP, SOAP. Luận văn đạt được một số kết quả sau:
Tìm hiểu toàn bộ hiện trạng cơ sở hạ tầng viễn thông của cơ quan Bộ Giao thông Vận tải cũng như của các cục quản lý chuyên ngành.
Trình bày một số công nghệ hiện có dùng trong việc tích hợp dữ liệu từ các hệ thống phân tán.
Đề xuất giải pháp dùng để tích hợp dữ liệu từ các cục quản lý chuyên ngành về Bộ dựa trên Web service.
Trình bày mô phỏng hệ thống tích hợp dữ liệu dựa trên các hệ thống thông tin hiện tại của Cục Hàng hải và Trung tâm tích hợp dữ liệu của Bộ Giao thông Vận tải. Giải pháp tích hợp dữ liệu dựa trên Web service hướng đi mới trong việc trao đổi thông tin trên Internet hiện nay.
TÀI LIỆU THAM KHẢO
Tiếng Việt Nam
[1]. Athena (2006), Chương trình dạy NETWORK FUNDAMENTAL, 91. [2]. Athena (2006), Cấu hình VPN, 2006, 15.
[3]. Athena (2006), Hướng dẫn từng bước Cách thiết lập W2K VPN server, 14. [4]. Dương Quang Thiện (2005), .NET Toàn Tập - Tập 5: Lập Trình Web Dùng
ASP.NET Và C# - Lập Trình Visual C# Thế Nào?, 738.
[5]. Dương Quang Thiện (2005), .NET Toàn Tập - Tập 4: Lập Trình Căn Cứ Dữ Liệu dùng ADO.NET Và C# - Lập Trình Visual C# Thế Nào?, 692.
[6]. Trung tâm Tích hợp dữ liệu (2006), Báo cáo hiện trạng trung tâm Tích hợp Dữ liệu