ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

90 655 1
ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Đ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

Kiến trúc phần mềm của một hệ thống mô tả các thành phần của hệ thống và cách thức các thành phần này tương tác với nhau; tương tác giữa các thành phần được gọi là “liên kết” (connector) [1].

Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM Danh mục từ viết tắt STT Từ viết tắt CBD CORBA DCOM IDL JINI JMS HTTP NASSL RMI 10 SDL 11 SOA Giải nghĩa Phát triển hướng thành phần Component-Based Development Kiến trúc môi giới yêu cầu đối tượng chung Common Object Request Broker Architecture Mơ hình đối tượng thành phần phân tán Distributed Component Object Model Ngôn ngữ đặc tả giao diện Interface Description Language Hạ tầng mạng thông minh cho Java Java Intelligent Network Infrastructure Dịch vụ thông điệp Java Java Message Service Giao thức truyền siêu văn HyperText Transfer Protocol Ngôn ngữ đặc tả dịch vụ có khả truy cập qua mạng Network Accessible Service Specification Language Triệu gọi phương thức từ xa Remote Method Invocation Ngôn ngữ đặc tả dịch vụ Service Description Language Kiến trúc hướng dịch vụ Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 STT Từ viết tắt Giải nghĩa Service-Oriented Architecture 12 SOAP 13 UDDI 14 WSDL 15 XML Giao thức truy cập đối tượng đơn giản Simple Object Access Protocol Mơ tả, tích hợp tìm kiếm tồn cầu Universal Description Discovery and Integration Ngôn ngữ đặc tả dịch vụ mạng Web Service Description Language Ngôn ngữ đánh dấu mở rộng eXtensible Markup Language Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Danh mục hình vẽ Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Mục lục Danh mục từ viết tắt Danh mục hình vẽ Mục lục .4 MỞ ĐẦU CHƯƠNG I LÝ THUYẾT KIẾN TRÚC HƯỚNG DỊCH VỤ Kiến trúc hướng dịch vụ - xu hướng công nghệ thông tin Kiến trúc hướng dịch vụ - giải pháp 10 2.1 Sự tiến hóa lý thuyết phát triển phần mềm .10 2.2 Kiến trúc hướng dịch vụ 13 2.3 Dịch vụ thành phần .21 Thiết kế theo kiến trúc hướng dịch vụ .25 3.1 Các nguyên tắc thiết kế hướng dịch vụ 26 3.2 Các định thiết kế kiến trúc kiến trúc hướng dịch vụ .26 3.3 Các mức độ chấp nhận kiến trúc hướng dịch vụ .29 3.4 Các bước quy trình phát triển phần mềm theo định hướng dịch vụ 30 3.5 Vòng đời phát triển dịch vụ 34 Các công nghệ hướng dịch vụ .35 4.1 Sun JINI 35 4.2 Openwings .37 4.3 Dịch vụ mạng 39 4.4 Enterprise Service Bus (ESB) 40 Kết luận chương 42 CHƯƠNG II CÔNG NGHỆ DỊCH VỤ MẠNG 43 Kiến trúc dịch vụ mạng .44 Các chuẩn cho dịch vụ mạng 45 2.1 Ngôn ngữ mô tả dịch vụ mạng WSDL 45 2.2 Giao thức truy cập đối tượng đơn giản SOAP 49 2.3 Đặc tả mơ tả tích hợp tìm kiếm UDDI .54 Các kiểu liên kết dịch vụ mạng 59 3.1 Liên kết tĩnh .59 3.2 Liên kết động thời gian xây dựng 60 3.3 Liên kết động thời gian chạy 62 Xây dựng dịch vụ mạng 63 5.1 Vòng đời dịch vụ mạng 63 5.2 Bảo mật dịch vụ mạng 64 5.3 Tính liên thơng dịch vụ mạng 69 Kết luận chương 70 Chương III: CÀI ĐẶT ỨNG DỤNG 71 Nhắc lại yêu cầu hệ thống xây dựng theo kiến trúc hướng dịch vụ 71 Mơ tả tốn 72 Cài đặt toán 74 3.1 Thành phần cung cấp dịch vụ 74 3.2 Thành phần sử dụng dịch vụ 79 3.3 Thành phần đăng ký dịch vụ 81 Các kết đạt 81 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Đánh giá ứng dụng 85 5.1 Ưu điểm 85 5.2 Các điểm hạn chế 86 KẾT LUẬN 87 Danh mục tài liệu tham khảo 89 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 MỞ ĐẦU Kiến trúc phần mềm hệ thống mô tả thành phần hệ thống cách thức thành phần tương tác với nhau; tương tác thành phần gọi “liên kết” (connector) [1] Trong hệ thống phần mềm có quy mơ lớn phức tạp kiến trúc hệ thống giữ vị trí quan trọng việc hiểu hệ thống, việc tổ chức phát triển tăng cường tái sử dụng Ngày nay, mà độ phức tạp phần mềm ngày tăng kiến trúc phần mềm truyền thống dường tiến tới giới hạn khả giải vấn đề chúng; đó, tổ chức cơng nghệ thơng tin phải đáp ứng yêu cầu đặt như: yêu cầu đáp ứng nhanh, yêu cầu giảm giá thành, yêu cầu khả thu hút tích hợp với đối tác v.v…, đặc biệt thay đổi nhanh chóng cơng nghệ Trong suốt bốn thập kỷ qua, thực tế phát triển phần mềm trải qua nhiều phương pháp phát triển khác Mỗi phương pháp xuất hướng tới mục tiêu quản lý độ phức tạp ngày tăng phần mềm cách đưa cấu trúc có mức độ đóng gói tăng dần: từ hàm (function), lớp (class), tới thành phần (component); cấu trúc xem phần mềm “hộp đen”, chúng che giấu cài đặt nhờ việc kiểm soát việc truy cập tới hành vi liệu thơng qua giao diện tường minh Ở mức độ đóng gói thấp, sử dụng đối tượng để che giấu liệu, mức độ đóng gói cao hơn, sử dụng thành phần để thực việc Việc sử dụng đối tượng để che giấu thông tin hoạt động tốt với hệ thống nhỏ, cho phép tạo cấu trúc phần mềm phản ánh đối tượng giới thực Vấn đề nảy sinh cố gắng nhóm số lượng lớn đối tượng với Mặc dù truy cập tới đối tượng điều khiển thơng qua giao diện chúng, mức độ đóng gói thấp đối tượng làm cho phụ thuộc chúng trở nên khó kiểm sốt hệ thống tương đối lớn Khái niệm thành phần phát triển giúp quản lý hệ thống lớn tốt hơn: thành phần định nghĩa nhóm đối tượng hoạt động để thực chức hệ thống Các công nghệ EJB (Enterprise Java Bean), NET, CORBA (Common Object Request Broker Architecture) tỏ hiệu việc cài đặt thành phần Phương pháp phát triển phần mềm dựa thành phần (Component-based Development - CBD) cho phép nhà phát triển tạo hệ thống phức tạp hơn, có chất lượng cao nhanh phương pháp phát triển phần mềm khác trước Nhưng xây dựng thành phần ngơn ngữ khác nhau, hay chí tảng khác (các thành phần không đồng nhất) cho hệ thống cần có khả tích hợp chúng lại với nhau, vấn đề nảy sinh: thành phần dùng cơng nghệ EJB địi hỏi việc triệu gọi phương thức thông qua RMI (Remote Method Invocation – Triệu gọi phương thức từ xa), đó, thành phần dùng cơng nghệ CORBA lại dùng IIOP (Internet Inter-ORB Protocol), nữa, thành phần định vị qua Internet, thông điệp chúng bị chặn tường lửa Ngay khơng gặp phải vấn đề để sử dụng thành phần, cần phải biết vị trí xác giao diện thành phần để giao diện thay đổi, phải thay đổi cách gọi đến chúng Vì số lượng người dùng thành phần Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 lớn nên việc tạo phụ thuộc có quy mơ lớn, khó kiểm sốt Vậy làm giải vấn đề này? Kiến trúc hướng dịch vụ (Service-oriented architecture, viết tắt SOA) phát triển xem bước đột phá kiến trúc phần mềm giúp giải vấn đề “khủng hoảng” phần mềm Sự xuất công nghệ dịch vụ mạng (Web services) vài năm trở lại tạo quan tâm mạnh mẽ tới kiến trúc Web service thực hóa việc phát triển hệ thống theo kiến trúc hướng dịch vụ cách tự nhiên dễ dàng Web service kiến trúc hướng dịch vụ thay đổi cách cách thức xây dựng hệ thống nội (các hệ thống thông tin hỗ trợ tổ chức) cách hệ thống nội tương tác với hệ thống bên ngồi mà chưa kiến trúc trước thực Thuật ngữ “dịch vụ” kiến trúc hướng dịch vụ khái niệm mới: ứng dụng khách/chủ (client/server) năm 90 sử dụng “dịch vụ” để khả thực lời gọi phương thức từ xa Kiến trúc hướng dịch vụ đặc biệt đề cao tính liên thơng (interoperability) suốt vị trí dịch vụ, nói tới dịch vụ kiến trúc hướng dịch vụ nói việc thiết kế xây dựng hệ thống sử dụng thành phần phần mềm không đồng Sử dụng công nghệ dịch vụ mạng kiến trúc hướng dịch vụ đem lại lợi ích sau: • Mở rộng lựa chọn mặt cơng nghệ • Các hệ thống xây dựng linh hoạt nhạy bén • Giảm thời gian phát triển • Giảm chi phí bảo trì Trong đồ án tốt nghiệp này, người viết đồ án (NVĐA) trình bày lý thuyết kiến trúc hướng dịch vụ công nghệ dịch vụ mạng, công nghệ xóa bỏ rào cản cơng nghệ để tạo hệ thống phần mềm có tính tích hợp cao, lựa chọn cơng nghệ dịch vụ mạng thích hợp cho việc cài đặt ứng dụng theo kiến trúc hướng dịch vụ lợi ích ứng dụng xây dựng theo kiến trúc hướng dịch vụ Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 CHƯƠNG I LÝ THUYẾT KIẾN TRÚC HƯỚNG DỊCH VỤ Kiến trúc hướng dịch vụ sóng phát triển ứng dụng Nó xem tập hợp khái niệm kiến trúc mô hình lập trình Chương trình bày khái niệm :  Sự tiến hóa kỹ thuật phát triển phần mềm  Kiến trúc hướng dịch vụ phát triển phần mềm theo kiến trúc hướng dịch vụ  Các công nghệ giúp thực hóa triết lý kiến trúc hướng dịch vụ Kiến trúc hướng dịch vụ - xu hướng công nghệ thông tin Trong nhà quản lý công nghệ thông tin phải đối đầu với việc giảm giá thành tối đa lợi ích cơng nghệ có, họ phải liên tục cố gắng để phục vụ khách hàng tốt hơn, trở nên cạnh tranh phản ứng nhanh với chiến lược doanh nghiệp Có hai yếu tố ẩn sau áp lực này, tính không đồng hệ thống thay đổi nhanh mặt công nghệ Phần lớn doanh nghiệp ngày gồm nhiều hệ thống, ứng dụng kiến trúc khác với thời gian tồn cơng nghệ khác Việc tích hợp sản phẩm từ nhiều nhà cung cấp nhiều tảng thực điều khó khăn Nhưng cố gắng tiếp cận theo kiểu nhà cung cấp cơng nghệ thơng tin ứng dụng kiến trúc hỗ trợ không mềm dẻo Sự thay đổi công nghệ yếu tố thứ hai mà nhà quản lý công nghệ thông tin phải đối mặt Sự tồn cầu hố kinh doanh điện tử làm tăng tốc thay đổi Sự tồn cầu hố dẫn tới cạnh tranh gay gắt việc rút ngắn chu kỳ sản xuất để chiếm ưu đối thủ cạnh tranh Các thay đổi yêu cầu nhu cầu khách hàng nhanh chóng tác động phân phối cạnh tranh phong phú thông tin sản phẩm Internet Do lại thúc đẩy việc cải tiến sản phẩm dịch vụ diễn nhanh Các cải tiến công nghệ tiếp tục tăng, làm tăng thay đổi yêu cầu khách hàng Doanh nghiệp phải nhanh chóng thích nghi để tồn tại, chưa kể đến việc phải thành công môi trường cạnh tranh động ngày nay, hạ tầng công nghệ thông tin phải đem lại khả thích nghi cho doanh nghiệp Vì vậy, tổ chức kinh doanh phát triển từ phân chia doanh nghiệp theo chiều dọc, cô lập năm 1980 trước thành cấu trúc trọng quy trình kinh doanh theo chiều ngang năm 1980, 1990, tới mơ hình kinh Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 doanh doanh nghiệp có tác động lẫn Các dịch vụ kinh doanh ngày cần phải thành phần hoá phân tán Cần trọng vào dây chuyền cung cấp mở rộng, cho phép khách hàng đối tác truy cập tới dịch vụ kinh doanh Hình 1.1: Sự phát triển công ty Làm để môi trường công nghệ thông tin trở nên linh hoạt nhạy bén thay đổi yêu cầu kinh doanh? Làm để hệ thống ứng dụng không đồng trao đổi với cách liền mạch? Làm để đạt mục tiêu kinh doanh mà không làm phá sản doanh nghiệp? Đã có nhiều giải pháp đề song song với phát triển vấn đề kinh doanh, hình 1.2 Hiện nay, nhiều nhà quản lý chuyên gia công nghệ thông tin tin tiến ngày gần tới câu trả lời với kiến trúc hướng dịch vụ (SOA) Hình 1.2: Sự phát triển kiến trúc Để đáp ứng nhu cầu khơng đồng nhất, tính liên thơng thay đổi yêu cầu không ngừng, kiến trúc phải đem lại tảng cho việc xây dựng dịch vụ ứng dụng với đặc tính sau: • Liên kết lỏng lẻo (Loosely coupled) • Vị trí suốt (Location transparent) • Độc lập giao thức (Protocol independent) Dựa kiến trúc hướng dịch vụ vậy, người dùng dịch vụ chí không cần phải quan tâm tới dịch vụ cụ thể mà trao đổi thơng tin hạ tầng sở, tuyến dịch vụ (service bus), tạo lựa chọn thích hợp cho Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 người dùng Các đặc tả kỹ thuật cụ thể từ công nghệ cài đặt khác J2EE hay NET không làm ảnh hưởng tới người dùng SOA Người dùng có khả cân nhắc thay cài đặt dịch vụ tốt tồn dịch vụ khác có chất lượng tốt Kiến trúc hướng dịch vụ - giải pháp 2.1 Sự tiến hóa lý thuyết phát triển phần mềm Trước giải thích kiến trúc hướng dịch vụ chất khái niệm tạo nên kiến trúc hướng dịch vụ, cần phải hiểu lịch sử phát triển kiến trúc hướng dịch vụ cách nhìn lại khó khăn mà nhà phát triển phần mềm phải đối mặt vài thập kỷ qua xem xét giải pháp đưa để giải khó khăn Những người lập trình sớm nhận việc viết phần mềm ngày phức tạp Họ cần cách tốt để sử dụng lại đoạn mã viết Khi nhà nghiên cứu quan tâm tới vấn đề này, họ đưa khái niệm thiết kế mô đun Với quy tắc thiết kế mơ đun, lập trình viên có khả viết hàm chương trình sử dụng lại mã viết Đó bước đột phá điều tuyệt vời cho việc xây dựng phần mềm Cách có hiệu tốt thời gian, từ 1960 đến 1980 Hình 1.3: Phát triển phần mềm theo mơ đun Nhưng sau đó, lập trình viên lại nhận thấy họ thực việc cắt dán mô đun vào ứng dụng khác, điều bắt đầu tạo ác mộng bảo trì: lỗi phát hàm đó, họ phải kiểm tra tất ứng dụng có sử dụng hàm thay đổi mã để sửa chữa Những nhà phát triển không muốn điều này, họ cần mức trừu tượng cao Các nhà nghiên cứu đưa khái niệm lớp phần mềm hướng đối để giải vấn đề Phương pháp phát triển phần mềm hướng đối tượng có hiệu thời gian, từ 1980 đến 1990 10 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 File index: chứa từ cần tra (HeadWord), địa từ tính từ đầu file (tính theo byte) dạng mã BASE64, độ dài từ (tính theo byte) dạng mã BASE64 Ví dụ: acceptable MkG DB Dịch vụ cung cấp phương thức: - string LookUp (string HeadWord): trả xâu biểu diễn định nghĩa từ file data Ví dụ: LookUp(acquit) trả xâu: @acquit * ngoại động từ - trả hết, trang trải (nợ nần) =to acquit one's debt trang trải hết nợ nần+ tha bổng, tha tội, tuyên bố trắng án =to be acquitted of one's crime+ tha bổng - to acquit oneself of làm xong, làm trọn (nghĩa vụ, bổn phận ) =to acquit oneself of a promise+ làm trọn lời hứa =to acquit oneself of one's task+ làm trọn nhiệm vụ !to acquit oneself - làm bổn phận mình, làm trọn phận mình; xử =to acquit oneself ill+ làm khơng tốt phần mình, xử xấu - string LookUpXML(string HeadWord): trả xâu biểu diễn nghĩa từ dạng XML (để định dạng file CSS) Ví dụ: LookUpXML(acquit) trả xâu: 76 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 acquit ngoại động từ trả hết, trang trải (nợ nần) to acquit one's debt trang trải hết nợ nần tha bổng, tha tội, tuyên bố trắng án to be acquitted of one's crime tha bổng to acquit oneself of làm xong, làm trọn (nghĩa vụ, bổn phận ) to acquit oneself of a promise làm trọn lời hứa to acquit oneself of one's task làm trọn nhiệm vụ to acquit oneself làm bổn phận mình, làm trọn phận mình; xử sự to acquit oneself ill làm khơng tốt phần mình, xử xấu Cài đặt dịch vụ sử dụng cấu trúc AVL cấu trúc điển hình việc xây dựng ứng dụng từ điển Cây AVL dạng nhị phân, nhiên, không giống nhị phân, thời gian tìm kiếm xâu AVL O(logn) Cấu trúc liệu AVL đạt thời gian tìm kiếm nhanh giới hạn chênh lệch chiều cao nút thực việc cân lại giới hạn bị vi phạm Dịch vụ từ điển tạo thành từ lớp sau: public class AvlNode: Cài đặt cấu trúc nút avl public class AvlTree: Cài đặt avl 77 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 public class LoadDict: Tải từ điển vào avl cài đặt phương thức tra cứu từ public class BASE64Converter: Chuyển đổi dạng số thập phân mã BASE64 public class XMLGenerator: Sinh xâu có nội dung file XML từ xâu trả tra cứu nghĩa từ Tạo đặc tả giao diện WSDL: Giả sử dịch vụ sau tạo có địa sau: http://localhost/EVDictionary/EVDictionary.asmx Khi đó, ta xem file đặc tả giao diện WSDL địa chỉ: http://localhost/EVDictionary/EVDictionary.asmx?WSDL Kiểm thử: VS NET tự động cung cấp trang kiểm thử cho dịch vụ mạng tạo Trang có giao diện sau: Hình 3.4: Trang kiểm thử dịch vụ mạng Nhập từ vào ô HeadWord ấn Invoke để xem kết Triển khai (đăng ký) dịch vụ: 78 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Sau dịch vụ kiểm thử, đăng ký với dịch vụ UDDI Hình 3.5: Đăng ký dịch vụ với UDDI 3.2 Thành phần sử dụng dịch vụ Thành phần cung cấp dịch vụ thành phần sử dụng dịch vụ liên kết động với nhau, theo mơ hình liên kết động chương 2, phần Hình 3.6: Mơ hình liên kết dịch vụ mạng động Các bước xây dựng: Tìm đặc tả cài đặt dịch vụ Tạo triển khai ủy nhiệm dịch vụ 79 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Gọi dịch vụ Tìm đặc tả cài đặt dịch vụ: Đặc tả dịch vụ tìm kiếm nhờ dịch vụ UDDI Hình 3.7: Tìm kiếm UDDI Tạo triển khai ủy nhiệm dịch vụ: Sau tìm đặc tả giao diện phù hợp, bước tạo ủy nhiệm dịch vụ nhờ cơng cụ wsdl.exe NET Hình 3.8: Sử dụng cơng cụ wsdl.exe Gọi dịch vụ: 80 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Việc gọi dịch vụ thực thông qua ủy nhiệm dịch vụ, kết tạo ứng dụng tra từ điển từ dịch vụ mạng mà không cần biết cài đặt chi tiết dịch vụ 3.3 Thành phần đăng ký dịch vụ Hiện giới có nơi đăng ký dịch vụ công cộng Microsoft ( http://www.uddi.microsoft.com ) IBM ( http://www-3.ibm.com/services/uddi/ ) quản lý Khi nhà cung cấp dịch vụ đăng ký hay cập nhật dịch vụ nơi đăng ký thơng tin dịch vụ cập nhật tới nơi đăng ký cịn lại vịng 24 Chỉ có Windows 2003 (trừ Web Edition), Microsoft cho phép tích hợp nơi đăng ký dịch vụ riêng để sử dụng mạng nội bộ, dịch vụ UDDI (UDDI Services – thành phần không cài mặc định) Dịch vụ UDDI cho phép xuất bản, cập nhật tìm kiếm dịch vụ nhà cung cấp dịch vụ Giao diện dịch vụ UDDI sau: Hình 3.9: Giao diện dịch vụ UDDI Các kết đạt Ứng dụng từ điển xây dựng từ dịch vụ từ điển khác Anh – Việt, Việt – Anh, Pháp – Việt, Việt – Pháp Giao diện chương trình: 81 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 3.10: Giao diện chương trình Thơng tin chi tiết dịch vụ sử dụng: Hình 3.11: Thơng tin chi tiết dịch vụ 82 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Khi thông tin dịch vụ thay đổi (chẳng hạn vị trí dịch vụ thay đổi) ứng dụng thực việc truy vấn UDDI để cập nhật thông tin dịch vụ mà không cần phải dịch lại chương trình Hình 3.12: Dịch vụ thay đổi Truy vấn UDDI thành công, ứng dụng lại hoạt động bình thường 83 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 3.13: Truy vấn thay đổi dịch vụ thành công Thông tin thay đổi dịch vụ thấy rõ xem thông tin chi tiết dịch vụ (để ý điểm truy cập dịch vụ thay đổi): 84 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 3.14: Thơng tin dịch vụ thay đổi Đánh giá ứng dụng 5.1 Ưu điểm Ứng dụng xây dựng theo định hướng dịch vụ, tức gồm có thành phần: thành phần cung cấp dịch vụ (các dịch vụ từ điển), thành phần sử dụng dịch vụ (ứng dụng tra từ xây dựng từ dịch vụ từ điển) thành phần đăng ký dịch vụ (dịch vụ UDDI Windows 2003), vậy, tách phần giao diện khỏi phần cài đặt Hơn nữa, xây dựng theo chế liên kết dịch vụ động nên đảm bảo tính linh hoạt dịch vụ thay đổi Ứng dụng có giao diện sử dụng thân thiện, thể tính chất cần có ứng dụng xây dựng theo kiến trúc hướng dịch vụ: Các dịch vụ có giao diện rõ ràng: Giao diện dịch vụ công bố UDDI, mô tả thông tin cần thiết chức tham số đầu vào, đầu ra, điểm truy cập dịch vụ, tạo giao ước sử dụng dịch vụ thành phần sử dụng thành phần cung cấp dịch vụ Một dịch vụ đơn vị phần mềm gồm hoạt động nghiệp vụ có tính tự chứa đựng mức độ đóng gói cao (coarse-grained): Các dịch vụ từ điển thực chức hồn chỉnh, tra từ Các dịch vụ độc lập tích hợp lại với ứng dụng để làm 85 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 nên ứng dụng tổng thể (từ điển đa ngôn ngữ) Mỗi dịch vụ lại cấu tạo từ nhiều lớp khác nhau: AvlNode, AvlTree, LoadDict, BASE64Converter, XMLGenerator Một dịch vụ cần có khả phát cách cơng khai cách sử dụng nơi đăng ký dịch vụ nhằm cho phép liên kết động tới dịch vụ: Điều thực thông qua việc sử dụng dịch vụ UDDI Các dịch vụ có tính liên thông: Do việc sử dụng dịch vụ cần biết đặc tả giao diện dịch vụ file WSDL tuân theo định dạng XML mà tảng hiểu khơng quan tâm tới cài đặt cụ thể dịch vụ, việc truyền thông lại dùng giao thức phổ biến HTTP nên dịch vụ mạng xây dựng hoạt động tương tác tảng Các dịch vụ không gắn kết chặt chẽ: Thành phần sử dụng thành phần cung cấp dịch vụ không gắn kết trực tiếp với mà thông qua thành phần đăng ký dịch vụ UDDI, điều đảm bảo cho tính mềm dẻo linh hoạt dịch vụ Các dịch vụ suốt vị trí: Sự thay đổi vị trí dịch vụ khơng làm ảnh hưởng tới thành phần sử dụng dịch vụ, thay đổi dịch vụ phản ánh UDDI, thành phần sử dụng dịch vụ truy vấn thông qua UDDI mà không liên kết trực tiếp tới dịch vụ 5.2 Các điểm hạn chế • Ứng dụng cung cấp chức tra từ • Chưa quan tâm tới vấn đề bảo mật cho dịch vụ mạng 86 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 KẾT LUẬN Khi độ phức tạp phần mềm tăng lên, nhà nghiên cứu ln tìm nhiều cách để khắc phục Kiến trúc hướng dịch vụ, với công nghệ dịch vụ mạng câu trả lời cuối cho vấn đề Trong khuôn khổ đồ án tốt nghiệp này, NVĐA trình bày khái niệm kiến trúc hướng dịch vụ công nghệ dịch vụ mạng, việc áp dụng công nghệ dịch vụ mạng để xây dựng ứng dụng theo định hướng dịch vụ Đây đề tài thú vị, khơng tính thời nó, mà tư xây dựng phần mềm Việc nghiên cứu đề tài kỹ thuật hướng dịch vụ giúp tơi có nhìn phát triển phần mềm, vấn đề kỹ thuật phát triển phần mềm Các kết đạt được: • Nắm chất mơ hình phát triển phần mềm tiến hóa chúng • Nghiên cứu chất, yêu cầu thành phần kiến trúc hướng dịch vụ • Hiểu lợi ích phát triển phần mềm theo kiến trúc hướng dịch vụ • Tìm hiểu cơng nghệ dịch vụ mạng, tính liên thông dịch vụ mạng chuẩn cho phép thực cơng nghệ dịch vụ mạng • Áp dụng thành công công nghệ dịch vụ mạng để xây dựng ứng dụng tra từ điển theo kiến trúc hướng dịch vụ Các hạn chế: Do trình độ chun mơn thời gian hạn hẹp nên đồ án không tránh khỏi có nhiều thiếu sót: • Chưa tìm hiểu sâu vấn đề bảo mật cho kiến trúc hướng dịch vụ • Chưa thử nghiệm nhiều tính liên thơng dịch vụ • Chưa thật hồn thiện chương trình ứng dụng • Chưa triển khai ứng dụng mạng Internet Hướng phát triển đề tài: • Tìm hiểu cơng nghệ khác áp dụng cho việc cài đặt kiến trúc hướng dịch vụ • Hồn thiện giao diện chức cho ứng dụng 87 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 • Phát triển chế bảo mật cho dịch vụ Việc nghiên cứu đề tài giúp nắm xu phát triển phần mềm - phát triển hướng dịch vụ, để từ áp dụng lợi điểm kỹ thuật phát triển vào sản phẩm tương lai mình, khả tiếp cận nắm bắt công nghệ, công cụ hỗ trợ cho việc phát triển phần mềm theo kiến trúc hướng dịch vụ Cuối cùng, lần xin chân thành cảm ơn TS Huỳnh Quyết Thắng, người định hướng cho hướng nghiên cứu đề tài người hướng dẫn, giúp đỡ tơi nhiều q trình thực đề tài Tơi xin cảm ơn gia đình bạn bè tạo điều kiện giúp đỡ tơi suốt q trình học tập thực đề tài 88 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Danh mục tài liệu tham khảo [1] Mark Endrei & others, Patterns: Service-Oriented Architecture and Web Services, IBM Press , 2004 [2] Scott Short, Building XML Web Services for the Microsoft NET Platform, Microsoft Press, 2002 [3] David S Linthicum, 12 Steps to implementing a Service-Oriented Architecture, http://itresearch.forbes.com/detail/RES/1098380700_642.html, 2004 [4] Micheal S Mimoso, A defining moment for SOA, http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci1017004, 00.html, 2004 [5] Bernhard Borges & others, Delving into Service-Oriented Architecture and Web Services, http://www.developer.com/design/article.php/10925_3409221 [6] Don Box, Four tenets to keep in mind when considering service orientation, http://weblogs.asp.net/sebastianweber/archive/2004/07/15/184113.aspx, 2004 [7] Connecticut Object-Oriented User Group, Service-Oriented Architecture, 2003 [8] Brent Carlson & Dmitry Tyomkin, Service-Oriented Architecture: Elements of good design, Business Integration, 2004 [9] Sayed Hashimi, Service-Oriented Architecture Explained, http://www.ondotnet.com/pub/a/dotnet/2003/08/18/soa_explained.html, 2003 [10] Friedemann Lindermann, Service-Oriented Requirements Engineering and Verification, UTHH, 2004 [11] Google, http://www.google.com [12] Vietnam Dictionary, http://vietdic.portal.vinacomm.com.vn/default.aspx 89 ... phần mềm  Kiến trúc hướng dịch vụ phát triển phần mềm theo kiến trúc hướng dịch vụ  Các công nghệ giúp thực hóa triết lý kiến trúc hướng dịch vụ Kiến trúc hướng dịch vụ - xu hướng công nghệ. .. II CÔNG NGHỆ DỊCH VỤ MẠNG Các chuẩn dịch vụ mạng đóng vai trị vô quan trọng cho việc xây dựng bảo trì ứng dụng kiến trúc hướng dịch vụ, dịch vụ mạng công nghệ cho phép cài đặt kiến trúc hướng dịch. .. thực kiến trúc hướng dịch vụ Mức độ 1: Cài đặt dịch vụ riêng lẻ Mức độ tạo dịch vụ từ nhiệm vụ có ứng dụng ứng dụng có Kiến trúc hướng dịch vụ đem lại khả thiết kế ứng dụng hệ thống cung cấp dịch

