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. Do đó để việc quản lý điều hành tại Viện thành công rất cần tổ chức dữ liệu, phân tích mô hình vật lý hệ thống, cơ sở dữ liệu, cũng như ứng dụng các công nghệ tiên tiến hiện nay như mô hình hướng dịch vụ và điện toán đám mây.
Tác giả thực hiện đề tài nhận thấy để quản lý điều hành tốt tại Viện cũng như trong thời gian thực hiện được tin học hóa cần quản lý được tốt các văn bản:
1) Văn bản đến 2) Văn bản đi 3) Văn bản nội bộ 4) Giao việc.
5) Các trao đổi nội bộ 6) Báo cáo thống kê
Việc lựa chọn ứng dụng quản lý điều hành ở Viện Kinh Tế - BXD căn cứ vào kết quả khảo sát phân tích của tác giả đề tài cùng các đồng nghiệp tại Công ty Hài Hòa và đã được sự đồng ý, ủng hộ của lãnh đạo Công ty và Viện Kinh Tế - BXD.
3.1.5. Vai trò, nhiệm vụ của tác giả đề tài
Trong quá trình phát triển hệ thống giữa Công ty Hài Hòa và Viện Kinh Tế - BXD, tác giả luận văn đã thực hiện các công việc:
- Trực tiếp tham gia quá trình khảo sát, phân tích và thiết kế hệ thống Quản lý điều hành của Viện Kinh Tế - Bộ Xây Dựng.
- Đề xuất với lãnh đạo Công ty và bên Viện ứng dụng thử nghiệm hệ thống trên nền tảng công nghệ Điện toán đám mây và Mô hình hướng dịch vụ.
- Tham gia viết chương trình hệ thống các phần: Quản lý văn bản đến, văn bản đi, quản lý tài liệu,...
- Tham gia quá trình cài đặt, chạy thử nghiệm hệ thống.
- Tham gia quá trình bàn giao, nghiệm thu hệ thống cho bên Viện.
3.2. Thiết kế vật lý của hệ thống
3.2.1. Mô hình kiến trúc hệ thống thông tin trong quản lý điều hành
Hệ thống thông tin ứng dụng trong Quản lý điều hành được giới hạn là một hệ thống thông tin ứng dụng được triển khai diện rộng tại đơn vị triển khai ứng dụng gồm các hệ thống thông tin tác nghiệp và quản lý CSDL như sau:
Hệ thống thông tin tác nghiệp và quản lý CSDL chính tại Trụ sở chính của cơ quan, đơn vị triển khai ứng dụng.
Hệ thống thông tin tác nghiệp và quản lý CSDL thành phần tại các cơ quan, đơn vị trực thuộc cơ quan, đơn vị triển khai ứng dụng đóng ngoài phạm vi Trụ sở chính.
Hệ thống thông tin tác nghiệp và quản lý CSDL thành phần tại các cơ quan, đơn vị cấp dưới của cơ quan, đơn vị triển khai ứng dụng.