intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

SOA

Chia sẻ: Cao Tuấn | Ngày: | Loại File: PDF | Số trang:32

89
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

SOA  Một tập hợp các dịch vụ web.  Tạo ra khả năng giao tiếp giữa các dịch vụ web.  Kết nối giữa các dịch vụ web hết sức mềm dẻo, lỏng lẻo.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 nền tảng, giao tiếp chuẩn & chia nhỏ công việc ñến mức có thể. = Service Oriented Architecture...

Chủ đề:
Lưu

Nội dung Text: SOA

  1. SOA Phạm Hồng Phong - SoICT – HUST
  2. SOA Kiến trúc hướng dịch vụ - Service oriented Architecture 2
  3. SOA SOA Một tập hợp các dịch vụ web Tạo ra khả năng giao tiếp giữa các dịch vụ web Kết nối giữa các dịch vụ web hết sức mềm dẻo, lỏng lẻo 3
  4. 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 nền tảng, giao tiếp chuẩn & chia nhỏ công việc ñến mức có thể = Service Oriented Architecture 4
  5. Tiếp cận SOA Các ứng dụng Giai ñoạn trung gian: Kiến trúc hướng ñóng gói các dịch vụ ñơn lẻ dịch vụ ñược phân tách ra 5
  6. Tiếp cận SOA Ví dụ: Dịch vụ thu ngân của Ngân hàng dựa trên hướng dịch vụ Các kiểu thu ngân khác nhau tạo ra các dịch vụ khác nhau Người thu ngân ñược nghiệp vụ hóa ñể chỉ phải thực hiện loại giao dịch nào ñó. Ví dụ: o Quản lý tài khoản (mở và ñóng các tài khoản) o Tín dụng (yêu cầu phải thẩm ñịnh các ñiều kiện, tư vấn, yêu cầu cho việc thế 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 và bán các tiền tệ nước ngoài) 6
  7. SOA o Rất nhiều các nhân viên thu ngân xử lý các loại dịch vụ khác nhau (giúp giảm tải công việc cho công ty, tránh lỗi) o Chúng ta không biết ñược chi tiết ñiều gì xảy ra sau quầy thu ngân (ñược che chắn bởi kính chống nổ, các thanh sắt!!) o Nếu yêu cầu một giao dịch phức tạp, có thể ta phải giao tiếp với rất nhiều các nhân viên (Khách hàng giống như một ñiều phối viên giao dịch!!) 7
  8. Thuật ngữ và các khái niệm Một dịch vụ - service là một gói các chức năng ñã ñược chuẩn hóa và liên quan mật thiết với nhau Được gọi nhiều lần (theo các giao dịch khác nhau) Được hiện thực bởi một tính năng chuyên biệt Ví dụ: Quản lý Tài khoản Một dịch vụ có thể ñược phân rã & bao gồm nhiều các hàm dịch vụ. Ví dụ: Mở Tài khoản Đơn vị con nhỏ nhất bên trong các hàm dịch vụ ñược gọi là dịch vụ nguyên thủy Ví dụ: Thủ tục phát sinh Số tài khoản tiếp theo 8
  9. Thuật ngữ và các khái niệm Các ñặc tính miêu tả ñầy ñủ về một dịch vụ Ngư i yêu c u d ch v - Service requester (“Client”) o Xác đ nh ai/ thành ph n nào s d ng d ch v o Đ i v i h , tính năng c a d ch v đư c cung c p là quan tr ng nh t, không c n bi t nó đư c th c hi n bên trong như th nào (h p đen) – quy t c đóng gói thông tin và th c thi 9
  10. Thuật ngữ và các khái niệm Nhà cung c p d ch v - Service provider(“Server”) o Ai/thành ph n nào th c thi hay cung c p d ch v o Có trách nhi m cho vi c cung c p đ a ch d ch v , 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 các 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 , các đ m b o … 10
  11. Thuật ngữ và các khái niệm Giao diện – Interface Một giao diện sẽ chứa ñặc tả về một dịch vụ, ñược thực thi bởi một thành phần nào ñó. Giao diện ñịnh nghĩa một thỏa thuận mà thành phần thực thi nó phải tuân theo Interface có thể ñược miêu tả sử dụng các ngôn ngữ ñịnh dạng Web Services Description Language (WSDL) OMG/ISO Interface Definition Language (IDL) (for CORBA) UML Object Constraint Language (OCL) Tương tự: Java, C++ headers, . . . Các giao diện an toàn kiểu lại thường có tính chất coupling rất chặt o Các kiểu thông ñiệp khác nhau là ñược phép ñối với một thông ñiệp 11
  12. Thuật ngữ và các khái niệm Kiến trúc phần mềm: bao gồm một tập các quyết ñịnh quan trọng về việc tổ chức/thiết kế một hệ thống phần mềm Lựa chọn các phần tử ñã ñược cấu trúc hóa từ hệ thống, và interface cho chúng Hành vi chỉ ra việc giao tiếp/cộng tác giữa các phần tử Phân rã/bố cục của các phần tử có hành vi và có cấu trúc bên trong một hệ thống lớn Kiểu kiến trúc áp dụng cho hệ thống này 12
  13. Thuật ngữ và các khái niệm Mẫu kiến trúc – Architectural Style Định nghĩa một họ các hệ thống theo các thuật ngữ như là một khuôn mẫu của tổ chức có cấu trúc Định nghĩa o Một bộ từ vựng cho các thành phần/phần tử như client, server, filter, layer, adapter, … và các kiểu kết nối như pipe, broadcast, queue, … o Một tập các quy tắc cấu hình (rằng buộc) chỉ ra cách thức các thành phần kết hợp với nhau 13
  14. Thuật ngữ và các khái niệm Ví dụ một mẫu kiến trúc phần mềm: hướng sự kiện (event-based), repository, các máy ảo, ña tầng, … 14
  15. Thuật ngữ và các khái niệm Kiến trúc hướng dịch vụ: mẫu kiến trúc gọi là hướng dịch vụ nếu như: Nó không d ng nguyên kh i (monolithic), các kh i ch c năng chung đư c phân rã ra kh i các ng d ng & đư c cung c p thay th b i các d ch v o Các d ch v là t n 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
  16. 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 khiển hệ thống ở một nơi o trung tâm, các thành phần có thể hoạt ñộng tách rời nhau oCác dịch vụ ñược thiết kế ñể sử dụng chung 16
  17. Thuật ngữ và các khái niệm Hướng dịch vụ Là một tập các quy tắc có tổ chức ñể xây dựng các hệ thống lớn. Nó không bó buộc với bất cứ công nghệ nào Ví dụ Các dịch vụ “nằm ngang” chung: o Logging, ñịnh danh (authentication/single-sign-on), quản lý hệ thống, Thư mục tra cứu các dịch vụ, thông báo sự kiện … Các dịch vụ “nằm dọc”, thiết kế chuyên biệt cho từng lĩnh vực nghiệp vụ o 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
  18. Ư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 trong nhi u ng c nh khác nhau Giảm chi phí vận hành bởi tính ñồng nhất Dư th a các ch c năng d ch v b h n ch r t nhi u K t qu o Ít máy ch hơn o Ít b n quy n hơn o Chi phí b o trì th p hơn 18
  19. Ưu ñiểm 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
  20. Chất lượng của kiến trúc phần mềm 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2