Tìm hiểu về mô hình phát triển phần mềm hướng dịch vụ, nêu kiến trúc, cách thức hoạt động và lợi ích của việc phát triển phần mềm hướng dịch vụ

25 1.3K 4
Tìm hiểu về mô hình phát triển phần mềm hướng dịch vụ, nêu kiến trúc, cách thức hoạt động và lợi ích của việc phát triển phần mềm hướng dịch vụ

Đ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ề mô hình phát triển phần mềm hướng dịch vụ, nêu kiến trúc, cách thức hoạt động và lợi ích của việc phát triển phần mềm hướng dịch vụ

TRƯỜNG ĐẠI HỌC NÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN Công nghệ phần mềm Đề tài: Tìm hiểu mô hình phát triển phần mềm hướng dịch vụ, nêu kiến trúc, cách thức hoạt động lợi ích việc phát triển phần mềm hướng dịch vụ Giáo viên hướng dẫn: Phạm Thủy Vân Nhóm Hà Nội, tháng 11/2013 Mục lục Lời mở đầu Sự phát triển Internet thúc đẩy nhu cầu cộng tác, làm việc qua mạng sử dụng dịch vụ trực tuyến dần trở thành nhu cầu thiết yếu sống Điều đòi hỏi ứng dụng không hệ thống hoạt động đơn lẻ máy trạm (máy client) chịu phụ thuộc vào tảng cố định nữa, mà chúng phải hệ thống linh động giúp người dùng làm việc “mọi lúc, nơi” Điều làm nhà phát triển phải đối mặt với hàng loạt vấn đề tích hợp thành phần phân tán lại với nhau; hay tái sử dụng thành phần có sẵn; vấn đề triển khai bảo trì, … vấn đề làm điên đầu nhà phát triển Các ứng dụng sử dụng dịch vụ cần gửi thong điệp yêu cầu đến dịch vụ (server) khác chờ nhận kết từ dịch vụ dịch vụ không phụ thuộc vào môi trường hệ điều hành, ví dụ Web chẳng hạn, rõ ý tưởng Công nghệ SOA giúp việc phát triển services hiệu Hiện nhiều công ty phần mềm lớn giới quan tâm phát triển hệ thống ví dụ như: Oracle, IBM, Microsoft… Mong muốn tìm hiểu cách khái quát công nghệ SOA lợi ích đạt kiến trúc lý lựa chọn đề tài: “Tìm hiểu mô hình phát triển phần mềm hướng dịch vụ, nêu kiến trúc, cách thức hoạt động lợi ích việc phát triển phần mềm hướng dịch vụ.” Trong trình tìm hiểu đề tài biên soạn tài liệu tránh khỏi thiếu sót định, mong nhận đóng góp ý kiến quý thầy cô bạn để đề tài thêm hoàn thiện I.TỔNG QUAN VỀ MÔ HÌNH HƯỚNG DỊCH VỤ 1.1 Khái niệm mô hình hướng dịch vụ SOA (Service Oriented Architecture) – Kiến trúc Định hướng Dịch vụ cách tiếp cận hay phương pháp luận để thiết kế tích hợp thành phần khác nhau, bao gồm phần mềm chức riêng lẻ lại thành hệ thống hoàn chỉnh Kiến trúc SOA giống cấu trúc phần mềm hướng đối tượng gồm nhiều module Tuy nhiên khái niệm module SOA không đơn gói phần mềm, hay thư viện Thay vào đó, module ứng dụng SOA dịch vụ cung cấp rải rác nhiều nơi khác truy cập thông qua môi trường mạng Nói cách ngắn gọn, hệ thống SOA tập hợp nhiều dịch vụ cung cấp mạng, tích hợp lại với để cộng tác thực tác vụ theo yêu cầu người dùng Một cách hiểu sai lầm SOA coi SOA công nghệ Mặc dù SOA hoạt động nhờ công nghệ, khách hàng cần phải chuyển đổi từ chỗ việc tích hợp công nghệ SOA sang việc phải điều chỉnh phương pháp thực dự án, sách bảo trì thay đổi để đạt lợi ích khả trưởng thành đáp ứng Dịch vụ yếu tố then chốt SOA Có thể hiểu dịch vụ loại module thực quy trình nghiệp vụ Một mục đích SOA giúp ứng dụng 'nói chuyện' với mà không cần biết chi tiết kỹ thuật bên Để thực điều SOA định chuẩn giao tiếp (dùng để gọi hàm dịch vụ) định nghĩa rõ ràng độc lập với tảng hệ thống, tái sử dụng Như vậy, SOA cấp độ cao phát triển ứng dụng, trọng đến quy trình nghiệp vụ dùng giao tiếp chuẩn để giúp che phức tạp kỹ thuật bên Sự trừu tượng cốt lõi khái niệm dịch vụ, giúp cho doanh nghiệp tích hợp thành phần có vào ứng dụng thành phần chia sẻ tái sử dụng nhiều lĩnh vực khác công ty mà không cần phải chỉnh sửa mã nguồn hay phải tái cấu trúc lại hệ thống Có nhiều cách khác để kết nối dịch vụ, chẳng hạn dùng giao thức mạng có sẵn, tạo giao thức riêng Nhưng từ năm 2001, dịch vụ web (Web service) xây dựng dựa tảng web toàn cầu, nơi có, trở thành phương pháp phổ biến cho việc kết nối thành phần hệ thống SOA với Thoạt nhìn SOA dịch vụ web trông giống chúng Chúng ta tìm hiểu rõ dịch vụ web phần Hình 1.1 – Mô hình SOA 1.2 Tính chất hệ thống SOA +) Liên kết lỏng (Loose coupling) Vấn đề kết nối ám ràng buộc số module với Có hai loại kết nối rời (loose) chặt (tigh) Các modul có tính loose coupling có số ràng buộc mô tả rõ ràng, modul có tính tigh coupling lại có số ràng buộc mô tả rõ ràng, modul có tính tigh coupling lại có số ràng buộc trước Hầu hết phần mềm hướng đến tính loose coupling SOA sử dụng loose coupling thông qua việc sử dụng hợp đồng liên kết (contract and binding) Một người dụng truy vấn đến nơi lưu trữ cung cấp thông tin dịch vụ (Registry) để lấy thông tin loại dịch vụ cần sử dụng Registry trả dịch vụ thỏa mãn tiêu chuẩn tìm kiếm Từ người dùng việc chọn dịch vụ cần, thực thi phương thức theo mô tả để nhận dịch vụ từ Registry.Bên sử dụng dịch vụ không cần phụ thuộc trực tiếp vào tin cài đặt dịch vụ mà dựa hợp đồng dịch vụ hỗ trợ Tính loose coupling giúp bỏ ràng buộc điều khiển hệ thống đầu cuối Mỗi hệ thống tự quản lý độc lập làm tăng hiệu suất, khả mở rộng khả đáp ứng cao Loose coupling làm tách biệt bên cung cấp bên sử dụng, đòi hỏi interface phải theo chuẩn cần thành phần trung gian quản lý để trung chuyển yêu cầu hệ thống đầu cuối +) Tái sử dụng dịch vụ Những dịch vụ dùng chung tất ứng dụng hệ thống SOA gọi shared infrastructure service Tái sử dụng dịch vụ loại bỏ phần trùng lặp, tăng độ vững cài đặt đơn giản hóa việc quản trị +) Sử dụng dịch vụ bất đồng Phương thức triệu gọi bất đồng sau: bên gọi gửi thông điệp với đầy đủ thông tin ngữ cảnh tới bên nhận Bên nhận xử lý thông tin trả kết cho bên gọi thông qua kênh thông điêp Bên gọi chờ thông điệp xử lí xong Phương thức đồng bộ: Trên lý thuyết, SOA sử dụng phương thức đồng bất đồng +) Quản lý Policy Khi sử dụng dịch vụ mạng, tùy theo ứng dụng có luật kết hợp riêng gọi Policy Việc quản lý Policy tăng khả tạo đặc tính tái sử dụng dịch vụ Policy thiết kế tách biệt tùy vào ứng dụng nên giảm tối đa thay đổi phần mềm đồng thời chia nhóm làm việc mà không cần phụ thuộc vào (nhóm phát triển phần mềm nhóm điều hành, nhóm hỗ trợ) +) Coarse granularity Khái niệm Granularity dịch vụ hiểu theo cách: phạm vị toàn kiến trúc dịch vụ phạm vi phương thức interface triển khai Mức độ granularity có hai loại: coarse – grained(ví dụ dịch vụ cài đặt tất chức ngân hàng) fined- grained(ví dụ dịch vụ hỗ trợ chức rút tiền tự động…) Một hệ thống có chứa đối tượng fined – grained phức tạp hệ thống coarse- grained +) Khả cộng tác (interoperability) SOA nhấn mạnh đến khả cộng tác, khả mà hệ thống khác giao tiếp nhiều tảng ngôn ngữ khác Mỗi dịch vụ cung cấp interface triệu gọi thông qua dạng kết nối Một kết nối gọi interperable chứa giao thức định dạng liệu mà client kết nối đến hiểu Interoperability đạt cách hỗ trợ giao thức định dạng liệu chuẩn dịch vụ client hệ thống ánh xạ tính chất ngôn ngữ qua đặc tả trung gian Đặc tả chịu trách nhiệm ánh xạ định dạng liệu khả kết (interoperable) đến định dạng liệu tùy thuộc vào hệ thống Ví dụ Web Service đặc tả trung gian cho giao tiếp hệ thống JAX – RPC, JAXM chuyển đối tượng dạng Java thành Soap +) Tự động dò tìm ràng buộc động SOA hỗ trợ khái niệm dò tìm dịch vụ (Service discovery) Một người sử dụng cần dịch vụ tìm kiếm dịch vụ theo tiêu chuẩn cần Người sử dụng dịch vụ cần hỏi Registry dịch vụ thỏa mãn yêu cầu họ Ví dụ, hệ thống chuyển khoản (Cónumer) yêu cầu Registry tìm kiếm tất dịch vụ có khả kiểm tra thẻ tín dụng Registry trả tập thông ti thỏa dụng chọn dịch vụ có chi phí thấp kết nối đến nhà cung cấp dịch vụ dựa thông tin entry mà registry tìm để yêu cầu sử dụng dịch vụ kiểm tra thẻ tín dụng Trong phần mô tả dịch vụ kèm theo có tất tham số cần thiết để thực thi dịch vụ Bên sử dụng cần định dạng liệu cần thiết theo mô tả nhà cung cấp dịch vụ gửi Nhà cung cấp thực thi kiểm tra thẻ tín dụng trả kết thông điệp theo định dạng phần mô tả dịch vụ Mối ràng buộc nhà cung cấp người sử dụng hợp đồng cung cấp Registry trung gian Mối ràng buộc thời gian chạy ràng buộc thời gian biên dịch Tất thông tin cần thiết dịch vụ lấy sử dụng chạy Với SOA, bên sử dụng không cần biết định dạng thông điệp yêu cầu thông điệp trả về, hay địa dịch vụ gọi đến Bên sử dụng triệu gọi cách động +) Tự hồi phục(Self- healing) Một hệ thống tự hồi phục hệ thống có khả tự hồi phục sau bị lỗi mà không cần đến can thiệp người Độ tin cậy mức độ đo khả hệ thống xử lý tốt tình trạng hỗn loạn Trong SOA, dịch vụ có khả hoạt động ngừng lúc nào, ứng dụng tổ hợp nhiều dịch vụ thuộc nhiều tổ chức khác Độ tin cậyphụ thuộc vào khả phục hồi phần cứng sau gặp lỗi 1.3 Nguyên tắc hệ thống SOA Một hệ thống SOA phải đảm bảo đủ nguyên tắc sau đây: - Sự phân định rạch ròi dịch vụ:Do có tách biệt thành phần giao tiếp thành phần thực dịch vụ kiến trúc hướng dịch vụ -  Các dịch vụ thực qua trình tương tác chủ yếu thông  qua thành phần giao tiếp Thành phần quy định dạng thông điệp trình  trao đổi: Thông điệp để đối tượng bên truy cập vào  thông tin chức dịch vụ, Ta cần gửi thông điệp định dạng đến trước để yêu cầu dịch vụ mà không cần biết thông điệp xử lý Các dịch vụ tự hoạt động  Các dịch vụ cần triển khai hoạt động thực thể độc lập mà không phụ thuộc vào dịch vụ khác  Dịch vụ phải có tính bền vững cao, nghĩa không bị sụp đổ có  cố Để thực điều này, dịch vụ cần trì đầy đủ thông tin cần thiết cho trình hoạt động để tiếp tục hoạt động trường hợp dịch vụ cộng tác bị hỏng, đồng thời sử dụng biện pháp bảo mật để tránh công ạt từ bên - vào gửi thông điệp lỗi thông điệp ạt Các dịch vụ chia sẻ lược đồ  Các dịch vụ nên cung cấp thành phần giao tiếp(Interface)  - bên Hỗ trợ chia sẻ cấu trúc thông tin, rang buộc liệu thông qua lược đồ liệu chuẩn  Hệ thống có tính dễ liên kết dễ dàng mở rộng Tính tương thích dịch vụ dựa sách • Một dịch vụ muốn tương tác với dịch vụ khác thỏa mãn • sách, yêu cầu dịch vụ như: mã hóa, bảo mật -> Để thực điều này,mỗi dịch vụ phải cung cấp công khai sách yêu cầu bảo mật II KIẾN TRÚC CỦA MÔ HÌNH HƯỚNG DỊCH VỤ Kiến trúc hướng dịch vụ (Service Oriented Architecture) hướng tiếp cận với việc thiết kế tích hợp phần mềm, chức hệ thống theo dạng module, module đóng vai trò “dịch vụ có tính loose coupling” có khả truy cập thông qua môi trường mạng Một cách đơn giản hệ thống SOA tập hợp dịch vụ chuẩn hóa mạng, trao đổi với ngữ cảnh tiến trình nghiệp vụ 2.1.Kiến trúc tổng quan SOA Service Registry Fin Register Service Bind, Service d Consumer Provider Execute Sơ đồ cộng tác SOA Trong SOA có ba thành phần chính: • Service Provider: Cung cấp stateless service phục vụ cho nhu cầu User (service consumer) không cần quan tâm đến vị trí thực mà service họ cần sử dụng hoạt động • Serive Consumer: User sử dụng service cung cấp Service Provider • Service Registry: Nơi lưu trữ thông tin service Service Provider khác nhau, Service Consumer dựa thông tin để tìm kiếm lựa chọn Service Provider phù hợp Service Provider đăng ký thông tin service mà cung cấp (các chức cung cấp, khả hệ thống (resource, performance), giá dịch vụ, ) vào Service Registry Service Consumer có nhu cầu service tìm kiếm thông tin Service Registry Ngoài chức hỗ trợ tìm kiếm, Service Registry xếp hạng Service Provider dựa tiêu chí chất lượng dịch vụ, bầu chọn từ khách hàng sử dụng service, Những thông tin hỗ trợ thêm cho trình tìm kiếm Service Consumer 10 Khi xác định Service Provider mong muốn, Service Consumer thiết lập kênh giao tiếp trực tiếp với Service Provider nhằm sử dụng service tiến hành thương lượng thêm (về mặt giá cả, resource sử dụng, ) 2.2.Kiến trúc chi tiết Hiện chưa có mô hình thức SOA Thật SOA phương pháp luận giúp tận dụng sức mạnh nguồn lực, nguồn tài nguyên khác mạng máy tính để trở thành hệ thống Mỗi công ty có mô hình SOA khác Nhìn chung mô hình SOA có đặc điểm sau: • Tầng Connectivity: tầng thấp SOA, có nhiệm vụ giao tiếp trực tiếp với thành phần khác sở liệu, giao tiếp với ứng dụng khác, web service,… Vì coi tầng vật lý SOA Mục đích tầng kết nối kết nối ứng dụng enterprise tài nguyên bên cung cấp chúng thành dạng dịch vụ.Tùy vào ứng dụng cụ thể mà chuyển đổi tương ứng sử dụng Về bản, tầng dùng để thực kết nối đến hệ CSDL.Những ngôn ngữ lập trình đại cung cấp 11 tập hàm API cho phép truy cập đến hầu hết hệ CSDL thông dụng.Với ứng dụng enterprise lại khác nhà cung cấp tập hàm API khác • Tầng Orchestration: dịch vụ xử lý quy trình nghiệp vụ dộc lập với tầng vật lý phía bên Tầng Orchestration chứa thành phần đơn đóng vai trò vừa dịch vụ sử dụng, vừa dịch vụ cung cấp Những dịch vụ sử dụng dịch vụ tầng kết nối dịch vụ orchestration khác để kết hợp chức cấp thấp thành dịch vụ hoạt động cấp cao hơn, có hành vi gần với chức nghiệp vụ thực - Simple composite service Là dịch vụ đơn kết hợp với lời triệu gọi tới dịch vụ bên dưới, hoạt động mẫu mặt tiền Chúng giúp đơn giản hóa quy trình tương tác với dịch vụ cấp thấp che dấu tính phức tạp với người sử - dụng dịch vụ tầng cao Process servise Là dịch vụ định tiến trình kết nối dịch vụ cấp thấp Điều hữu dụng với việc thiết kế dịch vụ kết nối đến nhiều hệ thống enterprise bên sau thực thi nhưn tiến trình Ví dụ, dịch vụ “Submit New Order” xem process service thực tương tác với CSDL khách hàng để lấy thông tin khách hàng, định dựa thông tin tài khoản khách hàng, tương tác hệ thống lưu kho hệ thống tài để hoàn tất đơn đặt hàng Process service có nhiều đặc tính phù hợp quy trình nghiệp vụ doanh nghiệp nên có nhiều nỗ lực để chuẩn hóa cách thức định nghĩa chúng Tổ chức OASIS đưa chuẩn WS-BPEL ( Web Service Business Process - Execution Language) cho process service Data service 12 Là dịch vụ cung cấp liệu thu thập từ nhiều nguồn liệu khác Trong nhiều trường hợp, liệu tồn nhiều CSDL ứng dụng khác nhau.Ví dụ thường thấy thông tin khách hàng.Doanh nghiệp thường lưu thông tin khách hàng hệ thống đặt hàng, hệ thống tài hệ thống CRM.Mỗi hệ thống chứa phần liệu toàn liệu khách hàng Data service thường không xem dịch vụ orchestration mà chịu trách nhiệm tương tác trực tiếp với CSDL bên thông qua phương thức truy cập phi dịch vụ (non-service oriented access) JDBC J2CA Chúng cung cấp liệu từ ứng dụng độc lập kết hợp liệu từ nhiều nguồn khác Data service thường sử dụng số ngôn ngữ truy vấn chế mô tả khác để xác định quan hệ lược đồ liệu (data schema) Các công nghệ phổ biến SQL, XSLT Xquery XSLT Xquery hai công nghệ việc truy vấn liệu bối cảnh Web service chúng xử lý kết xuất liệu dạng XML • Tầng Composite Application: ứng dụng tổng hợp nhằm mục đích trình diễn (presentation) hiển thị thông tin cho người dùng cung cấp giao diện cho người dùng tương tác với hệ thống phần mềm Tầng website, portal, ứng dụng client mở rộng (rich client), thiết bị di động thông minh (smart device),… - Dữ liệu truyền qua lại dịch vụ cuối định hướng đến người sử dụng theo nhiều dạng giao diện khác Tầng xem tầng tích hợp cuối trình tích hợp - Tầng ứng dụng tổng hợp tầng đơn sử dụng dịch vụ, cung cấp ứng dụng cho người dùng cuối Nhờ tính linh hoạt SOA đặc tính dịch vụ tổng hợp từ tầng orchestration, ứng 13 dụng có khả biểu diễn loại thông tin từ nguồn thông tin, chí cho phép người dùng gửi thông tin tổng hợp mà thông tin phân phối lại cho hệ thống bên - Tầng ứng dụng tổng hợp chia làm hai tầng nhỏ portlet portal Một Portlet định nghĩa ứng dụng chạy cửa sổ thành phần ngữ cảnh với tách biệt rõ ràng Portlet ngữ cảnh Portlet thành phần cung cấp sử dụng dịch vụ.CÓ điều chúng cung cấp dạng dịch vụ giao diện đặc biệt thiết kế đặc biệt để dử dụng UI Framework consumer (một portal) Mỗi Portlet sử dụng số dịch vụ liên quan tầng orchestration bên cho phép người sử dụng gửi thông tin bổ sung Công nghệ web Java Server Faces (JSF) ÁP.NET hỗ trợ xây dựng portlet.Portal khung tích hợp sử dụng Portlet, trang bị cho chúng vẻ thống thể chúng thành giao diện hoàn chỉnh cho người dùng cuối • Các thành phần khác: gồm có quy trình phát triển (development), quản lý dịch vụ (service management), quản lý người (governance) Như thấy SOA không đơn mặt công nghệ mà tổng hòa nhiều yếu tố: công nghệ, sở hạ tầng, người quy trình nghiệp vụ 14 2.3.SOA Web service Chúng ta thấy mô hình giống với mô hình Web service: 15 SOA Web service hai khái niệm tách biệt SOA đặc tả mô hình phát triển ứng dụng dựa dịch vụ, Còn Web service tập trung vào công nghệ để thực điều dựa tảng Web Nói ngắn gọn, Web service mô hình cụ thể hóa SOA Web service sử dụng phần lớn ứng dụng SOA Chúng ta cần ý khái niệm “service” SOA không Web service mà bao hàm dịch vụ khác mà tìm thấy sử dụng chúng mạng máy tính 2.4.Mô hình giao tiếp thông điệp (message) SOA So với kiểu thiết kế Component-Based, điểm khác biệt SOA cung cấp khả giao tiếp thành phần hệ thống (service) sử dụng thông điệp (message) dựa chuẩn giao tiếp chuẩn hóa (HTTP, FTP, SMTP, ) Chính nhờ đặc điểm này, hệ thống SOA trở nên độc lập với platform (platform independent) Các service hoạt động platform khác giao tiếp với nhờ vào interface giao tiếp chuẩn hóa để cộng tác xử lý tác vụ Sử dụng thông điệp (message) để giao tiếp có lợi sau: • Cross-platform: thông điệp (message) trở thành ngôn ngữ chung platform ngôn ngữ lập trình khác Điều đảm bảo service platform khác hoạt động với cấu trúc liệu đặc thù platform • Asynchronous communications: hoạt động gởi nhận thông điệp thực theo chế Fire-and-Forget Sender Receiver không cần phải chờ thông điệp trả lời sau gởi thông điệp Điều giúp cho Sender Receiver tiếp tục xử lý công việc sau gởi thông điệp mà không cần dừng thực thi để chờ thông điệp trả lời 16 • Reliable communication: thông điệp từ Sender gởi đến service trung gian có nhiệm vụ lưu trữ (store) thông điệp Service trung gian gởi (forward) thông điệp cho Receiver Receiver xử lý yêu cầu Cơ chế Store-and-Forward đảm bảo thông điệp không bị thất lạc trường hợp Receiver bị tải nhận thêm yêu cầu • Thread management: Việc trao đổi thông điệp theo chế bất đồng giúp ứng dụng không cần ngừng thực thi để chờ tác vụ kết thúc mà tạo thread xử lý công việc khác • Remote communication: Các thông điệp lưu trữ thông tin đối tượng liệu dạng đặc tả hình thức thay việc phải serialization and deserialization đối tượng liệu truyền qua mạng ứng dụng thực remote call ứng dụng khác • End-to-end security: Thông điệp lưu trữ thông tin security context kênh giao tiếp Điều cung cấp khả điều khiển liên quan đến security authentication and authorization III.CÁCH THỨC HOẠT ĐỘNG CỦA MÔ HÌNH HƯỚNG DỊCH VỤ SOA hoạt động theo chu trình khép kín bao gồm giai đoạn sau: develop -> intergrate -> orchestrate -> deploy -> manage ->secure ->access 3.1.Devolop Giai đoạn tập trung phát triển service tạo web service Mô hình webservice myservice webservice để bên tương tác với service Myservice để thực service Java class EJB Trong trình thực myservice service cần giao tiếp với sở liệu Bình thường tự mở CSDL query 17 sau đóng gói liệu vào class Java Điều dễ dàng thực ứng dụng nh Vì người làm database ứng dụng gần với nhau, Nhưng với vấn đề lớn, người phát ứng dụng biết database Do nên mapping CSDL đối tượng Java, bạn mapping xong bạn cần read write đối tượng hệ thống runtime lo công việc query CSDL 3.2.Intergrate Bạn tích hợp compenent tích hợp rule Rule nhằm để tách ứng dụng nghiệp vụ, bạn thay đổi nghiệp vụ cách dễ dàng mà không cần phải code lại chương trình 3.3.Orchestrate Đây giai đoạn tích hợp service, mà có đầy đủ service phải tích hợp lại Công việc tích hợp dung ngôn ngữ BPEL để tích hợp service Bạn sử dụng BPEL IBM Oracle 3.4.Deploy Khi service tạo xong Bạn test cẩn thận đạt tiến hành đóng gói service sau deploy lên server đích 3.5.Manage Secure Đối với hệ thống phát triển theo mô hình SOA hệ thống ngày phức tạp dần, ngày có nhiều service yêu cầu quản lí bảo mật web service đặt Hiện bạn sử dụng Oracle Web service Manager cho công việc bảo mật 3.6.Access Chúng ta bắt đầu truy xuất vào hệ thống 18 IV.LỢI ÍCH VÀ HẠN CHẾ CỦA VIỆC PHÁT TRIỂN MÔ HÌNH HƯỚNG DỊCH VỤ 1.1 Lợi ích Sử dụng mô hình SOA việc thiết kế hệ thống mang lại nhiều lợi ích mặt kinh tế kỹ thuật • Lợi ích kinh tế: o Doanh nghiệp có điều kiện tập trung thời gian để tìm kiếm giải pháp cho toán liên quan đến kinh tế o Thúc đẩy phát triển hệ thống có cung cấp khả mở rộng hệ thống tương lai • Lợi ích kỹ thuật: o Hệ thống xây dựng theo mô hình SOA đảm bảo service hệ thống có tính độc lập cao (độ kết dính thấp) (autonomous loose coupling) Đồng thời tận dụng tối đa nguồn tài nguyên CPU, storage, database… với chi phí hợp lý o Ở góc nhìn người sử dụng, vị trí service có tính suốt (transparency), việc di dời service đến máy tính khác không ảnh hưởng khả phục vụ yêu cầu khách hàng o Hoạt động service có tính linh động cao, hành vi service tùy thời đểm, tùy yêu cầu cần xử lý mà có khác (late binding) o Tái sử dụng phần mềm Nếu gói mã mà tạo thành dịch vụ có quy mô kích thước phù hợp sau tái sử dụng cho lần Một đội phát triển cần chức cụ thể cho ứng dụng phần mềm mà mong muốn xây dựng, họ không cần biết thứ việc mã gói chặt hay có nguồn gốc từ 19 đâu Tất thứ mà họ cần làm xây dựng kết nối đến dịch vụ 1.2 Hạn chế - Hệ thống phức tạp - Khó miêu tả liệu không cấu trúc header message 4.3 So sánh mô hình SOA với mô hình truyền thống Mô hình SOA co ưu mô hình truyền thống (như mô hình hướng ứng dụng mô hình hướng lập trình) điểm mô hình SOA chủ yếu tập trung nguồn lực phát triển vào c ác chức tính phục vụ hoạt động quy trình nghiệp vụ Điều cho phép nhà quản lý cần dựa đặc điểm mang tính nghiệp vụ rà soát, xác định rõ chi tiết, thành phần cần thêm, sửa đổi loại bỏ Do đó, hệ thống phần mềm phát triển phía sau thiết kế nhằm đáp ứng quy trình nghiệp vụ (thay quy trình nghiệp vụ phải thay đổi để tận dụng tính phần mềm mô hình thường thấy nhiều quan tổ chức với hạ tầng sở ứng dụng Công nghệ thông tin phát triển từ trước ) • Mô hình SOA OOP (mô hình hướng đối tượng) SOA sử dụng số nguyên lý OOP, nhiên triết lí SOA có khác biệt đáng kể so với OOP SOA thực với chương trình theo hướng đối tượng (OO) chương trình không hướng đối tượng SOA hỗ trợ việc kết nối lỏng lẻo service, OOP dựa nhiều lớp định nghĩa sẵn, kết đối tượng kết nối chặt chẽ với Service orieted sử dụng message để miêu tả thông tin service để thực chức OOP lại sử dụng hàm APIs để miêu tả đối tượng 20 Phạm vi hoạt động service SOA rộng lớn đối tượng OOP SOA khuyến khích service thiết kế phi trạng thái nhiều tốt OOP thi lại liên kết liệu cách logic từ tạo đối tượng có trạng thái • Mô hình SOA Web Đặc điểm SOA tách rời phần giao tiếp với phần thực dịch vụ Điều làm bạn liên tưởng đến công nghệ đề cập nhiều gần đây: Dịch vụ Web Dịch vụ Web cho phép truy cập thông qua định nghĩa giao thức- giao tiếp SOA dịch vụ web trông giống chúng Về bản, SOA kiến trúc phần mềm xuất từ định nghĩa giao tiếp xây dựng toàn mô hình ứng dụng mô hình giao tiếp, thực giao tiếp phương thức gọi giao tiếp Giao tiếp trung tâm toàn triết lý kiến trúc này; thực tên gọi kiến trúc định hướng giao tiếp thích hợp cho SOA Dịch vụ modul phần mềm nghiệp vụ truy cập thông qua giao tiếp, thường theo cách thức yêu cầu - đáp trả Ngay với yêu cầu dịch vụ chiều yêu cầu trực tiếp có chủ đích từ phần mềm đến phần mềm khác Một tương tác định hướng dịch vụ bao hàm cặp đối tác: nguồn cung cấp dịch vụ khách hàng sử dụng dịch vụ 4.4 Bảo mật SOA Với việc phát triển không ngừng công nghệ web service tạo nên ảnh hưởng định việc xây dựng mô hình tính toán phân tán Các kiến trúc phân tán hướng đối tượng DOA sử dụng công nghệ CORBA, DCOM, DCE JAVA RMI nhanh chóng chuyển sang kiến trúc hướng dịch vụ với công nghệ SOAP, HTTP, XML 21 Việc thay đổi kiến trúc hệ thống dẫn đến thay đổi định việc đưa giải pháp cho vấn đề bảo mật hệ thống Hầu hết giải pháp bảo mật sử dụng ngày dựa thực trạng hệ thống máy khách máy chủ đặt mạng vật lý(ví dụ mạng LAN) hay mạng logic (như VPN) Những giải pháp đảm bảo an toàn cho hệ thống thắt chặt vấn đề an ninh thông qua việc giám sát, điều khiển tất ngõ vào ngõ mạng Thế nhưng, hệ thống SOA với đặc tính mở nó, thật làm cho giải pháp không thích hợp Giới thiệu kiến trúc bảo mật hướng dịch vụ Yêu cầu đặt kiến trúc  Chứng thực: Hầu hết nhà cung cấp dịch vụ yêu cầu bên sử dụng - dịch vụ phải chứng thực trước yêu cầu dịch vụ chấp nhận Các đối tượng sử dụng dịch vụ phải chứng thực nhà cung cấp  dịch vụ nhận kết trả Phân quyền: đối tượng sử dụng dịch vụ phải có quyền định đó, việc kiểm tra phân quyền thông qua sách (ví dụ đối tượng phân quyền sử dụng dịch vụ nào, điều kiện gì…) Một số mô hình phân quyền: DAC kiểm soát việc truy cập thông qua ID, mô hình MAC bảo vệ thông tin cách gán cho thông tin giá trị “nhạy cảm” so sánh giá trị với giá trị nhạy cảm người  truy cập Độ tin cậy: phải có chế để bảo vệ môi trường truyền diệu  thông điệp tài liệu truyền môi trường Toàn vẹ liệu: bảo vệ liệu không bị xâm hại suốt trình  truyền Cơ chế định danh: nhằm đảm bảo đối tượng tham gia trình tương tác phủ nhận vai trò (người gửi phủ 22 nhận gửi người nhận chối bỏ  - nhận) Các yêu cầu khác: cần có chế quản lý, chế ghi nhận, xử lý bảo mật liên miền, khả liên kết cao… Khái niệm kiến trúc bảo mật hướng dịch vụ: mô hình SOSA không hướng đến việc thay hoàn toàn kiến trúc bảo mật có mà muốn đưa giải pháp để liên kết sở hạ tầng sẵn có dựa nguyên tắc SOA để tạo nên kiến trúc bảo mật hướng dịch vụ mới, - Giới thiệu số chuẩn bảo mật XML WS- Security: chuẩn đề xuất hãng IBM, microsoft Verisign Đây chuẩn an toàn bao trùm cho SOAP phần mở rộng SOAP + Sử dụng sercurity token phần đầu thông điệp SOAP để hỗ trợ cho việc định danh chứng thực + Sử dụng XML –Encryption để đảm bảo độ tin cậy cho liệu + Sử dụng XML –Signtures đảm bảo tính toàn vẹn xác thực liệu 23 XML –Signtures: chứng thực tổ chức W3C , chuẩn quan tâm tới cú pháp việc chứng thực thành phần tài liệu XML công nghệ chứng thực khóa đồng hay bất đồng XML –Encryption Sercurity Assertion Markup Language (SAML): chuẩn đưa OASIS SAML định nghĩa tảng cho việc trao đổi thông tin bảo mật dạng XML Những thông tin bảo mật thông tin chứng thực, định phân quyền, đối tượng lưu trữ dạng XM L cấp phát nơi cung cấp chứng thực SAML, SAML định nghĩa giao thức, quy tắc trình vận chuyển thông tin bảo mật V KẾT LUẬN Xây dựng hệ thống sử dụng mô hình hướng dịch vụ SOA đưa lại hiệu quả: Tập trung vào xây dựng tính nghiệp vụ trình phát triển phần mềm Giảm thiểu chi phí trình phát triển Giảm thiểu yêu cầu đào tạo kỹ Chi phí bảo trì thấp Chu trình phát triển phần mềm nhanh chóng Có khả tái sử dụng Khả hồi đáp thích nghi tốt nhanh để đáp ứng với thay đổi yêu cầu giao dịch Cho phép dễ dàng triển khai chương trình, môi trường chạy quản lý service dễ dàng 24 TÀI LIỆU THAM KHẢO - Bài giảng môn công nghệ phần mềm 2- GV Phạm Thủy Vân - Websire: http://doan.edu.vn/do-an - http://wps.pearsoned.co.uk/ema_uk_he_sommervill_softeng_8/48/12399 - /3174351.cw/index.html 25

