MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 6
1.1 Phát biểu bài toán 6
1.2 Dữ liệu là gì? 6
1.3 Các dạng dữ liệu 6
1.3.1 Dữ liệu nghiệp vụ 7
1.3.2 Dữ liệu nghiệp vụ phi cấu trúc 7
1.3.3 Siêu dữ liệu 7
1.4 Cơ sở dữ liệu phân tán 8
1.4.1 Lợi điểm của cơ sở dữ liệu phân tán 8
1.4.2 Tính trong suốt của cơ sơ dữ liệu phân tán 8
1.4.2.1 Trong suốt về vị trí 9
1.4.2.2 Trong suốt về ánh xạ địa phương 9
1.4.3 Tối ưu kết nối trong cơ sở dữ liệu phân tán 10
1.5 Hệ quản trị cở sở dữ liệu 10
1.5.1 Định nghĩa 10
1.5.2 Một số hệ quản trị cở sở dữ liệu 10
1.6 Hạ tầng viễn thông 11
1.6.1 Internet 11
1.6.2 Mạng cục bộ - LAN( Local Area Network) 11
1.6.3 Mạng VPN 11
CHƯƠNG 2: GIẢI PHÁP THỰC HIỆN 12
2.1 Một số phương pháp truyền thống khai thác dữ liệu dựa trên Web 12
2.2 Tìm hiểu về Web Service 12
2.2.1 Khái niệm về Web Service 12
2.2.2 Đặc điểm Web Service 12
2.2.3 Ưu điểm của Web Service 13
2.2.4 Mô hình Web Service 14
2.2.5 Các thành phần chính của Web Service 14
2.2.5.1 Giao thức giao vận HTTP 14
2.2.5.2 Giao thức truyền thông SOAP 15
2.2.5.3 Tầng mô tả dịch vụ XML, WSDL 16
2.2.5.4 Universal Discovery Description and Intergration 18
2.3 Tổng hợp dữ liệu sử dụng Web Service 19
2.3.1 Xử lý dữ liệu tại máy trạm chứa cơ sở dữ liệu cục bộ 19
2.3.2 Xử lý dữ liệu tại trung tâm 21
2.3.3 Trung tâm gửi trả lại dữ liệu cho máy trạm chứa cơ sở dữ liệu cục bộ 22
CHƯƠNG 3: TRIỂN KHAI VÀ CÀI ĐẶT 23
3.1 Xây dựng Web Service 23
3.2 Xây dựng các Website khai thác dữ liệu từ Web Service 25
3.2.1 Web site lấy danh sách các bến xe 25
3.2.2 Web site lấy danh sách các tỉnh trên toàn quốc 26
3.2.3 Web site lấy danh sách các cầu theo tên tỉnh 27
3.2.4 Web site lấy danh sách thông tin cầu theo mã cầu 28
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
31 trang |
Chia sẻ: lynhelie | Lượt xem: 3392 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu Web Service, ứng dụng trong đồng bộ dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ervice là giải pháp tốt nhất hiện nay và có thể triển khai một cách tương đối dễ dàng.
1.2 Dữ liệu là gì?
Trong cuốn “Data Warehouse: From Architecture to Implementation“, dữ liệu được định nghĩa là: “Dữ liệu là sự biễu diễn các thông tin nghiệp vụ trên máy tính“.[2]
Đặc điểm của dữ liệu:
Dữ liệu có thông tin và ý nghĩa riêng của nó.
Dữ liệu có thể cũ và lạc hậu theo thời gian.
Dữ liệu có thể được thay đổi thường xuyên theo yêu cầu.
Dữ liệu có thể có cấu trúc hoặc không có cấu trúc.
1.3 Các dạng dữ liệu
Ở mức cao nhất, dữ liệu có thể được phân chia theo nhiều cách. Có ba điểm cần lưu ý là:
Ý nghĩa (meaning)
Dữ liệu có thể có nghĩa hay đại diện cho thứ gì có nghĩa. Sự phân biệt này là nguyên tắc cơ bản và và cũng là điều khó hiểu nhất.
Dữ liệu trên máy tính được sử dụng để thực hiện và quản lý nghiệp vụ. Những dữ liệu đó gọi là dữ liệu nghiệp vụ, thể hiện trạng thái của nghiệp vụ và giá trị của chúng nằm trong ý nghĩa mà chúng thể hiện.
Dữ liệu có ý nghĩa riêng nó và giá trị này nằm trong nội dung hơn là những gì chúng thể hiện. Do đó, chúng được gọi tên là dữ liệu thành phẩm bởi vì chúng được tạo ra và trao đổi giống như sản phẩm. Ví dụ phim, ảnh, sách dưới dạng số hóa [2].
Dạng cuối là các siêu dữ liệu, chúng mô tả ý nghĩa của dữ liệu. Siêu dữ liệu chỉ định nghĩa hoặc mô tả dữ liệu nghiệp vụ hoặc dữ liệu thành phẩm
Cấu trúc (structure):
Dữ liệu có thể có cấu trúc ở mức độ cao hoặc phi cấu trúc [2].
Phạm vi (scope):
Dữ liệu có thể mang tính cá nhân nghĩa là chủ sở hữu có thể thay đổi tùy thích hoặc mang tính công cộng – khi đó nó được chia sẻ giữa một nhóm người và bất kỳ thay đổi nào cũng đòi hỏi giám sát chặt chẽ [2].
1.3.1 Dữ liệu nghiệp vụ
Dữ liệu nghiệp vụ là dữ liệu cần thiết để vận hành và quản lý nghiệp vụ hoặc các tổ chức khác. Nó biểu diễn các hoạt động nghiệp vụ phải thực hiện cũng như các đối tượng của thế giới thực phải xử lý như khách hàng, địa điểm, và sản phẩm[2]
1.3.2 Dữ liệu nghiệp vụ phi cấu trúc
Dữ liệu nghiệp vụ phi cấu trúc là dữ liệu nghiệp vụ với cấu trúc các bản ghi tối thiểu như hình ảnh, âm thanh, video.[2]
1.3.3 Siêu dữ liệu
Siêu dữ liệu là dữ liệu mô tả ý nghĩa, cấu trúc cũng như cách thức tạo ra, truy cập và sử dụng dữ liệu nghiệp vụ.[2]
1.4 Cơ sở dữ liệu phân tán
Một cách đơn giản, cơ sở dữ liệu phân tán là tập hợp dữ liệu logic thuộc về cùng một hệ thống nhưng trải rộng ra nhiều điểm trên mạng máy tính.
1.4.1 Lợi điểm của cơ sở dữ liệu phân tán
Có nhiều nguyên nhân để phát triển cơ sở dữ liệu phân tán nhưng tựu trung lại chỉ gồm những điểm sau đây:
Lợi điểm về tổ chức và tính kinh tế.
Tận dụng những cơ sở dữ liệu sẵn có.
Thuận lợi cho nhu cầu phát triển.
Giảm chi phí truyền thông.
Tăng số công việc thực hiện.
Tính dễ hiểu và sẵn sàng.
1.4.2 Tính trong suốt của cơ sơ dữ liệu phân tán
Tính trong suốt của một hệ phân tán được hiểu là việc che khuất đi các thành phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng.
Khi dữ liệu đã được phân đoạn thì việc truy cập vào cơ sở dữ liệu được thực hiện bình thường như là không bị phân tán và không ảnh hưởng tới người sủ dụng
Ví dụ: xét quan hệ tổng thể NCC (id, ten, tuoi) và các phân đoạn tách ra từ nó: NCC1(id, ten, tuoi), NCC2 (id, ten, tuoi), NCC3(id, ten, tuoi)
NCC1
NCC2
NCC3
DBMS
Vị trí 1
Vị trí 2
Vị trí 3
Hình 1 : Trong suốt phân đoạn.
1.4.2.1 Trong suốt về vị trí
Người sử dụng không cần biết vị trí vật lí của dữ liệu mà có quyền truy cập đến cơ sở dữ liệu tại bất cứ vị trí nào. Các thao tác lấy hoặc cập nhật dữ liệu từ xa được tự động thực hiện bởi hệ thống tại thời điểm đưa ra yêu cầu. Nó cho phép người sử dụng bỏ qua các bản sao dữ liệu đã tồn tại ở mỗi vị trí. Do đó có thể di chuyển một bản sao dữ liệu từ vị trí này sang vị trí khác và cho phép tạo bản sao mời mà không ảnh hưởng tới các ứng dụng
NCC1
NCC2
NCC2
DBMS
Vị trí 1
Vị trí 2
Vị trí 3
Ví dụ: với quan hệ tổng thể R và các phân đoạn như đã nói ở ví dụ trên nhưng giả sử rằng DBMS không cung cấp trong suốt phân đoạn về mà cung cấp trong suốt về vị trí
Hình 2 : Trong suốt về vị trí.
1.4.2.2 Trong suốt về ánh xạ địa phương
Là đặc tính quan trọng trong hệ thống DBMS không đồng nhất, ứng dụng tham chiếu đến các đối tượng có tên độc lập từ các hệ thống cục bộ địa phương được cài đặt trên một hệ thống không đồng nhất nhưng nó được sử dụng như một hệ thống đồng nhất.
NCC1
NCC2
DBMS
Vị trí 1
Vị trí 2
Hình 3 : Trong suốt về ánh xạ địa phương.
1.4.3 Tối ưu kết nối trong cơ sở dữ liệu phân tán
Trên một CSDL phân tán, các thao tác chủ yếu là các phép chiếu-chọn- kết nối (PSJ). Thứ tự kết nối các quan hệ là một yếu tố quan trọng trong việc tối ưu hóa chi phí truyền tải, vì với một thứ tự kết nối tồi thì số bộ ở các kết quả trung gian là rất lớn, trong khi số bộ ở kết quả cuối cùng lại khá nhỏ, như vậy sẽ lãng phí chi phí tính toán và truyền tải các kết quả trung gian trong quá trình kết nối. Vì vậy người ta luôn mong muốn tìm được một thứ tự kết nối tối ưu, sao cho số bộ ở các kết quả trung gian không lớn hơn số bộ ở kết quả cuối cùng.
Thực chất của việc tối ưu hóa kết nối cho cơ sở dữ liệu phân tán là việc làm giảm các chi phí truyền tải dữ liệu. Để làm được điều này ta tối ưu hóa các phép toán đại số quan hệ.
1.5 Hệ quản trị cở sở dữ liệu
1.5.1 Định nghĩa
Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System – DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu. Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.
1.5.2 Một số hệ quản trị cở sở dữ liệu
Microsoft SQL Server 2005 là một hệ quản trị CSDL quan hệ Client - Server tốc độ cao (High – Performance, Client - Server Relational Database Management System – RDBMS)sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Nó được thiết kế để hỗ trợ các xử lý giao tác tốc độ cao, hạn chế lỗi, giảm lượng dữ liệu dư thừa và là hệ thống có tính mở có độ tin cậy cao.
Access là một hệ quản trị cơ sở dữ liệu quan hệ (RDMS - Relational Database Management System), rất phù hợp cho các bài toán quản lý vừa và nhỏ. Hiệu năng cao và đặc biệt dễ sử dụng- bởi lẽ giao diện sử dụng phần mềm này gần giống hệt một số phần mềm khác trong bộ MS Office. Hơn nữa, Access còn cung cấp hệ thống công cụ phát triển khá mạnh đi kèm (Development Tools). Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giản trong việc xây dựng trọn gói các dự án phần mềm quản lý quy mô vừa và nhỏ.
1.6 Hạ tầng viễn thông
1.6.1 Internet
Internet là mạng máy tính lớn nhất thế giới, hoặc chính xác hơn là mạng của các mạng, tức bao gồm nhiều mạng máy tính được nối lại với nhau. Một số mạng máy tính bao gồm một máy tính trung tâm (còn gọi là máy chủ hay máy phục vụ) và nhiều máy khác (còn gọi là máy khách hàng hay trạm làm việc) nối vào nó. Một khi đã được kết nối vào Internet, máy tính của bạn sẽ là một trong số hàng chục triệu thành viên của mạng khổng lồ này.
Mạng Internet là của chung điều đó có nghĩa là không ai thực sự sở hữu nó với tư cách cá nhân. Mỗi phần nhỏ của mạng được quản lý bởi các tổ chức khác nhau nhưng không ai không một thực thể nào cũng như không một trung tâm máy tính nào nắm quyền điều khiển mạng. Mỗi phần của mạng được liên kết với nhau theo một cách thức nhằm tạo nên một mạng toàn cầu.-
1.6.2 Mạng cục bộ - LAN( Local Area Network)
Mạng cục bộ (LAN) là hệ truyền thông tốc độ cao được thiết kế để kết nối các máy tính và các thiết bị xử lý dữ liệu khác cùng hoạt động với nhau trong một khu vực địa lý nhỏ như ở một tầng của toà nhà, hoặc trong một toà nhà.... Một số mạng LAN có thể kết nối lại với nhau trong một khu làm việc. Kết nối được thực hiện thông qua môi trường truyền thông tốc độ cao như dây cáp.
1.6.3 Mạng VPN
Virtual Private Networks (VPN) hay gọi theo tiếng Việt là Mạng Riêng Ảo, cho phép bạn mở rộng phạm vi mạng nội bộ bằng cách sử dụng lợi thế của internet. Kỹ thuật VPN cho phép bạn kết nối với một host nằm xa hàng ngàn dặm với mạng LAN của bạn và làm cho nó trở thành một node hay một máy tính nữa trong mạng LAN. Một đặc điểm nữa của VPN là sự kết nối giữa clients và mạng ảo của bạn khá an toàn như chính bạn đang ngồi trong cùng một mạng LAN.
CHƯƠNG 2: GIẢI PHÁP THỰC HIỆN
Trong chương này, sẽ trình bày các vấn đề sau :
Tìm hiểu về một số phuơng pháp truyền thống khai thác dữ liệu trên Web.
Tìm hiểu về Web Service.
Tổng hợp dữ liệu để đồng bộ.
2.1 Một số phương pháp truyền thống khai thác dữ liệu dựa trên Web
Phương pháp Java Socket.
Phương pháp RMI.
Phương pháp CORBA.
2.2 Tìm hiểu về Web Service
Web Service là phương pháp cho phép trao đổi thông tin giữa các hệ thống dựa trên giao thức HTTP và SOAP, hoàn toàn độc lập với hệ điều hành hoặc ngôn ngữ lập trình được sử dụng trên máy chủ và máy khách. Không như các công nghệ trước kia, Web Service không nhất thiết bắt buộc hai đầu kết nối phải cùng hệ điều hành hoặc cùng ngôn ngữ lập trình.
Web Service cho phép một đối tượng nằm trên máy chủ có thể đưa ra phần logic chương trình cho các máy khách trên Internet. Các máy khách gọi các phương thức đã trưng ra trên Web Service thông qua việc sử dụng các giao thức chuẩn của Internet.
2.2.1 Khái niệm về Web Service
Theo định nghĩa của tổ chức w3c, Web Service là một dịch vụ phần mềm được trình bày trên Web thông qua giao thức SOAP, được mô tả bằng một tệp WSDL và được đăng ký trên UDDI.[1]
2.2.2 Đặc điểm Web Service
Web Service cho phép client và server tương tác được với nhau mặc dù trong những môi trường khác nhau.
Web Service thì có dạng mở và dựa vào các tiêu chuẩn.
Web Service thì rất linh động
Web Service được xây dựng trên nền tảng những công nghệ đã được chấp nhận.
Web Service có dạng mô đun.
Web Service có thể công bố (publish) và gọi thực hiện qua mạng.
2.2.3 Ưu điểm của Web Service
Ưu điểm:
Một trong những ưu điểm đầu tiên của kiến trúc Web Service là nó cho phép các chương trình được viết bằng các ngôn ngữ khác nhau trên các nền tảng khác nhau giao tiếp được với nhau dựa trên một nền tảng tiêu chuẩn.
Đơn giản( chỉ dùng URL).
Ưu điểm đáng kể khác mà Web Service hơn những thứ trước đó là chúng làm việc với các giao thức chuẩn Web – XML, HTTP và TCP/IP.
Web Service là nguồn thông tin mà ta có thể dễ dàng kết hợp vào các ứng dụng.
Sự an toàn của máy chủ cơ sở dữ liệu được đảm bảo.
Nhược điểm:
Phụ thuộc vào tốc độ đường truyền Internet.
Chức năng xử lý giao dịch trong Web Service là khá sơ khai.
Tải trọng (Overhead): Các ứng dụng Web Service là các ứng dụng sử dụng rất nhiều thông điệp. Khả năng bùng nổ số lượng giao dịch trên hàng loạt các thông điệp trao đổi qua lại giúp cho ứng dụng dùng Web Service hoạt động tiềm ẩn nguy cơ ngưng trệ toàn bộ hệ thống máy chủ ứng dụng và gây ảnh hưởng tới kiến trúc hạ tầng hệ thống thông tin của doanh nghiệp. Thêm vào đó, do Web Service cần cải thiện tính năng độ tin cậy, xác thực, thẩm định nhằm tăng cường tính bảo mật, do đó càng làm nảy sinh số lượng thông điệp vào giao dịch trên mạng.
Tính chất của mạng truyền thông – Web Service đòi hỏi kết nối thông qua khá nhiều máy chủ trung gian; băng thông/tốc độ của hạ tầng mạng; và các yếu tố liên quan tới hệ thống khác rõ ràng có vai trò quan trọng góp phần cải thiện hiệu năng của toàn bộ các ứng dụng Web Service.
2.2.4 Mô hình Web Service
Hình 4 : Mô hình Web Service.
2.2.5 Các thành phần chính của Web Service
Hình 5 : Các thành phần chính của Web Service.
2.2.5.1 Giao thức giao vận HTTP
Tầng giao vận liên quan tới cơ chế sử dụng để chuyển yêu cầu dịch vụ và thông tin phản hồi từ phía nhà cung cấp dịch vụ tới người sử dụng dịch vụ. Có rất nhiều tiêu chuẩn sử dụng xung quanh Web Service, nhưng phổ biến nhất vẫn là giao thức HTTP.
Ưu điểm
HTTP là một giao thức phổ biến rộng rãi.
Giao thức HTTP hoàn toàn mở và khai triển trên rất nhiều loại hệ thống.
Hầu hết mọi tổ chức đều chấp nhận cho phép trao đổi thông tin dựa trên giao thức HTTP vượt qua tường lửa bảo vệ.
Nhược điểm của HTTP
HTTP là một giao thức đơn giản và không có tính trạng thái, và không được thiết kế đặc biệt cho mục đích vận chuyển dữ liệu của các ứng dụng.
2.2.5.2 Giao thức truyền thông SOAP
2.2.5.2.1 Khái niệm SOAP:
SOAP là giao thức mà định nghĩa cái cách để chuyển một XML message từ A đến B dựa trên giao thức chuẩn web HTTP (hoạt động trên cổng 80) qua giao thức Internet TCP/IP .[6]
Hình 6 : Simple SOAP messaging.
2.2.5.2.2 Định dạng thông điệp SOAP
Một thông điệp SOAP là một văn bản XML được mô tả bởi một thành phần Envelope, chứa một thành phần Body bắt buộc và một thành phần Header không bắt buộc.
2.2.5.2.3 Các kiểu truyền thông
SOAP hỗ trợ 2 kiểu truyền thông khác nhau :
Remote procedure call (RPC).
Document.
2.2.5.2.4 Quá trình xử lý thông điệp SOAP
Một SOAP engine hay một processor giúp cho các khách hàng của Web Service và nơi cung cấp Web Service hoàn thành những tác vụ của chúng mà không phải lo lắng đến tính phức tạp của việc xử lý thông điệp SOAP.
Một processor của khách hàng chuyển các lời yêu cầu phương thức vào trong một thông điệp SOAP.
Thông điệp này được truyền qua tầng giao vận (HTTP và SMTP) tới processor của nơi cung cấp Web Service, tại đây thông điệp sẽ được phân tích thành lời yêu cầu phương thức.
Sau đó nơi cung cấp sẽ thực hiện những bước logic cần thiết và trả lại kết quả cho processor của nó, processor này sẽ phân tích thông tin trong thông điệp hồi đáp.
Thông điệp này được truyền qua tầng giao vận tới khách hàng yêu cầu Web Service.
Processor của nó phân tích thông điệp hồi đáp thành kết quả dưới dạng một đối tượng.
2.2.5.3 Tầng mô tả dịch vụ XML, WSDL
2.2.5.3.1 XML (eXtensible Markup Language)
a. Khái niệm XML:
XML là nền tảng của Web Service. Được dùng để trao đổi dữ liệu cho Web Service. XML là một chuẩn nổi tiếng cho việc tổ chức, lưu trữ và trao đổi dữ liệu. XML được các hãng phần mềm lớn nhất hỗ trợ. XML còn được sử dụng rộng rãi trong việc trao đổi dữ liệu trên môi trường Internet. XML cũng giống như HTML là dùng các thẻ để tổ chức và lưu trữ dữ liệu.[7]
b. Đặc điểm của XML:
XML là tự do và mở rộng được.
XML rất quan trọng đối với sự phát triển của web trong tương lai.
Tầm quan trọng của XML đối với tương lai của web cũng giống như tầm quan trọng của HTML đối với nền tảng của web, và XML sẽ là công cụ xử lý và truyền dữ liệu phổ biến nhất.
XML là công cụ dùng được trên mọi nền phần cứng, độc lập với phần cứng và phần mềm để truyền (trao đổi, chia sẻ) thông tin..
c. Cấu trúc chung của XML
Chúng ta có thể sử dụng trình soạn thảo bất kỳ để soạn thảo tài liệu XML, nhưng phải tuân thủ theo nguyên tắc sau:
Theo định dạng trên, chúng ta thấy tuy tài liệu XML rất đơn giản nhưng quy định cũng rất chặt chẽ, tức là các tài liệu XML đều xuất phát từ nút gốc (root), và mỗi phần tử phải có thẻ mở và thẻ đóng “ ”
d. XML được sử dụng như thế nào?
XML được thiết kế để lưu giữ, mang, và trao đổi dữ liệu nhưng không hiển thị dữ liệu.
XML dùng cho trao đổi dữ liệu
Với XML có thể trao đổi dữ liệu giữa các hệ thống không tương thích.
e. Ưu điểm của XML
Đơn giản và ổn định.
Ngành công nghiệp chấp nhận.
Linh hoạt và mở rộng.
Tách biệt giữa dữ liệu và thể hiện.
f. Nhược điểm của XML
Phức tạp.
Chuẩn hoá: Trong khi đã tồn tại các định nghĩa tên thẻ của ngành, bạn vẫn có thể định nghĩa các thẻ không phải là tiêu chuẩn.
Dung lượng lớn.
2.2.5.3.2 WSDL(Web Service Description Language)
a. Định nghĩa:
WSDL định nghĩa cách mô tả Web Service theo cú pháp tổng quát XML, bao gồm các thông tin:
Tên service.
Giao thức và kiểu mã hóa.
Loại thông tin: những thao tác, những tham số, ...
WSDL chỉ định các đặc tính vận hành của Web Service sử dụng một tài liệu XML. Ngôn ngữ mô tả những khái niệm trả lời cho các câu hỏi sau:
Cái gì (dịch vụ web làm gì)?
Ở đâu (nơi chứa dịch vụ)?
Như thế nào (dịch vụ có thể kích hoạt bằng cách nào)?
b.Cấu trúc WSDL -Web Services Description Language :
Một WSDL hợp lệ gồm có hai phần :
Phần giao diện mô tả giao diện và giao thức kết nối.
Phần thi hành mô tả thông tin để truy xuất service.
Cả 2 phần trên được lưu trong 2 tập tin XML, bao gồm:
Tập tin giao diện service (cho phần 1).
Tập tin thi hành service (cho phần 2).
Hình 7 : Service Interface và Service Implementation.
c. Ưu điểm của WSDL: Như một yêu cầu cơ bản đối với ứng dụng của bất cứ dịch vụ web, WSDL là yêu cầu bắt buộc đáp ứng nhu cầu công bố giao tiếp và thoả thuận cho các dịch vụ khác kích hoạt.
d. Nhược đểm của WSDL: Tài liệu không cung cấp một số thông tin người sử dụng tiềm năng có nhu cầu.
2.2.5.4 Universal Discovery Description and Intergration
a. Khái niệm UDDI
UDDI là một chuẩn công nghiệp cho việc công bố và tìm kiếm thông tin về Web Service. Nó định nghĩa một khung thông tin cho phép bạn mô tả và phân loại tổ chức của bạn, dịch vụ của nó và những chi tiết kỹ thuật về giao diện của Web Service mà bạn trình bày. Khung thông tin này cho phép bạn phát hiện dịch vụ một cách thích hợp, hay giao diện của một kiểu đặc biệt, một loại hay của một hàm.
b. Nội dung của thư mục UDDI
Một nội dung thư mục UDDI là một tệp XML mô tả một nghiệp vụ và các dịch vụ nó chào.Có 3 phần đối với một nội dung trong thư mục UDDI, đó là:
Trang vàng -Yellow pages: mô tả công ty chào dịch vụ: tên, địa chỉ, các thông tin liên hệ.
Trang vàng -Yellow pages : chứa thông tin mô tả Web Service theo những chủng loại khác nhau. Những thông tin này cho phép các đối tượng thấy Web Service theo từng chủng loại của nó.
Trang xanh-Green Pages: mô tả giao diện đối với dịch vụ một cách đầy đủ chi tiết cho ai đó có thể viết một ứng dụng sử dụng dịch vụ Web Service này.
c. Cấu trúc sổ đăng ký UDDI
UDDI cung cấp 4 cấu trúc dữ liệu mô tả dịch vụ mà nó đưa ra: BusinessEntity, BusinessService, BindingTemplate và tModels.
BusinessEntity: mô tả nhà cung cấp dịch vụ, mỗi BusinessEntity có thể có nhiều cấu trúc BusinessService kết hợp với nó.
BusinessService: chứa các thông tin chung về dich vụ, mỗi BusinessService có thể có nhiều BindingTemplate
BindingTemplate: chứa thông tin kỹ thuật cách thức truy cập vào dịch vụ (ví dụ: URL, số điện thoại, Web Service).
tModel (Technical Model-Mô hình kỹ thuật): chứa các thông tin về loại dịch vụ sử dụng được sử dụng để lấy thông tin chi tiết về giao diện của Web Service và làm cho chúng có thể sử dụng lại giữa các dịch vụ tương thích.
2.3 Tổng hợp dữ liệu sử dụng Web Service
2.3.1 Xử lý dữ liệu tại máy trạm chứa cơ sở dữ liệu cục bộ
Hình 8 : Mô hình truy cập dữ liệu tại các đơn vị cơ sở.
Vì dữ liệu được lấy từ các nơi khác nhau nên giữa chúng có sự khác biệt lớn cả về cấu trúc cũng như nội dung. Nên sẽ có một số các trường hợp có thể xảy ra:
Dữ liệu ở các cơ sở dữ liệu cục bộ khác nhau về cách thức lưu trữ.
Dữ liệu ở các cơ sở dữ liệu cục bộ khác nhau về kiểu dữ liệu.
Dữ liệu ở các cơ sở dữ liệu cục bộ khác nhau về độ lớn của kiểu dữ liệu.
Dữ liệu ở các cơ sở dữ liệu cục bộ khác nhau về mặt cấu trúc.
Do đó ở các máy trạm chứa cơ sở dữ liệu cục bộ thì cần phải thực hiện các bước sau:
Kiểm tra dữ liệu được luu trữ bằng hệ quản trị cơ sở dữ liệu nào. Mỗi hệ quản trị cơ sở dữ liệu có cách lấy dữ liêu của riêng nó. Nếu dữ liệu ở dạng file text thì phải đọc file text.
Sử dụng các phép toán tối ưu để trích lọc, chọn được những dữ liệu cần thiết để phục vụ cho yêu cầu tránh việc tạo ra quá nhiều các dữ liệu dư thừa. Điều này giúp cho công việc lấy dữ liệu được thực hiện nhanh chóng và chính xác.
Xây dựng một Web Service để lấy những dữ liệu đã được lựa chọn phù hợp. Trên Web Service xây dựng các phương thức truy cập và lấy dữ liệu từ cơ sở dữ liệu đặt trên máy trạm chứa cơ sở dữ liệu cục bộ. Đố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.
Khi có yêu cầu lấy dữ liệu, một thông điệp được gửi đến Web Service. 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ề cho nơi đưa ra yêu cầu.
Hình 9 : Mô hình trao đổi thông tin từ Web Service với CSDL cục bộ.
2.3.2 Xử lý dữ liệu tại trung tâm
Hình 10 : Mô hình khai thác Web Service.
Tại máy chủ trung tâm xây dựng các Website để lấy các dữ liệu từ các máy trạm chứa cơ sở dữ liệu cục bộ thông qua Web Service được đặt tại đó.
Như đã trình bày ở trên, 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ị. Bởi vậy Web Service được sử dụng để 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 dù 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ý.
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.
Tại trung tâm, dữ liệu sau khi được lấy về sẽ được xử lý như sau: Nếu dữ liệu đồng nhất thì có thể được lưu vào trong cơ sở dữ liệu của trung tâm. Nếu dữ liệu không đồng nhất thì phải thực hiện sửa đổi cho đồng nhất và lưu vào cơ sở dữ liệu của trung tâm. Tuy nhiên tùy thuộc vào nhu cầu mà dữ liệu có thể được luu trữ lại hoặc không. Những dữ liệu này sau khi lấy về có thể được so sánh với các dữ liệu cũ, hoặc so sánh với nhau, nếu có sự khác biệt về thời gian hay về giá trị thì có thể cập nhật lại chúng và gửi trả lại các máy trạm chứa cơ sở dữ liệu cục bộ.
2.3.3 Trung tâm gửi trả lại dữ liệu cho máy trạm chứa cơ sở dữ liệu cục bộ
Trên máy chủ trung tâm cũng sẽ có một Web Service. Các máy trạm chứa cơ sở dữ liệu cục bộ sẽ thông qua Web Service này để lấy các dữ liệu mà máy chủ trung tâm trả lại để cập nhật các dữ liệu đã thay đổi hoặc để sửa đổi các dữ liệu sai sót.
Khi có sự thay đổi về giá trị của dữ liệu ở trên máy chủ trung tâm thì sẽ có thông báo đến các máy trạm để chúng lấy dữ liệu cập nhật lại thông qua Web Service trên trung tâm.
Nếu dữ liệu giữa các máy trạm có sự khác nhau thì sau khi dữ liệu được xử lý trên trung tâm, các máy trạm cũng cần phải thực hiện việc cập nhật lại dữ liệu cho phù hợp.
CHƯƠNG 3: TRIỂN KHAI VÀ CÀI ĐẶT
Dưới đây trình bày một chương trình thực nghiệm đơn giản xây dựng một Web Service để lấy dữ liệu từ cơ sở dữ liệu về cầu đường trên toàn quốc, dữ liệu này sẽ được khai thác bởi các Website và sau đó lưu vào trong một cơ sở dữ liệu khác.
3.1 Xây dựng Web Service
Chương trình thực nghiệm xây dựng Web Service như sau:
Tạo kết nối đến cơ sở dữ liệu:
public class Service : System.Web.Services.WebService
{
string StrConn = "Data Source=CAMK;Initial Catalog=dlcau;Integrated Security=True";
SqlConnection Conn = new SqlConnection();
.
}
Tạo các phương thức, ví dụ như:
[WebMethod(Description = "table_ benxe")]
public DataSet table_benxe()
{ Conn.ConnectionString = StrConn;
string SqlComm_benxe = "select * from ben_xe";
// tao doi tuong data adapter
SqlDataAdapter dad_benxe = new SqlDataAdapter(SqlComm_benxe, Conn);
// tao data set
DataSet dst_benxe = new DataSet();
dad_benxe.Fill(dst_benxe);
return dst_benxe;
}
Cấu hình Web Service như thông thường:
Hình 11 : Web Service và một số phương thức.
Click vào link table_benxe thì được kết quả trả về là một document dạng XML chứa thông tin về các bến xe có trong cơ sỏ dữ liệu:
Hình 12 : XML chứa thông tin về các bến xe.
3.2 Xây dựng các Website khai thác dữ liệu từ Web Service
Khi tạo một ứng dụng tiêu thụ Web Service, ta có thể dùng ngay chức năng Add web reference của Visual Studio.net
Bước 1: Vào menu Project → Add web reference.
Bước 2: Nhập địa chỉ của Web Service và ô URL thì trong ô Web reference name xuất hiện tên tham chiếu của Web Service, trong trường hợp nếu tên tham chiếu không theo quy tắc như xuất hiện trong ô thì người dùng phải nhập vào.
Bước 3: Xuất hiện tên tham chiếu của Web Service. Chọn Add Reference.
3.2.1 Web site lấy danh sách các bến xe
Hàm sử dụng phương thức table_benxe() của Web Service hiện thông tin lên đối tượng DataGridView.
protected void BT_dsbenxe_Click(object sender, EventArgs e)
{ localhost.Service myWebService = new localhost.Service();
DataSet dst_dsbenxe = myWebService.table_benxe();
GW_dsbenxe.DataSource = dst_dsbenxe;
GW_dsbenxe.DataBind();
capnhat(dst_dsbenxe);
}
Hình 13 : Web site lấy danh sách các bến xe.
Các file đính kèm theo tài liệu này:
- bctt(9-7) Tham.doc
- Tham do an.ppt