15
14/06/22 14/06/22 Giới thiệu Giới thiệu SOA SOA 1 Giới thiệu về Kiến trúc Định hướng Dịch vụ SOA - Service Oriented Architecture

Giới Thiệu SOA

  • Upload
    chu-tai

  • View
    882

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Giới Thiệu SOA

13/04/2313/04/23 Giới thiệu Giới thiệu SOASOA 11

Giới thiệu về Kiến trúc Định hướng Dịch vụ

SOA - Service Oriented Architecture

Page 2: Giới Thiệu SOA

13/04/2313/04/23 22

Các nội dung chính

• 1. Khái niệm về SOA

• 2. Ứng dụng của SOA

• 3. Khác biệt giữa SOA và các sản phẩm, DV phần mềm khác

• SOA và ERP

• SOA và dịch vụ Web

4. Tương lai của SOA

Content

Page 3: Giới Thiệu SOA

1. Khái niệm về SOA

• SOA là một kiến trúc phần mềm nhằm giúp hệ thống CNTT cung cấp dịch vụ, hỗ trợ cho người dùng DN tốt hơn.

• Dịch vụ là yếu tố then chốt trong SOA

13/04/2313/04/23 33

Page 4: Giới Thiệu SOA

2. Ứng dụng của SOA

13/04/2313/04/23 44

• SOA là tập hợp các dịch vụ kết nối 'mềm dẻo' với nhau (nghĩa là một ứng dụng có thể 'nói chuyện' với một ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong)

