Công nghệ web service và ứng dụng để xây dựng kiến trúc hướng dịch vụ

16 325 0
Công nghệ web service và ứng dụng để xây dựng kiến trúc hướng dịch vụ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Bình Giang CÔNG NGHỆ WEB SERVICE VÀ ỨNG DỤNG ĐỂ XÂY DỰNG KIẾN TRÚC HƯỚNG DỊCH VỤ LUẬN VĂN THẠC SĨ Hà Nội – 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Bình Giang CÔNG NGHỆ WEB SERVICE VÀ ỨNG DỤNG ĐỂ XÂY DỰNG KIẾN TRÚC HƯỚNG DỊCH VỤ Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN VIỆT HÀ Hà Nội – 2009 LỜI CẢM ƠN Lời em xin chân thành cảm ơn TS Nguyễn Việt Hà – Trƣởng Bộ môn Công nghệ Phần mềm, Trƣờng Đại học Công nghệ - tận tình hƣớng dẫn, bảo giúp đỡ em trình hoàn thành luận văn Em xin cảm ơn tới thầy cô giáo Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà nội nói chung, Khoa Công nghệ Thông tin nói riêng truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt thời gian học tập trƣờng Em xin gửi lời cảm ơn tới Ban lãnh đạo Trung tâm CNTT - Ngân hàng TMCP Công Thƣơng Việt Nam tạo điều kiện thuận thời gian xếp công việc suốt trình học tập hoàn thành luận văn Tuy nhiên thời gian trình độ có hạn nên luận văn tránh khỏi thiếu sót Rất mong nhận đƣợc đóng góp ý kiến thầy cô giáo, bạn bè, quan tâm tới vấn đề để luận văn đƣợc hoàn thiện Trân trọng cảm ơn! Hà Nội, 12/2009 Nguyễn Thị Bình Giang MỤC LỤC LỜI CẢM ƠN .4 MỤC LỤC BẢNG KÝ HIỆU CÁC CHỮVIẾT TẮT DANH MỤC CÁC BẢNG .9 DANH MỤC CÁC HÌNH 10 MỞĐẦU 11 CHƯƠNG TỔNG QUAN VỀ WEB SERVICE Error! Bookmark not defined 1.1 Các công nghệ hỗ trợ trước web service Error! Bookmark not defined 1.2 Web service Error! Bookmark not defined 1.3 Lợi ích việc sử dụng web service Error! Bookmark not defined 1.4 Kiến trúc tổng quan web service Error! Bookmark not defined CHƯƠNG CÁC CÔNG NGHỆ NỀN TẢNG CỦA WEB SERVICE Error! Bookmark not defined 2.1 XML Error! Bookmark not defined 2.1.1 Khái niệm XML Error! Bookmark not defined 2.1.2 Các quy tắc cú pháp XML Error! Bookmark not defined 2.1.3 XML có đị nh dạng tốt (Well-formed XML)Error! Bookmark not defined 2.1.4 XML đắn (Valid XML) Error! Bookmark not defined 2.1.5 Không gian tên (Namespaces) Error! Bookmark not defined 2.1.6 Tên viết tắt (Qualified Names - QNames) Error! Bookmark not defined 2.1.7 CDATA Error! Bookmark not defined 2.1.8 Trình diễn liệu XML web Error! Bookmark not defined 2.2 SOAP Error! Bookmark not defined 2.2.1 Đặc trưng SOAP Error! Bookmark not defined 2.2.2 Cấu trúc thông điệp (Message) theo dạng SOAP Error! Bookmark not defined 2.2.3 SOAP HTTP Error! Bookmark not defined 2.3 WSDL Error! Bookmark not defined 2.4 UDDI Error! Bookmark not defined 2.5 Hoạt động chung web service Error! Bookmark not defined CHƯƠNG ỨNG DỤNG WEB SERVICE ĐỂ XÂY DỰNG KIẾN TRÚC HƯỚNG DỊ CH VỤError! Bookmark not defined 3.1 Tổng quan kiến trúc hướng dị ch vụ Error! Bookmark not defined 3.1.1 SOA gì? Error! Bookmark not defined 3.1.2 Các lợi ích SOA: Error! Bookmark not defined 3.1.3 Khi sử dụng SOA ? Error! Bookmark not defined 3.1.4 Mối quan hệ web service kiến trúc hướng dị ch vụ (SOA) Error! Bookmark not defined 3.2 vụ Bài toán ứng dụng công nghệ Web Service xây dựng kiến trúc hướng dị ch Error! Bookmark not defined 3.2.1 Mô tả hoạt động web service Error! Bookmark not defined 3.2.2 Đặc tả hệ thống giao tiếp Error! Bookmark not defined 3.2.3 Đặc tả giao diện kết nối Error! Bookmark not defined CHƯƠNG THỰC NGHIỆM Error! Bookmark not defined 4.1 Thực nghiệm Error! Bookmark not defined 4.1.1 Giao dị ch vấn tin tài khoản (Account Inquiry)Error! Bookmark not defined 4.1.1 Giao dị ch cập nhật số dư tài khoản (Balance Update)Error! Bookmark not defined 4.2 Đánh giá kết thực nghiệm Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 13 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Tên viết tắt STT Tên đầy đủ CORBA Common Object Request Broker Architecture DCOM Distributed Component Object Model DLL Dynamic Link Library ESB Enterprise Service Bus FTP File Transfer Protocol HTTP Hypertext Transfer Protocol RMI Remote Method Invocation RPC Remote Procedure Call SMTP Simple Mail Transfer Protocol 10 SOA Service – Oriented Architecture 11 SOAP Simple Object Access Protocol 12 UDDI Universal Description, Discovery, and Integration 13 WSDL Web Service Definition Language 14 XML eXtensible Markup Language DANH MỤC CÁC BẢNG Bảng 2.1: Các thành phần logic web service 43 Bảng 1: Bảng mô tả chi tiết trường phần header thông điệp Error! Bookmark not defined Bảng 4.2: Bảng mô tả chi tiết trường phần liệu thông điệp gửi điError! Bookmark not defined Bảng 4.3: Bảng mô tả chi tiết trường phần liệu thông điệp trả vềError! Bookmark not defined Bảng 4: Bảng mô tả chi tiết trường phần liệu thông điệp gửi điError! Bookmark not defined DANH MỤC CÁC HÌNH Hình 1.1: Kiến trúc Web Service Error! Bookmark not defined Hình 2.1: Mô hình trình diễn liệu XML Web Error! Bookmark not defined Hình 2.2: SOAP với giao thức HTTP, SMTP, Raw TCP/IP Error! Bookmark not defined Hình 2.3: Cấu trúc thông điệp SOAP Error! Bookmark not defined Hình 2.4: SOAP message path Error! Bookmark not defined Hình 2.5: Message path thông điệp SOAP purchase-Order Error! Bookmark not defined Hình 6: Mô hình hoạt động SOAP Error! Bookmark not defined Hình 2.7: Thông điệp yêu cầu SOAP Error! Bookmark not defined Hình 2.8: Thông điệp hồi đáp SOAP Error! Bookmark not defined Hình 2.9: Cấu trúc WSDL Error! Bookmark not defined Hình 2.10: Các thành phần logic web service 45 Hình 2.11: Biểu đồ ca sử dụng web service 46 Hình 2.12: Biểu đồ 46 Hình 3.1: Mô hình SOA phát triển lên từ mô hình đối tượng Error! Bookmark not defined.0 Hình 3.2: Mô hình kết nối hệ thống Error! Bookmark not defined Hình 3.3: Mô hình kiến trúc SOA cho ngân hàng IBM 53 Hình 3.4: Hệ thống theo kiến trúc SOA sử dụng công nghệ WS 55 Hình 3.5: Thông điệp theo đị nh dạng ABCS Error! Bookmark not defined Hình 3.6: File đặc tả trường header Error! Bookmark not defined Hình 4.1: Thông điệp gửi đến Error! Bookmark not defined Hình 4.2: Thông điệp sau thêm header chuyển sang định dạng hệ thống core 58 Hình 4.3: Thông điệp gửi đến Error! Bookmark not defined Hình 4.4: Giao diện luông xử lý thông điệp Error! Bookmark not defined Hình 4.5: Thao tác với file đặc tả WSDL .61 Hình 4.6: Luồng xử lý nút Inquiry 62 Hình 4.7: Giao diện làm việc với môi trường coding 62 Hình 4.8: Đoạn lập trình thao tác làm việc với core 63 Hình 4.9: Giao diện web service Error! Bookmark not defined Hình 4.10: Giao diện đăng ký web service với UDDIRegistry Error! Bookmark not defined Hình 4.11: Thử nghiệm với thông điệp đầu vào giao dịch Vấn tin TK 64 Hình 4.12: Kết trả .65 MỞ ĐẦU Tích hợp liệu (Data Integration) qui trình trao đổi liệu hệ thống quản lý thông tin kinh doanh để đƣa đƣợc thông tin đầy đủ nhằm phục vụ mục đích quản trị Khi hai ứng dụng (Applications) trao đổi liệu dựa thông tin qui trình định sẵn, gọi tích hợp ứng dụng (Enterprise Application Integration EAI) Thông thƣờng triển khai phần mềm, doanh nghiệp gặp phải vấn đề khó khăn để liệu từ phần mềm khác (về mặt kiến trúc định nghĩa liệu), phục vụ cho mục đích phận nghiệp vụ khác đƣợc tập trung hệ thống quản lý tài trung tâm, nhằm đáp ứng nhu cầu thông tin quản lý để ban lãnh đạo kịp thời định Trong bối cảnh cạnh tranh ngày khốc liệt nay, doanh nghiệp phải đối mặt đối thủ khổng lồ, với hệ thống thông tin tích hợp đại xác nhu cầu tích hợp thiết cho doanh nghiệp muốn đứng vững thị trƣờng [4] Trong trình hình thành doanh nghiệp, doanh nghiệp quản lý phần mềm thƣờng theo nhu cầu tự phát, thiếu tính chiến lƣợc – Các phần mềm chủ yếu doanh nghiệp mua tự phát triển để đáp ứng đƣợc nhanh yêu cầu quản lý nghiệp vụ Khi có nhu cầu cao hơn, doanh nghiệp lại tiếp tục phát triển phần mềm nâng cấp phần mềm có để nhằm thỏa mãn nhu cầu khác Dần dà, doanh nghiệp nhận sở hữu nhiều phần mềm, phần mềm thỏa mãn đƣợc nhu cầu đó, nhƣng phần mềm lại không chia sẻ liệu với nhau, phối hợp với cách thiếu đồng Đến thời điểm hệ thống nhƣ bộc lộ nhiều khuyết điểm nhiều nguyên nhân khách quan nhƣ chủ quan nhƣ sau [3]: - Các phần mềm thiếu kiến trúc chuẩn liệu đồng - Các phần mềm thiếu sở đồng hạ tầng - Do doanh nghiệp phát triển nhanh chóng, số lƣợng giao dịch tăng làm ảnh hƣởng đến hoạt động phần mềm mà mục đích sử dụng cho giao dịch đơn lẻ - Có nhiều phần mềm nhỏ lẻ, khó quản lý, chi phí cho đội ngũ quản lý bảo trì phần mềm lớn - Việc báo cáo định kỳ đòi hỏi phối hợp trao đổi liệu phòng ban, Ban điều hành chậm nhận đƣợc báo cáo tình hình hoạt động doanh nghiệp, gây chậm trễ việc định - Việc quản lý trở nên khó kiểm soát doanh nghiệp có nhiều chi nhánh phận nƣớc nƣớc ngoài, hay công ty muốn chuyển đổi thành tập đoàn hay công ty đa quốc gia Để khắc phục điểm yếu trên, doanh nghiệp thƣờng chọn hai giải pháp: Chọn mua phần mềm hoàn toàn mới, có tất chức cần thiết cho việc quản lý tổng thể với chi phí phần mềm chi phí triển khai, bảo trì cao với chuyển đổi liệu phức tạp Xác định phần mềm tích hợp trung tâm (Central Integration Hub), liên kết đồng liệu từ hệ thống đơn lẻ hệ thống tích hợp này, sau gửi liệu đƣợc cập nhật trực tuyến đến hệ thống khác Gần đây, số doanh nghiệp lớn nƣớc bắt đầu chuyển sang mua triển khai phần mềm ERP đƣợc sử dụng nhiều giới nhƣ Oracle, SAP, Sun System , phần mềm chuyên biệt cho hệ thống khách sạn, bảo hiểm, ngân hàng, bệnh viện với chi phí đầu tƣ lên đến vài trăm nghìn vài triệu USD Không phải tất doanh nghiệp nghĩ đến toán Tích hợp hệ thống Họ chọn nhiều phần mềm khác để triển khai Có công ty chọn Oracle cho kế toán tài chính; SAP cho phân hệ CRM; Solomon cho kho bãi phân phối [4] Triển khai nhƣ có lợi sử dụng đƣợc tất mạnh phần mềm, nhƣng việc tích hợp hệ thống tƣơng lai toán khó cho đội ngũ IT mạnh mẽ Trƣớc thực trạng ta thấy đƣợc toán tích hợp ứng dụng hệ thống toán mà doanh nghiệp gặp phải, nhiên, việc sử dụng công nghệ để tích hợp hệ thống lại toán khác Nếu trƣớc đây, ngƣời ta thƣờng đề cập đến nhiều công nghệ khác nhƣ COM (Common Object 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 năm gần đây, thuật ngữ “Web service” đƣợc nhiều ngƣời nhắc đến nhƣ giải pháp lý tƣởng cho toán tích hợp doanh nghiệp Và nhắc đến Web Service, ngƣời ta thƣờng coi cách thức hiệu để xây dựng kiến trúc hƣớng dịch vụ SOA (Service Oriented Architecture) – kiểu kiến trúc đƣợc đánh giá có khả đem lại cho doanh nghiệp kiến trúc linh hoạt khả chuyển Bài luận văn tập trung vào hai nội dung là: tìm hiểu khái niệm web service, vai trò web service việc tích hợp ứng dụng khả ứng dụng Web service việc xây dựng kiến trúc hƣớng dịch vụ nhƣ Các phần lại luận văn đƣợc cấu trúc nhƣ sau: TÀI LIỆU THAM KHẢO Tiếng Việt: [1] PHẠM HẢI,“IBM chia sẻ kinh nghiệm SOA”, Tạp chí PC World [2] NGUYỄN PHƢƠNG LAN, HOÀNG ĐỨC HẢI (2001), “XML tảng ứng dụng”, Nhà xuất Giáo Dục [3] NGÂN HÀNG CÔNG THƢƠNG VIỆT NAM (2010), “Giải pháp tích hợp với bên tích hợp nội cho Vietinbank”, tr.10-12 [4] NGUYỄN QUANG (2008); “Tổng quan tích hợp ứng dụng”; Tạp chí PC World, tr 24-26 [5] BÙI QUANG THÁI (2006); “SOA Web Services”, Diễn đàn Java Việt Nam [6] NGUYỄN ANH TUẤN; “Tìm hiểu SOA”; Tạp chí Thế giới vi tính [7] “Phát triển dịch vụ toán trung gian”, Tạp chí Thế giới vi tính Tiếng Anh: [8] ELIZABETH BOOK (2006), “Web Services in Retail Banking” [9] SANDEEP CHATTERJEE, JAMES WEBBER (2003), “Developing Enterprise Web Services: An Architec’s Guide”, Prentice Hall [10] THOMAS ERL (2005), “Service-Oriented Architecture-Concepts, Technology, and Design”, Prentice Hall, pp.26-67 [11] BILL EVJENET (2007); “Professional XML”, Wrox Press, pp.34-90 [12] ITNOW EXTRA (2006) “The future of banking technology?” [13] SHARAD GARG (2004), “Web Services Architecture Requirements”, http://www.w3.org/TR/wsa-reqs/ [14] RICHARDMONSON HAEFEL (2003), “J2EE Web Services”, Addition Wesley, pp 39-69 [15] REI LAI (2003), “J2EE Platform Web Services”, Prentice Hall [16] QUSAY H MAHMOUD (2005), “Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI)”, http://java.sun.com/developer/technicalArticles/WebServices/soa/ [17] FILIP NOWAK, MOHSIN QASIM, “A Comparison of Distributed Object Technologies CORBA vs DCOM” [18] OBJECT MANAGEMENT GROUP (2009), “COBRA BASIC” http://www.omg.org/gettingstarted/corbafaq.htm [19] DAVID REILLY ,“Introduction to Java RMI” [20] CHIYOUNG SEO, “Web Service Architecture” [...]... quả để xây dựng kiến trúc hƣớng dịch vụ SOA (Service Oriented Architecture) – một trong những kiểu kiến trúc đƣợc đánh giá là có khả năng đem lại cho doanh nghiệp một kiến trúc linh hoạt và khả chuyển Bài luận văn tập trung vào hai nội dung chính là: tìm hiểu những khái niệm cơ bản về web service, và vai trò của web service trong việc tích hợp ứng dụng và khả năng ứng dụng của Web service trong việc xây. .. tích hợp ứng dụng ; Tạp chí PC World, tr 24-26 [5] BÙI QUANG THÁI (2006); “SOA và Web Services”, Diễn đàn Java Việt Nam [6] NGUYỄN ANH TUẤN; “Tìm hiểu SOA”; Tạp chí Thế giới vi tính [7] “Phát triển dịch vụ thanh toán trung gian”, Tạp chí Thế giới vi tính Tiếng Anh: [8] ELIZABETH BOOK (2006), Web Services in Retail Banking” [9] SANDEEP CHATTERJEE, JAMES WEBBER (2003), “Developing Enterprise Web Services:... service trong việc xây dựng kiến trúc hƣớng dịch vụ nhƣ thế nào Các phần còn lại của luận văn đƣợc cấu trúc nhƣ sau: TÀI LIỆU THAM KHẢO Tiếng Việt: [1] PHẠM HẢI,“IBM chia sẻ kinh nghiệm SOA”, Tạp chí PC World [2] NGUYỄN PHƢƠNG LAN, HOÀNG ĐỨC HẢI (2001), “XML nền tảng và ứng dụng , Nhà xuất bản Giáo Dục [3] NGÂN HÀNG CÔNG THƢƠNG VIỆT NAM (2010), “Giải pháp tích hợp với bên ngoài và tích hợp nội bộ cho... đủ nhằm phục vụ mục đích quản trị Khi hai ứng dụng (Applications) trao đổi dữ liệu dựa trên thông tin của các qui trình định sẵn, chúng ta gọi là tích hợp ứng dụng (Enterprise Application Integration hay là EAI) Thông thƣờng khi triển khai phần mềm, doanh nghiệp đều gặp phải vấn đề khó khăn là làm sao để dữ liệu từ các phần mềm khác nhau (về mặt kiến trúc và định nghĩa dữ liệu), phục vụ cho các mục... thƣờng đề cập đến nhiều công nghệ khác nhau nhƣ COM (Common Object 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 thì những năm gần đây, thuật ngữ Web service đƣợc rất nhiều ngƣời nhắc đến nhƣ là một giải pháp lý tƣởng cho bài toán tích hợp doanh nghiệp Và khi nhắc đến Web Service, ngƣời ta thƣờng... 2.9: Cấu trúc của WSDL Error! Bookmark not defined Hình 2.10: Các thành phần logic của web service 45 Hình 2.11: Biểu đồ ca sử dụng của web service 46 Hình 2.12: Biểu đồ tuần tự 46 Hình 3.1: Mô hình SOA phát triển lên từ mô hình đối tượng Error! Bookmark not defined.0 Hình 3.2: Mô hình kết nối giữa 2 hệ thống Error! Bookmark not defined Hình 3.3: Mô hình kiến trúc SOA... thiếu một kiến trúc và chuẩn dữ liệu đồng nhất - Các phần mềm thiếu cơ sở đồng nhất về hạ tầng - Do doanh nghiệp phát triển nhanh chóng, số lƣợng giao dịch tăng làm ảnh hƣởng đến hoạt động của phần mềm mà mục đích chỉ sử dụng cho các giao dịch đơn lẻ - Có quá nhiều phần mềm nhỏ lẻ, khó quản lý, chi phí cho đội ngũ quản lý và bảo trì phần mềm rất lớn - Việc báo cáo định kỳ đòi hỏi sự phối hợp và trao... kho bãi và phân phối [4] Triển khai nhƣ thế có lợi là sẽ sử dụng đƣợc tất cả thế mạnh của mỗi phần mềm, nhƣng việc tích hợp các hệ thống này trong tƣơng lai sẽ là một bài toán khó cho bất kỳ một đội ngũ IT mạnh mẽ nào Trƣớc thực trạng trên ta thấy đƣợc bài toán tích hợp ứng dụng trong các hệ thống là bài toán mà bất kỳ doanh nghiệp nào cũng có thể gặp phải, tuy nhiên, việc sử dụng công nghệ nào để có... Hình 4.9: Giao diện web service Error! Bookmark not defined Hình 4.10: Giao diện đăng ký web service với UDDIRegistry Error! Bookmark not defined Hình 4.11: Thử nghiệm với thông điệp đầu vào của giao dịch Vấn tin TK 64 Hình 4.12: Kết quả trả về .65 MỞ ĐẦU Tích hợp dữ liệu (Data Integration) là qui trình trao đổi dữ liệu giữa các hệ thống quản lý thông tin kinh doanh để đƣa ra đƣợc thông...DANH MỤC CÁC HÌNH Hình 1.1: Kiến trúc của Web Service Error! Bookmark not defined Hình 2.1: Mô hình trình diễn dữ liệu XML trên Web Error! Bookmark not defined Hình 2.2: SOAP với các giao thức HTTP, SMTP, và Raw TCP/IP Error! Bookmark not defined Hình 2.3: Cấu trúc của thông điệp SOAP Error! Bookmark not defined Hình 2.4: SOAP message path ... HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Bình Giang CÔNG NGHỆ WEB SERVICE VÀ ỨNG DỤNG ĐỂ XÂY DỰNG KIẾN TRÚC HƯỚNG DỊCH VỤ Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60... động chung web service Error! Bookmark not defined CHƯƠNG ỨNG DỤNG WEB SERVICE ĐỂ XÂY DỰNG KIẾN TRÚC HƯỚNG DỊ CH VỤError! Bookmark not defined 3.1 Tổng quan kiến trúc hướng dị ch vụ Error!... sử dụng SOA ? Error! Bookmark not defined 3.1.4 Mối quan hệ web service kiến trúc hướng dị ch vụ (SOA) Error! Bookmark not defined 3.2 vụ Bài toán ứng dụng công nghệ Web Service xây dựng kiến

Ngày đăng: 15/12/2016, 15:23

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan