Tổng quan về mô hình hướng dịch vụ SOA
(08/12/2012)
Mô hình hướng dịch vụ (Service Oriented Architechture – gọi tắt là mô hình 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.
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ô hinh 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
- Dịch vụ
Để đá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);
- Thỏa thuận làm rõ dịch vụ (well-defined service contracts);
- 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.
- 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
Tuy vậy, ngoài công tác truyền thông nộ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ô hình dựa trên khái niệm SOA sẽ không thể hoàn tất ngay một lúc, giống như trường hợp các hệ thống phần mềm đóng gói. Thay vì đó, kiến trúc ứng dụng được xây dựng dần dần trong suốt thời gian triển khai dự án bằng cách liên tục đưa ra các định nghĩa mới và áp đặt việc sử dụng các tiêu chuẩn nền tảng của chính kiến trúc ứng dụng này. Những tiêu chuẩn được chỉ định ở đây chính là những chính sách, gián tiếp liên quan tới quá trình phát triển kiến trúc ứng dụng, mà qua đó giúp cơ quan, tổ chức đạt được tầm nhìn và mục tiêu nghiệp vụ khi ứng dụng mô hình SOA. Cơ chế quản trị trong mô hình SOA xác định rõ các quy trình quản trị, vai trò và trách nhiệm mang tính tổ chức, tập hợp các chuẩn và chính sách cần thiết phải đưa vào quá trình xây dựng và phát triển kiến trúc ứng dụng Công nghệ thông tin để đảm bảo tính hiệu quả và khả thi của kiến trúc này.
- Các chuẩn đo (metrics)
- Mô hình tổ chức và ứng xử
- Hệ thống vật lý điển hình
- Enterprise Service Bus (ESB): cung cấp khả năng kết nối cần thiết cho những dịch vụ trong toàn bộ hệ thống, bao gồm cả dịch vụ liên quan tới thực hiện giao vận (transport), quản lý tình huống (event) và điều phối (mediation). ESB cho phép nhà phát triển tận dụng giá trị của phương thức giao tiếp qua gửi nhận thông điệp mà không phải thực hiện viết những đoạn mã chuyên biệt. ESB không chỉ là một thành phần cần phải có mà còn là thành phần quan trọng trong việc quản lý quy trình nghiệp vụ trong mô hình SOA.
- Dịch vụ tương tác (interaction services): cung cấp chức năng về Công nghệ thông tin và dữ liệu đến người dùng cuối theo yêu cầu sử dụng của họ.
- Dịch vụ xử lý (process services): cung cấp dịch vụ điều khiển cần thiết để quản lý các luồng và tương tác của nhiều dịch vụ, đáp ứng việc thực hiện quy trình nghiệp vụ.
- Dịch vụ thông tin (information services): cung cấp các chức năng tập hợp (federate), thay thế và chuyển đổi nhiều nguồn dữ liệu khác nhau được thực hiện bởi nhiều cách thức khác nhau.
- Dịch vụ truy cập (access services): cung cấp các chức năng bắc cầu cho những ứng dụng cũ (legacy applications), ứng dụng chưa hoàn thiện (prepackaged applications), kho dữ liệu chính, và ESB nhằm kết hợp dịch vụ có trong những ứng dụng hiện tại vào hệ thống SOA.
- Dịch vụ đối tác (partner services): cung cấp tài liệu, giao thức, và chức năng quản lý đối tác cho những quy trình nghiệp vụ có yêu cầu tương tác với đối tác bên ngoài và nhà cung cấp.
- Dịch vụ ứng dụng nghiệp vụ (business application services): cung cấp dịch vụ runtime cho phép những thành phần ứng dụng mới có thể tích hợp vào hệ thống.
- Dịch vụ hạ tầng (infrastructure services): cung cấp khả năng tối ưu băng thông, sẵn sàng và hiệu năng.
- Ứng dụng mô hình SOA để giải quyết bài toán tích hợp
- Nhu cầu giải quyết bài toán tích hợp
- Nâng cao hoạt động tách nhập (M&A actitivity);
- Phối hợp tổ chức và cấu trúc lại mô hình tổ chức;
- Củng cố ứng dụng và/hoặc hệ thống;
- Sáng kiến về tích hợp dữ liệu và kho dữ liệu (data warehousing);
- Xây dựng chiến lược nghiệp vụ nhằm tận dụng các hệ thống hiện tại đáp ứng quy trình mới;
- Đạt được sự tuân thủ về quy định;
- Gắn kết các quy trình nghiệp vụ để nâng cao hiệu năng.
- Chuyển đổi sang ứng dụng dịch vụ
Do vậy, giải pháp tích hợp mới cần phải loại trừ tất cả các kết nối tích hợp trực tiếp điểm-điểm và cấu trúc lại việc tích hợp giữa các hệ thống, đơn vị có nhu cầu dựa trên quan diểm mô hình SOA. Chí phí Công nghệ thông tin sẽ được tính toán để đảm bảo kinh phí cho những giải pháp, dự án, bao gồm cả chi phí cho cán bộ chuyên trách, chi phí bảo trì và đầu tư, duy trì hạ tâng Công nghệ thông tin. Đồng thời sự giảm bớt khối lượng công việc dành cho việc tích hợp sẽ phải được ước lượng thông qua sử dụng các dịch vụ có thể sử dụng lại được trong mô hình SOA và phân tích phản ứng của người sử dụng đối với việc tích hợp này. Tuy rằng việc tích hợp thông qua hướng dịch vụ sẽ yêu cầu nhiều quy định cũng như kế hoạch hơn các mô hình tích hợp trước đó, kết quả thu được hoàn toàn tương xứng để quyết định đầu tư.
- Mối tương quan giữa mô hình SOA và dịch vụ Web
Bản thân mô hình SOA là một sự xây dựng bậc cao nhằm tích hợp phần mềm. Nó được dựa trên nền tảng ý tưởng và công nghệ thực hiện trong XML và WS để có thể triển khai thực tế trong môi trường phần mềm. Ngoài ra, để đảm bảo hoạt động một cách hiệu quả, mô hình SOA cũng đòi hỏi sự hỗ trợ từ an toàn bảo mật, quản trị chính sách, thông điệp tin cậy, và các hệ thống thanh toán.
Dịch vụ Web hay Web Service (WS) là những dịch vụ hoạt động trên nền World Wide Web hoặc mạng intranet, sử dụng công nghệ được xây dựng trên nền tảng Web. Những dịch vụ này còn có thể được coi như là những hệ thống phần mềm được thiết kế nhằm hỗ trợ tính tương tác liên thông trên hệ thống mạng. Thành phần cơ bản của dịch vụ Web bao gồm nhóm các chuẩn dựa trên XML, gồm ngôn ngữ định danh dịch vụ Web (Web Services Definition Language – WSDL) có nhiệm vụ cung cấp một cách thức cơ bản để mô tả các thành phần của phần mềm; giao thức truy cập đối tượng đơn giản (Simple Object Access Protocol – SOAP) là một giao thức gọn nhẹ cho trao đổi thông tin trong môi trường không tập trung hoặc môi trường phân tán; và chuẩn dịch vụ Tích hợp, Khám phá và Mô tả thống nhất (Universal Description, Discovery, and Integration – UDDI), hoạt động như một dịch vụ đăng ký và định vị có khả năng xác nhận và phân loại các ứng dụng dịch vụ Web. Dịch vụ Web được cung cấp trên một hệ thống mạng dử dụng các công nghệ như XML, WSDL, SOAP, và UDDI. Mô hình SOA cho phép cơ quan, tổ chức tạo ra những thành phần chuẩn dưới hình thức là các dịch vụ Web. Những thành phần này có thể được truy cập thông qua giao thức chuẩn là SOAP, đồng thời sử dụng giao diện truy cập dựa trên XML là WSDL. Bằng cách này, các dịch vụ SOA có thể sử dụng được một hệ thống giao tiếp năng động và uyển chuyển hơn rất nhiều các hệ thống cũ như IDL (Interface Definition Language).
Dịch vụ Web cung cấp một phương pháp dựa trên các chuẩn nhằm định nghĩa và thực hiện lời gọi các khối dòng lệnh, trong khi mô hình SOA hướng đến việc chuyển đổi các giá trị Công nghệ thông tin thành tập hợp có thể sử dụng lại được những thành phần cho phép lắp ghép thành nhiều dịch vụ hướng nghiệp vụ khác nhau nhằm đáp ứng sự thích ứng với thay đổi một cách nhanh chóng và hiệu quả về chi phí. Dịch vụ Web có thể được coi như một cách triển khai tốt nhất của mô hình SOA do khả năng cung cấp giao thức và công nghệ phục vụ quản lý hiệu quả dịch vụ trong mô hình SOA. Dịch vụ Web giúp đơn giản và chuẩn hóa cơ chế giao diện và lời gọi dịch vụ. Lưu ý rằng mô hình SOA không phải là một tập hợp các giao thức và không phụ thuộc vào bất cứ ngôn ngữ nào. Thay vì đó mô hình SOA là một bản mô tả cụ thể các thành phần và cách kết hợp chúng, các nhóm chức năng, giao thức và dữ liệu sử dụng giữa các nhóm chức năng. Dịch vụ Web không có khả năng giải quyết các vấn đề liên quan tới đặc điểm tổ chức và quản lý; những khả năng này cần phải thêm vào phương án triển khai để đảm bảo tính thực tế của phát triển mô hình SOA.
Sự khác biệt giữa dịch vụ SOA và dịch vụ Web cũng được coi như sự khác nhau giữa hai yếu tố: khái niệm và thực hiện. Xét trên yếu tố khái niệm, mô hình SOA không nhằm định nghĩa một cách chính xác phương thức dịch vụ được đặc tả để có thể tương tác với nhau. Mô hình SOA sẽ chỉ định nghĩa làm thể nào để các dịch vụ có thể 'hiểu' được nhau và từ đó có thể tương tác được với nhau. Dịch vụ Web xây dựng một tập hợp hướng dẫn về thực hiện thông điệp giữa các dịch vụ (thông thường có thể thấy ở thông điệp SOAP khi được chuyển nhận trên HTTP). Dịch vụ Web cũng là một phương án để thực hiện mô hình SOA, tuy nhiên nó không phải là phương án duy nhất. Bất kỳ phương án thực hiện nào nếu có khả năng xây dựng giao diện dịch vụ trên nền WSDL và giao tiếp với thông điệp XML đều có thể thực hiện mô hình SOA. Tóm lại, dịch vụ Web là một phương án cụ thể và thực tế phục vụ việc phát triển và triển khai mô hình SOA.
- Những thách thức khi xây dựng mô hình SOA
- Yêu cầu từ xây dựng mô hình kiến trúc tổng thể
Các kiến trúc sư thường có xu hướng thiết kế ra các giải pháp đảm bảo khả năng tích hợp thay vì hướng đến sự linh hoạt, tính sử dụng lại, và hỗ trợ các quy trình nghiệp vụ. Việc hỗ trợ các quy trình nghiệp vụ ngày càng trở nên quan trọng đối với các cơ quan, tổ chức do các yêu cầu về thay đổi mang tính toàn cầu hóa. Đây chính là các yêu cầu mới của mô hình SOA. Mô hình SOA sẽ không đạt được thành công trừ phi các quy trình của kiến trúc được thay đổi từ hình thức là những khuyến nghị khô cứng, chú ý tạo những tài liệu trình bày, những bản phác thảo ứng dụng và lộ trình kiến trúc sang những tài nguyên thuộc Công nghệ thông tin có sự linh hoạt, sử dụng lại được và phục vụ quy trình nghiệp vụ.
- Sự phát triển không đồng bộ (phát triển từng phần và tạm thời)
- Yêu cầu sự quản lý
- Thách thức trong xác định, phân tích và thiết kế dịch vụ
Thách thức khi triển khai SOA một cách toàn diện
Về kỹ thuật, mô hình SOA có ưu điểm về hiệu năng và độ linh hoạt, tuy nhiên khi tiến hành triển khai một cách toàn diện, các vấn đề liên quan đến tính mở rộng được cũng như những ràng buộc thuộc về mục tiêu ứng dụng Công nghệ thông tin cần phải được xem xét nghiêm túc. Về tính mở rộng được, cần phải thiết lập một quy cách cho phép dịch vụ có thể tương tác liên thông về mặt ngữ nghĩa với dịch vụ khác mà không cần biết thông tin về dịch vụ đó. Đồng thời, những dịch vụ cấp thấp (low-level services) cũng phải được mịn hóa thành những dịch vụ cơ bản trong các lớp dịch vụ về nghiệp vụ cấp tổng thể. Cơ chế truy cập tập trung và có quản lý tới những dịch vụ thành phần và hệ thống dịch vụ tạo ra bởi nền tảng phần mềm sẵn có cũng phải được cung cấp. Tuy nhiên cũng cần phải lưu ý đơn giản cấu trúc hệ thống. Khá nhiều sản phẩm từ những dự án phát triển hoặc thực hiện mô hình SOA có độ phức tạp lớn hơn bản thân kiến trúc chúng thay thế. Chìa khóa cho việc thực hiện thành công mô hình SOA chính là tối thiểu độ phức tạp và sử dụng chuẩn. Nếu môi trường phát triển không được quản lý đúng, kết quả của việc phát triển mô hình SOA không đem lại một hệ thống ổn định. Một số vấn đề quan trọng khác bao gồm việc quản lý và giám sát hoạt động dịch vụ, cũng như các chính sách về phạm vi hoạt động của dịch vụ.
Nói một cách cụ thể, mô hình SOA cần phải được quản lý sao cho những chức năng được liệt kê dưới đây phải được cung cấp:
- Đăng ký toàn bộ các dịch vụ có phạm vi xuyên suốt cơ quan, tổ chức
- Thay đổi việc quản lý và hỗ trợ các phiên bản
- Chức năng về an toàn, bảo mật
- Chức năng giám sát dịch vụ
- Quản lý dịch vụ và kiểm soát tình huống
- Công cụ quản trị dịch vụ
- Xây dựng môi trường SOA
Xây dựng mô hình SOA được thực hiện theo các bước của chu trình phát triển như sau: mô hình, gắn kết, triển khai, quản lý, và xử lý-quản lý. Quá trình phát triển SOA được bắt đầu với bước mô hình khi trước tiên thu thập các yêu cầu nghiệp vụ, và sau đó thiết kế quy trình nghiệp vụ. Sau khi một quy trình nghiệp vụ được tối ưu, quy trình này sẽ được thực hiện bằng cách lắp ghép những dịch vụ mới và dịch vụ đang có. Những dịch vụ này sau đó được tiếp tục phát triển theo hướng tích hợp vào môi trường SOA thành những dịch vụ có tính an toàn và khả năng tích hợp. Khi đó, việc quản lý và giám sát những dịch vụ này được thực hiện như đối với những quy trình nghiệp vụ. Thông tin có được trong bước quản lý sẽ được sử dụng để nâng cao chất lượng dịch vụ trong bước tiếp theo của chu trình phát triển. Thao tác về xử lý và quản lý sẽ có mặt trong tất cả các bước của chu trình phát triển.
Kết luận
Mô hình SOA là môt mô hình luôn biến đổi, đòi hỏi phải có một sự cam kết lâu dài mới có thể đạt được các mục tiêu nghiệp vụ cụ thể. Và để đạt được mục đích này, nhà phát triển cũng như những người chịu trách nhiệm về Công nghệ thông tin cần phải nắm được các kỹ năng lập kế hoạch, thiết kế và thực hiện mô hình SOA thông qua các dịch vụ có thể sử dụng lại.
Tài liệu tham khảo
1. Marks, Eric and Bell, Michael. Service-oriented Architecture: A planning and implementation Guide for Business and Technology. s.l. : John Wiley & Sons, Inc., 2006.
2. Minoli, Daniel. Enterprise Architecture A to Z: Frameworks, Business Process Modeling, SOA, and Infrastructure Technology. s.l. : Taylor & Prancis, 2008.
Không có nhận xét nào:
Đăng nhận xét