Lợi ích khi sử dụng mô hình SOA trong thiết kế và xây dựng HTTT

Một phần của tài liệu Nghiên cứu ứng dụng kiến trúc SOA trong mô hình ứng dụng doanh nghiệp (Trang 30 - 35)

5. Nhiệm vụ nghiên cứu

1.2.4.Lợi ích khi sử dụng mô hình SOA trong thiết kế và xây dựng HTTT

doanh nghiệp

Sử dụng mô hình SOA trong việc thiết kế hệ thống mang lại rất nhiều lợi ích về cả mặt kinh tế và kỹ thuật. Sau đây là một vài lợi thế của SOA trong thiết kế và xây dựng HTTT doanh nghiệp.

1.2.4.1. Sử dụng lại những thành phần có sẵn

Một trong những lợi ích rõ ràng nhất của SOA là nó giúp các công ty thu đƣợc giá trị nhiều hơn bằng cách sử dụng lại những tài nguyên sẵn có; kết quả là giảm chi phí cho phần kiến trúc và tích hợp. Ngoài ra nó còn giúp giảm chi phí mua phần mềm mới. Thời gian viết chƣơng trình lấy dữ liệu từ máy chủ trƣớc đây đƣợc tính bằng tháng thì bây giờ chỉ còn tính bằng phút. Lợi ích của việc sử dụng lại có thể chia làm 2 phần :

 Lợi ích từ việc sử dụng lại những thành phần nhằm giảm tính dƣ thừa.

 Lợi ích từ việc sử dụng lại những thành phần có sẵn khi thiết kế cung cấp một chức năng mới.

31

Nhiều phần mềm doanh nghiệp đã phát triển thành những nhóm phần mềm tách biệt, thông thƣờng là tƣơng ứng với mỗi đơn vị kinh doanh. Ví dụ một công ty bán lẻ có thể có một nhóm phần mềm cho hệ thống phân phối, một nhóm phần mềm cho hệ thống lƣu kho và một nhóm phần mềm cho những chức năng liên kết. Thông thƣờng những nhóm phần mềm này đựơc phát triển trên nhiều nền tảng khác nhau, sử dụng nhiều ngôn ngữ lập trình khác nhau và thƣờng có nhiều tính năng lặp lại giữa chúng. Một hệ thống SOA cho phép các công ty tránh tình trạng lặp dƣ thừa, tạo ra những đơn thể dịch vụ chia sẻ giữa các ứng dụng.

Trong một hệ thống SOA, chỉ cần thay đổi duy nhất một phiên bản của dịch vụ cần đƣợc thay đổi và chỉ cần kiểm thử một lần, sử dụng những kỹ năng tƣơng ứng với những kỹ năng đã dùng để phát triển dịch vụ. Lợi ích rõ ràng nhất là giảm chi phí bảo trì phần mềm. Ngoài ra điều này còn giúp doanh nghiệp chịu trách nhiệm nhiều hơn với những thay đổi về về mặt nghiệp vụ và cho phép doanh nghiệp cập nh ật những tính năng của nó nhanh hơn.

Bằng cách phân rã một ứng dụng thành những đơn thể dịch vụ nghiệp vụ, sau đó cho những dịch vụ này liên kết lại với nhau, các hệ thống bây giờ có thể sử dụng lại đƣợc các thành phần có sẵn, giảm chi phí phát triển từng phần độc lập cho mỗi tính năng mới chƣa có. Thay vì phải “ thay đổi” , với SOA ta chỉ cần tạo ra các “ cầu nối” liên hệ giữa những hệ thống và ứng dụng khác nhau, thay vì chỉnh sửa hoặc xây dựng lại từ đầu.

Bởi vì có đa phần các dịch vụ mới sử dụng lại những dịch vụ sẵn có nên chi phí phát triển các thành phần mới đƣợc giảm đến mức tối thiểu. Nghĩa là :

 Các công ty có thể triển khai những tiến trình xử lý mới nhanh hơn rất nhiều.  Chi phí dành cho phát triển và kiểm thử giảm đáng kể

 Giảm rủi ro khi dịch vụ tạm ngƣng hoạt động

Lợi ích cuối cùng của việc tái sử dụng thƣờng khó nhận thấy, đó là khi sử dụng những thành phần có sẵn, mỗi khi có lỗi xảy ra ta đều có thể giới hạn vào khu

32

vực có những thành phần đang đƣợc phát triển. Nhờ đó rủi ro về lỗi phần mềm giảm đi và tăng chất lƣợng dịch vụ.

Giảm chi phí phát triển và kiểm thử, và tránh công việc trùng lặp là một trong những lợi ích mà SOA mang lại. Nhƣng quan trọng vẫn là lợi ích từ việc tăng khả năng kinh doanh. Nếu những nhân tố này đƣợc đánh giá đúng mức thì lợi ích mang lại là rất đáng kể.

1.2.4.2. Giải pháp ứng dụng tổng hợp cho doanh nghiệp

