Lợi ích và hạn chế của việc sử dụng mô hình SOA

Một phần của tài liệu Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại Viện Kinh tế - Bộ Xây dựng (Trang 34)

2.3.1. Lợi ích

Việc sử dụng mô hình hướng dịch vụ SOA đem lại các lợi ích sau:

Sử dụng lại các thành phần có sẵn: SOA 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ó; giúp 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. Lợi ích của việc sử dụng lại có thể chia làm hai phần:

Lợi ích từ việc sử dụng lại các 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.

Với mô hình SOA, đ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 tới 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. [9]

Giải pháp ứng dụng tổng hợp cho doanh nghiệp: 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 dùng cuối những chức năng liên kết. 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 thỏa mãn yêu cầu của người dùng cuối hiệu quả hơn.

Tính liên kết lỏng (loose coupling) giúp tăng tính linh hoạt và khả năng triển khai cài đặt: Việc 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 service. Mang đến khả năng linh hoạt cao và nhiều lợi ích khác.

Thích ứng với những thay đổi trong tƣơng lai: 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à “thời gian thực”

Hỗ trợ tối đa thiết bị và đa nền tảng: SOA mang đến khả năng tích hợp với các thiết bị và đa nền tảng. Các ứng dụng được xây dựng sẽ được hỗ trợ chạy trên nhiều thiết bị và nền tảng khác nhau.

Tăng khả năng mở rộng và khả năng sẵn sàng cung cấp: Các ứng dụng dễ dàng mở rộng và sẵn sàng cung cấp khi cần thiết. [9]

2.3.2. Hạn chế

- Hệ thống phức tạp

- Khó miêu tả dữ liệu không cấu trúc.[9]

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