Ngày đăng: 24/04/2013, 22:06

Hình ảnh liên quan

3. DCOM Mô hình đối tượng thành phần phân tán - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

3..

DCOM Mô hình đối tượng thành phần phân tán Xem tại trang 1 của tài liệu.
ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG  - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM
ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG Xem tại trang 1 của tài liệu.
Bảng so sánh dưới đây cho ta thấy rõ ưu thế của phương pháp phát triển phần mềm hướng dịch vụ so với các phương pháp phát triển phần mềm trước đó. - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Bảng so.

sánh dưới đây cho ta thấy rõ ưu thế của phương pháp phát triển phần mềm hướng dịch vụ so với các phương pháp phát triển phần mềm trước đó Xem tại trang 13 của tài liệu.
Hình 1.13: Mô hình thành phần đơn đặt mua hàng - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 1.13.

Mô hình thành phần đơn đặt mua hàng Xem tại trang 23 của tài liệu.
Hình 1.15: Các tầng của SOA - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 1.15.

Các tầng của SOA Xem tại trang 28 của tài liệu.
Hình 1.18: Mô hình kiến trúc Jini - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 1.18.

Mô hình kiến trúc Jini Xem tại trang 36 của tài liệu.
Hình 1.19: Mô hình khung của Openwings - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 1.19.

