Mô hình hƣớng dịch vụ SOA

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Đề xuất mô hình dịch vụ hành chính công trực tuyến phù hợp với thực tế xây dựng Chính Phủ điện tử tại Việt Nam (Trang 38 - 50)

CHƢƠNG I : DỊCH VỤ HÀNH CHÍNH CÔNG ĐIỆN TỬ

4.2. Các kỹ thuật, công nghệ hỗ trợ

4.2.1. Mô hình hƣớng dịch vụ SOA

Định nghĩa: Mô hình hƣớng dịch vụ (Service Oriented Architechture – gọi tắt là mô

hình SOA) là một khái niệm về kiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc là những quy trình ứng dụng, tới ngƣời sử dụng dƣới dạng các dịch vụ hoạt động trên môi trƣờng mạng có khả năng chia sẻ và sử dụng lạị. Dịch vụ ở đây đƣợc hiểu là những mô đun nghiệp vụ hoặc chức năng ứng dụng với giao diện đƣợc thiết kế theo quy định và đƣợc tƣơng tác bằng cách gửi nhận thông điệp. Hình vẽ dƣới đây khái quát hóa mô hình SOA.

Hình vẽ: Khái quát mô hình hƣớng dịch vụ SOA

Về mối liên hệ với kiến trúc tổng thể EA: Trong khi kiến trúc tổng thể (Enterprise Architecture – EA) là một phƣơng pháp luận nhằm xác định, sắp xếp và điều chỉnh quy trình nghiệp vụ cho phù hợp với tầm nhìn, chiến lƣợc và mục tiêu của một cơ quan, tổ chức, mô hình SOA chủ yếu đƣợc sử dụng trong thiết kế và phát triển các hệ thống thông tin phục vụ cho những quy trình nghiệp vụ đã đƣợc nhận biết (trong kiến trúc tổng thể).

Có thể liệt kê một số lợi ích cơ bản của việc sử dụng mô hình SOA nhƣ sau: - Cho phép hƣớng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển phần mềm;

- Giảm thiểu chi phí trong quá trình phát triển; - Giảm thiểu yêu cầu về đào tạo và kỹ năng; - Chi phí bảo trì thấp;

- Chu trình phát triển phần mềm nhanh chóng hơn.

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.

Khái niệm định hƣớng dịch vụ

Định hƣớng dịch vụ là một khái niệm gắn với quy cách tạo ra các chuỗi lôgic một cách tự động dƣới hình thức là tập hợp các dịch vụ, qua đó cho phép các thành phần bên trong hệ thống tổng thể về nghiệp vụ đƣợc tính hợp với nhau dƣới dạng các dịch vụ có khả năng kết nối cùng với các chức năng riêng biệt của chúng.

Khái niệm định hƣớng dịch vụ là nền tảng của mô hình SOA, mà ở đó các hệ thống thông tin có kiến trúc dựa trên quy tắc cung cấp các dịch vụ nghiệp vụ có khả năng sử dụng lại. Các dịch vụ này đƣợc lắp ghép từ những thành phần của phần mềm đƣợc gắn kết một cách khá mềm dẻo. Sự mềm dẻo thể hiện ở chỗ, với mô hình SOA các lựa chọn về công nghệ, nền tảng hệ thống, vị trí hoặc môi trƣờng của mỗi bên, nhà cung cấp hoặc ngƣời sử dụng dịch vụ, không nhất thiết phải khai báo tƣờng minh đối với bên còn lại. Chính vì mô hình SOA thúc đẩy sự gắn kết mềm dẻo giữa các thành phần phần mềm, các thành phần này có thể đƣợc sử dụng lại. Các mô hình truyền thống thƣờng yêu cầu nghiêm ngặt về tƣờng minh giao diện kết nối cũng nhƣ sự phối hợp logic rất chặt chẽ giữa các nhóm, thủ tục chức năng. Đây là một lý do chính cản trở hoạt động cập nhật, thay đổi hệ thống, dịch vụ và quy trình để không ảnh hƣởng tới môi trƣờng nghiệp vụ và Công nghệ thông tin hiện tại của cơ quan, tổ chức. Tính mềm dẻo đã góp phần giúp các dịch vụ có thể đƣợc nâng cao hoặc sửa đổi, đƣa ra những dịch vụ chia sẻ hoặc chuẩn hóa mới vào quy trình nghiệp vụ mà không đòi hỏi phải thay đổi toàn bộ quy trình.

