Đăng ký Đăng nhập
Trang chủ ứng dụng công nghệ java web service và xsl trong việc xây dựng các dịch vụ ngân ...

Tài liệu ứng dụng công nghệ java web service và xsl trong việc xây dựng các dịch vụ ngân hàng trực tuyến luận văn ths. công nghệ thông tin 1.01.10

.PDF
48
3
123

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐINH THỊ HUYỀN TRANG ỨNG DỤNG CÔNG NGHỆ JAVA WEB SERVICE VÀ XSL TRONG VIỆC XÂY DỰNG CÁC DỊCH VỤ NGÂN HÀNG TRỰC TUYẾN LUẬN VĂN THẠC SỸ Hà nội, 11/2007 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐINH THỊ HUYỀN TRANG ỨNG DỤNG CÔNG NGHỆ JAVA WEB SERVICE VÀ XSL TRONG VIỆC XÂY DỰNG CÁC DỊCH VỤ NGÂN HÀNG TRỰC TUYẾN LUẬN VĂN THẠC SỸ Ngành: Công nghệ thông tin Mã số: 1.01.10 Giáo viên hướng dẫn: PGS. TS Nguyễn Văn Vỵ Hà nội, 11/2007 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày 31 tháng 10 năm 2007 Đinh Thị Huyền Trang i LỜI CẢM ƠN Trước tiên em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy giáo PGS.TS Nguyễn Văn Vỵ, giảng viên bộ môn Công Nghệ Phần Mềm – Khoa Công Nghệ Thông Tin – Trường Đại học Công Nghệ - ĐHQGHN. Trong suốt thời gian học và làm luận văn tốt nghiệp, thầy đã dành rất nhiều thời gian quí báu để tận tình chỉ bảo, hướng dẫn, định hướng cho em trong việc nghiên cứu và thực hiện luận văn. Em xin được cảm ơn các GS, TS, các thầy cô trong trường đại học Công Nghệ - ĐHQGHN đã giảng dạy em trong quá trình học tập, thực hành, làm bài tập, đọc và nhận xét luận văn của em, giúp em hiểu thấu đáo hơn lĩnh vực mà em đang nghiên cứu, những hạn chế mà em cần khắc phục trong việc học tập, nghiên cứu và thực hiện luận văn này. Xin cảm ơn bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và làm luận văn tốt nghiệp. Hà nội, ngày 31 tháng 10 năm 2007 Đinh Thị Huyền Trang ii TÓM TẮT KẾT QUẢ Luận văn này bao gồm những kết quả sau: - Nghiên cứu và trình bày các khái niệm nền tảng, những công nghệ liên quan để xây dựng một Web Service. - Nghiên cứu và trình bày chi tiết các bước để xây dựng, cách thức triển khai và sử dụng một Web Service. - Phân tích thiết kế sử dụng công nghệ hướng đối tượng “Hệ thống thông tin khách hàng trực tuyến”. - Áp dụng công nghệ Web Service để triển khai, xây dựng hệ thống trên. Ứng dụng đã kết nối được với dữ liệu của hệ thống thanh toán trong ngân hàng, cho phép khách hàng có thể truy vấn thông tin về tài khoản, các giao dịch phát sinh trên tài khoản mở tại ngân hàng iii MỤC LỤC DANH MỤC CHỮ VIẾT TẮT........................................................... 1 DANH MỤC HÌNH VẼ...................................................................... 2 MỞ ĐẦU ............................................................................................ 4 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CỦA WEB SERVICE................ 5 1.1. Web Services .................................................................................. 5 1.1.1. 1.1.2. 1.1.3. 1.1.4. Giới thiệu ..........................................................................................5 Khái niệm .........................................................................................6 Ưu thế và ứng dụng của Web Service................................................7 Cấu trúc của Web Service ............................................................... 11 1.2. Các công nghệ nền tảng của Web Service ..................................... 12 1.2.1 XML ................................................................................................ 12 1.2.1.1. Khái niệm về XML .................................................................. 12 1.2.1.2. Các quy tắc cú pháp của XML.................................................. 12 1.2.1.3. XML có định dạng tốt (Well-formed XML) .............................. 14 1.2.1.4. XML đúng đắn (Valid XML) .................................................... 15 1.2.1.5. Không gian tên (Namespaces) ................................................... 18 1.2.1.6. Tên viết tắt (Qualified Names - QNames).................................. 19 1.2.1.7. CDATA .................................................................................... 20 1.2.1.8. Trình diễn dữ liệu XML trên web .............................................. 21 1.2.2. SOAP............................................................................................... 22 1.2.2.1. Đặc trưng của SOAP ................................................................. 22 1.2.2.2. Cấu trúc một thông điệp (Message) theo dạng SOAP ................ 23 1.2.2.3. SOAP trong HTTP .................................................................... 23 1.2.3. WSDL.............................................................................................. 26 1.2.4. UDDI ............................................................................................... 27 1.3. Phát triển hệ thống ......................................................................... 29 1.3.1. Cấu trúc thành phần của hệ thống và hoạt động của nó .................... 29 1.3.1.1. Các thành phần của hệ thống Web Service ................................ 29 1.3.1.2. Các bước xây dựng và hoạt động của hệ thống Web Service ..... 30 1.3.2 Các giai đoạn trong quá trình xây dựng ............................................. 30 CHƯƠNG 2. XÂY DỰNG HỆ THỐNG WEB SERVICES CUNG CẤP CÁC DỊCH VỤ THÔNG TIN KHÁCH HÀNG TRỰC TUYẾN ............................................................................................ 32 2.1. Mô tả bài toán ................................................................................ 32 2.1.1. Hiện trạng ........................................................................................ 32 iv Đinh Thị Huyền Trang – K11T3 2.1.2. Các yêu cầu đặt ra ............................................................................ 33 2.1.3. Các vấn đề cần giải quyết ................................................................. 34 2.2. Mô hình nghiệp vụ của hệ thống .................................................... 35 2.2.1. Các chức năng của hệ thống ............................................................. 35 2.2.2. Mô hình khái niệm lĩnh vực nghiệp vụ ............................................. 36 2.2.3. Các khái niệm .................................................................................. 36 2.2.4.Các tác nhân nghiệp vụ ..................................................................... 37 2.2.4.1. Nhân viên hệ thống mức quản trị chung (Admin) ..................... 38 2.2.4.2. Nhân viên chi nhánh mức quản trị chi nhánh (Branch Admin) .. 39 2.2.4.3. Khách hàng (Customer) ............................................................. 40 2.2.4.4. Core Bank ................................................................................. 40 2.2.5. Mô hình ca sử dụng của hệ thống ..................................................... 41 2.2.5.1. Mô hình ca sử dụng mức cao ..................................................... 41 2.2.5.2. Mô hình các gói ca sử dụng ...................................................... 41 2.2.5.3. Mô tả chi tiết ca sử dụng ........................................................... 47 2.3. Mô hình phân tích hệ thống ........................................................... 51 2.3.1. Phân tích từng ca sử dụng ................................................................ 51 2.3.1.1. Ca sử dụng thêm mới chi nhánh ................................................ 51 2.3.1.2. Ca sử dụng thêm mới người quản trị chi nhánh ......................... 53 2.3.1.3. Ca sử dụng đăng ký khách hàng ................................................ 55 2.3.1.4. Ca sử dụng vấn tin lịch sử giao dịch của tài khoản .................... 58 2.3.1.5. Biều đồ mô tả tổng hợp một số ca sử dụng điển hình ................. 61 2.4. Mô hình triển khai ......................................................................... 61 2.5. Xây dựng WSDL ........................................................................... 64 2.5.1. Definitions ....................................................................................... 64 2.5.2. Types ............................................................................................... 64 2.5.3. Message ........................................................................................... 65 2.5.4. PortType .......................................................................................... 65 2.5.5. Binding ............................................................................................ 66 2.5.6. Service và Port ................................................................................. 66 2.6. SOAP server .................................................................................. 67 2.6.1. Apache Axis .................................................................................... 67 2.6.2. SOAP message................................................................................. 69 2.6.3. Triển khai hệ thống Web Services .................................................... 71 CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG WEB THÔNG TIN KHÁCH HÀNG SỬ DỤNG DỊCH VỤ WEB SERVICES. .............. 73 3.1. Mô hình hoạt động ......................................................................... 73 v Đinh Thị Huyền Trang – K11T3 3.1.1. Mô hình tổng quan ........................................................................... 73 3.1.2 Mô hình tương tác đối tượng ............................................................. 74 3.2. Xây dựng ứng dụng ....................................................................... 75 3.2.1. Các chức năng của ứng dụng............................................................ 75 3.2.2. Axis engine ...................................................................................... 75 3.2.3. Biểu diễn dữ liệu trên máy khách ..................................................... 77 3.2.3.1. Chuyển đổi dữ liệu sang XML .................................................. 77 3.2.3.2. Kết hợp XML và XSLT để định dạng hiển thị dữ liệu ............... 78 3.3. An ninh bảo mật ............................................................................ 82 3.3.1. Các biện pháp đã được sử dụng ........................................................ 82 3.3.1.1. An ninh mạng ............................................................................ 82 3.3.1.2. An ninh ứng dụng...................................................................... 82 3.3.2. Những vấn đề còn tồn đọng cần giải quyết. ...................................... 83 3.4. Giao diện ứng dụng........................................................................ 83 KẾT LUẬN ...................................................................................... 87 Những kết quả đạt được ............................................................................. 87 Hạn chế và hướng phát triển ...................................................................... 87 TÀI LIỆU THAM KHẢO................................................................. 88 vi DANH MỤC CHỮ VIẾT TẮT Từ viết tắt Nội dung CDATA Character Data CSS Casscading Style Sheet DTD Document Type Definition FTP File Transfer Protocol HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure RPC Remote Protocol Control SMTP Simple Mail Transfer Protocol SOAP Simple Object Access Protocol UDDI Universal Description Discovery and Integration WSDL Web Services Description Language XML eXtensible Markup Language XSL eXtensible Stylesheet Language XSLT eXtensible Stylesheet Language Transform 1 DANH MỤC HÌNH VẼ Hình 1.1: Các lớp của Web Service .....................................................................7 Hình 1.2: Ứng dụng web không sử dụng Web Service.........................................8 Hình 1.3: Ứng dụng web sử dụng Web Service (1) ..............................................9 Hình 1.4: Ứng dụng web sử dụng Web Service (2) ............................................ 10 Hình 1.5: Thành phần của Web Service ............................................................. 11 Hình 1.6: Mô hình trình diễn dữ liệu XML trên Web ......................................... 22 Hình 1.7: Cấu trúc của thông điệp SOAP........................................................... 23 Hình 1.8: Mô hình hoạt động của SOAP ............................................................ 24 Hình 1.9: Thông điệp yêu cầu của SOAP........................................................... 25 Hình 1.10: Thông điệp hồi đáp của SOAP ......................................................... 25 Hình 1.11: Cấu trúc của WSDL ......................................................................... 26 Hình 1.12: Những bộ phận cấu thành của Web Service và sự tương tác giữa chúng khi hoạt động................................................................................... 29 Hình 2.1. Biểu đồ miền lĩnh vực của hệ thống thông tin tài khoản trực tuyến .... 36 Hình 2.2. Mô hình ca sử dụng mức tổng thể của hệ thống TTTKTT .................. 41 Hình 2.3. Hình 2.4. Hình 2.5. Hình 2.6. Biểu đồ ca sử dụng chi tiết của gói quản trị chi nhánh ....................... 42 Biểu đồ ca sử dụng chi tiết của gói quản trị người dùng .................... 43 Biểu đồ ca sử dụng chi tiết của gói quản trị thông tin dịch vụ ............ 45 Biểu đồ ca sử dụng chi tiết của gói dịch vụ khách hàng ..................... 46 Hình 2.7. Biểu đồ tuần tự hệ thống thêm mới chi nhánh .................................... 52 Hình 2.8. Biểu đồ lớp phân tích thực thi ca sử dụng thêm mới chi nhánh ........... 52 Hình 2.9. Biểu đồ tương tác ca sử dụng thêm mới chi nhánh ............................. 52 Hình 2.10. Giao diện thêm mới chi nhánh.......................................................... 53 Hình 2.11. Biểu đồ tuần tự hệ thống thêm mới người quản trị chi nhánh ........... 53 Hình 2.12. Biểu đồ lớp phân tích thực thi ca sử dụng thêm mới người quản trị chi nhánh ......................................................................................................... 54 Hình 2.13. Biểu đồ tương tác ca sử dụng thêm mới người quản trị chi nhánh .... 54 Hình 2.14. Giao diện thêm mới người quản trị chi nhánh................................... 55 Hình 2.15. Biều đồ tuần tự hệ thống đăng ký khách hàng .................................. 55 Hình 2.16. Biểu đồ lớp phân tích thực thi ca sử dụng đăng ký khách hàng ......... 56 Hình 2.17. Biểu đồ tương tác ca sử dụng đăng ký khách hàng ........................... 57 Hình 2.18. Giao diện đăng ký khách hàng ......................................................... 58 Hình 2.19. Biểu đồ tuần tự hệ thống vấn tin lịch sử giao dịch của tài khoản ...... 59 2 Đinh Thị Huyền Trang – K11T3 Hình 2.20. Biểu đồ lớp thực thi ca sử dụng vấn tin lịch sử giao dịch ................. 59 Hình 2.21. Biều đồ tương tác ca sử dụng vấn tin lịch sử giao dịch ..................... 60 Hình 2.22. Giao diện vấn tin lịch sử giao dịch của tài khoản.............................. 60 Hình 2.23. Biểu đồ mô tả tổng hợp các biểu đồ phân tích khái niệm của một số ca sử dụng điển hình ...................................................................................... 61 Hình 2.24. Cấu trúc của MessageContext .......................................................... 68 Hình 2.25. Quá trình xử lý thông điệp trên máy chủ Axis .................................. 69 Hình 3.1. Mô hình tổng quan của hệ thống ........................................................ 73 Hình 3.2. Mô hình tương tác của hệ thống ......................................................... 74 Hình 3.3. Quá trình xử lý thông điệp trên ứng dụng ........................................... 75 Hình 3.4. Kết quả biến đổi tài liệu XML sử dụng XSLT .................................... 81 Hình 3.5. Mô hình bảo mật của ứng dụng .......................................................... 82 Hình 3.6. Màn hình đăng nhập hệ thống ............................................................ 83 Hình 3.7. Màn hình đăng ký sử dụng hệ thống................................................... 84 Hình 3.8. Màn hình danh sách tài khoản của khách hàng ................................... 85 Hình 3.9. Màn hình trạng thái tài khoản............................................................. 85 Hình 3.10. Màn hình vấn tin lịch sử giao dịch của tài khoản .............................. 86 Hình 3.11. Màn hình hiện thị kết quả trả về ....................................................... 86 3 MỞ ĐẦU Ngày nay, với sự phát triển rất nhanh chóng của xã hội cũng như hạ tầng công nghệ thông tin, hầu như mọi doanh nghiệp cá nhân đều có sự trao đổi, tìm kiếm thông tin trên Internet. Nhu cầu truy cập thông tin về tài khoản của khách hàng thông qua thư điện tử hay truy cập trực tiếp vào trang web của ngân hàng là rất lớn. Hơn nữa, việc truy cập thông tin qua Internet đem lại sự thuận tiện cho khách hàng khi họ có thể xem thông tin tại bất cứ vị trí, thời điểm nào họ muốn, không phải trực tiếp đến quầy giao dịch của ngân hàng. Để đáp ứng được yêu cầu đó cần phải xây dựng một hệ thống thông tin hỗ trợ khách hàng thông qua Internet. Hệ thống này đảm bảo cho khách hàng có thể truy cập được các thông tin về tài khoản, về giao dịch trên tài khoản khi truy cập vào trang web của ngân hàng. Đây cũng chính là cơ sở nền tảng, là giai đoạn đầu của quá trình xây dựng một hệ thống giao dịch trực tuyến, một ứng dụng banking online theo đúng nghĩa của nó. Trên thực tế, hiện nay hầu hết các ngân hàng tại Việt Nam đều có một hạ tầng ứng dụng công nghệ thông tin cho việc thanh toán và quản lý dữ liệu ngân hàng tập trung, còn được gọi là Core Bank. Do vậy với yêu cầu đặt ra như trên, chúng ta cần xây dựng ứng dụng có thể kết nối với hệ thống Core Bank để lấy thông tin về các hoạt động giao dịch cũng như có thể thực hiện các giao dịch một cách trực tuyến. Vì vậy “Ứng dụng công nghệ Java Web Service và XSL trong việc xây dựng các dịch vụ ngân hàng trực tuyến” đã được chọn làm đề tài cho luận văn này. Luận văn tốt nghiệp này trình bày một công nghệ có thể dễ dàng giải quyết bài toán trên theo hướng mở, hiện đại. Đó chính là công nghệ Web Services. Nội dung chính của luận văn bao gồm 4 chương: Chương 1: Giới thiệu những công nghệ nền tảng của Web Service. Chương 2: Mô tả bài toán và xây dựng hệ thống Web Service cung cấp các dịch vụ hỗ trợ cho hệ thống thông tin khách hàng trực tuyến. Chương 3: Xây dựng hệ thống thông tin khách hàng trực tuyến trên nền tảng Web Service. Cuối cùng là kết luận và những hướng phát triển tiếp theo của đề tài. 4 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CỦA WEB SERVICE 1.1. Web Services 1.1.1. Giới thiệu Lập trình hướng đối tượng đã được giới thiệu và hứa hẹn về khả năng tái sử dụng mã nguồn trên nhiều hệ thống và kiến trúc. Các nhà lập trình đã tiên đoán rằng, họ thậm chí sẽ không cần phải tạo ra các lớp mới vì kho mã nguồn đã sở hữu đủ các lớp cần thiết. Các nhà cung cấp thư viện mã nguồn thu lợi từ việc cung cấp các thư viện lớp thực hiện các chức năng cơ bản cho các lập trình viên, ví dụ các thư viện thương mại của C++ chứa các phương thức thao tác chuẩn trên ngày và giờ. Điều này giúp các lập trình viên tiết kiệm đáng kể thời gian. Khi các ngôn ngữ mới như Java và C# xuất hiện, các chức năng cơ bản này mặc nhiên là một phần của ngôn ngữ. Tuy nhiên, khái niệm một kho mã nguồn tập trung không phải lúc nào cũng đúng. Ví dụ, các nghiệp vụ của các công ty luôn khác nhau, không thể có một kho tập trung cho các loại mã như vậy. Trong trường hợp này, các thư viện thương mại chỉ có thể cung cấp các chức năng cơ bản và các lớp tổng quát cần thiết, nhưng các thư viện này không thể chứa các chức năng nghiệp vụ, vì chúng là duy nhất cho mỗi công ty. Đối với một số các nghiệp vụ, như nghiệp vụ của ngân hàng, các nhà cung cấp có thể tạo ra các gói thư viện dùng chung vì luật của chính phủ đảm bảo các nghiệp vụ đó phải tuân theo các logic nhất định. Ban đầu, các đối tượng chỉ có thể lập trình để chạy trên cùng một máy, ví dụ như các tập tin DLL (Dynamic Link Library – Thư viện liên kết động). Các thư viện này chứa thông tin cho các ứng dụng khác dùng để tạo các đối tượng. Tuy nhiên, nếu trong một tập đoàn lớn, với yêu cầu phải bảo trì hàng trăm ngàn máy trạm và các ứng dụng trên mỗi hệ thống, việc có những thư viện này trên mỗi hệ thống sẽ là một vấn đề gây đau đầu khi phải tiến hành bảo trì. Do đó, việc dùng các đối tượng từ xa là một cách tuyệt vời để sử dụng lại mã nguồn ở mức ứng dụng trên một máy cục bộ. Các đối tượng từ xa là các đối tượng được tạo ra ở trên một máy chủ trung tâm và có thể được truy cập từ máy trạm thông qua mạng, kể cả Internet. Một đối tượng từ xa phải luôn sẵn sàng cho một chương trình thông qua mạng hoặc Internet. Các công nghệ như COM (Common Object 5 Đinh Thị Huyền Trang – K11T3 Manifest), CORBA (Common Object Request Broker Architecture), RMI (Remote Method Invocation), RPC (Remote Procedure Call) được dùng để gọi đối tượng từ xa [11]. Mục tiêu của các phương thức này là cho phép người lập trình có thể thay đổi mã tại một nơi và tất cả các hệ thống và ứng dụng sử dụng các phương thức này ngay lập tức được truy cập đến mã nguồn mới. Điều bất lợi là khi việc lập trình trên máy chủ có lỗi thì tất cả hệ thống đều bị lỗi. Microsoft đã tạo ra một giao thức chuẩn dựa trên XML gọi là SOAP (Simple Object Access Protocol – Giao thức truy cập đối tượng đơn giản). Giao thức này là sự kết hợp việc lưu trữ dữ liệu dưới định dạng XML và một giao thức chuẩn cho phép truyền tải dữ liệu qua Internet. Những giao thức mà SOAP thường sử dụng để truyền tải bao gồm SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol) và HTTP (Hypertext Transfer Protocol) [7]. Các nhà phát triển thường xem những giao thức này như là chồng các giao thức của Web Service. Điểm khác biệt giữa SOAP và một Web Service: SOAP là một giao thức dùng để di chuyển dữ liệu trên Internet, còn một Web Service là một đối tượng dùng SOAP trong việc truyền tải dữ liệu đến một ứng dụng hoặc một trang web. 1.1.2. Khái niệm Web Service có thể hiểu là dịch vụ trao đổi dữ liệu qua mạng Internet. Web Service bao gồm các phương thức thực thi các yêu cầu thông qua các thông điệp (messages) [6]. Trước đây, khi chưa có một chuẩn chung, các công ty lớn đã tự xây dựng các chuẩn riêng để cài đặt các Web Service theo cách riêng của họ. Microsoft có công nghệ Distributed COM/ Object RPC, tổ chức OMG đưa ra IIOP/CORBA, tập đoàn Sun Microsystem có công nghệ Java RMI/RPC. Đó là các giao thức dạng nhị phân, không tương thích với nhau. Sau đó tổ chức W3C đã thống nhất chuẩn SOAP (Simple Object Access Protocol) với khả năng lưu trữ thông tin và trao đổi dữ liệu dựa trên XML. Hiện tại với SOAP, Web Service có thể coi là đã có một giao thức chung, cho phép các ứng dụng phía máy khách có thể được viết bằng bất kỳ ngôn ngữ nào, chạy trên bất kỳ hệ thống nào, có thể kết nối và tương tác với các Web Service thông qua mạng Intranet/Internet. Bản thân SOAP không định nghĩa các cú pháp dữ liệu được truyền đi mà SOAP cung cấp một cơ chế đóng gói các dữ 6 Đinh Thị Huyền Trang – K11T3 liệu định dạng XML và truyền qua mạng theo các chuẩn như HTTP, HTTPS, SMTP hay FTP [7]. Web Service bao gồm nhiều lớp. Về cơ bản, đó là một cơ chế chuẩn liên quan đến việc nhận biết, mô tả, và tìm kiếm các chức năng được cung cấp bởi một ứng dụng Web Service. Các lớp được mô tả trong hình dưới đây [8]: Hình 1.1: Các lớp của Web Service 1.1.3. Ưu thế và ứng dụng của Web Service Web Service có những ưu thế sau: Chia sẻ dữ liệu: Web Service cho phép các ứng dụng chia sẻ dữ liệu, cung cấp khả năng gọi đến các ứng dụng khác mà không cần quan tâm đến các ứng dụng đó được phát triển bằng ngôn ngữ nào, chạy trên hệ điều hành hoặc môi trường nào, v.v… Mặc dù các ứng dụng Web Service là độc lập với nhau, nhưng chúng có thể liên kết với nhau để thực hiện một công việc cụ thể. Do đó, người dùng có thể sử dụng bất kỳ chương trình phía khách nào để gọi đến các phương thức của các Web Service, tương tác và lấy kết quả về theo yêu cầu để xử lý. Chi phí thấp: Web Service được xây dựng trên công nghệ XML. Như vậy dữ liệu có thể được truyền qua các môi trường và hệ điều hành khác nhau mà không bị phụ thuộc vào các ngôn ngữ lập trình được sử dụng. Do đó, giảm được chi phí và thời gian để xây dựng một môi trường giao tiếp dữ liệu linh hoạt giữa các hệ thống khác nhau. 7 Đinh Thị Huyền Trang – K11T3 Thông tin được cập nhật thường xuyên và linh hoạt: Web Service không chỉ cho phép các hệ thống kết nối với nhau mà còn cho phép kết nối thông tin giữa người sử dụng thông tin và các thông tin mà họ cần khai thác. Sau đó thông tin có thể được sử dụng theo bất cứ một khuôn dạng nào mà người sử dụng thông tin mong muốn. Người sử dụng thông tin có thể yêu cầu bất cứ thông tin nào, tại một thời điểm bất kỳ từ địa điểm cung cấp các dịch vụ Web mà không phải đợi thông tin được chuyển lên theo định kỳ. Lượng thông tin phong phú: Tăng khả năng thu thập và trao đổi thông tin từ nhiều nguồn khác nhau thông qua việc liên kết thông tin giữa các Web Service. Do đó, giảm được gánh nặng lưu trữ dữ liệu tại trung tâm lưu trữ (khả năng lưu trữ phân tán). Khả năng bảo mật cao: Các phương thức của Web Service có thể yêu cầu một số thông tin từ phía người dùng trong các yêu cầu được gửi đến cho chúng. Các thông tin trao đổi (mô tả bằng XML) có thể được mã hóa theo chuẩn mã hóa XML. Nếu các Web Service sử dụng các phương thức trao đổi dữ liệu dưới dạng nhị phân (thông qua cơ chế gọi thủ tục từ xa – Remote Procedure Call), chúng sẽ được tăng cường bảo mật bởi chính các công nghệ RPC của từng nhà cung cấp dịch vụ [11]. Hình 1.2: Ứng dụng web không sử dụng Web Service 8 Đinh Thị Huyền Trang – K11T3 Khả năng ứng dụng của Web Service vào các ứng dụng hiện nay là hết sức to lớn. Ta hãy xét một ví dụ về việc đặt vé máy bay. Bình thường, nếu một khách du lịch muốn đặt vé máy bay qua trang web của một đại lý bán vé máy bay, anh ta sẽ phải biết được thông tin về các chuyến bay phù hợp hiện có và điền vào phiếu đặt vé máy bay những thông tin liên quan đến chuyến bay mà anh ta muốn. Khi đó, trước hết anh ta sẽ phải tra cứu trên trang web của hãng máy bay hàng tiếng đồng hồ để tìm ra các thông tin đó (thông tin về các chuyến bay còn vé hay hết vé, thông tin thời gian chuyến bay có thể đặt vé được, …). Sau đó, do chương trình ứng dụng của đại lý bán vé và hãng máy bay không có dịch vụ trao đổi dữ liệu đăng ký vé máy bay, nên anh ta phải ghi lại các thông số chuyến bay mà anh ta chọn được, để điền vào biểu mẫu đăng ký vé máy bay trong ứng dụng của đại lý bán vé. Như vậy, anh ta sẽ phải mất nhiều thời gian và nhiều công sức để có được một chiếc vé cho mình. Hình 1.3: Ứng dụng web sử dụng Web Service (1) Khi hãng máy bay và đại lý bán vé nâng cấp chương trình của họ, cung cấp các Web Service để chia sẻ thông tin chuyến bay và đặt vé máy bay, thì tình hình lại khác. Người khách hàng chỉ việc truy cập vào trang web của đại lý bán vé 9 Đinh Thị Huyền Trang – K11T3 máy bay để tra cứu các thông tin về các chuyến bay được cung cấp thông qua Web Service, sau đó chọn các thông tin từ dịch vụ này, chúng sẽ được tự động điền vào biểu mẫu đăng ký mua vé máy bay. Thời gian đặt vé có thể chỉ kéo dài trong vài phút. Một khi các khách sạn, siêu thị trực tuyến, công ty dịch vụ cho thuê xe cũng có các ứng dụng Web Service tham gia vào hệ thống trên, thì chúng ta sẽ có một hệ thống dịch vụ liên hoàn hỗ trợ cho khách du lịch một cách hết sức hiệu quả, tiện lợi, nhanh chóng. Khi khách hàng, nhà cung cấp đều đã tạo được tiếng nói chung trong môi trường trực tuyến, thì sự góp mặt của một tổ chức tài chính là điều tất yếu để hoàn thiện dịch vụ. Nó cho phép khách hàng, nhà cung cấp có thể thực hiện ngay các giao dịch thanh khoản chỉ ở một nơi bất kỳ, mà không cần phải đến trực tiếp ngân hàng. Hình 1.4: Ứng dụng web sử dụng Web Service (2) Mô hình phát triển các dịch vụ theo công nghệ Web Service đặc biệt có thế mạnh trong việc xây dựng các dịch vụ ngân hàng trực tuyến. Xuất phát từ thực tế 10 Đinh Thị Huyền Trang – K11T3 là, các ngân hàng đều có một hệ thống phần mềm điện tử thực hiện quản lý các giao dịch của ngân hàng được áp dụng trên toàn hệ thống, việc xây dựng các dịch vụ ngân hàng trực tuyến chính là việc kết nối giữa các trang web đến hệ thống này theo hướng sử dụng dịch vụ. Với yêu cầu đó, việc xây dựng các Web Service là một giải pháp lý tưởng. Nó cho phép các trang web và ứng dụng desktop, có thể phát triển bằng bất kỳ ngôn ngữ nào, và hệ thống Core Banking của ngân hàng có thể trao đổi thông tin với nhau một cách dễ dàng, thuận tiện mà không cần phải xây dựng ra một hệ thống chương trình chuyển đổi trung gian. Như vậy, nếu như Web Service được ứng dụng và triển khai rộng rãi thì các công việc cần xử lý sẽ đơn giản, nhẹ nhàng hơn nhiều mà mọi hoạt động vẫn diễn ra nhịp nhàng, uyển chuyển và ăn khớp với nhau. 1.1.4. Cấu trúc của Web Service Web Service, theo chuẩn SOAP 1.2 của W3C [8], bao gồm có các thành phần sau: Trỏ đến mô tả dịch vụ Trỏ Tìm kiếm dịch vụ Người sử dụng dịch vụ đế n dịc hv Mô tả dịch vụ ụ Giao tiếp bằng thông điệp XML Hình 1.5: Thành phần của Web Service SOAP – Simple Object Access Protocol: giao thức chuẩn cho việc gửi và nhận các thông điệp thông qua giao thức HTTP và các giao thức truyền thông 11 Đinh Thị Huyền Trang – K11T3 Internet khác. WSDL – Web Services Description Language: ngôn ngữ dựa trên XML, được dùng với mục đích mô tả chính xác các giao diện lập trình của các Web Service. UDDI – Universal Description Discovery and Integration: chuẩn đăng ký nghiệp vụ, dùng cho việc lập chỉ mục các Web Service, để các công cụ phát triển và các ứng dụng có thể định vị, tìm kiếm được các Web Service. 1.2. Các công nghệ nền tảng của Web Service 1.2.1 XML 1.2.1.1. Khái niệm về XML XML, viết tắt của chữ eXtensible Markup Language, là ngôn ngữ được tổ chức mạng toàn cầu (W3C) định nghĩa. Trong HTML, các thẻ được định nghĩa và quy định trước, còn trong XML người dùng được phép tự do đặt tên các cặp thẻ để dùng khi cần. Với khả năng này, XML không những cho phép mô tả cấu trúc dữ liệu văn bản mà còn cho cả các kiểu dữ liệu khác, như hình ảnh, âm thanh. Điểm khác biệt chính giữa HTML và XML là, trong khi các cặp thẻ của HTML chứa ý nghĩa về cách trình bày (formatting) các dữ liệu, thì các cặp thẻ của XML còn bao hàm nội dung cả về cấu trúc và trình diễn của dữ liệu. Khi muốn trình bày các dữ kiện của một trang XML theo một kiểu nào đó, phục vụ hiển thị trên các thiết bị khác nhau, ta dùng một bảng định kiểu (Style Sheet) tương ứng cho nó [14]. Ví dụ, muốn trình bày cùng một nội dung tài liệu XML nhưng hiển thị trên hai thiết bị khách nhau, một trên PC và một trên Mobile Phone (điện thoại di động), ta sẽ dùng hai Style Sheet khác nhau, một cho PC, cái kia cho Mobile Phone. 1.2.1.2. Các quy tắc cú pháp của XML Các quy tắc cú pháp của XML được định nghĩa rất đơn giản nhưng chặt chẽ giúp cho XML dễ học và dễ sử dụng. Các tài liệu XML sử dụng các cú pháp tự mô tả chính nó. Xét ví dụ về một tài liệu XML sau: 12
- Xem thêm -

Tài liệu liên quan