Mô hình khung của Openwings Xem tại trang 38 của tài liệu.
Hình 1.20: Mô hình ESB - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 1.20.

Mô hình ESB Xem tại trang 40 của tài liệu.
So với mô hình lập trình truyền thống, cổng “glossaryTerms” có thể được xem là một thư viện hàm, “getTerm” là một hàm có “getTermRequest” là tham số vào và  “getTermResponse” là tham số trả về - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

o.

với mô hình lập trình truyền thống, cổng “glossaryTerms” có thể được xem là một thư viện hàm, “getTerm” là một hàm có “getTermRequest” là tham số vào và “getTermResponse” là tham số trả về Xem tại trang 47 của tài liệu.
Hình 2.2: Cấu trúc thông điệp SOAP - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 2.2.

Cấu trúc thông điệp SOAP Xem tại trang 50 của tài liệu.
Một cách đơn giản nhất để áp dụng mô hình STRIDE cho ứng dụng là xem xét mỗi loại nguy cơ sẽ có ảnh hưởng tới mỗi thành phần và các kết nối giữa các thành  phần như thế nào - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

t.

cách đơn giản nhất để áp dụng mô hình STRIDE cho ứng dụng là xem xét mỗi loại nguy cơ sẽ có ảnh hưởng tới mỗi thành phần và các kết nối giữa các thành phần như thế nào Xem tại trang 65 của tài liệu.
Bảng dưới đây liệt kê một số nguy cơ đối với hệ thống và cách thức làm giảm nhẹ mức độ ảnh hưởng của những nguy cơ này. - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Bảng d.

