Hệ thống quản lý đăng ký thuế sử dụng web service

Đề tài khóa luận là: “Hệ thống quản lý đăng ký thuế sử dụng web service”, khóa luận sẽ trình bày một cái nhìn tổng quan về công nghệ Web Service bao gồm các khái niệm, kiến trúc và hướng dẫn xây dựng một Web Service. Khóa luận sẽ phân tích các chuẩn cấu thành nên chồng giao thức của Web Service, bao gồm XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (web service Description Language) và UDDI (Universal Description, Discovery and Integration). Bên cạnh đó, khóa luận sẽ tìm hiểu về loại ứng dụng sử dụng công nghệ Web Service và các biện pháp bảo mật được áp dụng để đảm bảo an toàn cho một dịch vụ Web.

pdf58 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2750 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Hệ thống quản lý đăng ký thuế sử dụng web service, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thu Hồng HỆ THỐNG QUẢN LÝ ĐĂNG KÝ THUẾ SỬ DỤNG WEB SERVICE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thu Hồng HỆ THỐNG QUẢN LÝ ĐĂNG KÝ THUẾ SỬ DỤNG WEB SERVICE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Cán bộ hướng dẫn: ThS. Lương Việt Nguyên HÀ NỘI - 2010 1 LỜI MỞ ĐẦU Đề tài khóa luận là: “Hệ thống quản lý đăng ký thuế sử dụng web service”, khóa luận sẽ trình bày một cái nhìn tổng quan về công nghệ Web Service bao gồm các khái niệm, kiến trúc và hướng dẫn xây dựng một Web Service. Khóa luận sẽ phân tích các chuẩn cấu thành nên chồng giao thức của Web Service, bao gồm XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (web service Description Language) và UDDI (Universal Description, Discovery and Integration). Bên cạnh đó, khóa luận sẽ tìm hiểu về loại ứng dụng sử dụng công nghệ Web Service và các biện pháp bảo mật được áp dụng để đảm bảo an toàn cho một dịch vụ Web. Phần cuối khóa luận sẽ đi vào phân tích, thiết kế, cài đặt thực nghiệm và phát triển một ứng dụng cụ thể, đó là hệ thống đăng ký thuế sử dụng Web Service. 2 LỜI CẢM ƠN Trước tiên em xin được gửi lời cảm ơn chân thành đến các thầy cô giáo trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã tận tình giảng dạy và truyền đạt những kiến thức bổ ích cho chúng em trong suốt bốn năm học tập tại trường. Chúng em không chỉ được tiếp thu những kiến thức chuyên ngành mà còn được trang bị những phương pháp nghiên cứu và học tập hiệu quả nhất làm hành trang cho chúng em tự tin bước vào đời. Đặc biệt em xin được bày tỏ lòng biết ơn sâu sắc đến ThS. Lương Việt Nguyên, thầy đã tận tình hướng dẫn, chỉ bảo cho em trong suốt thời gian thực hiện khóa luận này. Em cũng xin gửi lời cảm ơn sâu sắc đến những người luôn bên cạnh cỗ vũ, động viên, giúp đỡ em trong quá trình học tập, rèn luyện. Gia đình và bạn bè luôn là chỗ dựa tin thần vững chắc, là nguồn động lực mạnh mẽ giúp em vượt qua những khó khăn để đạt được kết quả như ngày hôm nay. Em xin chân thành cảm ơn. Hà Nội, 5/2010 Sinh viên: Lê Thu Hồng 3 MỤC LỤC LỜI MỞ ĐẦU ................................................................................................................ 1 LỜI CẢM ƠN ................................................................................................................ 2 MỤC LỤC .................................................................................................................... 3 DANH MỤC VIẾT TẮT .............................................................................................. 5 DANH MỤC HÌNH VẼ ................................................................................................ 6 Chương 1.TỔNG QUAN VỀ WEB SERVICE .......................................................... 7 1.1. Giới thiệu về Web Service: .......................................................................... 7 1.2. Các đặc điểm của Web Service: .................................................................. 8 1.3. Các thành phần của Web Service: ............................................................. 9 1.3.1. Kiến trúc của web service: .............................................................................. 9 1.3.2. Ngôn ngữ mô tả XML: .................................................................................. 10 1. Giới thiệu về ngôn nhữ XML: ...................................................................... 10 2. Truyền thông XML: ...................................................................................... 12 1.3.3. Giao thức SOAP: ........................................................................................... 14 1. Giới thiệu về SOAP (Simple Object Access Protocol): ................................ 14 2. Các đặc điểm của SOAP: ............................................................................. 14 3. Cấu trúc SOAP Message: ............................................................................ 15 4. Giao thức truyền thông trong SOAP: .......................................................... 18 5. Mã hóa trong SOAP:.................................................................................... 18 1.3.4. UDDI: ............................................................................................................ 18 1. Giới thiệu về UDDI:..................................................................................... 18 2. Nguyên tắc hoạt động: ................................................................................. 19 3. Đặc tả UDDI:............................................................................................... 22 4. Một số đặc điểm của UDDI: ........................................................................ 22 1.3.5. Ngôn ngữ mô tả dịch vụ web WSDL: ........................................................... 24 1. Giới thiệu về WSDL: .................................................................................... 24 2. Cấu trúc của một tài liệu WSDL: ................................................................. 24 3. Các bước xây dựng một Web Service: ......................................................... 29 Chương 2.SỬ DỤNG WEB SERVICE VÀ VẤN ĐỀ AN TOÀN KHI SỬ DỤNG .................................................................................................................. 31 2.1. Sử dụng Web Service: ............................................................................... 31 4 2.2. An toàn Web Service: ................................................................................ 33 2.2.1. Tại sao cần an toàn Web Service: ................................................................ 33 2.2.2. An toàn Web Service: .................................................................................... 37 1. WS-Security:................................................................................................. 37 2. Chứng thực trong một ứng dụng:................................................................. 38 3. Các bước để tạo an toàn thông tin trong ứng dụng: .................................... 41 4. Những thành phần mở rộng của ws-security: .............................................. 42 Chương 3.XÂY DỰNG ỨNG DỤNG ĐĂNG KÝ THUẾ THU NHẬP CÁ NHÂN .................................................................................................................. 43 3.1. Giới thiệu bài toán: .................................................................................... 43 3.2. Thiết kế hệ thống: ...................................................................................... 44 3.2.1. Sơ đồ phân rã chức năng: ............................................................................ 44 3.2.2. Thiết kế cơ sở dữ liệu: ................................................................................... 44 3.2.3. Hoạt động chương trình: .............................................................................. 46 1. Cài đặt hệ thống:.......................................................................................... 46 2. Hoạt động: ................................................................................................... 47 TÀI LIỆU THAM KHẢO .......................................................................................... 56 5 DANH MỤC VIẾT TẮT API Application Programming Interface BMC Business to Customer CML Chemical Markup Language CXML Commerce eXtensible Markup Language DLL Dynamic Link Library ENC European Nations Championship FTP File Transfer Protocol HTML HyperText Markup Language HTTPS Hypertext Transfer Protocol Secure ISO International Organization for Standardization JMS Java Message Service IPSec Internet Protocol Security NAICS North American Industry Classification System PHP Perl Hypertext Preprocessor RPC Remote procedure call SOAP Simple Object Access Protocol SGML Standard Generalized Markup Language SMTP Simple Mail Transfer Protocol SSL Secure Sockets Layer S / MIME Secure / Multipurpose Internet Mail Exchange TCP Transmission Control Protocol TLS Transport Layer Security UDDI Universal Description, Discovery and Integration UNSPC United Nations Standard Product and Services Classification URN Uniform Resource Name VPN Virtual Private Network XHTML eXtensible HyperText Markup Language XML eXtensible Markup Language W3C World Wide Web Consortium WSDL Web Service Description Language WS-Security Web Service Security 6 DANH MỤC HÌNH VẼ Hình 1.1 - Kiến trúc Web Service .......................................................................... 9 Hình 1.2 - Messaging sử dụng SOAP .................................................................. 15 Hình 1.3 - Cấu trúc của SOAP message .............................................................. 16 Hình 1.4 - Luồng thông báo UDDI giữa Client và Registry ................................ 20 Hình 1.5 - UDDI làm việc như thế nào ................................................................ 20 Hình 1.6 - Quy trình xây dựng một Web Service ................................................ 30 Hình 2.1 - Mô tả 4 bước quá trình tham gia dịch vụ web ................................... 32 Hình 2.2 - Sơ đồ vận chuyển trung gian trong bảo mật End-to-End ................... 35 Hình 2.3 - Mô hình an toàn đẩy đủ cho Web Service .......................................... 42 Hình 3.1 - Sơ đồ phân rã chức năng ..................................................................... 44 Hình 3.2 - Sơ đồ quan hệ các bảng ...................................................................... 46 7 Chương 1. TỔNG QUAN VỀ WEB SERVICE 1.1. Giới thiệu về Web Service: Dịch vụ Web là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng ngôn ngữ XML. Các ứng dụng Web sẽ truy vấn CSDL trên máy chủ, sau khi phân tích, đóng gói tài liệu dưới dạng chuẩn hỗ trợ trên tất cả mọi trình duyệt (như HTML, XHTML…), tài liệu sẽ gửi trở lại theo yêu cầu của máy khách. Ngày nay, cùng với sự phát triển mạnh mẽ của khoa học công nghệ và internet, các dịch vụ web ngày càng được ứng dụng rộng rãi trong cuộc sống. Công nghệ web trở thành một phương tiện mới, nhanh chóng và tiện dụng phục vụ các nhu cầu về thông tin liên lạc, trao đổi, quản lý, mua bán… Internet đã giúp các doanh nghiệp kinh doanh quảng bá các sản phẩm đến đông đảo ngưởi tiêu dùng với chi phí rẻ so với các hình thức quảng cáo khác. Khách hàng có thể lựa chọn và mua sắm trực tuyến qua các kênh bán hàng thông mình, bằng cách cung cấp các thông tin đăng ký cần thiết theo một form ứng dụng web. Các thông tin sẽ được đóng gói, chuyển đi và thực hiện giao dịch giữa khách hàng và doanh nghiệp nhanh chóng. Qua các ứng dụng web, doanh nghiệp có thể tiêu thụ sản phẩm, đánh giá thị hiếu người dùng và có biện pháp phát triển phù hợp. Phương pháp này đã và đang được sử dụng ngày càng phổ biến bởi hàng triệu doanh nghiệp trên thế giới. Web cũng tạo ra môi trường thuận tiện cho việc quản lý không chỉ với các đồ vật, sản phẩm mà còn với các thông tin liên quan đến đời sống vật chất và xã hội của con người. Các dịch vụ web cho phép lưu trữ và truyền tải các dữ liệu nhạy cảm (thông tin cá nhân, mã số thẻ tín dụng, mã số thuế…) một cách đơn giản, tiện dụng và an toàn trong các hệ thống quản lý thông tin hiện đại, đem đến một phương thức quản lý mới, đơn giản hơn cho người sử dụng. Có thể thấy rằng, các ứng dụng Web đã có mặt ở khắp mọi nơi trên thế giới. Nhưng do sự phức tạp về kỹ thuật nên dịch vụ web chưa được đa số người dùng hiểu một các chính xác, dẫn đến những hạn chế trong việc sử dụng các tính năng mà chúng mang lại. Khóa luận sẽ cung cấp những thông tin cần thiết để người dùng cái nhìn chi tiết hơn về công nghệ này. 8 1.2. Các đặc điểm của Web Service: Dịch vụ Web là phần mềm hỗ trợ cho phép các ứng dụng trên máy chủ và máy khách có thể tương tác được với nhau thông qua môi trường mạng Internet mà không yêu cầu chúng phải chạy cùng một hệ điều hành, cũng như không cần bất cứ yêu cầu nào về sự tương thích giữa hai hệ điều hành. Công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới mà nó có thể kết hợp dựa trên các mã nguồn mở và những công nghệ tiêu chuẩn sẵn có như XML, SOAP, WSDL, UDDI… Điều này sẽ làm giảm đáng kể chi phí xây dựng và độ phức tạp trong việc tích hợp và phát triển hệ thống; các ứng dụng web sẽ độc lập và có thể vận hành được với nhau; có thể tự động hoá quá trình phát triển một ứng dụng Web nhờ UDDI và WSDL. Dịch vụ Web có thể gồm nhiều mô đun độc lập, mỗi mô đun sẽ thực hiện một chức năng của ứng dụng, số lượng mô đun tùy thuộc vào các hoạt động của khách hàng và chủ thể, các mô đun này được công khai trên mạng Internet và được thực thi trên máy chủ. Cùng với sự phát triển của khoa học công nghệ, các ứng dụng web được xây dựng ngày càng hoản chỉnh hơn, hệ thống dịch vụ web không chỉ tương tác với các cơ sở dữ kiệu và những ứng dụng khác bên trong máy chủ mà còn có khả năng tương tác với các đối tượng bên ngoài như cơ sở dữ liệu của các đối tác kinh doanh…; tài liệu sau khi đóng gói phải đảm bảo các ứng dụng khác có thể dễ dàng nhìn thấy và truy cập đến những dịch vụ mà nó thực hiện và có thể yêu cầu thông tin từ các dịch vụ web khác. Như vậy các thông tin có thể tái sử dụng dễ dàng bởi các trình ứng dụng khác nhau, ngay cả khi không phải là ứng dụng web mà là những ứng dụng thông thường. Ngày nay, chúng ta có thể bắt gặp các ứng dụng sử dụng dịch vụ web ở tất cả lĩnh vực trong cuộc sống như: các hệ thống tìm kiếm thông tin trong thư viện; hệ thống bán hàng qua mạng; đặt mua vé tàu xe; cập nhật các thông tin về thị trường, tiền tệ… Chính vì thế việc phát triển các ứng dụng sử dụng dịch vụ web luôn nhận được sự quan tâm của toàn xã hội. Tuy nhiên, dịch vụ web cũng có những nhược điểm cần khắc phục. Tại Hội thảo BMC Remedy User Group tháng 7/2005 đã đưa ra một số điểm bất lợi của dịch vụ web. Doanh nghiệp có thể phải chịu những thiệt hại lớn trong khoảng thời gian chết của dịch vụ web, giao diện không thay đổi, có thể xảy ra lỗi nếu một máy khách không 9 được nâng cấp, thiếu giao thức cho vận hành và công tác bảo mật. Có quá nhiều chuẩn web service khiến người sử dụng công nghệ khó nắm bắt. 1.3. Các thành phần của Web Service: 1.3.1. Kiến trúc của web service: Mô tả kiến trúc của một web service: Hình 1.1 – Kiến trúc Web Service Kiến trúc của một web service gồm nhiều tầng. Mỗi tầng đảm nhận một nhiệm vụ cấu thành nên một ứng dụng dịch vụ web hoàn chỉnh. Tầng vận chuyển (Transpost): gồm các công nghệ chuẩn HTTP, JMS, SMTP. Có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng. Tầng giao thức truyền thông dịch vụ (Service Communication Protocol): sử dụng công nghệ chuẩn SOAP. SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp XML. Tầng mô tả thông tin về dịch vụ (Service Description): gồm các công nghệ chuẩn WSDL, XML. WSDL là ngôn ngữ mô tả dịch vụ Web theo cú pháp tổng quát của XML. WSDL mô tả giao diện và phương thức giao tiếp với dịch vụ web và định dạng 10 thông điệp truy suất CSDL. Dịch vụ Web sẽ sử dụng WSDL để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp. Tầng dịch vụ (Service): cung cấp các chức năng của dịch vụ. Tầng xử lý nghiệp vụ (Business Process): tiến hành các bước xử lý thông tin đầu vào để cho kết quả đầu ra theo yêu cầu, là các hoạt động có tính chất nghiệp vụ. Tầng đăng ký dịch vụ (Service Registry): sử dụng công nghệ chuẩn UDDI. UDDI dùng cho cả người dùng và SOAP server, nó cho phép đăng ký dịch vụ để người dùng có thể gọi thực hiện service từ xa qua mạng , hay nói cách khác một service cần phải được đăng ký để cho phép các client có thể gọi thực hiện. Từ đó giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Ngoài ra, để các dịch vụ web có tính an toàn, toàn vẹn, bảo mật thông tin, trong sơ đồ kiến trúc có thể có thêm các tầng: Policy, Security, Transaction, Management. Việc xây dưng một ứng dụng web chính là xây dưng các tầng trong mô hình kiến trúc dịch vụ web mà cụ thể là xây dựng các thành phần của các tầng, đó là các thành phần: SOAP , WSDL , UDDI , XML. 1.3.2. Ngôn ngữ mô tả XML: 1. Giới thiệu về ngôn nhữ XML: XML là viết tắt của Extensible Markup Language, tạm dịch là ngôn ngữ đánh dấu mở rộng. XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản, được thiết kế dựa trên SGML (Standard Generalized Markup Language) theo tiêu chuẩn ISO 8879 nhằm phục vụ việc quản trị các tài liệu điện tử. XML được xây dựng từ dưới sự chỉ đạo của W3C từ năm 1996 và chính thức thông qua vào 2/1998. XML xây dựng cấu trúc tài liệu và dữ liệu cho phép trao đổi, chia sẻ và sử dụng thông tin phân tán trên các hệ thống khác nhau. XML hỗ trợ người dùng thông qua khả năng tạo nội dung động, hỗ trợ việc thay thế những hệ thống cũ và các yêu cầu hợp nhất dữ liệu. Hai ngôn ngữ XML và HTML có cùng luật cú pháp nhưng ngôn ngữ XML có nhiều ưu điểm vượt trội hơn hẳn. Ngôn ngữ HTML sử dụng một tập hữu hạn các thẻ để định ra thông tin cơ bản về cấu trúc tài liệu. Các đoạn mã HTML chỉ mô tả cách thức hiển thị nội dung của tài liệu qua trình duyệt. 11 Trong khi đó, XML linh hoạt hơn khi cho phép tạo ra các thẻ mới mà thuộc tính được người sử dụng tự định nghĩa. Ngôn ngữ XML không chỉ dùng để mô tả sự trình bày nội dung tài liệu và còn có phương pháp định ra nội dung, sắp xếp cấu trúc, từ vựng và cú pháp của dữ liệu. XML có cấu trúc mã chặt chẽ, tách biệt nội dung ra khỏi hình thức của dữ liệu và mang lại thông tin đầy đủ về dữ liệu góp phần hỗ trợ cho việc tìm kiếm và sử dụng thông tin được dễ dàng hơn, cho phép hiển thị cùng một tài liệu trên một số ứng dụng hoặc thiết bị ngoại vi khác nhau mà không phải tạo ra phiên bản tài liệu mới, giống như một cơ sở dữ liệu. Một số tổ chức đã xây dựng các ngôn ngữ XML riêng như: ngôn ngữ Chemical Markup Language (CML) dùng trong công nghiệp, ngôn ngữ CXML định ra các tập dữ liệu chuẩn dùng cho thương mại điện tử trên Internet… XML giúp tạo tài liệu độc lập với server. Ví dụ: tải tài liệu về máy tính và sử dụng nó dù không nối mạng hoặc gửi đến người dùng khác dùng ứng dụng có hỗ trợ XML. XML tổ chức tất cả các ngôn ngữ lập trình theo một cấu trúc thống nhất và chặt chẽ giúp cho việc xây dựng, phát triển và quản lý dữ liệu trở nên dễ dàng hơn. Các trang HTML chỉ cần điều chỉnh chút ít để tương thích với XML. Ví dụ: mã HTML thì trong XML là . Để các chương trình xử lý có thể làm việc được với dữ liệu của trang XML thì khi xây dựng tài liệu XML phải tuân theo một số quy luật sau đây: • Trang XML phải bắt đầu bằng câu tuyên bố XML • Mỗi bộ phận (element) phải nằm giữa một cặp thẻ. • Nếu thẻ nào không chứa gì ở giữa thì phải chấm dứt bằng "/>". Ví dụ: … • Một trang XML phải có một element độc nhất chứa tất cả các elements khác. Đó là nút trong cây biểu diễn trang XML. • Các cặp thẻ không được xen kẻ nhau (VD: John Stanmore25 King Street là sai. • Ngoài ra các cặp thẻ phải đánh vần y hệt và phân biệt rõ chữ chữ hoa, chữ thường. (VD: và là sai) • Tất cả giá trị các thuộc tính phải nằm giữa 2 ngoặc kép (VD: standalone=yes là sai, phải là standalone="yes") 12 2. Truyền thông XML: Khi viết chương trình, chúng ta thườn