PDF:

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