ưới đây liệt kê một số nguy cơ đối với hệ thống và cách thức làm giảm nhẹ mức độ ảnh hưởng của những nguy cơ này Xem tại trang 66 của tài liệu.
Hình 2.7: Một ví dụ dịch vụ mạng - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 2.7.

Một ví dụ dịch vụ mạng Xem tại trang 66 của tài liệu.
Hình 3.2: Biểu đồ trường hợp sử dụng của bài toán - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.2.

Biểu đồ trường hợp sử dụng của bài toán Xem tại trang 74 của tài liệu.
Cài đặt dịch vụ sử dụng cấu trúc cây AVL là cấu trúc điển hình trong việc xây dựng ứng dụng từ điển. - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

i.

đặt dịch vụ sử dụng cấu trúc cây AVL là cấu trúc điển hình trong việc xây dựng ứng dụng từ điển Xem tại trang 77 của tài liệu.
Hình 3.4: Trang kiểm thử dịch vụ mạng - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.4.

Trang kiểm thử dịch vụ mạng Xem tại trang 78 của tài liệu.
Hình 3.5: Đăng ký dịch vụ với UDDI - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.5.

Đăng ký dịch vụ với UDDI Xem tại trang 79 của tài liệu.
Hình 3.8: Sử dụng công cụ wsdl.exe - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.8.