Ngày đăng: 31/07/2016, 11:31

Từ khóa liên quan

Mục lục

  • Mục lục

  • Lời mở đầu

  • I.TỔNG QUAN VỀ MÔ HÌNH HƯỚNG DỊCH VỤ

    • 1.1. Khái niệm về mô hình hướng dịch vụ

    • 1.2. Tính chất của hệ thống SOA

    • 1.3. Nguyên tắc của hệ thống SOA

    • II. KIẾN TRÚC CỦA MÔ HÌNH HƯỚNG DỊCH VỤ

      • 2.1.Kiến trúc tổng quan của SOA

      • 2.2.Kiến trúc chi tiết

      • 2.3.SOA và Web service

      • 2.4.Mô hình giao tiếp bằng thông điệp (message) trong SOA

      • III.CÁCH THỨC HOẠT ĐỘNG CỦA MÔ HÌNH HƯỚNG DỊCH VỤ.

        • 3.1.Devolop

        • 3.2.Intergrate

        • 3.3.Orchestrate

        • 3.4.Deploy

        • 3.5.Manage và Secure

        • Đối với các hệ thống phát triển theo mô hình SOA thì hệ thống ngày càng phức tạp dần, và ngày càng có nhiều service hơn do đó thì yêu cầu quản lí và bảo mật các web service được đặt ra. Hiện nay bạn có thể sử dụng Oracle Web service Manager cho công việc bảo mật này

        • 3.6.Access

        • IV.LỢI ÍCH VÀ HẠN CHẾ CỦA VIỆC PHÁT TRIỂN MÔ HÌNH HƯỚNG DỊCH VỤ

          • 1.1. Lợi ích.

          • 1.2. Hạn chế

          • 4.3 So sánh mô hình SOA với các mô hình truyền thống

          • 4.4. Bảo mật trong SOA.

Tài liệu cùng người dùng

Tài liệu liên quan