Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
713,55 KB
Nội dung
SOA Phạm Hồng Phong - SoICT – HUST SOA Kiến trúc hướng dịch vụ - Service oriented Architecture SOA SOA Một tập hợp dịch vụ web Tạo khả giao tiếp dịch vụ web Kết nối dịch vụ web mềm dẻo, lỏng lẻo SOA Các mô hình lập trình trước ñây Lập trình hướng cấu trúc / SSADM (C/Pascal) Lập trình hướng ñối tượng / OOADM & CBD (C++/Java) + kết hợp mềm dẻo, ñộc lập tảng, giao tiếp chuẩn & chia nhỏ công việc ñến mức = Service Oriented Architecture Tiếp cận SOA Các ứng dụng ñóng gói Giai ñoạn trung gian: dịch vụ ñơn lẻ ñược phân tách Kiến trúc hướng dịch vụ Tiếp cận SOA Ví dụ: Dịch vụ thu ngân Ngân hàng dựa hướng dịch vụ Các kiểu thu ngân khác tạo dịch vụ khác Người thu ngân ñược nghiệp vụ hóa ñể phải thực loại giao dịch ñó Ví dụ: o Quản lý tài khoản (mở ñóng tài khoản) o Tín dụng (yêu cầu phải thẩm ñịnh ñiều kiện, tư vấn, yêu cầu cho việc chấp) o Gửi/lấy tiền mặt (chuyển khoản, ñặt cọc, thu hồi vốn) o Đổi ngoại tệ (mua bán tiền tệ nước ngoài) SOA o Rất nhiều nhân viên thu ngân xử lý loại dịch vụ khác (giúp giảm tải công việc cho công ty, tránh lỗi) o Chúng ta ñược chi tiết ñiều xảy sau quầy thu ngân (ñược che chắn kính chống nổ, sắt!!) o Nếu yêu cầu giao dịch phức tạp, ta phải giao tiếp với nhiều nhân viên (Khách hàng giống ñiều phối viên giao dịch!!) Thuật ngữ khái niệm Một dịch vụ - service gói chức ñã ñược chuẩn hóa liên quan mật thiết với Được gọi nhiều lần (theo giao dịch khác nhau) Được thực tính chuyên biệt Ví dụ: Quản lý Tài khoản Một dịch vụ ñược phân rã & bao gồm nhiều hàm dịch vụ Ví dụ: Mở Tài khoản Đơn vị nhỏ bên hàm dịch vụ ñược gọi dịch vụ nguyên thủy Ví dụ: Thủ tục phát sinh Số tài khoản Thuật ngữ khái niệm Các ñặc tính miêu tả ñầy ñủ dịch vụ Người yêu cầu dịch vụ - Service requester (“Client”) o Xác định ai/ thành phần sử dụng dịch vụ o Đối với họ, tính dịch vụ cung cấp quan trọng nhất, không cần biết thực bên (hộp đen) – quy tắc đóng gói thông tin thực thi Thuật ngữ khái niệm Nhà cung cấp dịch vụ - Service provider(“Server”) o Ai/thành phần thực thi hay cung cấp dịch vụ o Có trách nhiệm cho việc cung cấp địa dịch vụ, đảm bảo chất lượng QoS o Có thể yêu cầu trả phí cho dịch vụ o Chất lượng dịch vụ(QoS) o Bao gồm tập tham số để đánh giá chất lượng o Ví dụ: độ tin cậy, chi phí, thời gian thực thi, cấp độ bảo mật, dự báo kết quả, đảm bảo … 10 Ưu ñiểm thiết kế SOA Mềm dẻo hơn, quy tắc nghiệp vụ logic tiến trình nghiệp vụ không ñược nhúng nhiều bên ứng dụng Kết là: Các tiến trình thay đổi dễ Các dịch vụ có dùng nhiều ngữ cảnh khác Giảm chi phí vận hành tính ñồng Dư thừa chức dịch vụ bị hạn chế nhiều Kết o Ít máy chủ o Ít quyền o Chi phí bảo trì thấp 18 Ưu ñiểm thiết kế SOA Chất lượng tốt Hạn chế dư thừa làm giảm hành vi liệu không đồng Trong suốt Kiến trúc hệ thống cải thiện, dễ hiểu Hạn chế rủi ro, chi phí ñộ phức tạp phát triển Tăng suất cho LTV thông qua tính tái sử dụng Các dự án giúp thúc đẩy dịch vụ có 19 Chất lượng kiến trúc phần mềm 20 SOA more … Khung nhìn khái niệm SOA 21 SOA more … Trong kiến trúc hướng dịch vụ, dịch vụ nghiệp vụ tương tác với theo cách mà dịch vụ nhà hàng tương tác Kiến trúc hệ thống xử lý ñơn hàng SOA giống nhau: 22 Các thành phần SOA 23 Các thành phần SOA Application frontend: phần tử hoạt ñộng SOA, ñưa giá trị SOA tới người dùng cuối Khởi tạo ñiều khiển tất hoạt ñộng hệ thống doang nghiệp Ứng dụng web, ứng dụng GUI, … Dịch vụ: thành phần phần mềm mà ñóng gói bên chức nghiệp vụ mức cao Contract: cung cấp ñặc tả mục ñích, tính năng, buộc sử dụng dịch vụ 24 Các thành phần SOA Interface: chức dịch vụ ñược thấy Client Implementation: Thực thi dịch vụ cung cấp logic nghiệp vụ liệu thích hợp Nó chứa: chương trình, cấu hình, liệu datasets Business logic: tiến trình nghiệp vụ ñược biểu diễn dịch vụ Data: liệu ñược sử dụng dịch vụ Service repository: ñăng ký dịch vụ thuộc tính chúng giúp việc khám phá dịch vụ dễ dàng hơn: hoạt ñộng, quyền truy xuất, người sở hữu, chất lượng, … 25 Các thành phần SOA Enterprise Service Bus: hạ tầng mềm dẻo giúp tích hợp ứng dụng dịch vụ cách ñơn giản bằng: ñịnh tuyến thông ñiệp, giao thức truyền liệu người yêu cầu dịch vụ, thực kiện nghiệp vụ, cung cấp QoS, bảo mật quản lý tương tác dịch vụ Open standards: chuẩn thực thi sẵn có mạng 26 Dịch vụ kiểu dịch vụ 27 Dịch vụ kiểu dịch vụ Các kiểu dịch vụ Ứng dụng frontend: GUI -> pha thiết kế & thực thi Các dịch vụ bản: liệu& logic (dịch vụ ngang) -> từ sơ ñồ quan hệ Entity Các dịch vụ trung gian: gateway, adapters -> thêm dịch vụ Các dịch vụ hướng tiến trình: hoạt ñộng nghiệp vụ (dịch vụ dọc) Các dịch vụ doanh nghiệp công khai: thông suốt doanh nghiệp, bảo mật, tự trị Yếu tố quan trọng SOA tìm dịch vụ nghiệp vụ ñịnh nghĩa phạm vi 28 SOA Stack 29 Case study SOA 30 Case study SOA 31 32 [...]... nghiệp vụ tương tác với nhau theo cách mà các dịch vụ của một nhà hàng tương tác Kiến trúc cơ bản của một hệ thống xử lý ñơn hàng và SOA là giống nhau: 22 Các thành phần của SOA 23 Các thành phần của SOA Application frontend: phần tử hoạt ñộng của SOA, ñưa giá trị của SOA tới người dùng cuối Khởi tạo và ñiều khiển tất cả các hoạt ñộng của hệ thống doang nghiệp Ứng dụng web, ứng dụng GUI, … Dịch vụ:... thiết kế SOA Chất lượng tốt hơn Hạn chế dư thừa làm giảm các hành vi và dữ liệu không đồng nhất Trong suốt hơn Kiến trúc hệ thống được cải thiện, dễ hiểu hơn Hạn chế rủi ro, chi phí và ñộ phức tạp phát triển Tăng năng suất cho các LTV thông qua tính tái sử dụng Các dự án có thể giúp thúc đẩy các dịch vụ đang có 19 Chất lượng của kiến trúc phần mềm 20 SOA more … Khung nhìn khái niệm của SOA 21 SOA more... các hoạt ñộng nghiệp vụ (dịch vụ dọc) 5 Các dịch vụ doanh nghiệp công khai: thông suốt doanh nghiệp, bảo mật, tự trị Yếu tố quan trọng nhất trong SOA là tìm ra các dịch vụ nghiệp vụ và ñịnh nghĩa phạm vi của nó 28 SOA Stack 29 Case study SOA 30 Case study SOA 31 32 ... tại độc lập với ứng dụng và thể hiện giao diện cho các chức năng Thiết kế các phần tử cho một SOA o Các thành phần: các dịch vụ (có thể là nhiều dịch vụ kết hợp), người dùng (consumer) và nhà cung cấp (provider) o Kiểu kết nối: kích hoạt dịch vụ từ xa 15 Thuật ngữ và các khái niệm Các quy tắc cấu hình cho một SOA oKhông phân tầng rõ rệt: việc thực thi dịch vụ có thể sử dụng các dịch vụ khác oKhông ñiều... ứng dụng GUI, … Dịch vụ: thành phần phần mềm mà ñóng gói bên trong các chức năng nghiệp vụ mức cao Contract: cung cấp ñặc tả về mục ñích, tính năng, rằng buộc và sử dụng dịch vụ 24 Các thành phần của SOA Interface: chức năng của dịch vụ ñược thấy bởi Client Implementation: Thực thi dịch vụ cung cấp các logic nghiệp vụ và dữ liệu thích hợp Nó chứa: chương trình, cấu hình, dữ liệu và datasets Business... bởi dịch vụ Service repository: ñăng ký các dịch vụ và thuộc tính của chúng giúp việc khám phá các dịch vụ dễ dàng hơn: các hoạt ñộng, quyền truy xuất, người sở hữu, chất lượng, … 25 Các thành phần của SOA Enterprise Service Bus: một hạ tầng mềm dẻo giúp tích hợp các ứng dụng và dịch vụ một cách ñơn giản bằng: ñịnh tuyến các thông ñiệp, các giao thức truyền dữ liệu giữa người yêu cầu và dịch vụ, thực... Dịch vụ tìm kiếm tính năng sản phẩm, quảng lý ñịa chỉ, dịch vụ truy vết trạng thái ñơn ñặt hàng, dịch vụ tra cứu quảng cáo … Một tổ chức có nhiều cách ñể cấu trúc hóa một hệ thống lớn 17 Ưu ñiểm thiết kế SOA Mềm dẻo hơn, các quy tắc nghiệp vụ và các logic tiến trình nghiệp vụ không ñược nhúng nhiều bên trong các ứng dụng Kết quả là: Các tiến trình được thay đổi dễ hơn Các dịch vụ đang có có thế được dùng .. .SOA Kiến trúc hướng dịch vụ - Service oriented Architecture SOA SOA Một tập hợp dịch vụ web Tạo khả giao tiếp dịch vụ web Kết nối dịch vụ web mềm dẻo, lỏng lẻo SOA Các mô hình... 20 SOA more … Khung nhìn khái niệm SOA 21 SOA more … Trong kiến trúc hướng dịch vụ, dịch vụ nghiệp vụ tương tác với theo cách mà dịch vụ nhà hàng tương tác Kiến trúc hệ thống xử lý ñơn hàng SOA. .. thống xử lý ñơn hàng SOA giống nhau: 22 Các thành phần SOA 23 Các thành phần SOA Application frontend: phần tử hoạt ñộng SOA, ñưa giá trị SOA tới người dùng cuối Khởi tạo ñiều khiển tất hoạt ñộng