Mô hình SOA thể hiện sự tiên tiến hơn hình thức phát triển ứng dụng thông thƣờng bằng cách đặt trọng tâm phát triển vào qui trình nghiệp vụ và sử dụng các giao tiếp đã đƣợc chuẩn hóa nhằm che đi tính chất phức tạp của kỹ thuật phía dƣới. Theo thiết kế SOA, mô đun thực hiện dịch vụ (phần mềm) đƣợc tách rời với mô đun đảm nhiệm giao tiếp, nối kết dịch vụ. Điều này cho phép mô đun giao tiếp, nối kết dịch vụ đƣợc chuẩn hóa và có tính độc lập với công nghệ (bao gồm nền tảng phần cứng, hệ điều hành và ngôn ngữ lập trình) sử dụng trong mô đun thực hiện dịch vụ. Thay vì xây dựng các ứng dụng đơn lẻ và quy mô lớn trong toàn bộ quy trình nghiệp vụ, nhà phát triển sẽ xây dựng các dịch vụ đƣợc tinh gọn, dễ triển khai và sử dụng lại. Điều này không chỉ cho phép sử dụng lại phần mềm tốt hơn, mà còn nâng cao tính linh hoạt

thông qua khả năng gói gọn việc cải tiến dịch vụ mà không phải thiết kế hay viết lại các ứng dụng sử dụng dịch vụ này.

Mô hình SOA cũng có thể coi nhƣ là một sự phát triển tự nhiên tiếp theo của kiến trúc khách/chủ. Trong các hệ thống khách/chủ, mỗi nhóm chức năng hoặc về giao diện ngƣời dùng, hoặc về chuỗi lôgic nghiệp vụ, hoặc về quản trị dữ liệu sẽ đƣợc thực hiện riêng rẽ, sử dụng các hệ thống nền và công nghệ phù hợp nhất đối với nhóm chức năng đó. Với mô hình SOA, những nhóm chức năng này (đặc biệt là chức năng nghiêp vụ/ứng dụng) sẽ đƣợc phân rã thành những lớp dịch vụ có chức năng nhỏ hơn. Ví dụ, thay vì xây dựng phần mềm độc lập hoặc ứng dụng trên máy chủ thực hiện một chức năng nghiệp vụ, hệ thống dựa trên mô hình SOA có thể kết hợp các dịch vụ đƣợc chạy trên các nền tảng phần mềm khác nhau, kể cả các dịch vụ phân tán, dịch vụ đƣợc chạy trên những hệ thống cung cấp dịch vụ từ xa hoặc trên hệ thống sử dụng cơ chế tính toán lƣới. Tất nhiên, để thực hiện điều này thành công, các phân tích khi xây dựng mô hình SOA không những phải xác định ra tập hợp gồm nhiều thành phần dịch vụ, đồng thời cũng mô tả cách thức ứng dụng hoạt động dựa trên sự liên kết các dịch vụ.

Trong khái niệm định hƣớng dịch vụ, có thể phân loại dịch vụ thành hai dạng cơ bản, đó là: các dịch vụ về nghiệp vụ và các dịch vụ về kỹ thuật. Dịch vụ về nghiệp vụ mô tả hoạt động và khái niệm mang tính nghiệp vụ. Dịch vụ về nghiệp vụ cũng có thể đƣợc coi nhƣ là dịch vụ về quy trình nghiệp vụ do chúng thƣờng đƣợc gắn với nguyên một chức năng nghiệp vụ cụ thể của một cơ quan hay một tổ chức cụ thể. Việc xác định các dịch vụ trong một cơ quan, tổ chức thƣờng đƣợc xem xét trong bối cảnh của một nhóm nghiệp vụ hoặc nhóm phòng ban tƣơng ứng. Mô hình SOA sẽ giải quyết vấn đề về sự cô lập trong ứng dụng Công nghệ thông tin vào dịch vụ về nghiệp vụ. Thông qua việc phân tích dịch vụ, các ứng dụng và dịch vụ mang tính liên ngành có thể đƣợc đẩy mạnh. Khả năng sử dụng lại dịch vụ cho phép việc xác định các nhóm dịch vụ hoặc quy trình thực hiện dịch vụ bên trong các vùng cô lập (silos) (liên kết theo chiều dọc), và sau đó tìm kiếm cơ hội sử dụng lại các nhóm dịch vụ hoặc quy trình thực hiện dịch vụ này theo chiều ngang. Giá trị của dịch vụ về nghiệp vụ còn ở chỗ chúng tạo tiền đề cho hoạt động xác định và phân tích dịch vụ cốt lõi bên trong cơ quan, tổ chức.