Mô hình SOA có ưu thế hơn các mô hình truyền thống (như mô hình hướng ứng dụng hoặc 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 năng và tính năng phục vụ hoạt động và quy trình nghiệp vụ. Điều này cho phép nhà quản lý chỉ cần dựa trên đặ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 hoặc loại bỏ. Do đó, các hệ thống phần mềm phát triển phía sau có thể được thiết kế nhằm đáp ứng những quy trình nghiệp vụ (thay vì quy trình nghiệp vụ phải thay đổi để tận dụng những tính năng phần mềm như trong các mô hình thường thấy ở nhiều cơ quan tổ chức với hạ tầng ứng dụng Công nghệ thông tin được phát triển từ trước).

Bằng cách phát triển và tập hợp danh mục các dịch vụ, nhà phát triển có một bộ sưu tập những mô-đun phần mềm có sẵn, có thể được sử dụng để lắp ghép nên một hệ thống mới (thay vì phải xây dựng hệ thống này từ đầu). Danh mục dịch vụ này sẽ nhanh chóng được gia tăng về qui mô và số lượng, khiến việc phát triển các hệ thống mới ngày càng trở nên thuận tiện, nhanh chóng. Khả năng sử dụng lại cũng cho phép giảm bớt chi phí phát sinh khi thêm các tính năng mới vào hệ thống. [10]

2.4.1. Mô hình SOA và OOP (mô hình hƣớng đối tƣợng)

SOA sử dụng cùng một số nguyên lý như OOP, tuy nhiên triết lý SOA có khác biệt đáng kể so với OOP. SOA có thể thực hiện với cả chương trình theo hướng đối tượng (OO) và chương trình không hướng đối tượng.

SOA hỗ trợ việc kết nối lỏng lẻo các service. OOP dựa nhiều trên các lớp đựoc định nghĩa sẵn, kết quả là các đối tượng kết nối chặt chẽ với nhau.

Service oriented sử dụng các message để miêu tả thông tin về service để thực hiện chức năng của mình, OOP lại sử dụng các hàm APIs để miêu tả các đối tượng của mình.

Phạm vi hoạt động của các service trong SOA rộng lớn hơn là các đối tượng của OOP. SOA khuyến khích các service được thiết kế phi trạng thái càng nhiều càng tốt còn OOP thì lại liên kết dữ liệu một cách logic từ đó tạo ra các đối tượng có trạng thái.

SOA hỗ trợ việc kết nối lỏng lẻo các service với nhau, còn OOP thì khuyến khích việc kế thừa các đối tượng từ đó các đối tượng liên kết với nhau một cách chặt chẽ.[10]

2.4.2. Mô hình SOA và Web

Đặ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. 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ụ mô ̣t 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ụ.

Định nghĩa cơ bản của dịch vụ web dựa trên một nền tảng khác: Tập hợp các công nghệ WSDL (Web Services Description Language), SOAP (Simple Object Access Protocol) và UDDI (Universal Description, Discovery ang Integration), cho phép xây dựng các giải pháp lập trình cho vấn đề tích hợp ứng dụng và truyền thông điệp. Theo thời gian, các công nghệ này có thể hoàn thiện hay có thể được thay bằng công nghệ khác tốt hơn, hiệu quả hơn hay ổn định hơn (hiện tại thì các công nghệ này làm việc tốt và hiệu quả).

Rõ ràng, theo định nghĩa thì dịch vụ Web là đặc tả công nghệ còn SOA là triết lý thiết kế phần mềm. Dịch vụ Web đưa ra giải pháp kỹ thuật để thực hiện SOA, nhưng SOA cũng có thể thực hiện với các giải pháp kỹ thuật khác không phải dịch vụ Web (và không phải tất cả dịch vụ Web đều có kiến trúc SOA). Tuy vậy, SOA và dịch vụ Web có mối quan hệ tương hỗ: sự phổ biến của dịch vụ Web giúp thúc đẩy sự phát triển của SOA, và kiến trúc tốt của SOA sẽ giúp dịch vụ Web thành công.[10]

2.5. Ứng dụng kiến trúc hƣớng dịch vụ trong Quản lý điều hành tại Việt Nam

Mục đích của các dịch vụ hành chính công của Việt Nam cũng như các nước trên thế giới là:

 Cải thiện dịch vụ cung cấp cho nhân dân

 Nâng cao hiệu quả làm việc trong hành chính công

 Sức ép về nhân sự: cần tinh giảm biên chế, tránh bộ máy cồng kềnh  Đảm bảo an toàn, an ninh cũng như các thông tin cán hân cho người dân  Giám sát quản lý bộ máy chính quyền một cách hiệu quả hơn

Những ưu tiên mà chính quyền các nước trên thế giới hiện nay đang tập trung giải quyết

 Nâng cao hiệu quả làm việc của nhân viên hành chính  Nâng cao hiệu quả phối hợp làm việc giữa các cơ quan

 Cung cấp các dịch vụ công đến người dân một cách dễ dàng thuận tiện hơn nữa

 Xây dựng một kiến trúc hạ tầng mềm dẻo  Giảm thiểu rủi ro

 Tăng nguồn thu chon gân sách.

Để thực hiện được những ưu tiên này, các chính quyền cần xây dựng một mô hình hoạt động mềm dẻo, dễ thay đổi, nghĩa là

 Dễ dàng cung cấp các dịch vụ công mới

 Chuẩn hóa, tự động và tích hợp quy trình làm việc giữa các bộ phận trong chính quyền

 Khả năng tái sự dụng hệ thống cũ để xây dựng một giải pháp dịch vụ mới  Đảm bảo tính mở, dễ phát triển mở rộng và tiết kiệm.

Với những nhu cầu thực tế trên, ứng dụng kiến trúc hướng dịch vụ nổi lên như là một công cụ và giải pháp hữu hiệu trong tin học hóa quản lý hành chính nhà nước.[10]

2.6. Kết luận

SOA là một cách tiếp cận để xây dựng các ứng dụng tích hợp từ các dịch vụ độc lập với nền, các dịch vụ được tái sử dụng. SOA cho phép chúng ta tích hợp tất cả các tài nguyên CNTT ảo, kết hợp nhiều hệ thống không tương thích với nhau, sử dụng được cả những dữ liệu riêng biệt để tạo ra hệ thống nghiệp vụ thực hiện được những chiến lược đề ra.

SOA và công nghệ nguồn mở cho phép các tổ chức, doanh nghiệp chia sẻ các ứng dụng nguồn mở các dữ liệu trong các chương trình quản lý ứng dụng khác nhau thông qua các mẫu dịch vụ. Những dịch vụ này có thể thực hiện độc lập với các nền (platform) hoặc độc lập với ngôn ngữ lập trình (programming language). Ưu điểm chính của SOA là:

 Các chương trình ứng dụng dễ dàng thay đổi theo kỹ nghệ;

 Dễ dàng tích hợp các phần mềm nguồn mở cùng với những phần mềm có sẵn, với cả những phần mềm đóng;

 Hỗ trợ để tận dụng lại những dịch vụ nghiệp vụ để tạo lập mới hoặc chia sẻ giữa các doanh nghiệp với nhau.

CHƢƠNG 3. PHÂN TÍCH HỆ THỐNG QUẢN LÝ ĐIỀU HÀNH 3.1. Khảo sát, phân tích yêu cầu

3.1.1. Trạng thái của hệ thống

Hiện nay tại Viện kinh tế - Bộ Xây Dựng hệ thống quản lý điều hành đã được xây dựng và thông tin đã từng bước được cập nhật, trong đó bao gồm các thông tin về văn bản liên quan đến hoạt động của Viện, đáp ứng yêu cầu thông tin của các đơn vị quan tâm cũng nhưng cung cấp thông tin cho xã hội.

Những thông tin được cung cấp có thể là:

 Các văn bản thông tư, nghị định, quyết định của Chính phủ, của Bộ Xây Dựng.  Các thông tin về kinh tế xây dựng, định giá, ...

 Các thông tin liên quan đến tình hình hoạt động của Viện  Thông tin thời sự liên quan tới ngành xây dựng

 Trạng thái của các văn bản (gửi đi, gửi đến, chờ phê duyệt, hiệu lực áp dụng...)  Liên kết với cổng thông tin của các Sở ban ngành địa phương.

Hệ thống quản lý thông tin này hiện mới chỉ đáp ứng được một phần nhu cầu thông tin hiện nay, do được xây dựng từ lâu nên không còn đáp ứng được các yêu cầu tương tác trong môi trường công nghệ thông tin phát triển, những yêu cầu thay đổi liên tục của nghiệp vụ quản lý văn bản.

Một số nhược điểm chính của hệ thống cũ

 Không kiểm soát được lượng thông tin lớn  Khó khăn trong quá trình tìm kiếm thông tin  Hệ thống chạy chậm, thiếu ổn định.

 Khó khăn trong việc nâng cấp, bảo trì khi có thay đổi  Khả năng bảo mật hạn chế.

3.1.2. Bài toán cần giải quyết

Từ nhu cầu hiê ̣n ta ̣i cần phải xây dựng một hệ thống quản lý đáp ứng được các yêu cầu:

 Những thay đổi liên tục của hệ thống, của quy trình nghiệp vụ quản lý văn bản  Cho phép quản lý được khối lượng thông tin văn bản rất lớn

 Tăng tốc độ tìm kiếm thông tin

 Đưa ra kết quả chính xác, nhanh chóng  Trơ ̣ giúp viê ̣c ra quyết đi ̣nh của lãnh đa ̣o

 Quản lý được nhiều người cùng truy cập vào hệ thống

 Áp dụng các mô hình nghiệp vụ, luồng dữ liệu trong hệ thống thực tế  Dễ dàng gắn kết với các cổng thông tin tại các địa phương

 Đảm bảo an toàn thông tin.

 Hê ̣ thống dễ mở rô ̣ng, khả năng sẵn sàng cung cấp  Sử du ̣ng la ̣i các thành phần có sẵn

 Hỗ trơ ̣ đươ ̣c đa thiết bi ̣ và đa nền tảng  Đáp ứng các cơ sở pháp lý

3.1.3. Lƣ̣a cho ̣n mô hình và công nghê ̣ phát triển

Vấn đề lớn nhất hiê ̣n nay với hê ̣ thống quản lý điều hành đó là viê ̣c tổ chức, lưu trữ dữ liê ̣u, đảm bảo an toàn dữ liê ̣u . Do hê ̣ thống đã được xây dựng từ khá lâu (khoảng năm 2000), các công nghệ sử dụng đã lạc hậu so với hiện tại . Hê ̣ thống quản lý điều hành là một module được tích hợp sẵn trong gói phần mềm mềm lớn . Viê ̣c "sửa và kết hơ ̣p" các module lại gặp nhiều khó khăn , chi phí là rất tốn kém. Trong quá trình kết hơ ̣p các ứng du ̣ng cũ cũng đang gặp nhiều khó khăn . Đa phần những khó khăn trên bắt nguồn từ mô ̣t trong ba nguyên nhân: phức ta ̣p, không linh hoa ̣t và không bền vững:

- Không đáp ứng những thay đổi liên tục trong quản lý quy trình nghiệp vụ - Tốn chi phí tích hơ ̣p giữa các hệ thống với nhau, giữa các hệ thống mới và cũ - Số lượng lớn các ứng du ̣ng cần kết hợp

- Quá nhiều định dạng dữ liệu - Các vấn đề liên quan đến bảo mật - Các thay đổi liên tục xảy ra

- Việc cải tiến công nghê ̣ dẫn đến thay đổi các thành phần liên quan

Trong quá trình hợp tác giữa Viê ̣n Kinh Tế - Bô ̣ Xây Dựng và Công ty Cổ phần công nghê ̣ phần mềm Hài Hòa để xây dựng hệ thống quản lý đi ều hành sẽ tiến hành xây dựng, triển khai hê ̣ thống Quản lý điều hành ứng dụng mô hình hướng dịch vụ và công nghê ̣ nền tảng điê ̣n toán đám mây . Dưới đây là các lợi ích mà mô hình mới đem lại.

- Lợi ích trong viê ̣c ứng du ̣ng mô hình hướng di ̣ch vu ̣ - SOA: + Sử du ̣ng la ̣i các thành phần có sẵn

+ Đây là mô ̣t giải pháp ứng du ̣ng tổng hơ ̣p cho doanh nghiê ̣p

+ Tính liên kết lỏng giúp tăng khả năng linh hoạt và khả năng triển khai cài đặt . + Thích ứng với những thay đổi hiê ̣n ta ̣i và tương lai

+ Hỗ trợ đa thiết bi ̣ và đa nền tảng

+ Tăng khả năng mở rô ̣ng và khả năng sẵn sàng cung cấp

- Lợi ích trong viê ̣c ứng du ̣ng công nghê ̣ nền tảng điê ̣n toán đám mây: + Tăng tính linh đô ̣ng cho hê ̣ thống

+ Tạo nên sự độc lập + Tăng cườ ng đô ̣ tin câ ̣y + Tăng khả năng bảo mật + Bảo trì dễ dàng.

3.1.4. Sự cần thiết của hệ thống Quản lý điều hành

Thông tin về các các văn bản, tài liệu hiện hiện nay do Bộ phận văn thư của Viện giữ và các phòng, các nhóm và cán bộ của Viện có thể tiếp cận để sao chép hay sử dụng khi cần thiết. Tuy vậy, các hồ sơ này gần như là hồ sơ gốc, vì vậy việc tin học hóa để cập nhật vào CSDL là rất cần thiết.

Nhu cầu tra cứu các văn bản (các thông tư, nghị định, quyết định ban hành trong Viện) là rất lớn.

Khối lượng các hồ sơ văn bản (được tổ chức lưu trữ từ năm này đến nay khác) rất lớn.

Việc thay đổi quy trình nghiệp vụ ở các cơ quan nhà nước diễn ra thường xuyên.

Một phần của tài liệu Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại Viện Kinh tế - Bộ Xây dựng (Trang 34)