Xem mẫu

  1. |Dịch vụ phần mềm và tích hợp nghiệp vụ Chapter 19: Design pattern – Composition Implementation Patterns GV: TS. Vũ Th ị Hương Giang Nhóm 6: Nguyễn Văn Minh Phạm Anh Thắng
  2. Agnostic Sub-Controller pattern Các thành phần dịch vụ thường được cấu hình c ụ thể cho m ột nhi ệm v ụ t ổng th ể, gây ra Problem hạn chế khả năng tái sử dụng của chúng. Tái sử dụng, các cross-entity được truy c ập thông qua kh ả năng c ủa các agnostic sub- Solution controller, cho phép tập hợp con c ủa thành ph ần cha đ ược t ạo ra m ột cách đ ộc l ập h ơn. Application Một dịch vụ Agnostic mới được tạo ra hoặc d ịch v ụ được g ắn v ới m ột nhi ệm v ụ qua kh ả năng của Agnostic sub-controller Việc bổ sung các cross- entity làm các d ịch v ụ agnostic tăng đ ộ ph ức t ạp và c ủa các Impact thành phần và sự trừu tượng của các Agnostic cross-entity có th ể d ẫn t ới vi ph ạm các mô hình và thiết kế tiêu chuẩn được thi ết l ập b ởi các l ớp d ịch v ụ (Service layer) Service Reusability(sự tái sử d ụng các thành ph ần) Service Composablity (do nhu c ầu Principles của quá trình phát triển ngày càng m ở rộng, các d ịch v ụ đ ược thi ết k ế ph ải s ẵn sàng tham gia các thành phần khi c ần) Architecture Composition, Service VINNO – Software Solution www.vinno.vn 2
  3. Agnostic Sub-Controller pattern VINNO – Software Solution www.vinno.vn 3
  4. Agnostic Sub-Controller pattern VINNO – Software Solution www.vinno.vn 4
  5. Composition Autonomy pattern Các dịch vụ thành phần thường mất đi quy ền tự đi ều khi ển khi ủy quy ền các nhi ệm v ụ Problem xử lý cho các dịch vụ tổng thể, một trong số đó đôi khi đ ược chia s ẻ qua nhi ều thành phần Solution Tất cả những sự tham gia thành phần có th ể đ ược cô l ập đ ể t ối đa hóa quy ền t ự ch ủ của các thành phần Application Các dịch vụ thành viên agnostic của m ột thành ph ần đ ược th ực hi ện trong m ột môi trường bị cô lập cùng với các dịch vụ công vi ệc Việc tăng tính tự chủ trong m ột c ấp độ thành ph ần d ẫn t ới k ết qu ả gia tăng chi phí c ơ s ở Impact hạ tầng và trách nhiệm của tổ chức. Service Reusability(sự tái sử d ụng các thành ph ần) Serivce Composablity (do nhu c ầu Principles của quá trình phát triển ngày càng m ở rộng, các d ịch v ụ đ ược thi ết k ế ph ải s ẵn sàng tham gia các thành phần khi c ần); Service autonomy. Architecture Composition VINNO – Software Solution www.vinno.vn 5
  6. Composition Autonomy pattern TH trên các Service Area gây ra nút thắt cổ chai vì các dịch vụ này đc truy xuất nhiều lần khi hệ thống lớn và mở rộng. VINNO – Software Solution www.vinno.vn 6
  7. Composition Autonomy pattern Giải pháp là đưa các service này đặt trong 1 máy chủ vật lý riêng để tăng khả năng độc lập và tự chủ VINNO – Software Solution www.vinno.vn 7
  8. Atomic Service Transaction pattern Khi các dịch vụ trong môi trường thực thi, một d ịch v ụ con th ất b ại d ẫn đ ến nhi ệm v ụ Problem tổng thể của dịch vụ cha thất b ại theo. Hành đ ộng th ực hi ện t ại th ời đi ểm đó có th ể không toàn vẹn và gây nguy hai đến hệ th ống Solution Các hoạt động dịch vụ có thể được bọc trong m ột transaction v ới tính năng rollback. Application Một hệ thống quản lý giao dịch được thực hi ện nh ư m ột ph ần c ủa ki ến trúc và sau đó được sử dụng bởi những thành phần dịch vụ đòi hỏi tính năng rollback Các dịch vụ tiêu tốn nhiều bộ nhớ hơn vì c ần l ưu gi ữ tr ạng thái ban đ ầu tr ước nh ững yêu Impact cầu rollback hoặc cập nhật sự thay đổi Service statelessness ( ko l ưu gi ữ b ất c ứ th ứ gì c ủa l ần g ọi tr ước và cũng không bi ết gì Principles về những gì client thực hiện ) Architecture Inventory, Composition VINNO – Software Solution www.vinno.vn 8
  9. Atomic Service Transaction pattern Cung cấp các chức năng rollback c ần thi ết VINNO – Software Solution www.vinno.vn 9
  10. Atomic Service Transaction pattern Cung cấp các chức năng rollback c ần thi ết VINNO – Software Solution www.vinno.vn 10
  11. Compensating Service Transaction pattern Các trường hợp ngoại lệ trong thời gian ch ạy không ki ểm soát đ ược có th ể gây nguy Problem hiểm cho một thành phần dịch vụ, do dó s ử d ụng transaction có th ể n ắm gi ữ quá nhi ều tài nguyên, do đó ảnh hưởng tiêu c ực đến hi ệu su ất và kh ả năng m ở r ộng c ủa d ịch v ụ Solution Compensating routines được gi ới thi ệu, cho phép gi ải quy ết các ngo ại l ệ th ời gian ch ạy mà không chiếm giữ tài nguyên. Application Compensation logic được định nghĩa trước và đ ược đ ịnh nghĩa nh ư m ột ph ần c ủa các thành phần cha với việc cung cấp tính năng "undo". Việc sử dụng Compensation logic d ẫn t ới m ột k ết qu ả m ở và khác nhau v ề hi ệu qu ả Impact thực tế Service lose coupling ( kết nối l ỏng l ẻo gi ữa các d ịch v ụ ) Principles Architecture Inventory, Composition VINNO – Software Solution www.vinno.vn 11
  12. Atomic Service Transaction pattern Cung cấp các chức năng "undo" nhằm khôi ph ục l ại d ữ li ệu đã thay đ ổi. VINNO – Software Solution www.vinno.vn 12
  13. Atomic Service Transaction pattern Cung cấp các chức năng "undo" nhằm khôi ph ục l ại d ữ li ệu đã thay đ ổi. VINNO – Software Solution www.vinno.vn 13
  14. Application? VINNO – Software Solution www.vinno.vn 14
  15. Composition Autonomy pattern? CheckingCoursePr Course enrollment SubmitRegistration DB erequisites RecordRegistration VerifyingStudent Student records DB CheckingPayment CalculatingAmount Billing DB Pay Dịch vụ được truy xuất nhiều lần khi hệ thống lớn và mở rộng. Giải pháp là đưa các service này đặt trong 1 máy chủ vật lý riêng để tăng khả năng độc lập và tự chủ VINNO – Software Solution www.vinno.vn 15
  16. Atomic Service Transaction pattern? Course enrollment rollback SubmitRegistration DB LOCK transaction Fail Student RecordRegistration records DB LOCK VINNO – Software Solution www.vinno.vn 16
  17. Compensating Service Transaction pattern ? CheckingCourse Prerequisites Course enrollment undo SubmitRegistration DB UNLOCK transaction boundary VerifyingStudent Fail Student RecordRegistration records DB UNLOCK VINNO – Software Solution www.vinno.vn 17
  18. Kết thúc Xin chân thành cảm ơn ! Ping­G – Software Solution www.vinno.vn 18
  19. Atomic Service Transaction pattern? SubmitRegistratio RecordRegistration n CheckingCoursePr VerifyingStudent erequisites Student Course enrollment records DB UNLOCK UNLOCK DB Unlock các database khi transaction VINNO – Software Solution www.vinno.vn 19
nguon tai.lieu . vn