• Có giao tiếp (dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng

• SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến qui trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới.

Page 5: Giới Thiệu SOA

2. Ứng dụng của SOA

13/04/2313/04/23 55

• Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch vụ Có giao tiếp (dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng

• Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách (client) sử dụng dịch vụ bất chấp công nghệ thực hiện dịch vụ

• Thay vì xây dựng các ứng dụng đơn lẻ và đồ sộ, nhà phát triển sẽ xây dựng các dịch vụ tinh gọn có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm tốt hơn, cũng như tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không làm ảnh hưởng đến ứng dụng client sử dụng dịch vụ.

Page 6: Giới Thiệu SOA

2. Ứng dụng của SOA

13/04/2313/04/23 66

• Ưu điểm quan trọng nhất của SOA là khả năng kết nối 'mềm dẻo' (nhờ sự chuẩn hóa giao tiếp) và tái sử dụng.

• Các dịch vụ có thể được sử dụng với trình client chạy trên nền tảng bất kỳ và được viết với ngôn ngữ bất kỳ.

Ví dụ: ứng dụng Java có thể liên kết với dịch vụ web .NET và

ngược lại • SOA dựa trên 2 nguyên tắc thiết kế quan trọng:

Mô-đun: Tách vấn đề lớn thành nhiều vấn đề nhỏ.

Đóng gói: Che đi dữ liệu và lô-gic trong từng mô-dun (hay 'hộp đen') đối với truy cập từ ngoài.

Page 7: Giới Thiệu SOA
Page 8: Giới Thiệu SOA

13/04/2313/04/23 88

3. Khác biệt giữa SOA và các sản phẩm, DV phần mềm khác

3. Khác biệt giữa SOA và các sản phẩm, DV phần mềm khác • SOA và ERP

• SOA và dịch vụ WebContent

Page 9: Giới Thiệu SOA

13/04/2313/04/23 99

• Trước hết là xu hướng SOA. Mục tiêu của SOA và ERP giống nhau, cả 2 đều muốn hệ thống công nghệ thông tin đáp ứng được kiểm soát toàn bộ thông tin đang diễn ra trong quy trình DN, đó có thể là thông tin về nhà cung ứng, khách hàng, đối tác, tài chánh, ngân hàng... ở môt thời điểm bất kỳ.

3.1 Khác biệt giữa SOA và ERP

Page 10: Giới Thiệu SOA

13/04/2313/04/23 1010

Kiến trúc ERP mà DN Việt Nam đang nhắm tới đã bộc lộ khuyết điểm so với SOA là ở khả năng xoay sở khi quy trình, định hướng tổng thể của DN thay đổi. Nếu trong ERP hiện thực hóa các quy trình DN thành một chức năng tích hợp vào hệ thống chính, khó tháo rời và mất nhiều thời gian để cập nhật, bổ sung quy trình.

SOA lại được ví như mảnh lắp ghép Lego có thể tháo lắp để tạo thành những kiến trúc đặc thù một nhu cầu nào đó. Quy trình DN trong ERP bị đóng chặt trong ứng dụng, ngược lại dịch vụ trong SOA là quy trình DN được tự do để có thể tận dụng ở nhiều nơi hay ở mục đích khác nhau.

3.1 Khác biệt giữa SOA và ERP

Page 11: Giới Thiệu SOA

13/04/2313/04/23 1111

• Đặc điểm chính của SOA là tách rời phần giao tiếp với phần thực hiện dịch vụ. Điều này có thể làm bạn liên tưởng đến một công nghệ được đề 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-và-giao tiếp. SOA và dịch vụ web thoạt trông có vẻ giống nhau nhưng chúng không phải là một.

3.1 Khác biệt giữa SOA và Web Service

Page 12: Giới Thiệu SOA

13/04/2313/04/23 1212

• Về cơ bản, SOA là kiến trúc phần mềm phát xuất từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng như là mô hình các giao tiếp, hiện thực giao tiếp và phương thức gọi giao tiếp. Giao tiếp là trung tâm của toàn bộ triết lý kiến trúc này; thực ra, tên gọi 'kiến trúc định hướng giao tiếp' thích hợp hơn cho SOA. Dịch vụ và module phần mềm nghiệp vụ được truy cập thông qua giao tiếp, thường theo cách thức yêu cầu - đáp trả. Ngay cả với yêu cầu dịch vụ 1 chiều thì nó vẫn là yêu cầu trực tiếp có chủ đích từ một phần mềm này đến một phần mềm khác. Một tương tác định hướng dịch vụ luôn bao hàm một cặp đối tác: nguồn cung cấp dịch vụ và khách hàng sử dụng dịch vụ.

3.1 Khác biệt giữa SOA và Web Service

Page 13: Giới Thiệu SOA

13/04/2313/04/23 1313

3.1 Khác biệt giữa SOA và Web Service

Mô hình SOA phát triển lên từ mô hình đối tượng

Page 14: Giới Thiệu SOA

4. Tương lai của SOA

• Tháng 5 vừa qua, BEA đưa ra sáng kiến Liquid Computing hỗ trợ dịch vụ web và SOA. Cũng trong tháng 5, IBM đã khai trương 4 trung tâm nghiên cứu và triển khai SOA tại Austin (Mỹ), Beijing (Trung Quốc), Delhi (Ấn độ) và Hursley (Anh). Các trung tâm này sẽ hỗ trợ cho công việc của IBM Global Services SOA Centers of Excellence. Như đã đề cập ở phần trên, phiên bản HĐH Windows thế hệ kế tiếp, tên mã Longhorn, sẽ hỗ trợ đầy đủ SOA với công nghệ tích hợp Indigo. Và SOA còn được sự ủng hộ của nhiều hãng tên tuổi khác như Sun, Oracle... Theo Gartner, trong khoảng 2 năm nữa, SOA sẽ hiện diện trong hầu hết các dự án phần mềm.

Page 15: Giới Thiệu SOA

4. Tương lai của SOA

• SOA sẽ giúp cho công việc phát triển phần mềm trở nên dễ dàng và nhanh chóng hơn. 'Đừng tốn công chế tạo lại bánh xe', hãy kết hợp những linh kiện (dịch vụ) có sẵn và bổ sung những gì cần thiết để 'lắp ráp' nhanh chóng 'chiếc xe' đưa bạn đến đích.

• Đó là triết lý của SOA! Ngay từ bây giờ bạn có thể áp dụng triết lý này cho các hệ thống phần mềm của mình để sẵn sàng cho những nhu cầu của ngày mai.