1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về lập trình hướng dịch vụ – service oriented programming

34 1.2K 5

Đ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

Tìm hiểu về lập trình hướng dịch vụ – service oriented programming

Tìm hiểu Lập trình hướng dịch vụ ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  Bài Khóa Luận Mơn học Ngun Lý Phương Pháp Lập Trình Tên đề tài: Tìm hiểu Lập Trình Hướng Dịch Vụ – ServiceOriented Programming GVHD HV Lớp Thái Hoàng Danh – CH0901009 TS.Nguyễn Tuấn Đăng CH0901009 Cao Học K4 Tìm hiểu Lập trình hướng dịch vụ Mục Lục Danh mục bảng Danh mục hình Lời giới thiệu .5 CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG DỊCH VỤ CHƯƠNG 2: CÁC PHẦN TỬ VÀ ĐẶC TRƯNG CỦA LẬP TRÌNH HƯỚNG DỊCH VỤ 2.1 Các phần tử (element) lập trình hướng dịch vụ .7 2.2 Các đặc trưng SOP 2.3 Ngôn ngữ mô tả kiến trúc – ADL 2.4 Các mẫu hỗ trợ cho SOP 10 2.4.1 Mẫu Java .10 2.4.1 Mẫu Jini 12 2.4.1 Mẫu Openwings 14 2.5 Xử lí hư hỏng dịch vụ 18 2.5.1 Giải pháp không làm “DO-NOTHING” 19 2.5.2 Truyền ngoại lệ (exception) 20 2.5.3 Xác định dịch vụ khác 20 2.5.4 Sử dụng ủy quyền dịch vụ 22 CHƯƠNG 3: CƠNG NGHỆ CHO LẬP TRÌNH HƯỚNG DỊCH VỤ 22 3.1 Microsoft NET 23 3.2 HP Cooltown 24 3.3 Jini 25 3.4 Openwings 26 CHƯƠNG 4: BÀI TỐN SỬ DỤNG MƠ HÌNH LẬP TRÌNH HƯỚNG DỊCH VỤ 26 4.1 Giới thiệu toán 27 4.2 Giải pháp theo SOP cho toán 27 4.3 Lợi ích tiếp cận tốn theo SOP 31 CHƯƠNG 5: KẾT LUẬN 32 Tài liệu tham khảo 33 Thái Hoàng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ Danh mục bảng Bảng 1: Mẫu Contracts .12 Bảng 2: Mẫu Mobility 1213 Bảng 3: Mẫu Code Security 14 Bảng 4: Mẫu Lease 14 Bảng 5: Mẫu Discovery .14 Bảng 6: Mẫu Lookup 14-15 Bảng 7: Mẫu Service Security .15 Bảng 8: Mẫu Service User Interfaces 15 Bảng 9: Mẫu Components 16 Bảng 10: Mẫu Connectors 16-17 Bảng 11: Mẫu Container 17 Bảng 12: Mẫu Context .17-18 Bảng 13: Mẫu Installer 18 Bảng 14: Mẫu Policy .18-19 Thái Hoàng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ Bảng 15: Mẫu Proxy 19 Bảng 16: Mẫu Management .19 Bảng 17: NET Component cho SOP .24 Bảng 18: NET Element cho SOP 24 Bảng 19: Các đặc tính SOP NET .25 Bảng 20: Các HP Cooltown Element 25 Bảng 21: Các đặc tính HP Cooltown .25-26 Bảng 22: Các Element Jini 26 Bảng 23: Các đặc trưng SOP Jini 26 Bảng 24: Các phần tử SOP Openwings 27 Bảng 25: Các đặc trưng SOP Openwings 27 Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ Danh mục hình Hình 1: Ví dụ ADL 11 Hình 2: ADL cho hệ thống MP3 30 Hình 3: Hệ thống MP3 31 Lời giới thiệu Do nhu cầu phát triển phần mềm người phát triển nhiều ngơn ngữ lập trình khác Từ C C++ C# Java Các ngơn ngữ phát triển dựa nhiều mơ hình lập trình khác từ lập trình thủ tục lập trình hàm lập trình hướng đối tượng Và mơ hình lập trình sử dụng tốn đặc thù Tuy nhiên mơ hình lập trình khơng giúp cho lập trình viên giảm bớt cơng việc phát triển phần mềm khả sử dụng lại thấp Với mục đích sử dụng lại nhiều tốt mơ hình lập trình đời dựa tảng của lập trình hướng đối tượng lập trình hướng dịch vụ Nội dung trình bày chương bên cung cấp cho người đọc có nhìn tổng thể lập trình hướng dịch vụ – SOP Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG DỊCH VỤ Với phát triển vượt bậc công nghệ mạng, người trở nên gần gủi thông qua kết nối rộng lớn Mọi người gửi email hay tin nhắn tới gia đình hay chia liệu qua hệ thống web Trên trang web, sử dụng nhiều dịch vụ như: điện thoại internet miễn phí, phiên dịch văn bản, so sánh giá cả, đấu giá trực tuyến Các dịch vụ thân hữu ích, Internet phát triển không ngừng; việc kết nối dịch vụ lại với để tạo dịch vụ mạnh mẽ điều khó khăn Ví dụ, dịch vụ tự động gọi điện thoại cho người hàng mà họ muốn mua hay đấu giá thỏa mức giá ban đầu Việc sử dụng dịch vụ internet không theo cách làm người tạo điều khó khăn Nguyên nhân dẫn đến việc giao tiếp [interface] không định nghĩa đầy đủ hay thiếu tài liệu mô tả interface Sức mạnh hệ thống mạng internet đánh giá cách đầy đủ ta tích hợp dịch vụ để tạo dịch vụ với kiến trúc mạnh mẽ Để hiểu lập trình hướng dịch vụ (Service-Oriented Programming), cần có kiến thức vài mơ hình lập trình đời trước bao gồm: lập trình hướng đối tượng (ObjectOriented Programming , OOP), lập trình khách chủ (Client-Server), mơ hình thành phần (Component Models) Như biết, OOP xây dựng vấn đề lập trình mơ hình hóa khái niệm đối tượng Lập trình hướng đối tượng có vài đặc trưng như: thừa kế (inheritance), bao đóng (encapsulation) đa xạ (polymorphism), trừu tượng (abstraction) Cịn lập trình hướng dịch vụ (Service-Oriented Programming) xây dựng dựa OOP, thêm vào tiền đề giúp cho mơ hình hóa tốn khái niệm dịch vụ (Services) mà cung cấp sử dụng đối tượng Sau tìm hiểu khái niệm dịch vụ: Dịch vụ (Service) hành vi (behavior) mang tính hợp đồng định nghĩa trước Các hành vi thực thành phần (component) nào, cung cấp thành phần nào, dựa hợp đồng Dịch vụ sử Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ dụng dịch vụ khác Mơ hình thành phần (component models) qui định tốn lập trình xem hộp đen, chúng triển khai cách độc lập giao tiếp với thơng qua hơp đồng Mơ hình client-server truyền thống không không định nghĩa trước hợp đồng công cộng (public contract) client server Việc thực client server độc lập Một client kết nối hay giao tiếp với client Trong mơ hình SOP có khác biệt, client khơng bị bó buột với server Thay vào đó, vai trị người cung cấp dịch vụ thay đổi qua lại client server CHƯƠNG 2: CÁC PHẦN TỬ VÀ ĐẶC TRƯNG CỦA LẬP TRÌNH HƯỚNG DỊCH VỤ 2.1 Các phần tử (element) lập trình hướng dịch vụ Hợp đồng (Contract): giao diện (interface) định nghĩa cú pháp ngữ nghĩa hành vi (behavior) đơn lẽ Thành phần (Component): phần tử tính tốn có khả triển khai, có khả sử dụng lại tính độc lập với platform, giao thức (protocol), môi trường triển khai Bộ nối hay đầu nối (Connector): đóng gói cho phần chi tiết phương thức vận tải (transport) đặc thù contract cụ thễ Đây phần tử có khả triển khai Bộ chứa (Container): môi trường cho việc thực thi component Nó chịu trách nhiệm quản lí tính sẵn sàng (availability) bảo mật Ngữ cảnh (Context): môi trường cho việc triển khai thành phần (bao gồm plug play) Nó mơ tả chi tiết việc cài đặt, bảo mật, khám phá tìm kiếm Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ 2.2 Các đặc trưng SOP Tính liên kết (conjunctive): Điều nói đến khả sử dụng kết hợp dịch vụ theo cách khác với cách thức tạo chúng Nó hàm ý dịch vụ tạo interface mà dễ dàng nhận Khả triễn khai (deployable): Điều nói đến khả triển khai sử dụng lại thành phần mơi trường Điều địi hỏi độc lập môi trường bao gồm độc lập vận tải (transport), độc lập tảng (platform) độc lập ngữ cảnh Tính lưu động (mobile): Điều nói đến khả di chuyển mã xung quanh mạng Nó sử dụng để di chuyển proxy, giao diện người dùng dịch vụ di động Tính sẵn sàng (available): Là tiền đề quan trọng lập trình hướng dịch vụ nghĩa mạng lưới nguồn tài nguyên dư thừa đảm bảo sẵn sàng cao cho SOP Đây mục tiêu SOP để xử lí lỗi xảy tính tốn phân bố Sự bảo mật – Security: Những khái niệm mã di động mạng lưới dịch vụ có khả khám phá đưa đến thách thức mặt bảo mật Trong SOP cho phép giới hạn sử dụng dịch vụ rộng hơn, khơng thể thành công thiếu việc bảo vệ dịch vụ trước việc dụng không đắn 2.3 Ngôn ngữ mô tả kiến trúc – ADL Chỉ giống lập trình hướng đối tượng có ngơn ngữ mơ hình riêng UML, lập trình hướng dịch vụ định nghĩa ngơn ngữ cho việc hơ hình hóa dựa ngôn ngữ mô tả cấu trúc (architecture description language) ADL bao gồm khái niệm thành phần (components), đầu nối (connectors), vai trò (roles), cổng (ports) ADL kí hiệu chuẩn cho việc biểu diễn kiến trúc giúp nâng cấp việc giao tiếp, hình mẫu cho thiết kế ban đầu, cho việc tạo trừu tượng cho hệ thống chuyển nhượng, khứ việc sử dụng hình vẽ hình hộp đường để biểu diễn thành phần, thuộc tính, ngữ nghĩa kết nối, hành vi toàn hệ thống Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ ADL kết việc tiếp cận mang tính ngơn ngữ cho việc biểu diễn thức kiến trúc hệ thống ADL tập trung vào việc biểu diễn thành phần hệ thống Các điểm mạnh điểm yếu ADL • ADL cơng cụ thức cho việc biểu diễn hệ thống • Con người máy có khả đọc ADL • ADL hỗ trợ việc mô tả hệ thống cấp độ cao hôn trước • ADL cho phép phân tích kiến trúc – bao gồm đầy đủ, quán, nhập nhằng, hiệu • ADL hỗ trợ việc tạo tự động hệ thống phần mềm • Khơng có thỏa thuận chung cho việc ADL nên biểu diễn gì, đặc biệt hành vi kiến trúc • Cách biểu diễn sử dụng thật khó để phân tích cú pháp, khơng có cơng cụ thương mại hỗ trợ việc phân tích • Đa số ADL tối ưu theo chiều dọc dạng đặc biệt phân tích Sau ví dụ ADL Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ Hình 1: ví dụ ADL 2.4 Các mẫu hỗ trợ cho SOP Một phần quan trọng SOP việc định nghĩa sử dụng mẫu Đa số mẫu áp dụng cho lập trình hướng dịch vụ thừa kế từ mẫu JAVA, Jini, Openwings Sau mẫu áp dụng cho SOP: 2.4.1 Mẫu Java Jini phát triển hầu mạnh từ JAVA, vậy, mẫu liên quan tới JAVA trình bày Để tiết kiệm thời gian, mẫu phân tích khía cạnh sau: • Tên • Bài tốn mà mẫu giải • Ngữ cảnh • Giải pháp mà mẫu sử dụng để giải tốn Thái Hồng Danh – CH0901009 Tìm hiểu Lập trình hướng dịch vụ // continue… Ví dụ giải pháp Do-nothing 2.5.2 Truyền ngoại lệ (exception) Giải pháp “khơng làm gì” hồn tồn không phù hợp với hầu hết trường hợp Như lựa chọn, RemoteException truyền lại xự lí mức cao hơn: • Các thành phần có giao diện người dùng đưa vào trạng thái nơi mà giao diện chờ vài hành động người dùng, hành động khởi tạo dịch vụ tìm kiếm dịch vụ khác • Các thành phần sử dụng dịch vụ hướng phiên giao dịch nơi mà thông tin phù hợp với việc dịch vụ thành phần, thông tin ghi nhớ thông qua chuỗi lời gọi thay thơng qua lời gọi Việc khơi phục trường hợp địi hỏi mã cố gắng quay trở lại trạng thái tốt nơi thích hợp với việc tìm sử dụng dịch vụ khác 2.5.3 Xác định dịch vụ khác Một cách tiếp cận khác cố gắng khôi phục cách xác định dịch vụ tương đương khác Mã sử dụng dịch vụ đặt vào vòng lặp để cố gắng xác định dịch vụ tương đương khác Nếu dịch vụ thích hợp tìm thấy, thành phần tiếp tục thao tác bình thường boolean success = false; int tries = 0; while (!success && tries

Ngày đăng: 12/12/2015, 09:43

Xem thêm: Tìm hiểu về lập trình hướng dịch vụ – service oriented programming

TỪ KHÓA LIÊN QUAN

Mục lục

    CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG DỊCH VỤ

    CHƯƠNG 2: CÁC PHẦN TỬ VÀ ĐẶC TRƯNG CỦA LẬP TRÌNH HƯỚNG DỊCH VỤ

    2.1 Các phần tử (element) của lập trình hướng dịch vụ

    2.2 Các đặc trưng của SOP

    2.3 Ngôn ngữ mô tả kiến trúc – ADL

    2.4 Các mẫu hỗ trợ cho SOP

    2.5 Xử lí các hư hỏng của dịch vụ

    2.5.1 Giải pháp không làm gì “DO-NOTHING”

    2.5.2 Truyền các ngoại lệ (exception)

    2.5.3 Xác định các dịch vụ khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w