Cũng với ví dụ trên, SOA mang đến khả năng tổng hợp một lớp các ứng dụng mới bằng cách kết hợp chức năng từ những hệ thống có sẵn, cung cấp cho ngƣời cuối những chức năng liên kết. Ở đây một số tiến trình cũ có thể đƣợc kết hợp với nhau bên trong một cổng thông tin (portal) giúp cho ngƣời dùng cuối chỉ cần truy cập một lần mà vẫn có thông tin về hàng loạt sản phẩm của doanh nghiệp. Loại kết hợp này có thể khó khăn nếu không sử dụng SOA vì nó đòi hỏi việc tích hợp phức tạp, nỗ lực lập trình và kiểm thử. Nhƣng với SOA , một ứng dụng tổng hợp có thể đƣợc tổng hợp dễ dàng, bất kể sự khác nhau về địa lý hoặc công nghệ phát triển các dịch vụ đó. Điều này cho phép doanh nghiệp phản ứng nhanh theo yêu cầu, giảm chi phí đến mức tối thiểu và tăng sức mạnh thoả mãn yêu cầu của ngƣời dùng cuối hiệu quả hơn.

1.2.4.3. Tính chất kết nối lỏng giúp tăng tính linh hoạt và khả năng triển khai cài đặt

Lợi ích kế tiếp đến từ tính kết nối lỏng của SOA, trong đó phía triệu gọi dịch vụ không cần quan tâm đến địa chỉ hoặc công nghệ nền tảng của service. Nó mang đến khả năng linh hoạt cao và nhiều lợi ích khác.

Trong một hệ thống SOA ta triệu gọi dịch vụ thông qua các interface theo một dạng thức chuẩn nên giúp lập trình viên tránh đƣợc việc phải lặp lại công việc tạo mới các service có khả năng hiểu tất cả những công nghệ đƣợc sử dụng bởi từng dịch vụ trong hệ thống.

33

Thứ hai, trong trƣờng hợp cần kết nối với các đối tác thƣơng mại thì những dịch vụ có tính kết nối lỏng, những interface chuẩn càng đem lại nhiều lợi ích hơn. Với một hệ thống SOA, thật dễ dàng khi cung cấp một loạt những dịch vụ ra bên ngoài cho một đối tác nào đó sử dụng. Nhờ tính độc lập địa chỉ và công nghệ của SOA, đối tác kia không cần quan tâm đến dịch vụ đƣợc cài đặt nhƣ thế nào, và nhờ các dịch vụ đã theo chuẩn giao tiếp nên đối tác đó chỉ cần một lƣợng thông tin nhỏ vừa đủ để sử dụng dịch vụ. Tƣơng tự cho điều ngƣợc lại, nếu đối tác đã xây dựng một hệ thống SOA thì việc đem sử dụng chức năng một số dịch vụ của họ vào sử dụng bên trong hệ thống của mình cũng trở nên dễ dàng và nhanh chóng. Đặc tính này của SOA hứa hẹn tăng hiệu suất và tự động hoá.

Cuối cùng một lợi ích mà tính kết nối lỏng mang lại là tăng khả năng triển khai. Nhƣ đã phân tích ở trên, những thành phần có tính kết nối lỏng có thể đƣợc triệu gọi mà không cần biết chúng đƣợc cài đặt nhƣ thế nào mà chỉ cần biết cách thức triệu gọi chúng thông qua một interface chuẩn. Vì vậy chỉ cần bọc những thành phần sử dụng interface ứng dụng thành dạng dịch vụ, ta đã có một đơn thể thành phần đƣợc sử dụng trong hệ thống SOA nhƣ những dịch vụ bình thƣờng khác.

1.2.4.4. Thích ứng với những thay đổi trong tương lai

Các phƣơng pháp tiếp cận truyền thống trong quy trình phát triển phần mềm có thể mô tả ngắn gọn là ngƣời dùng mô tả họ cần gì – công ty phát triển phần mềm – triển khai hệ thống theo yêu cầu. Quy trình này đôi khi gặp khó khăn khi gặp những tình huống thay đổi không định trƣớc. Với SOA, công ty phát triển phần mềm có thể tạo nên những quy trình nghiệp vụ uyển chuyển, phức tạp biến đổi tùy “ theo yêu cầu” và theo “ thời gian thực“.

1.2.4.5. Hỗ trợ đa thiết bị và đa nền tảng.

SOA cung cấp một tầng giao tiếp trừu tƣợng từ các nền tảng bên dƣới. Điều này cho phép hỗ trợ nhiều loại thiết bị đầu cuối khác nhau bao gồm cả những trình duyệt và thiết bị di động nhƣ điện thoại di động, PDA và các thiết bị chuyên dụng

34

khác sử dụng cùng một chức năng mà vẫn có thông tin trả về tùy theo dạng thiết bị. Tính độc lập công nghệ này giúp cho các công ty tiết kiệm chi phí rất nhiều nhất là khi phải xử lý với vô số công nghệ hiện đang đƣợc sử dụng. (adsbygoogle = window.adsbygoogle || []).push({});

1.2.4.6. Tăng khả năng mở rộng và khả năng sẵn sàng cung cấp.

Nhờ tính độc lập địa chỉ của SOA, ta có thể tăng khả năng mở rộng bằng cách thêm nhiều thể hiện (instance) của một service. Công nghệ chia tải (load-balancing) sẽ tự động tìm và định tuyến yêu cầu đến thể hiện service thích hợp. Tƣơng tự, SOA có thể chuyển tiếp nội dung yêu cầu đến một thể hiện khác khi cần, nhờ đó tăng khả năng sẵn sàng phục vụ.

35

CHƢƠNG 2: MÔ HÌNH HÓA QUY TRÌNH NGHIỆP VỤ TRONG

HTTT DOANH NGHIỆP THEO KIẾN TRÚC SOA

Một phần của tài liệu Nghiên cứu ứng dụng kiến trúc SOA trong mô hình ứng dụng doanh nghiệp (Trang 30 - 35)