Sử dụng công cụ wsdl.exe Xem tại trang 80 của tài liệu.
Hình 3.7: Tìm kiếm trong UDDI - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.7.

Tìm kiếm trong UDDI Xem tại trang 80 của tài liệu.
Hình 3.9: Giaodiện dịch vụ UDDI - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.9.

Giaodiện dịch vụ UDDI Xem tại trang 81 của tài liệu.
Hình 3.11: Thông tin chi tiết về dịch vụ - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.11.

Thông tin chi tiết về dịch vụ Xem tại trang 82 của tài liệu.
Hình 3.10: Giaodiện của chương trình - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.10.

Giaodiện của chương trình Xem tại trang 82 của tài liệu.
Hình 3.12: Dịch vụ thay đổi - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.12.

Dịch vụ thay đổi Xem tại trang 83 của tài liệu.
Hình 3.13: Truy vấn thay đổi dịch vụ thành công - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.13.

Truy vấn thay đổi dịch vụ thành công Xem tại trang 84 của tài liệu.
Hình 3.14: Thông tin về dịch vụ thay đổi - ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ CÔNG NGHỆ DỊCH VỤ MẠNG TRONG XÂY DỰNG PHẦN MỀM

Hình 3.14.

Thông tin về dịch vụ thay đổi Xem tại trang 85 của tài liệu.

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