SERVICE-ORIENTED ARCHITECTURE Nhóm 10 1 Nhóm 10 Nội dung trình bày A Tổng quan Kiến trúc hướng dịch vụ B Các kỹ thuật trong SOA C Các công cụ hỗ trợ 2 Nhóm 10 Tổng quan Kiến trúc hướng dịch vụ 3 Nhóm 10 Giới thiệu Service-oriented architecture Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple, separate systems from several business domains. 4 Nhóm 10 Định nghĩa SOA SOA là một mô hình tổ chức và sử dụng khả năng phân phối có thể được kiểm soát dưới các quyền sở hữu khác nhau. Nó cung cấp thống nhất một phương tiện, khám phá, tương tác và sử dụng khả năng để tạo ra hiệu ứng mong muốn phù hợp với điều kiện tiên quyết được mong đợi. 5 Nhóm 10 Các yếu tố của SOA 6 Nhóm 10 Tại sao chúng ta phải dùng SOA Đơn giản hóa kết nối và sử dụng các công nghệ khác. Tái sử dụng phần mềm. Hệ thống linh hoạt hơn. Tích hợp dữ liệu đơn giản thông qua XML, chi phí thấp, tốc độ cao. Các lợi ích kinh tế: Giúp các doanh nghiệp phản ứng nhanh hơn và hiệu quả để thay đổi điều kiện thị trường. Thúc đẩy sự phát triển của hệ thống hiện có cũng như cung cấp khả năng mở rộng hệ thống trong tương lai 7 Nhóm 10 CÁC KỸ THUẬT TRONG SOA 1 2 3 4 5 Business Process Maintenance Integration Applications Security Master Data Manager 8 Nhóm 10 Business Process Maintenance Ad-hoc: Processes are defined as and when needed Documented: Business steps are documented in disparate documents Structured: Process management tools used albeit disconnected Services: Processes designed as services through standardized process management too 9 Nhóm 10 Integration Các hình thức tích hợp hệ thống: Tích hợp sử dụng Middle ware Tích hợp dựa trên SOA và web service 10 Nhóm 10 Tích hợp sử dụng Middle ware Định nghĩa Middleware:Trong intergration thì middleware là một phần mềm hỗ trợ trong việc tạo ra môi trường trao đổi dữ liệu giữa các hệ thống. Middleware che dấu đi sự phức tạp trong giao tiếp của các hệ thống hay dịch vụ, làm đơn giản hóa sự phát triển những hệ thống, dịch vụ này. 11 Nhóm 10 Tích hợp sử dụng Middle ware Các sản phẩm Middleware sử dụng trong tích hợp hệ thống Adapter Message Oriented Middleware Remote Procedure Call (RPC) Distributed Object Technology (DOT) 12 Nhóm 10 Tích hợp dựa trên SOA và web service Công nghệ XML và web service Web services integration (WSI) và Service-oriented integration (SOI) 13 Nhóm 10 Công nghệ XML và web service Một số giải pháp dùng web service cho việc tích hợp Tích hợp hướng dữ liệu Tích hợp hướng chức năng/hàm APIs: Tích hợp hướng thành phần giao tiếp: 14 Nhóm 10 Web services integration Web services integration (WSI): Dùng để giải quyết vấn đề trao đổi dữ liệu giữa các hệ thống với nhau. Đầu tiên nhóm phát triển sẽ định nghĩa những thông điệp SOAP theo các cơ sở. Định nghĩa các thông tin mô tả servicebao gồm thông tin về cách thức giao tiếp, tập các phương thức, và các mẫu trao đổi thông điệp sao cho đáp ứng được các yêu cầu của dự án (hiện tại). 15 Nhóm 10 Service-oriented integration là giải pháp tích hợp sử dụng web service với những nguyên tắc thiết kế của kiến trúc hướng dịch vụ (SOA). SOI là giải pháp có tính chất chiến lược và thích hợp cho các dự án mà có quan tâm đến lợi ích lâu dài. SOI được bắt đầu ở giai đoạn khởi tạo Xây dựng một nền tảng cho kiến trúc hướng dịch vụ Xác định mô hình về tập các dịch vụ sẽ được sử dụng Thực hiện liệt kê và phân lọai toàn bộ các dịch vụ được dùng trong các dự án 16 Nhóm 10 Applications Standalone : ứng dụng yêu cầu chủ yếu về giao diện Service Wrapped: ứng dụng được bao bọc như 1 dịch vụ Exposed API's: ứng dụng có dịch vụ dựa trên nền tảng API Exposed Services: nó làm cho ứng dụng có thể sử dụng lại được Dynamic Discovery: ứng dụng có thể được phát hiện bởi ứng dụng khác 17 Nhóm 10 SECURITY Khía cạnh chức năng Là 1 tiêu chuẩn Hiện diện trong những ứng dụng trước nay Khía cạnh phi chức năng Không trực tiếp liên quan đến bảo mật Giúp tăng tính bảo mật SECURITY Khía cạnh chức năng Authentication Authorization Data confidentiality Data integrity Protection against attacks Privacy SECURITY - Functional aspect Authentication Xác nhận người dùng hợp pháp Chiến lược chứng thực trong SOA SECURITY - Functional aspect Authorization Role-Bases Access Control(RBAC) Access Control List(ACL). SECURITY - Functional aspect Data confidentiality SECURITY - Functional aspect Data integrity and nonrepudiation Scure Sockets Layer(SSL) Transport Layer Security(TLS), SECURITY - Functional aspect Protection against attacks Mã ứng dụng Kinh nghiệm của người quản trị Cơ sở hạ tầng SECURITY - Functional aspect Privacy protection Chiến lược trong các qui tắc kiểm soát truy xuất Các lỗ hổng bị khai thác bởi người tấn công SECURITY Khía cạnh phi chức năng Interoperability Manageability Ease of development SECURITY - Nonfunctional aspect Interoperability Hầu hết các ứng dụng hỗ trợ chỉ 1 hình thức chứng thực HTTP hỗ trợ 1 vài phương án chứng thực chuẩn SSL/TLS cho phép sử dụng năng động các thuật toán mã hóa SECURITY - Nonfunctional aspect Manageability Sửa đổi những ứng dụng đẻ chứng thực ngược với chứng cứ chung được lưu giữ như 1 thư mục Sử dụng tools để đồng bộ hóa tài khoản và password cua người sử dụng thông qua nhiều ứng dụng SECURITY - Nonfunctional aspect Ease of development Hỗ trợ bởi nhiều thư viện, framworks,… Master Data Manager(MDM) Master Data: Is often one of the key assets of a company. It's not unusual for a company to be acquired primarily for access to its Customer Master data. 30 Nhóm D Master Data Manager(MDM) MDM is technology, tools, and processes required to create and maintain consistent and accurate lists of master data. MDM is most effective when applied to all the master data in an organization. 31 Nhóm D Master Data Manager(MDM) An MDM project plan will be influenced by requirements, priorities, resource availability, time frame, and the size of the problem. MDM projects include at least these phases: Identify sources of master data. Identify the producers and consumers of the master data. 32 Nhóm D Master Data Manager(MDM) Collect and analyze metadata about for your master data. Appoint data stewards. Implement a data-governance program and data-governance council. Develop the master-data model. Choose a toolset. Design the infrastructure. Generate and test the master data. 33 Nhóm D Master Data Manager(MDM) Modify the producing and consuming systems. Implement the maintenance processes. 34 Nhóm D Master Data Manager(MDM) MDM systems can be "federated," "integrated," or "hybrid“. These three types of system characteristics are as: Federated MDM . Integrated MDM . Hybrid MDM 35 Nhóm D Master Data Manager(MDM) Why should we manager master data? Master data must be both correct and consistent. Merging master lists together can be very difficult. Customer numbers and part numbers are assigned by the software that creates the master records, so the chances of the same customer or the same product having the same identifier in both databases is pretty remote 36 Nhóm D Master Data Manager(MDM) The recent movements toward SOA and SaaS make Master Data Management a critical issue. 37 Nhóm D Master Data Manger(MDM) Summary For all these reasons, maintaining a highquality, consistent set of master data for your organization is rapidly becoming a necessity. The systems and processes required to maintain this data are known as Master Data Management. 38 Nhóm D Master Data Manager(MDM) How do create a master list. Buy a tool. Implement two step: • Clean and standardize the data. • Match data from all the sources to consolidate duplicates 39 Nhóm D Các công cụ hỗ trợ IBM Rational Software Architect. IBM Rational Software Modeler UML hoặc UML 2 Profile . RequisitePro 40 Nhóm 10 Tài liệu tham khảo http://en.wikipedia.org/wiki/Serviceoriented_architecture http://sites.google.com/site/quanghd/home/asp -net-web-service/gioi-thieu-ve-soa http://www.ibm.com/developerworks/vn/edu/rsoaservices4/index.html 41 Nhóm 10 LOGO