Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
2,24 MB
Nội dung
LỜI CẢM ƠN Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin trường Đại Học CNTT&TT đã tạo điều kiện tốt cho em thực hiện đề tài này Em xin chân thành cảm ơn tới Cô giáo Th.s Phạm Bích Trà đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đề tài Và em cũng xin chân thành cảm ơn tới các quý Thầy Cô trong khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua Xin chân thành cảm ơn tới gia đình, các anh chị và bạn bè đã giúp đỡ, ủng hộ và động viên em trong thời gian học tập và nghiên cứu Mặc dù em cũng đã cố gắng hoàn thành thật tốt đồ án Nhưng do còn hạn chế về mặt kiến thức và kinh nghiệm nên em không thể tránh khỏi những sai sót và khuyết điểm Em xin kính mong nhận được sự cảm thông và chỉ bảo góp ý của các quý Thầy Cô và các bạn Em xin chân thành cảm ơn! Sinh viên thực hiện Trần Thị Chải 1 LỜI CAM ĐOAN Để hoàn thành đồ án tốt nghiệp đúng thời gian quy định và đáp ứng được nhu cầu đề ra, bản thân em đã cố gắng nghiên cứu, học tập và làm việc trong thời gian dài cùng với sự hướng dẫn nhiệt tình của cô giáo Thạc Sỹ Phạm Bích Trà và sự giúp đỡ của các anh chị, các bạn sinh viên cùng bộ môn Em đã tham khảo một số tài liệu nêu trong phần “tài liệu tham khảo” và không sao chép nội dung từ bất kỳ đồ án nào khác Toàn bộ đồ án là do em xây dựng nên Em xin cam đoan những lời nói trên là hoàn toàn đúng sự thật mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng 2 MỤC LỤC MỤC LỤC .3 LỜI NÓI ĐẦU .5 Chương 1 KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA) VÀ WEBSERVICE 7 1.1 Kiến trúc hướng dịch vụ (SOA) 7 1.1.1 Khái niệm về kiến trúc hướng dịch vụ 7 1.1.2 Các tính chất của một hệ thống SOA 8 Sử dụng lại dịch vụ 9 Sử dụng dịch vụ bất đồng bộ .10 Quản lý các chính sách (policy) 10 Khả năng cộng tác 10 Tự động dò tìm và ràng buộc động 11 Tự hồi phục 11 1.1.3 Lợi ích của SOA 12 1.1.4 Quy trình xây dựng hệ thống SOA .15 1.2 Dịch vụ web (web service) 19 1.2.1 Khái niệm về dịch vụ web 19 1.2.2 Đặc điểm của dịch vụ web 21 1.2.3 Ưu và nhược điểm .22 1.2.4 Kiến trúc web service 23 1.2.5 Các thành phần trong web service .24 1.2.6 An toàn cho dịch vụ Web 29 1.3 Xây dựng Web Services 31 1.3.1 Các giai đoạn xây dựng Web services .31 1.3.2 Các hướng tiếp cận trong xây dựng web service .32 1.3.3 Qui trình xây dựng web service 35 Chương 2 HỆ THỐNG THÔNG TIN ĐỊA LÝ VÀ CÁC CHUẨN OPENGIS 37 2.1 Hệ thống thông tin địa lý (GIS) 37 2.1.1 Khái niệm GIS 37 2.1.2 Các thành phần của GIS 37 2.1.3 Thành phần dữ liệu GIS .38 3 2.1.4 Hệ thống thông tin địa lý trên Web và các thách thức 42 2.1.5 Kiến trúc hệ thống thông tin địa lý trên web 42 2.2 Các chuẩn mở OpenGIS 45 2.2.1 Web Map Service .46 2.2.2 Web Feature Service 47 Chương 3 ỨNG DỤNG DỊCH VỤ WEB VÀO HỆ THỐNG THÔNG TIN ĐỊA LÝ 50 3.1 Xây dựng hệ thống thông tin trên Web với mã nguồn mở 51 3.2 Các vấn đề liên quan đến bài toán và phương hướng giải quyết 53 3.3 Sơ đồ kiến trúc chi tiết áp dụng 54 3.4 Khảo sát hệ thống .55 3.5 Phân tích - thiết kế 62 3.5.1 Xây dựng mô hình Use-Case 62 3.5.2 Thiết kế cơ sở dữ liệu 68 KẾT LUẬN 74 4 LỜI NÓI ĐẦU Hệ thống thông tin địa lý (GIS) ra đời và được phát triển mạnh trong những năm gần đây với sự bùng nổ về công nghệ ứng dụng Internet, các phát triển công nghệ GIS cho phép chia sẻ thông tin thông qua mạng toàn cầu bằng cách kết hợp GIS và Web hay còn gọi là WebGIS Bên cạnh đó, xu hướng chia sẻ dữ liệu, phát triển phần mềm trên công nghệ mã nguồn mở cũng đang được quan tâm ở các nước đang phát triển vì nhiều lợi ích mà nó mang lại Vì thế, việc nghiên cứu ứng dụng WebGIS trên cơ sở mã nguồn mở sẽ mang lại khả năng chia sẻ thông tin địa lý rộng rãi cho các ngành Hơn một thập kỷ trước đây, các thông tin không gian - bản đồ ở Việt Nam chủ yếu được thành lập và phát hành trên giấy Trong những năm gần đây, các quy trình thành lập bản đồ, lưu trữ và phát hành đã dần dần chuyển đổi sang công nghệ số Các bản đồ giấy trước kia đã được số hoá và đang nằm trong các ổ cứng máy tính tại các cơ quan, trường học, cá nhân, Theo xu thế chung, các thông tin không gian này được chuyển sang lưu trữ trong các hệ thống cơ sở dữ liệu thông tin không gian được sử dụng bởi các đơn vị khác nhau Việc chuyển đổi từ công nghệ bản đồ giấy sang công nghệ số đã là một bước tiến vượt bậc của ngành trắc địa Tuy nhiên, các hệ cơ sở dữ liệu không gian được lưu trữ và sử dụng trong một hệ thống riêng biệt đã hạn chế rất nhiều tiềm năng khai thác thông tin không gian của các hệ thống này Công nghệ Web-GIS cho phép phát hành, tiếp cận, truy vấn thông tin không gian trong một môi trường mở như Internet đã cho phép phát huy các tiềm năng chưa được đánh thức của các hệ thống thông tin địa lý, không gian và đưa công tác trắc địa bản đồ lên một tầm cao mới Ngay khi vừa ra đời từ cuối những năm 90 của thế kỷ trước, công nghệ Web-GIS đã được đón nhận rất hồ hởi và có nhiều bước phát triển song còn nhiều hạn chế chưa theo kịp với các nước trên thế giới Với sự phát triển và phổ cập của Internet tại Việt Nam như ngày nay, công nghệ Web-GIS đang được chú 5 trọng phát triển bởi cả cơ quan nhà nước và cộng động doanh nghiệp và được kỳ vọng sẽ đem đến một hướng phát triển mới đầy tiềm năng Vì vậy, nội dung chính đề tài của em là “Nghiên cứu kiến trúc hướng dịch vụ và xây dựng ứng dụng dịch vụ web vào hệ thống thông tin địa lý”, khả năng xây dựng ứng dụng WebGIS trên cơ sở mã nguồn mở, trên cơ sở đó ứng dụng xây dựng WebGIS phục vụ phân tích số liệu bản đồ 6 Chương 1 KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA) VÀ WEBSERVICE 1.1 Kiến trúc hướng dịch vụ (SOA) 1.1.1 Khái niệm về kiến trúc hướng dịch vụ Kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng module, trong đó mỗi module đóng vai trò là một “dịch vụ” (service) tự hoạt động và liên kết lỏng lẻo, và có khả năng truy cập thông qua môi trường mạng Hiểu một cách đơn giản thì một hệ thống SOA là một tập hợp các dịch vụ được chuẩn hóa trên mạng trao đổi với nhau trong một ngữ cảnh tiến trình nghiệp vụ Một giải pháp SOA bao gồm một tập các dịch vụ nghiệp vụ mà thực hiện một quy trình nghiệp vụ SOA là một kiểu kiến trúc có khả năng mở rộng, bao gồm các service có khả năng tương tác, khả năng khám phá, tự trị, có thể phục vụ cho nhiều khách hàng khác nhau, và có khả năng sử dụng lại Một Architecture: Là một mô tả có tính hình thức của hệ thống, xác định mục đích, chức năng, thuộc tính, giao diện, … của hệ thống Nó cũng bao gồm việc mô tả những thành phần bên trong hệ thống và mối quan hệ giữa chúng, cùng với nguyên tắc thiết kế, hoạt động, và sự phát triển của hệ thống Một Service: Là một thành phần phần mềm mà nó có thể được truy nhập qua mạng để cung cấp chức năng tới người có yêu cầu dịch vụ Thuật ngữ “Service Oriented Architecture” ám chỉ kiểu kiến trúc xây dựng những hệ thống phân tán (distributed systems) mà các chức năng như là các dịch vụ, và sự tương tác các dịch vụ là lỏng lẻo 7 Trong SOA có 3 đối tượng chính: Hình 1.1 - Kiến trúc hướng dịch vụ - SOA Nhà cung cấp dịch vụ (service provider) cần cung cấp thông tin về dịch vụ của mình cho một dịch vụ lưu trữ thông tin dịch vụ (service registry) Người yêu cầu dịch vụ hay khách hàng (service requestor / consumer) thông qua service registry để tìm kiếm thông tin mô tả về dịch vụ cần tìm và sau đó là xây dựng kênh giao tiếp với phía nhà cung cấp SOA cung cấp giải pháp để giả quyết các vấn đề tồn tại của các hệ thống hiện nay như: phức tạp, không linh hoạt và không ổn định Một hệ thống triển khai theo mô hình SOA có khả năng dễ mở rộng, liên kết tốt Đây chính là cơ sở và nền tảng cho việc tích hợp, tái sử dụng lại những tài nguyên hiện có 1.1.2 Các tính chất của một hệ thống SOA Loose coupling: Vấn đề kết nối (coupling) ám chỉ một số ràng buộc giữa các module lại với nhau Có 2 loại coupling là rời (loose) và chặt (tight) Các module có tính chất loose coupling có một số ràng buộc được mô tả rõ ràng trong khi các module có tính tight coupling lại có nhiều ràng buộc không thể biết trước Hầu như mọi kiến trúc phần mềm đều hướng đến tính loose coupling giữa các module Mức độ kết dính của hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa hệ thống Kết dính càng chặt bao nhiêu thì có nhiều thay đổi chỉnh sửa khi có sự thay đổi nào đó xảy 8 ra Mức độ coupling tăng dần khi bên sử dụng dịch vụ càng cần biết nhiều thông tin ngầm định của bên cung cấp dịch vụ để sử dụng dịch vụ được cung cấp Nghĩa là nếu bên sử dụng dịch vụ biết vị trí và chi tiết định dạng dữ liệu của bên cung cấp dịch vụ thì quan hệ càng chặt Ngược lại, nếu bên sử dụng dịch vụ không cần biết mọi thông tin chi tiết của dịch vụ trước khi triệu gọi nó thì quan hệ giữa 2 bên càng có tính loose coupling Loose coupling làm cho sự phụ thuộc là nhỏ nhất Khi sụ phụ thuộc là nhỏ nhất thì sự thay đổi là có ảnh hưởng nhỏ nhất và hệ thống vẫn có thể chạy khi có thành phần nào đó bị hỏng Sự phụ thuộc là nhỏ nhất nó làm cho hệ thống linh hoạt, và lỗi xảy ra là ít SOA hỗ trợ tính loose coupling thông qua việc sử dụng hợp đồng và ràng buộc (contract and binding) Một người sử dụng truy vấn đến nơi lưu trữ và cung cấp thông tin dịch vụ (service registry) để lấy thông tin về loại dịch vu cần sử dụng Registry sẽ trả về tất cả các dịch vụ tìm kiếm Cho nên người dùng chỉ việc chọn dịch vụ mà mình cần tìm, và thực thi phương thức trên đó theo mô tả dịch vụ nhận được từ registry Bên sử dụng không cần phụ thuộc trực tiếp vào cài đặt của dịch vụ mà chỉ dựa trên hợp đồng mà dịch vụ đó hỗ trợ Tính loose coupling giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ thống đầu cuối Mỗi hệ thống có thể tự quản lý độc lập nhằm tăng năng xuất, khả năng mở rộng và khả năng đáp ứng cao Những thay đổi cài đặt cũng được che dấu đi Loose coupling đem đến sự độc lập giữa bên cung cấp và bên sử dụng nhưng nó đòi hỏi các giao diện phải theo chuần và cần một thành phần trung gian quản lý, trung chuyển yêu cầu giữa các hệ thống đầu cuối Sử dụng lại dịch vụ Bởi vì các dịch vụ được cung cấp lên trên mạng và được đăng ký ở một nơi nhất định nên chúng dễ dàng được tìm và tái sử dụng Nếu một dịch vụ không có khả năng tái sử dụng, nó cũng không cần đến interface mô tả Các dịch vụ có thể được tái sử dụng lại bằng cách kết hợp lại với nhau theo nhiều muc đích khác nhau Tái sử dụng lại các dịch vụ còn giúp loại bỏ những thành phần trùng lặp và 9 tăng tốc độ vững chắc trong cài đặt, nó còn giúp đơn giản hóa việc quản trị Thực ra tái sử dụng dịch vụ lại dễ dàng hơn tái sử dụng thành tố hay lớp Những dịch vụ được dùng chung bởi tất cả các ứng dụng của một hệ thống SOA gọi là những shared infrastructure service Sử dụng dịch vụ bất đồng bộ Trong phương thức triệu gọi dịch vụ bất đồng bộ, bên gọi gửi một thông điệp với đầy đủ thông tin ngữ cảnh tới bên nhận Bên nhận xử lý thông tin và trả về kết quả thông tin qua một kênh thông điệp, các yêu cầu dịch vụ có thể được đưa vào hàng đợi và xử lý với tốc độ tối ưu Do bên gọi không phải chờ cho đến khi yêu cầu được xử lý xong và trả về nên không bị ảnh hưởng bởi việc sử lý trễ và lỗi khi thực thi các dịch vụ bất đồng bộ Trên lý thuyết một hệ thống SOA có thể hỗ trợ gửi và nhận cả thông điệp đồng bộ và bất đồng bộ Quản lý các chính sách (policy) Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là các policy Các policy cần được quản lý các áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn khi trong thời gian thực thi Việc tăng khả năng tạo ra các dịch vụ có đặc tính tái sử dụng, Bởi vì các policy được thiết kế tách biệt, và tùy vào mỗi ứng dụng nên giảm tối đa các thay đổi phần mềm Nếu không sử dụng các policy, thì các nhân viên phát triển phần mềm, nhóm điều hành và nhóm hỗ trợ phải làm việc với nhau trong suốt thời gian phát triển để cài đặt và kiểm tra những policy Ngược lại, nếu sử dụng policy, những nhân viên phát triển phần mềm giờ chỉ cần tập trung vào quy trình nghiệp vụ trong khi nhóm điều hành và nhóm hỗ trợ tập trung vào các luật kết hợp Khả năng cộng tác Kiến trúc hướng dịch vụ nhấn mạnh đến khả năng cộng tác, khả năng mà các hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau Mỗi dịch vụ cung cấp một giao diện có thể được triệu gọi thông qua một dạng kết nối Một kết nối gọi là interoperable chứa bên trong nó một giao thức và 10 Hình 3.3 - Mô hình UC của hệ thống ► Đặc tả Use-Case Di chuyển bản đồ: Đặc tả: UC này cho phép User di chuyển bản đồ để xem vùng không gian khác trên bản đồ Luồng sự kiện: UC này bắt đầu khi User muốn dịch chuyển bản đồ để xem vùng không gian khác 1 User click chuột lên nút 2 Hệ thống ghi nhận vị trí click chuột trên bản đồ, thay đổi trạng thái nút sang đậm và dịch chuyển bản đồ với một lần click Yêu cầu đặc biệt: Không có 63 Phóng to, thu nhỏ bản đồ Đặc tả: UC này cho phép người dùng (user) phóng to/ thu nhỏ bản đồ hiển thị Luồng sự kiện: UC này được bắt đầu khi có người dùng muốn phóng to/ thu nhỏ bản đồ hiển thị lại 1 Người dùng click chuột lên vị trí trên thanh trượt để tăng hoặc giảm giá trị thanh trượt hay chính là phóng to (tăng giá trị thanh trượt)/ thu nhỏ (giảm giá trị trên thanh trượt) bản đồ Hoặc có thể click lên nút phóng to / thu nhỏ bản đồ trên thanh trượt 2 Hệ thống xác định loại button đang chọn, hay lấy giá trị trên thanh trượt và dịch chuyển con trượt trên thanh trượt để người dùng biết 3 Hệ thống phóng to/ thu nhỏ bản đồ theo giá trị thanh trượt 4 Người dùng có thể tiếp tục thay đổi giá trị trên thanh trượt để phóng to/ thu nhỏ bản đồ Yêu cầu đặc biệt: Không có Truy vấn thông tin trên bản đồ: 64 Đặc tả: UC này cho phép người dùng xem thông tin về đối tượng trên bản đồ Luồng sự kiện: UC này được thực hiện khi người dùng muốn xem thông tin về đối tượng trên bản đồ 1 Người dùng click chuột lên một vị trí trên bản đồ muốn lấy thông tin 2 Hệ thống xác định vị trí của chuột lên đối tượng trên bản đồ, và lấy về thông tin đối tượng 3 Hệ thống trả về thông tin đối tượng cho người dùng xem Yêu cầu đặc biệt: Không có Tìm kiếm các địa điểm trên bản đồ Đặc tả: UC này cho phép người dùng tìm kiếm một vị trên bản đồ về: đường giao thông, trường đại học, bưu điện, ngân hàng,… trong thành phố Luồng sự kiện: UC này được bắt đầu bằng cách cho phép người dùng chọn tên lạo tìm kiếm và vị trí này thuộc vào phường/xã 1 Người dùng chọn tên loại tìm kiếm trên hộp chọn tên: 2 Người dùng tiếp tục chọn vị trí tên này mà phường/ xã thuộc hay trong toàn thành phố: 3 Người dùng tiếp tục nhấn vào nút tìm kiếm để thực hiện tìm kiếm: 65 4 Hệ thống xác định vị trí này thuộc phường/xã đã chọn và trả về kết quả tìm thấy trong ô kết quả: 5 Người dùng chọn xem kết quả mà hệ thống tìm thấy và thực hiện nhấn nút xem bản đồ để xem vị trí này trên bản đồ: 6 Hệ thống sẽ xử lý và dịch chuyển bản đồ đến vị trí mà người dùng đã chọn xem bản đồ Yêu cầu đặc biệt: Không có Tìm kiếm phường/xã trên bản đồ: Đặc tả: UC này cho phép người dùng chọn tên phường/xã muốn xem trên bản đồ Luồng sự kiện: UC này được bắt đầu khi người dùng muốn xem vị trí phường/xã trên bản đồ 1 Người dùng chọn tên phường/xã hay toàn thành phố trong ô chọn: 2 Tiếp tục người dùng nhấn nút xem bản đồ: 3 Hệ thống xác định vị trí tên phường/xã trên bản đồ và di chuyển bản đồ đến vị trí người dùng chọn lựa Yêu cầu đặc biệt: Không có 66 Liên hệ: Đặc tả: UC này mô tả người dùng liên lạc với người quản trị hệ thống Luồng sự kiện: UC này được bắt đầu khi người dùng muốn liên lạc với người quản trị hệ thống 1 Khi người dùng click vào liên hệ 2 Hệ thống sẽ hiện ra màn hình giao diện cung cấp các thông tin cần thiết về ban quản trị web như: tên, email, số điện thoại liên lạc 3 Khi người dùng click chuột vào địa chỉ email trên thì chương trình Microsoft Office Outlook sẽ xuất hiện cho phép người dùng soạn email và gửi email cho người quản trị hệ thống Yêu cầu đặc biệt: Không có Cập nhật cơ sở dữ liệu: Đặc tả: UC này cho phép người quản trị hệ thống (Admin) cập nhật cơ sở dữ liệu trên Web Map Server (Geoserver) Luồng sự kiện: UC này bắt đầu khi người dùng đăng nhập vào hệ thống Server để chỉnh sửa hay cập nhật CSDL cho hệ thống 1 Người quản trị đăng nhập vào hệ thống qua tài khoản đã được lập 67 2 Hệ thống Server sẽ kiểm tra tài khoản Nếu tài khoản đăng nhập hợp lệ thì chuyển sang bước tiếp theo Ngược lại nếu tài khoản không hợp lệ chuyển sang luồng phụ 3 Hệ thống hiện ra màn hình các thông tin và cập nhật cơ sở dữ liệu cho hệ thống 4 Hệ thống sử lý và trả về thông báo cho người quản trị Luồng phụ: Hệ thống hiện thông báo tài khoản không hợp lệ và yêu cầu nhập lại tài khoản Quay về luồng chính Yêu cầu đặc biệt: Yêu cầu của người quản trị hệ thống server 3.5.2 Thiết kế cơ sở dữ liệu Việc tổ chức và lưu trữ dữ liệu trên hệ quản trị mã nguồn mở là MySQL Server version 5.0 Hệ quản trị này rất tốt cho ứng dụng OpenGIS vì nó có các hàm hỗ trợ theo các đặc tả của OpenGIS đưa ra Dữ liệu về địa lý thành phố Thái Nguyên thuộc tỉnh Thái Nguyên gồm các bảng sau: Tên bảng Ý nghĩa Phuong Lưu trữ thông tin về các phường trong thành phố Truong_DH Lưu trữ thông tin về các trường ĐH-CĐ Duong Lưu trữ thông tin về các con đường trong thành phố Ben_xe Lưu trữ thông tin về bến xe trong thành phố Benh_vien Lưu trữ thông tin về các bệnh viện trong thành phố So Lưu trữ thông tin về các sở trong thành phố Song Lưu trữ thông tin về các con sông trong thành phố Nha_tho Lưu trữ thông tin về các nhà thờ trong thành phố Ngan_hang Lưu trữ thông tin về các ngân hàng trong thành phố 68 Buu_dien Lưu trữ thông tin về các bưu điện trong thành phố ► Mối quan hệ giữa các bảng Phường/Xã 1 * Địa điểm Phường/Xã: Bảng lưu trữ thông tin về phường/xã trong thành phố Địa điểm: gồm các bảng lưu trữ thông tin về địa điểm trong phường/xã như: bưu điện, trường đại học, ngân hàng, sở ban ngành… ► Chi tiết các bảng Bảng “Phuong” STT Tên cột Kiểu dữ liệu Số nguyên (integer) Ý nghĩa 1 id_phuong ID (khóa chính) 2 the_geom_phuong Kiểu Point (kiểu điểm) Là một điểm cho biết tọa thuộc MySQL độ trên bản đồ 3 ten_phuong Chuỗi (varchar) Tên của phường/xã 4 dt_phuong Số thực (real) Diện tích của phường/xã 5 Chuvi_phuong Số thực (real) Chu vi của phường/xã 6 mo_ta Chuỗi (varchar) Mô tả Bảng “Truong_DH” STT Tên cột Kiểu dữ liệu Số nguyên (integer) Ý nghĩa 1 id_truong 2 the_geom_truong Kiểu point (kiểu điểm) Là một điểm cho biết tọa thuộc MySQL 69 ID (khóa chính) độ trên bản đồ 3 ten_truong Chuỗi (varchar) Tên của trường CĐ_ĐH 4 id_phuong Số nguyên (integer) ID của phường mà trường này thuộc về (khóa ngoài) 5 diachi_truong Chuỗi (varchar) Địa chỉ của trường 6 dien_thoai Chuỗi (varchar) Số điện thoại của trường 7 mo_ta Chuỗi (varchar) Mô tả Bảng “Ben_xe” STT Tên cột Kiểu dữ liệu Ý nghĩa 1 id_bx Số nguyên (integer) ID (khóa chính) 2 the_geom_bx Kiểu point (kiểu điểm) Là một điểm cho biết tọa thuộc MySQL độ trên bản đồ 3 ten_bx Chuỗi (varchar) Tên của bến xe khách 4 id_phuong Số nguyên (integer) ID của phường mà bến xe khách này thuộc về (khoá ngoài) 5 diachi_bx Chuỗi (varchar) Địa chỉ của bến xe khách 6 mo_ta Chuỗi (varchar) Mô tả Bảng “Benh_vien” STT Tên cột Kiểu dữ liệu Ý nghĩa 1 id_bv Số nguyên (integer) 2 the_geom_bv Kiểu point (kiểu điểm) Là một điểm cho biết tọa thuộc MySQL 70 ID (khóa chính) độ trên bản đồ 3 ten_bv Chuỗi (varchar) Tên bệnh viện 4 id_phuong Số nguyên (integer) ID của phường mà bệnh viện này thuộc về (khóa ngoài) 5 diachi_bv Chuỗi (varchar) Địa chỉ của bệnh viện 6 mo_ta Chuỗi (varchar) Mô tả Bảng “So” STT Tên cột Kiểu dữ liệu Ý nghĩa 1 id_so Số nguyên (integer) ID (khóa chính) 2 the_geom_so Kiểu point (kiểu điểm) Là một điểm cho biết tọa thuộc MySQL độ trên bản đồ 3 ten_so Chuỗi (varchar) Tên của sở ban ngành 4 id_phuong Số nguyên (integer) ID của phường mà sở này thuộc về (khóa ngoài) 5 diachi_so Chuỗi (varchar) Địa chỉ của sở 6 mo_ta Chuỗi (varchar) Mô tả Bảng “Nha_tho” STT Tên cột Kiểu dữ liệu Ý nghĩa 1 id_nhatho Số nguyên (integer) 2 the_geom_nhath Kiểu point (kiểu điểm) Là một điểm cho biết tọa o thuộc MySQL độ trên bản đồ 3 ten_nhatho Chuỗi (varchar) Tên của nhà thờ 4 id_phuong Số nguyên (integer) ID của phường mà nhà 71 ID (khóa chính) thờ này thuộc về (khóa ngoài) 5 diachi_nhatho Chuỗi (varchar) Địa chỉ của nhà thờ 6 mo_ta Chuỗi (varchar) Mô tả Bảng “Ngan_hang” STT Tên cột Kiểu dữ liệu Số nguyên (integer) Ý nghĩa 1 id_nganhang ID (khóa chính) 2 the_geom_nganhang Kiểu point (kiểu điểm) Là một điểm cho biết thuộc MySQL tọa độ trên bản đồ 3 ten_nganhang Chuỗi (varchar) Tên của ngân hàng 4 id_phuong Số nguyên (integer) ID của phường mà ngân hàng này thuộc về (khóa ngoài) 5 diachi_nganhang Chuỗi (varchar) Địa chỉ của ngân hàng 6 mo_ta Chuỗi (varchar) Mô tả Bảng “Buu_dien” STT Tên cột Kiểu dữ liệu Ý nghĩa 1 id_buudien Số nguyên (integer) ID (khóa chính) 2 the_geom_buudie Kiểu point (kiểu điểm) Là một điểm cho biết tọa n thuộc MySQL độ trên bản đồ 3 ten_buudien Chuỗi (varchar) Tên của bưu điện 4 id_phuong Số nguyên (integer) ID của phường mà bưu điện này thuộc về (khóa 72 ngoài) 5 diachi_buudien Chuỗi (varchar) Địa chỉ của bưu điện 6 mo_ta Chuỗi (varchar) Mô tả 3.4.3 Giao diện chương trình Giao diện chính của chương trình: Hình 3.4- Giao diện chính của chương trình 73 KẾT LUẬN Sau thời gian tìm hiểu và nghiên cứu triển khai đề tài đồ án tốt nghiệp “Nghiên cứu kiến trúc hướng dịch vụ và xây dựng ứng dụng dịch vụ web vào hệ thống thông tin địa lý” em đã gặp không ít những khó khăn song cũng đã đạt được những kết quả nhất định theo mục tiêu đề ra ban đầu của đề tài Về phía bản thân: - Nắm vững hơn về các kiến thức lập trình: Web Service, JSP, HTML, JavaScript, XML - Phát hiện thêm những kiến thức, công nghệ mới bổ ích về GIS, Web Service, SOA Về phía đồ án: - Trình bày, tìm hiểu về kiến trúc SOA, và quá trình triển khai qua cơ chế Web Service Và công nghệ ứng dụng dịch vụ Web vào hệ thống thông tin địa lý - Xây dựng WebGIS hỗ trợ cho số hóa bản đồ, cho phép người dùng thao tác với bản đồ như: phóng to/thu nhỏ, di chuyển bản đồ, xem bản đồ theo dạng lớp trực quan, tiện dụng Người quản trị cập nhật thông tin về bản đồ 74 Với những kết quả tìm hiểu được, em tin rằng SOA và Web Service thực sự là một giải pháp tốt để giải quyết các vấn đề khó khăn mà giải pháp trước kia chưa xử lý được, và sẽ trở thành nền tảng mang tính chiến lược của các tổ chức, doanh nghiệp trong tương lai ► Hạn chế của đề tài: Chương trình này có tính chất mô phỏng do cơ sở dữ liệu GIS thực tế cho bản đồ chưa được áp dụng vào hệ thống Chức năng chương trình còn hạn chế Tốc độ chương trình vẫn còn chậm trong mỗi lần truy suất cơ sở dữ liệu GIS bản đồ khá lớn ► Hướng phát triển: Do hạn chế về thời gian và khả năng trang webgis còn một số tính năng phát triển thêm: Áp dụng cơ sở dữ liệu bản đồ và qui trình nghiệp vụ xây dựng dữ liệu GIS cho bản đồ Để bản đồ được chi tiết và trực quan hơn Áp dụng các công nghệ xử lý xây dựng web cho GIS như: Ajax, Google Web Toolkit, JSF, … để tối ưu và tăng tốc cho quá trình duyệt web 75 TÀI LIỆU THAM KHẢO [1] Nguyễn Mạnh Hùng, GIS và viễn thám công cụ hỗ trợ quan trắc & quản lý môi trường, Viện nghiên cứu nuôi trồng thủy sản 2 [2] Bùi Quang Vinh, Tham luận - Xây dựng hệ thống thông tin địa lý trong môi trường mã nguồn mở, Viện CNTT/Trung Tâm KHKT& CNQS/Bộ Quốc Phòng [3] Sandeep Chatterjee Ph.D, James Webber Ph.D, Developing Enterprise Web Services: An Architect's Guide, Prentice Hall PTR (2003) [4] Mark Endrei, Jenny Ang, Ali Arsanjani, Patterns: Service- Oriented Architecture and Web service, IBM (2004) [5] Eric Newcomer, Greg Lomow, Understanding SOA with Web Service, Addsion Wesley Profesional (2004) Các nguồn tài liệu tham khảo trên Internet: - Sở tài nguyên và môi trường tỉnh Thái Nguyên: http://www.tnmtthainguyen.gov.vn - Diễn đàn Java Việt Nam: http://www.javavietnam.org - Ngân hàng bản đồ trực tuyến: http://basao.com.vn 76 - Đặc tả và các chuẩn của OpenGIS: http://www.opengeospatial.org - Bách khoa toàn thư mở: http://www.wikipedia.org - Web Map Server (Geoserver): http://www.geoserver.org 77 ... vọng đem đến hướng phát triển đầy tiềm Vì vậy, nội dung đề tài em ? ?Nghiên cứu kiến trúc hướng dịch vụ xây dựng ứng dụng dịch vụ web vào hệ thống thông tin địa lý? ??, khả xây dựng ứng dụng WebGIS sở... sở ứng dụng xây dựng WebGIS phục vụ phân tích số liệu đồ Chương KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA) VÀ WEBSERVICE 1.1 Kiến trúc hướng dịch vụ (SOA) 1.1.1 Khái niệm kiến trúc hướng dịch vụ Kiến trúc hướng. .. dụng WebGIS theo kỹ thuật mạng Internet 2.1.5 Kiến trúc hệ thống thông tin địa lý web 2.1.5.1 Kiến trúc chung Dịch vụ web thơng tin địa lý hay cịn gọi WebGis xây dựng để cungcấp dịch vụ thơng tin