Dịch vụ về kỹ thuật là các dịch vụ đƣợc liên kết theo chiều ngang và đƣợc sử dụng trong các quy trình nghiệp vụ, khối nghiệp vụ (business unit), hoặc nhóm quy trình. Các dịch vụ này bao gồm các dịch vụ an toàn thông tin, dịch vụ lƣu vết, dịch vụ kiểm toán, dịch vụ chuyển đổi (transformation service), cũng nhƣ các dịch vụ Công nghệ thông tin đáp ứng các nhu cầu về nền tảng hệ thống xuyên suốt phạm vi nghiệp vụ thuộc cơ quan, tổ chức. Do vậy, dịch vụ về kỹ thuật ở một chừng mực nào đó có thể đƣợc coi nhƣ là dịch vụ dùng chung mức tổng thể. Những dịch này có mặt ở mọi nơi và đƣợc chia sẻ sử dụng chung trong các quy trình nghiệp vụ. Tuy nhiên, cũng cần thiết phải chỉ ra rằng mô hình SOA không khuyến khích sự tập trung quá mức vào các

dịch vụ loại này. Phát triển kiến trúc hệ thống thông tin dựa trên mô hình SOA cần phải lấy yếu tố nghiệp vụ làm trung tâm, xuất phát điểm từ các dịch vụ về nghiệp vụ, sau đó mới dần sắp xếp, chọn lựa triển khai các dịch vụ về kỹ thuật. Bởi vì mục đích cao nhất của mô hình SOA là làm sao mô tả đƣợc các nhu cầu và quy trình từ phía nghiệp vụ dƣới dạng các khối, thành phần Công nghệ thông tin.

Các thành phần logic của mô hình SOA

Mô hình SOA gồm nhiều thành phần khác nhau, không chỉ gói gọn vào những thành phần mang tính công nghệ hỗ trợ sự vận hành của mô hình. Một số thành phần cơ bản nhất sẽ đƣợc liệt kê và mô tả sau đây. Các thành phần này sẽ ảnh hƣởng trực tiếp và chủ yếu vào kết quả ứng dụng mô hình SOA.

Tầm nhìn mức khái niệm của mô hình SOA

Mô hình SOA có thể đƣợc coi nhƣ một ý niệm mang tính nghiệp vụ cao, một sáng kiến hoặc một phƣơng pháp, phục vụ việc lên kế hoạch, thiết kế và chuyển giao chức năng Công nghệ thông tin dƣới hình thức là các dịch vụ nghiệp vụ nhằm đạt đƣợc các lợi ích nghiệp vụ cụ thể của một cơ quan, tổ chức. Tầm nhìn mức khái niệm của mô hình SOA bao gồm các nghiệp vụ đƣợc định nghĩa chặt chẽ, có mục tiêu (cả về giá trị Công nghệ thông tin lẫn về kiến trúc), cùng với mô hình quản trị và tập hợp chính sách phù hợp nhằm thiết lập những ràng buộc chặt chẽ về tiêu chuẩn và nền tảng kỹ thuật trong suốt thời gian phát triển. Đây chính là định nghĩa của mô hình SOA đích, mô hình mục tiêu sẽ cần phải đạt đƣợc.

Dịch vụ

Dịch vụ vừa là khái niệm, vừa là thực thể quan trọng nhất, đóng vai trò trung tâm trong mô hình SOA. Có nhiều quan điểm về khái niệm dịch vụ tùy thuộc vào từng ngữ cảnh cụ thể. Trong mô hình SOA, dịch vụ đƣợc xác định cách đơn giản là một mô đun phần mềm hay một chƣơng trình hoàn chỉnh đƣợc cấu trúc để có thể liên kết với nhau một cách dễ dàng thông qua hình thức trao đổi thông điệp. Đặc điểm chính của dịch vụ trong mô hình SOA thể hiện ở việc sử dụng dịch vụ này sẽ đƣợc diễn ra liên tục và có tính lặp đi lặp lại. Đối tƣợng sử dụng dịch vụ gồm nhiều thành phần khác nhau, có thể từ kiến trúc sƣ, nhà phát triển, nhà phân tích thiết kế phần mềm, đến các khách hàng, đối tác hay chính những thành viên của cơ quan, tổ chức. Kèm với việc xây dựng các dịch vụ, một mô hình dịch vụ cần đƣợc thiết kế nhằm đảm bảo tính chất sử dụng lại, tƣơng tác liên thông và tích hợp của toàn bộ qui trình nghiệp vụ cũng nhƣ giữa các hạ tầng công nghệ khác nhau của hệ thống.

Để đáp ứng đƣợc những yêu cầu của một cơ quan, tổ chức nào đó, dịch vụ phải thỏa mãn đƣợc những yêu cầu về khả năng đem lại giá trị ở mức cao nhất cho cơ quan, tổ chức này. Một số đặc điểm chính của dịch vụ bao gồm:

- Dịch vụ dạng thô (coarse-grained services);

- Liên kết mềm dẻo;

- Khả năng phát hiện đƣợc; - Tính bền vững;

- Khả năng phối ghép (composable);

- Phù hợp với nghiệp vụ (business aligned); - Sử dụng lại đƣợc;

- Tƣơng tác liên thông.

Trên lý thuyết, mô hình SOA không phụ thuộc vào bất cứ ngôn ngữ lập trình nào. Tuy nhiên sự phổ biến của ngôn ngữ lập trình Java cùng với các giao diện và giao thức đƣợc lập trình sẵn đã giúp Java trở thành một trong những ngôn ngữ đƣợc ƣu tiên sử dụng khi phát triển mô hình SOA. Trong môi trƣờng SOA, Java thƣờng đƣợc sử dụng trong việc mã hóa chức năng của mỗi dịch vụ, điều khiển các đối tƣợng dữ liệu và tƣơng tác với đối tƣợng đƣợc đóng gói một cách logic bên trong dịch vụ. Tuy rằng bất cứ một chức năng nào đều có thể chuyển đổi thành dịch vụ, thách thức ở đây là việc phải định nghĩa giao diện dịch vụ ở một mức độ bậc cao phù hợp. Dịch vụ cũng cần cung cấp các chức năng có khả năng tinh chỉnh.

Công nghệ tạo khả năng (Enabling Technology)

Hiện nay, có khá nhiều giải pháp công nghệ khác nhau trong lĩnh vực dịch vụ Web và SOA. Tuy nhiên, điều này không gây khó khăn khi thực hiện phát triển hệ thống phần mềm sử dụng mô hình SOA. Tuy rằng công nghệ có vai trò trong việc nhận thức và đƣa ra tầm nhìn trong ứng dụng mô hình SOA, bản thân công nghệ chỉ là yếu tố hỗ trợ chứ không phải là thành phần cốt lõi của mô hình SOA. Việc thực hiện công nghệ tạo khả năng hƣớng tới hai mục đích: (1) cho phép các dịch vụ đƣợc triển khai một cách tin cậy và an toàn, hƣớng tới hỗ trợ các mục tiêu nghiệp vụ; (2) tạo ra khả năng duy trì hạ tầng Công nghệ thông tin sẵn có cũng nhƣ tận dụng các hệ thống cũ nhằm phục vụ mục đích ứng dụng mô hình SOA.

Thực tế là, một trong những giá trị lớn nhất của SOA là cho phép sử dụng lại hệ thống máy tính lớn và các tài sản Công nghệ thông tin đang tồn tại. Trong khá nhiều các tổ chức lớn, chính các hệ thống chính cũ và các ứng dụng cài đặt đi kèm lại là những thành tố quan trọng đóng góp vào cung cấp dịch vụ trong thời gian đầu triển khai SOA. Điều này hết sức quan trọng vì các phần mềm và dữ liệu liên quan đến quy trình nghiệp vụ cơ bản thƣờng đƣợc cài đặt và lƣu trữ trong các hệ thống chính chuyên dụng. Bằng cách cho phép các dịch vụ truy cập vào các hệ thống này, các giá trị thông tin đã có có thể đƣợc tái sử dụng ngay lập tức trong các mô hình và quá trình tự động.

Quản trị và chính sách trong mô hình SOA

Kiến trúc ứng dụng Công nghệ thông tin dựa trên mô hình SOA chỉ đƣợc đánh giá là khả thi khi nó thể hiện sự liên hệ chặt chẽ với những đối tƣợng sử dụng, bao

gồm: ngƣời sử dụng nghiệp vụ, nhà phát triển, kiến trúc sƣ phần mềm, giám đốc phụ trách nghiệp vụ, giám đốc phụ trách Công nghệ thông tin và nhà phân tích nghiệp vụ. Ngoài ra, đối tác của cơ quan, tổ chức cũng cần phải đƣợc thông tin chính xác về khả năng và ích lợi khi áp dụng mô hình dựa trên khái niệm SOA.

Tuy vậy, ngoài công tác truyền thông một vấn đề không kém phần khó khăn nữa là sự yêu cầu sự tuân thủ nghiêm ngặt từ các đối tƣợng sử dụng nêu trên đối với tầm nhìn và mục tiêu của kiến trúc ứng dụng đang đƣợc thực hiện. Sự phát triển mô

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Đề xuất mô hình dịch vụ hành chính công trực tuyến phù hợp với thực tế xây dựng Chính Phủ điện tử tại Việt Nam (Trang 38 - 50)

Tải bản đầy đủ (PDF)

(99 trang)