Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Mandy Chessell Kỹ thuật viên cao cấp IBM 31 07 2009 Birgit Schmidt-Wesche Kỹ sư cao cấp IBM Một trong những lợi thế của việc sử dụng Service-Oriented Architecture (SOA- Kiến trúc hướng dịch vụ ) là các hệ thống công nghệ thông tin (CNTT) sắp xếp theo hoạt động nghiệp vụ mà chúng phục vụ. Điều này có ảnh hưởng đến những người đang phát triển và vận hành các hệ thống CNTT ấy về cả các nhiệm vụ mà họ phải làm lẫn các kiến thức và các kỹ năng mà họ cần phải có. Bài viết này dẫn bạn từng bước đi qua một kịch bản tích hợp đơn giản để minh họa cách làm thế nào để nhóm phát triển tạo ra và chạy một giải pháp hướng dịch vụ. Nó dùng các vai trò của người sử dụng để mô tả các kỹ năng và các trách nhiệm của những người có liên quan và nó hướng đến các nhà lãnh đạo kỹ thuật, giúp bạn hiểu cách làm thế nào để tổ chức công việc kết hợp với sự phát triển của giải pháp hướng dịch vụ. Xem thêm bài trong loạt bài này Mở đầu Mỗi tổ chức đều khác nhau. Nó có nền văn hóa, cấu trúc, nhóm kỹ năng và tài sản riêng của mình. Tuy nhiên, nhiều tổ chức đều đối phó với những vấn đề giống nhau: • Làm thế nào để cải thiện dịch vụ khách hàng và thích nghi với các nhu cầu luôn thay đổi của họ. • Làm thế nào để chi tiêu có hiệu quả. • Làm thế nào để cộng tác với các khách hàng, các đối tác, các đối thủ cạnh tranh và các nhà cung cấp. Việc giải quyết những vấn đề này đòi hỏi phải có các thay đổi và khi tổ chức thay đổi thì hệ thống CNTT làm cơ sở cho nó cũng phải thay đổi. Người ta đã viết nhiều về các giá trị mang lại khi sử dụng SOA để quản lý sự thay đổi trong các hệ thống CNTT. SOA đòi hỏi mỗi ứng dụng CNTT phải có các giao diện được định nghĩa tốt để biểu © Copyright IBM Corporation 2009 Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Nhẫn hiệu đăng ký Trang 1 của 10 developerWorks® ibm.com/developerWorks/vn/ diễn chức năng nghiệp vụ mà nó hỗ trợ. Các giao diện hoặc các dịch vụ này cung cấp một danh mục các chức năng CNTT có thể được gọi khi cần đến và làm những việc như cần phải làm. Các lời gọi có thể là trực tiếp giữa các ứng dụng, thông qua các ứng dụng luồng công việc (workflow) hoặc được định tuyến tự động thông qua một Enterprise Service Bus (ESB- Kênh dịch vụ doanh nghiệp). Nếu được thực hiện tốt, cách tiếp cận hướng dịch vụ cho phép một tổ chức cấu trúc và kết nối các hệ thống CNTT của mình lại với nhau theo một cách linh hoạt, tương ứng chặt chẽ với các nhu cầu của tổ chức. Bài viết này giải thích cách các tổ chức chấp nhận SOA như thế nào. Vì các tổ chức rất khác nhau, bài viết giải thích quá trình này thông qua các vai trò của người sử dụng. Đó là những đặc trưng của các vị trí công tác điển hình trong một tổ chức. Một vai trò của người sử dụng không nhất thiết đồng nhất với một cá nhân. Một con người riêng lẻ hoặc một nhóm nhân viên có thể thực hiện một vai trò của người sử dụng. Tương tự như vậy, một người có thể thực hiện nhiều hơn một vai trò. Với các vai trò người sử dụng, chúng ta có thể mô tả các trách nhiệm được phân định trong tổ chức như thế nào, việc trao đổi thông tin và ra các quyết định và các kiểu kỹ năng có liên quan đòi hỏi phải có ở những đâu. Trên cơ sở đó, một tổ chức có thể lập kế hoạch triển khai những người đảm nhiệm các vai trò này như thế nào, tùy thuộc vào khối lượng công việc cụ thể đối với tổ chức ấy. Bài viết này đi từng bước qua một kịch bản đơn giản, ở đây một tổ chức quyết định sử dụng một SOA cho một giải pháp CNTT mới. Thông qua các vai trò của người sử dụng, bài viết mô tả cách một tổ chức tạo ra và thi hành một giải pháp hướng dịch vụ như thế nào. Chúng tôi chia thành các chủ đề sau: • Kịch bản tích hợp đơn giản mô tả kịch bản giải pháp. • Đưa các vai trò người sử dụng vào làm việc giải thích giải pháp được xây dựng và quản lý như thế nào. • Tóm tắt và các kết luận tóm tắt ngắn gọn cách tiếp cận hướng dịch vụ. Kịch bản tích hợp đơn giản Hình1 cho thấy kịch bản được sử dụng trong bài viết này. Mặc dù rất đơn giản, nó minh họa nhiều đặc trưng của một SOA. Vì các lý do lịch sử, tổ chức đang nói đến đã có một nửa số dữ liệu khách hàng của họ được lưu trữ trên một hệ thống CNTT và phần còn lại ở một hệ thống khác. Hai hệ thống này hoạt động độc lập. Kế hoạch là tạo ra chỉ một dịch vụ dữ liệu khách hàng duy nhất. Khi một ứng dụng gọi dịch vụ này, một dịch vụ khác sẽ định tuyến yêu cầu đó tới hệ thống tầng sau thích hợp. Theo thời gian, nơi lưu trữ các dữ liệu khách hàng có thể thay đổi hoặc được bổ sung thêm từ các hệ thống khác, vì vậy giải pháp đòi hỏi một sự triển khai thực hiện linh hoạt. Mỗi hệ thống tầng sau cung cấp một dịch vụ để trích rút dữ liệu của riêng nó. Một thành phần hòa giải chạy trong ESB hỗ trợ việc định tuyến từ dịch vụ chung đến dịch vụ tìm ra tầng sau thích hợp. Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 2 của 10 ibm.com/developerWorks/vn/ developerWorks® Hình 1. Kịch bản tích hợp đơn giản Phần dưới đây mô tả cách các vai trò của người dùng làm việc với nhau để thiết kế, phát triển và chạy thi hành giải pháp này như thế nào. Đưa các vai trò người sử dụng vào làm việc Việc tạo ra giao diện dịch vụ tích hợp liên quan đến việc lựa chọn cách tiếp cận thích hợp mà tiếp theo đó là việc phát triển và triển khai giải pháp, và sau đó là chạy thi hành giải pháp. Quá trình này được phối hợp thông qua sự điều phối hướng dịch vụ. Các giai đoạn nói trên tương quan với vòng đời SOA gồm Mô hình, Lắp ráp, Chạy và Quản lý. Các phần sau đây mô tả những vai trò nào có liên quan trong từng giai đoạn và chúng làm gì. Lựa chọn cách tiếp cận Các yêu cầu đối với các giải pháp mới không phải xuất hiện vô nguyên cớ. Kiến trúc sư doanh nghiệp, Nhà phân tích nghiệp vụ và Nhà phân tích hệ thống là các vai trò sẽ nhận biết, xác định mức ưu tiên và nhóm các yêu cầu này thành các dự án. Kiến trúc sư doanh nghiệp Kiến trúc sư doanh nghiệp chịu trách nhiệm về chiến lược kỹ thuật của tổ chức và là người gìn giữ tầm nhìn SOA, ủng hộ suy nghĩ cấp chiến lược, hành động cấp chiến thuật. Thay cho đặt làm các dự án to lớn để xé bỏ và thay thế các hệ thống hiện có, kiến trúc sư doanh nghiệp ủng hộ quá trình gồm nhiều cải tiến nhỏ như là một biện pháp để chuyển dịch sang cấu trúc mong muốn. Nhà phân tích nghiệp vụ Nhà phân tích nghiệp vụ tìm kiếm các cách để cải thiện hiệu quả kinh doanh. Điều này có thể bao gồm việc thay đổi cách thức mà mọi người làm việc cùng nhau, các công cụ và các thủ tục mà họ sử dụng hoặc các hệ thống CNTT hỗ trợ chúng. Trong kịch bản này, nhà phân tích nghiệp vụ đã nhận thấy cơ hội để mang lại những khả năng cung ứng mới dành cho khách hàng. Điều này đòi hỏi phải có sự thay đổi các hệ thống CNTT, do đó, nhà phân tích nghiệp vụ cần làm việc với nhà phân tích hệ thống để xem xét tính khả thi của việc hỗ trợ cho các cung ứng mới này. Nhà phân tích hệ thống Nhà phân tích hệ thống chuyển đổi các yêu cầu nghiệp vụ thành các yêu cầu đối với các hệ thống CNTT. Sau khi thảo luận với nhà phân tích nghiệp vụ, nhà phân tích hệ thống hiểu rõ rằng các cung ứng mới này đòi hỏi một cách nhất quán để truy cập vào dữ liệu khách hàng của tổ chức. Hiện nay dữ Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 3 của 10 developerWorks® ibm.com/developerWorks/vn/ liệu này nằm trong hai hệ thống, mỗi hệ thống đều có một giao diện và đinh dạng dữ liệu khác nhau. Việc tạo ra một kho lưu trữ (repository) dữ liệu khách hàng mới là một tùy chọn tốn kém do có tác động đến hệ thống hiện có. Vì vậy, sau các cuộc thảo luận với kiến trúc sư doanh nghiệp, nhà phân tích hệ thống đề xuất một giao diện dịch vụ chung cho dữ liệu khách hàng. Đằng sau giao diện này, các yêu cầu được định tuyến tới các hệ thống hiện có. Cách tiếp cận này mang lại cho họ sự linh hoạt để hợp nhất hai hệ thống dữ liệu của khách hàng trong tương lai mà không cần thay đổi các ứng dụng dịch vụ khách hàng mới, vì Dịch vụ dữ liệu khách hàng chung (Common Customer Data Service) tách biệt việc gọi các ứng dụng khỏi chi tiết triển khai thực hiện. Đặc tả kỹ thuật của nhà phân tích hệ thống đối với giải pháp CNTT dành cho các cung ứng mới có chứa đủ chi tiết để cho phép tổ chức đưa ra một quyết định kinh doanh về việc có đầu tư vào giải pháp CNTT mới hay không. Nếu quyết định được ủng hộ, một nhóm dự án được hình thành để phát triển giải pháp đó. Phát triển giải pháp Các giải pháp CNTT yêu cầu một hỗn hợp gồm cả phần cứng, phần mềm, các ứng dụng và cấu hình. Bài viết này tập trung vào các khía cạnh phần mềm của giải pháp. Kiến trúc sư phần mềm Kiến trúc sư phần mềm chịu trách nhiệm về việc phân chia chức năng cần thiết giữa các thành phần cấu thành nên một giải pháp phần mềm. Nhân vật này làm việc với các đặc tả kỹ thuật và các tiêu chuẩn mà các hệ thống CNTT hiện có sử dụng và xác định phải nâng cao ở đâu hay cần phải viết các thành phần mới ở đâu. Kiến trúc sư phần mềm sẽ theo hướng dẫn của kiến trúc sư doanh nghiệp để bảo đảm kiến trúc của một dự án phù hợp với định hướng tổng thể của chiến lược CNTT. Các yêu cầu của giải pháp bắt nguồn từ Nhà phân tích hệ thống. Trong kịch bản này, sự hiện diện của Dịch vụ dữ liệu khách hàng chung phân chia giải pháp mới thành hai nửa: 1. Mã ứng dụng cung cấp chức năng mới cho khách hàng gọi Dịch vụ dữ liệu khách hàng chung. 2. Logic định tuyến các yêu cầu Dịch vụ dữ liệu khách hàng chung tới hệ thống tầng sau thích hợp. Kiến trúc sư phần mềm lựa chọn sử dụng một ứng dụng Java 2 Platform, Enterprise Edition (J2EENền tảng Java 2, Ấn bản doanh nghiệp), để triển khai thực hiện mã ứng dụng mới. Đằng sau Dịch vụ dữ liệu khách hàng chung, Kiến trúc sư phần mềm định nghĩa một giao diện dịch vụ cho mỗi một trong các hệ thống tầng sau (để định nghĩa rõ cách gọi các hệ thống này như thế nào) và xác định rõ rằng một thành phần hòa giải ESB ánh xạ tương ứng các yêu cầu và đáp ứng giữa hai mức của giao diện dịch vụ. Nhà phát triển Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 4 của 10 ibm.com/developerWorks/vn/ developerWorks® Nhà phát triển thiết kế và triển khai thực hiện các mảnh giải pháp và có xu hướng cần có các kỹ năng chuyên môn hóa tập trung vào một nền tảng phát triển, ngôn ngữ lập trình và/hoặc lĩnh vực nghiệp vụ. Các kiểu các nhà phát triển sau đây thường dính líu đến việc xây dựng các giải pháp hướng dịch vụ. • Nhà phát triển ứng dụng: Nhà phát triển ứng dụng hiểu lĩnh vực nghiệp vụ của một giải pháp và triển khai thực hiện mã ứng dụng hoàn thành các chức năng liên quan đến nghiệp vụ trong trường hợp này là ứng dụng J2EE mới, gọi dịch vụ dữ liệu khách hàng chung. Các nhà phát triển ứng dụng cần phải hiểu rõ các môi trường phát triển ứng dụng của họ (ví dụ như J2EE) và làm thế nào để gọi một dịch vụ từ bên trong các môi trường đó. Họ làm việc trên một đặc tả kỹ thuật của giao diện dịch vụ được Kiến trúc sư phần mềm hoặc các nhà phát triển khác cung cấp. • Nhà phát triển thành phần: Một nhà phát triển thành phần mã hóa các chùm mã độc lập được gọi là các thành phần (components). Các thành phần này được thiết kế để được tái sử dụng trong nhiều ứng dụng. Trong kịch bản này, Nhà phát triển thành phần có thể mã hóa thành phần hòa giải cho Dịch vụ dữ liệu khách hàng chung. • Nhà phát triển tích hợp: Một nhà phát triển tích hợp có trách nhiệm xây dựng các dịch vụ bằng cách định cấu hình các thành phần và kết nối chúng lại với nhau. Các thành phần này có thể được Nhà phát triển thành phần viết ra hoặc được cung cấp như là một bộ phận của một sản phẩm ESB. Các nhà phát triển tích hợp thường có hiểu biết tốt về các kỹ thuật tích hợp và các mẫu, nhưng lại có hạn chế về các kỹ năng lập trình. Nếu một kịch bản tích hợp đòi hỏi một số logic lập trình phức tạp, một Nhà phát triển tích hợp làm việc với một Nhà phát triển thành phần để tạo ra một thành phần mới dành cho việc tích hợp. Kỹ sư thử nghiệm Việc thử nghiệm xảy ra ở nhiều cấp độ trong một giải pháp dựa trên SOA. Mỗi thành phần của giải pháp cần phải được thử nghiệm độc lập để bảo đảm rằng nó hành động đúng. Sau đó chuyển mối quan tâm tập trung vào việc chứng minh rằng các mảnh được tích hợp đúng đắn. Một giải pháp lớn hoặc phức tạp đòi hỏi phải chú trọng đặc biệt đến việc thử nghiệm xem sẽ có phải là một sự chuyển tiếp suôn sẻ vào sản xuất không. • Kiến trúc sư thử nghiệm: Kiến trúc sư thử nghiệm quy định giải pháp được thử nghiệm như thế nào và xác định các mã bổ sung cần thiết để thử nghiệm các mảnh giải pháp một cách riêng biệt. Kiến trúc sư thử nghiệm có thể khai thác sự hiện diện của các giao diện dịch vụ như là một nơi để chèn mã kiểm tra vào để kiểm tra xem: • Một thành phần gọi giao diện dịch vụ có thể đáp ứng cho tất cả các kiểu dữ liệu không. • Một thành phần triển khai thực hiện một giao diện dịch vụ có thể xử lý tất cả các kiểu yêu cầu không. Trong kịch bản này, kiến trúc sư thử nghiệm tận dụng Dịch vụ dữ liệu khách hàng chung để làm đơn giản hóa các môi trường chạy thực cần thiết để thử nghiệm các ứng dụng J2EE mới. Bằng cách chỉ rõ một bản triển khai thực hiện dựa trên J2EE của Dịch vụ dữ liệu khách hàng chung để quản lý dữ liệu khách hàng thử nghiệm, một ứng dụng mới có thể được kiểm tra chức năng hoạt động hoàn toàn bên trong một môi trường thử nghiệm J2EE, rút ngắn chu kỳ phát triển trong môi trường này, phần lớn nhất của các mã mới. Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 5 của 10 developerWorks® ibm.com/developerWorks/vn/ • Người thực hiện thử nghiệm: Người thực hiện thử nghiệm viết mã bổ sung để thử nghiệm, chạy các bài thử nghiệm để duyệt hợp lệ cho giải pháp, sau đó báo cáo các lỗi cho nhà phát triển thích hợp và kiểm tra kết quả sửa lỗi. Người thực hiện thử nghiệm dính líu vào trong nhiều giai đoạn của dự án, kiểm tra sự đúng đắn về chức năng của các thành phần riêng biệt, thực hiện thử nghiệm tích hợp theo nhóm các thành phần và, trong quá trình triển khai, kiểm tra xem các giải pháp sẵn sàng sản xuất chưa. Ví dụ, nó có thể được khởi chạy, ngừng lại, sao lưu dự phòng và phục hồi sau sự cố của hệ thống cũng như được bảo trì không? Triển khai giải pháp Khi các giải pháp đã hoàn thành và làm việc được dưới góc nhìn phát triển, tổ chức cần phải thay đổi để chấp nhận và hỗ trợ nó. Điều này đòi hỏi phải chuẩn bị và lập kế hoạch ở cả hai mức độ nghiệp vụ và mức độ CNTT. Người quản lý các hoạt động nghiệp vụ Người quản lý các hoạt động nghiệp vụ vận hành tất cả hay một phần hoạt động nghiệp vụ đang chấp nhận các cung ứng nghiệp vụ mới, bao gồm việc thiết lập bộ phận người ấy phụ trách trong tổ chức để áp dụng giải pháp mới. Do một dự án hướng dịch vụ thường liên kết các phần của hoạt động kinh doanh với nhau, nên Người quản lý các hoạt động nghiệp vụ cộng tác với những Người quản lý các hoạt động nghiệp vụ khác để đảm bảo rằng các thủ tục của họ bổ sung lẫn cho nhau. Đối với dự án này, những Người quản lý các hoạt động nghiệp vụ kiểm tra để chắc chắn rằng họ có cùng một chính sách về việc thu thập và sử dụng dữ liệu của khách hàng để đảm bảo rằng họ không vô tình vi phạm sự các thoả thuận riêng tư đã ký kết với khách hàng hiện có. Kỹ sư kháng lỗi Kỹ sư kháng lỗi (resilience Engineer): Kỹ sư kháng lỗi quan tâm đến việc bảo đảm rằng giải pháp mới sẵn sàng khi cần thiết. Điều này bao gồm việc bảo đảm tính khả dụng trong lúc tải công việc lên đỉnh điểm -- đó là khi thay đổi các chiến dịch kinh doanh -- và sau một sự cố hệ thống -- bất kể nó là nhỏ, lớn hoặc toàn bộ. Trong một môi trường hướng dịch vụ, một giải pháp cần phải có tính kháng lỗi xuyên suốt từ đầu này đến đầu kia. Điều này bao gồm việc bảo đảm rằng các hệ thống ở tầng sau có thể xử lý tải công viêc tăng thêm mà các cung ứng nghiệp vụ mới đó chất thêm lên hệ thống qua các lời gọi tới Dịch vụ dữ liệu khách hàng chung. Các hệ thống hiện có này cũng cần sẵn sàng mỗi khi các cung ứng mới này cần đến nó. Như vậy, Kỹ sư kháng lỗi có thể cần phải tăng cường thêm năng lực của hệ thống hiện có và thay đổi các thủ tục vận hành hệ thống một cách phù hợp. Nhà quản trị CNTT Nhà quản trị CNTT định cấu hình cơ sở hạ tầng CNTT để hỗ trợ giải pháp phần mềm. Trong kịch bản này, các nhà quản trị CNTT định cấu hình cho các cụm máy chủ ứng dụng WebSphere® của IBM để hỗ trợ ứng dụng J2EE mới. Họ thiết lập một máy chủ cơ sở dữ liệu DB2® của IBM cho ứng dụng và một kênh Tích hợp dịch vụ (SI) để hỗ trợ các giao diện của Dịch vụ dữ liệu khách hàng chung và thành phần hòa giải. Cuối cùng, họ định cấu hình môi trường máy chủ cho một bộ tiếp hợp, kết nối với một trong những các hệ thống tầng sau hiện có. Điều này cung cấp nền tảng trên đó Người triển khai bản phát hành sẽ bổ sung thêm các thành phần giải pháp. Người triển khai bản phát hành Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 6 của 10 ibm.com/developerWorks/vn/ developerWorks® Người triển khai bản phát hành định cấu hình các thành phần của giải pháp trong môi trường sản xuất. Điều này bao gồm việc cài đặt các thành phần giải pháp và định cấu hình cho chúng với các tài nguyên, ví dụ như các bảng và các hàng đợi cơ sở dữ liệu, mà chúng cần để hoạt động. Trong một số trường hợp, Người triển khai bản phát hành cần các tài nguyên thêm nữa, ví dụ như các mã nhận dạng ID của người sử dụng, đã định nghĩa trong các hệ thống hiện có. Thông thường, Người triển khai bản phát hành làm việc với nhà quản trị CNTT thích hợp của hệ thống để định nghĩa chúng. Khi toàn bộ giải pháp đã vào vị trí, Người thực hiện thử nghiệm đảm bảo tất cả đang hoạt động đúng đắn. Giải pháp đã sẵn sàng để đưa vào sản xuất. Chạy giải pháp trong sản xuất Nhiều ban CNTT khuyến khích nhân viên của mình chuyên sâu về một công nghệ hay ứng dụng cụ thể. Tuy nhiên, một giải pháp hướng dịch vụ tích hợp nhiều công nghệ. Trong sản xuất, thành công được đo bằng khả năng sẵn sàng hoạt động xuyên suốt từ đầu này đến đầu kia của giải pháp. Như vậy, các thủ tục vận hành phải phù hợp tương ứng. Một giải pháp hướng dịch vụ đòi hỏi phải làm việc hợp tác giữa những người có các kỹ năng về công nghệ và đánh giá cao những người có kiến thức trải rộng trên nhiều công nghệ. Ngoài ra, các liên kết với hoạt động nghiệp vụ trở nên quan trọng hơn. Điều này được minh họa trong ba vai trò sau đây. Người quản lý mức dịch vụ Người quản lý mức dịch vụ đồng ý về mức dịch vụ của giải pháp mới với Người quản lý các hoạt động nghiệp vụ. Kiến thức của Người quản lý cấp dịch vụ cần phải bao trùm tất cả các công nghệ được sử dụng trên toàn bộ giải pháp, bao gồm các hệ thống hiện có hỗ trợ Dịch vụ dữ liệu khách hàng chung. Người vận hành CNTT Người vận hành CNTT theo dõi các hệ thống và thực hiện các hoạt động “nội trợ” (housekeeping), ví dụ như sao lưu dự phòng. Khi Dịch vụ dữ liệu khách hàng chung đang hoạt động, việc sao lưu các cơ sở dữ liệu khách hàng ở mỗi một trong các hệ thống hiện có cần được đồng bộ hoá để cho phép khôi phục nhất quán dữ liệu khách hàng sau một sự cố hệ thống. Người phân tích sự cố Người phân tích sự cố điều tra các lỗi không mong đợi và các cảnh báo từ các hệ thống CNTT. Việc lần vết theo một cập nhật dữ liệu khách hàng bị bỏ sót có thể yêu cầu Người phân tích sự cố kiểm tra các triệu chứng trên máy chủ J2EE và các hệ thống tầng sau hiện có. Điều phối hướng-dịch vụ Cuối cùng, bạn cần kiểm soát để đảm bảo việc tái sử dụng tài sản CNTT bất cứ khi nào thích hợp mà không gây cản trở đến các hoạt động hiện tại. Kiến trúc sư doanh nghiệp chịu trách nhiệm tổng thể về việc này và ủy quyền một số công việc cho một vai trò chuyên biệt. Người quản lý kiểm soát thay đổi Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 7 của 10 developerWorks® ibm.com/developerWorks/vn/ Người quản lý kiểm soát thay đổi chịu trách nhiệm về việc phê duyệt tất cả các thay đổi đối với các hệ thống sản xuất. Điều này bao gồm cả cách sử dụng mới của một dịch vụ ngay cả khi không đòi hỏi phải thay đổi triển khai thực hiện, bởi vì nó ảnh hưởng đến tải công việc trên dịch vụ. Người quản lý kiểm soát thay đổi làm việc với các chuyên gia khác trong ban CNTT để xác nhận rằng rằng sự thay đổi sẽ thành công. Ví dụ, Người quản lý kiểm soát thay đổi kiểm tra cùng với Người quản lý kháng lỗi để đảm bảo rằng giải pháp mới không ảnh hưởng đến các hệ thống tầng sau hiện có. Người quản lý kiểm soát thay đổi bảo đảm rằng Người vận hành CNTT có thể giám sát giải pháp mới và các thủ tục “nội trợ” mà giải pháp yêu cầu được thực hiện. Người quản lý tài sản Người quản lý tài sản có trách nhiệm duy trì các tài sản CNTT có thể sử dụng lại cho một tổ chức. Điều này bao gồm sự phát triển, bảo trì và làm cho chúng sẵn sàng phục vụ tất cả các dự án thích hợp. Các tài sản CNTT từ Dịch vụ dữ liệu khách hàng chung bao gồm định nghĩa giao diện dịch vụ, bất kỳ các định nghĩa kiểu dữ liệu nào được sử dụng trên giao diện ấy và thành phần hòa giải. Người quản lý tài sản đảm bảo rằng các tài sản đã được phát triển theo các tiêu chuẩn thích hợp, bao gồm tài liệu hướng dẫn và sau đó được lưu giữ trong kho lưu trữ tài sản. Về các dự án sau này, Người quản lý tài sản xem lại các thiết kế để bảo đảm rằng không một cơ hội sử dụng lại nào bị bỏ qua. Tóm tắt và các kết luận Cách tiếp cận hướng dịch vụ cho phép một tổ chức tích hợp và sử dụng lại các tài sản CNTT hiện có của nó. Điều này thay đổi cách thức mọi người trong tổ chức tương tác với nhau, khuyến khích một cách tiếp cận nhất quán hơn trong toàn bộ tổ chức. Thông qua các vai trò của người sử dụng, bài viết này đã mô tả đặc trưng của nhiều loại kỹ năng và trách nhiệm trong hỗ trợ và sử dụng các hệ thống CNTT trong một tổ chức và cách thức các vai trò này cộng tác trong một môi trường hướng dịch vụ như thế nào. Lời cảm ơn Xin cảm ơn những thành viên của nhóm làm việc của Ban kiến trúc SWG của IBM về các Vai trò của người sử dụng SWG (bây giờ là Các vai trò khách hàng chung), mà nếu không có đóng góp tuyệt vời của họ chúng tôi không có cơ sở để mô tả tập hợp các vai trò của người sử dụng SOA được trình bày trong bài viết này, và cám ơn Marcia Stockton về sự hỗ trợ tiếp tục của bà cho nỗ lực về các vai trò người sử dụng này. Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 8 của 10 ibm.com/developerWorks/vn/ developerWorks® Tài nguyên Học tập • Truy cập vào developerWorks SOA and Web services zone để mở rộng các kỹ năng SOA của bạn. • Xem developerWorks Architecture zone để nâng cao sự nhận thức của bạn về các vấn đề có liên quan đến kiến trúc. • Theo sát developerWorks podcasts, nơi một số chuyên gia kỹ thuật hàng đầu của IBM thường thuyết trình. Lấy sản phẩm và công nghệ • Tải về bản dùng thử miễn phí của WebSphere Application Server, Version 6.0. • Tải về bản dùng thử miễn phí của IBM Rational® Application Developer for WebSphere Software, Version 6.0. • Tải về bản dùng thử miễn phí của IBM Rational Software Architect, Version 6.0. • Theo sát IBM Software Architect Kit, nơi một số chuyên gia kỹ thuật hàng đầu của IBM thường thuyết trình. Thảo luận • Hãy tham gia vào developerWorks blogs, dành tâm trí cho cộng đồng developerWorks. Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 9 của 10 developerWorks® ibm.com/developerWorks/vn/ Đôi nét về các tác giả Mandy Chessell Mandy Chessell là một thành viên ban lãnh đạo kỹ thuật cao cấp tại Vương quốc Anh. Bà đã có 18 năm kinh nghiệm trong lĩnh vực phần mềm trung gian và có bằng thạc sỹ về công nghệ phần mềm của Trường Đại học Brighton, Vương quốc Anh. Các lĩnh vực chuyên môn của bà bao gồm việc xử lý giao dịch phân tán, thiết kế hướng đối tượng, tính tiện dụng và mô hình hóa UML. Birgit Schmidt-Wesche Birgit Schmidt-Wesche là một kỹ sư về tính tiện dụng cao cấp. Bà đã bắt đầu sự nghiệp của mình tại IBM vào năm 1985 tại Trung tâm khoa học ở Heidelberg, nơi bà đã làm việc trong các dự án xử lý ngôn ngữ tự nhiên. Bà đã có một bằng Tiến sỹ ngôn ngữ học của Trường Đại học Duesseldorf, Đức. Trong 12 năm qua bà đã lãnh đạo nhiều nhóm về trải nghiệm của người sử dụng tại các phòng thí nghiệm phát triển ở Boeblingen, Đức và Hursley, Vương quốc Anh cũng như tại IBM Watson Research ở Hoa Kỳ. Từ năm 2002, bà tập trung vào việc tiêu chuẩn hóa các vai trò người sử dụng của khách hàng. Bà hiện đang làm việc tại Vương quốc Anh. © Copyright IBM Corporation 2009 (www.ibm.com/legal/copytrade.shtml) Nhẫn hiệu đăng ký (www.ibm.com/developerworks/vn/ibm/trademarks/) Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 10: Các vai trò của người sử dụng SOA Trang 10 của 10