Mô hình kiến trúc hướng dịch vụ với Kiến trúc sư phần mềm Rational: Nghiên cứu tình huống, các công cụ và khung nhìn nghiệp vụ

Hướng dẫn này giới thiệu các khái niệm và các công cụ liên quan đến mô hình hóa kiến trúc hướng dịch vụ (SOA) bằng cách sử dụng Kiến trúc sư phần mềm Rational® của IBM® Trong loạt bài này, bạn sẽ tìm hiểu cách Kiến trúc sư phần mềm Rational, cùng với Bộ tạo mô hình nghiệp vụ WebSphere® của IBM®, hỗ trợ cách tiếp cận phát triển dựa vào-mô hình (MDD) theo đặc tả kỹ thuật SOA như thế nào. Hướng dẫn này dẫn dắt bạn tìm hiểu các khái niệm bằng cách nghiên cứu một tình huống của một công ty cho thuê DVD trực tuyến tưởng tượng.

Bertrand Portier, Kiến trúc IT, IBM Software Group Services

Bertrand Portier làm việc cho các công nghệ nâng cao SOA SWAG của IBM (trước đây là EIS). Ông đã tham gia rất nhiều vào việc phát triển kiến trúc hướng dịch vụ, phát triển dựa vào-mô hình và phát triển dựa trên tài sản. Là diễn giả thường xuyên tại các hội nghị và là tác giả của một số bài viết về kỹ thuật, ông cũng là đồng tác giả của cuốn sách đỏ của IBM về các giải pháp SOA


Tác giả chuyên nghiệp của
        developerWorks

Gregory Hodgkinson, Đầu ngành SOA, Prolifics

Gregory HodgkinsonGregory Hodgkinson là người sáng lập, giám đốc và người lãnh đạo SOA tại 7irene, một đối tác kinh doanh bậc 1 của IBM tại Vương quốc Anh (www.7irene.com). Ông đã có 10 năm kinh nghiệm trong kiến trúc phần mềm, đầu tiên nổi tiếng về lĩnh vực phát triển dựa trên-thành phần (CBD), sau đó dễ dàng chuyển sang kiến trúc hướng-dịch vụ (SOA). Lĩnh vực chuyên môn mở rộng của ông là quá trình phát triển phần mềm và ông trợ giúp các khách hàng của 7irene và IBM trong việc theo đuổi các quá trình phát triển nhanh chóng dựa trên khung công tác RUP và phương pháp SOA. Ông vẫn chính là một nhà thực hànhvà chịu trách nhiệm về các kiến trúc dịch vụ cho một số các công ty 100 FTSE. Ông đã trình bày về quá trình và các phương pháp SOA nhanh ở cả hai sự kiện Rational và WebSphere của IBM và các sự kiện khác. Ông cũng là đồng tác giả của cuốn sách đỏ về các giải pháp SOA



20 05 2009

Trước khi bạn bắt đầu

Hãy tìm hiểu xem hướng dẫn này mang lại những gì và làm thế nào để sử dụng nó tốt nhất.

Về loạt bài này

Loạt bài này cung cấp một cái nhìn chi tiết về mô hình hóa các kiến trúc hướng dịch vụ (SOA) bằng cách sử dụng công cụ Kiến trúc sư phần mềm Rational® của IBM®. Mặc dù mục tiêu chủ yếu là nhằm vào các kiến trúc sư phần mềm, nhưng hướng dẫn này cũng rất có ích cho các chuyên viên làm những nhiệm vụ khác trong quá trình phát triển phần mềm. Đó có thể là các nhà phân tích nghiệp vụ (nhất là Phần 1), hoặc các nhà thiết kế và phát triển phần mềm, những người sẽ sử dụng kiến trúc này làm đầu vào cho các hoạt động của mình (hiểu rõ nó, thiết kếvà thực thi). Loạt bài này cũng trình bày nhiều khái niệm SOA cốt lõi, có ích cho nhiều độc giả. Xem Tài nguyên.

Loạt bài hướng dẫn này tập trung vào việc dạy bạn cách làm thế nào để thực hiện ba việc sau:

  • Kiến trúc: Mô tả kiến trúc bao gồm những gì và nó thể hiện ở đâu trong toàn bộ quá trình phát triển phần mềm.
  • Các dịch vụ: Mô tả kiến trúc bao gồm những gì và nó thể hiện ở đâu trong toàn bộ quá trình phát triển phần mềm.
  • Các mô hình: Giới thiệu cách công cụ Kiến trúc sư phần mềm Rational hỗ trợ một cách tiếp cận phát triển dựa vào-mô hình (MDD) theo đặc tả kỹ thuật của các kiến trúc hướng dịch vụ như thế nào.

Loạt bài này này bắt đầu bằng cách mô tả kiến trúc phần mềm và xác định vị trí của các dịch vụ trong kiến trúc phần mềm. Sau đó nó trình bày về Kiến trúc sư phần mềm Rational và các đặc tính liên quan đến kiến trúc và liên quan đến SOA của nó.

Thông qua nghiên cứu tình huống của một công ty cho thuê DVD trực tuyến tưởng tượng, loạt bài này thực hiện các việc sau:

  • Mô tả các vật phẩm làm việc được sử dụng như là đầu vào cho các hoạt động kiến trúc dịch vụ, bao gồm mô hình thành phần nghiệp vụ, mô hình quy trình nghiệp vụ, mô hình tình huống sử dụng hệ thống, phần các hệ thống bên ngoài của mô hình thiết kế.
  • Mô tả từng bước cách thức một mô hình dịch vụ thể hiện kiến trúc hệ thống được xác định rõ trong Kiến trúc sư phần mềm Rational như thế nào, bao gồm những người dùng dịch vụ, các đặc tả kỹ thuật của dịch vụ, các phân vùng của dịch vụ, các nhà cung cấp dịch vụ không phân chia và phức hợp, các dịch vụ, các hợp tác dịch vụ, các tương tác dịch vụ và các kênh dịch vụ.
  • Giải thích cách thức mô hình dịch vụ được sử dụng sau đó trong các hoạt động tiếp theo của quá trình phát triển phần mềm như thế nào, với sự quan tâm đặc biệt đến việc thiết kế và thực thi.

Về hướng dẫn này

Hướng dẫn này là Phần 1 của loạt bài, giới thiệu một nghiên cứu tình huống cho thuê video sẽ được sử dụng trong suốt cả loạt bài này. Nó cũng giới thiệu công cụ, đó là Kiến trúc sư phần mềm Rational (phiên bản 7 và mới hơn) và các đặc tính mà bạn sẽ sử dụng để lập mô hình kiến trúc dịch vụ. Cuối cùng, nó mô tả hai mô hình được sử dụng làm đầu vào cho hoạt động mô hình hóa dịch vụ: bản đồ mô hình hóa thành phần nghiệp vụ (CBM) và mô hình quy trình nghiệp vụ.

Mục tiêu

Kết thúc hướng dẫn này, bạn sẽ có thể:

  • Mô tả các lý do nghiệp vụ đằng sau kiến trúc SOA của DVD2U.
  • Mô tả Kiến trúc sư phần mềm Rational là gì.
  • Giải thích ở mức độ khái quát, có thể dùng Kiến trúc sư phần mềm Rational để tạo mô hình kiến trúc hướng dịch vụ như thế nào.
  • Liệt kê những mô hình nào được sử dụng làm đầu vào cho hoạt động kiến trúc dịch vụ.
  • Mô tả bản đồ mô hình hóa thành phần nghiệp vụ (CBM) là gì.
  • Mô tả quy trình nghiệp vụ Trả lại băng video (Return Video) đã sử dụng cho dự án này.

Các điều kiện cần có trước

Để thu được kết quả tốt nhất từ hướng dẫn này, nên (nhưng không nhất thiết) làm quen trước với:

  • Ký pháp mô hình hóa quy trình nghiệp vụ (Business Process Modeling Notation-BPMN).
  • Bộ tạo mô hình nghiệp vụ WebSphere® của IBM® (IBM® WebSphere® Business Modeler).
  • Kiến trúc hướng dịch vụ (Service-Oriented Architecture-SOA).
  • Kiến trúc sư phần mềm Rational (Rational Software Architect).

Các yêu cầu hệ thống

  • Kiến trúc sư Phần mềm Rational V7 (với bản sửa lỗi 002), hoặc mới hơn.
  • Bộ tạo mô hình nghiệp vụ WebSphere V6.0.2 hoặc mới hơn.

Nghiên cứu tình huống của công ty cho thuê video

Loại bài hướng dẫn này sử dụng ví dụ về một công ty tưởng tượng có tên là DVD2U.

DVD2U là một công ty bán và cho thuê đĩa DVD được thành lập năm 1998. Trong kinh doanh, công ty đang cung cấp cho khách hàng của mình các bộ phim rất khó tìm thấy trong các cửa hàng video chính thống, như các bộ phim nước ngoài hay các bộ phim được quan tâm đặc biệt. Từ khi khởi nghiệp, DVD2U đã phát triển qua hai vụ mua thêm doanh nghiệp lớn đáng kể, một vụ cho phép họ có được một cơ sở khách hàng rộng lớn hơn từ một công ty băng đĩa video truyền thống và một vụ khác cho phép họ nhận được rất nhiều đĩa DVD bằng tiếng nước ngoài, nhưng chỉ có một ít khách hàng mới.

Khi bạn nói chuyện với giám đốc điều hành, ông ta giải thích rằng công ty đã bắt đầu cung cấp một dịch vụ trực tuyến mới một năm trước đây. Cách thức hoạt động như sau: Mọi người đăng ký dịch vụ này và trả tiền thuê bao hàng tháng để trở thành thành viên của DVD2U. Các thành viên xây dựng trực tuyến danh sách phim muốn được xem của mình, thường là một trăm tên phim, dựa vào các tên phim mà DVD2U có sẵn. DVD2U sau đó gửi đĩa DVD cho các thành viên qua bưu điện. Sau khi xem xong phim, các thành viên cũng trả đĩa DVD lại qua bưu điện bằng cách sử dụng một phong bì đã trả cước phí trước. Khi DVD2U nhận lại đĩa DVD về kho hàng của mình, họ gửi đi một đĩa DVD khác theo danh sách của thành viên đó.

Tùy theo kiểu thuê bao của các thành viên (và giá cả), mỗi lần họ được phép giữ một số lượng đĩa DVD có hạn để xem tại nhà (tiêu biểu, các thành viên thường chọn phương án là 3 đĩa DVD). DVD2U tin tưởng vào các cộng đồng trực tuyến và phấn đấu để xây dựng một dịch vụ thông qua trang Internet của công ty, nơi mà các thành viên có thể tương tác, đánh giá xếp hạng các phim, viết lời bình và thậm chí còn tìm kiếm những người xem cùng một phim. Mọi người nói rằng trang web DVD2U rất hiệu quả cho hẹn hò!

Tuy nhiên, giám đốc điều hành đã nói với bạn rằng mặc dù có một cơ hội kinh doanh quan trọng trong dịch vụ cho thuê trực tuyến, nhưng đã có vấn đề nảy sinh với dịch vụ này. Ví dụ, có người phàn nàn rằng họ dường như không bao giờ nhận được các phim ở trên đầu danh sách của họ, hoặc đôi khi họ mất vài tuần để có được một đĩa DVD sau khi đã gửi trả một đĩa qua bưu điện, hoặc trang Web gián đoạn và họ không thể cập nhật danh sách phim của họ.

Bạn đã thảo luận một số vấn đề cụ thể khác của giải pháp công nghệ thông tin (CNTT) hiện hành:

  • Giải pháp hiện nay của họ là tích hợp điểm-đến-điểm của hệ thống tạp nham.
  • Bản chất chắp vá với nhau của giải pháp CNTT hiện hành gây ra một số gián đoạn trong toàn bộ quá trình kinh doanh.
  • Có nhiều sự trùng lặp chức năng và trùng lặp dữ liệu trong hệ thống, cộng với cách làm không nhất quán để giải quyết cùng một vấn đề nghiệp vụ.
  • Thông thường khi thực hiện các thay đổi để hỗ trợ các phương án của quy trình nghiệp vụ mới, những thay đổi này phá vỡ các giải pháp của quy trình nghiệp vụ hiện hành.
  • Việc thiếu tài liệu hướng dẫn đặc tả kỹ thuật, kết hợp với sự thiếu hiểu biết chung trong CNTT về cách thức các hệ thống hỗ trợ hoạt động kinh doanh như thế nào, làm cho khó đưa ra các thay đổi.

May mắn thay, giám đốc CNTT (CIO) là một người bạn rất tốt của một đối tác kinh doanh của IBM, một chuyên gia về SOA và là một người ủng hộ mạnh mẽ kiến trúc doanh nghiệp và kiến trúc giải pháp. Sau khi tham dự một cuộc hội nghị thượng đỉnh giữa lãnh đạo SOA của IBM với kiến trúc sư doanh nghiệp, họ đã quyết định thuê IBM làm một dự án SOA. Dự án này phụ thuộc vào việc IBM mang lại kết quả kinh doanh trong ba tháng đầu tiên và đây là nơi mà bạn sẽ tham dự!


Xác định vị trí của kiến trúc dịch vụ

Các phương pháp và quá trình phát triển

Phần này xác định vị trí các nội dung cốt lõi của loạt bài này, sử dụng các thuật ngữ của quá trình và các phương pháp phát triển phần mềm. Nó định nghĩa các hoạt động là gì, thuộc về đâu, ai sẽ thực hiện và các vật phẩm làm việc nào được sử dụng.

  • Vật phẩm làm việc: Vật phẩm làm việc cốt lõi của loạt bài này là một mô hình Dịch vụ (Service model). Nó được thể hiện dưới dạng một mô hình dùng ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language-UML) trong Kiến trúc sư phần mềm Rational. Mô hình dịch vụ mô tả các yếu tố quan trọng về mặt kiến trúc của một SOA, sử dụng lược tả dịch vụ phần mềm trong UML (UPSS - UML Profile for Software Services). Phần 1 của loạt bài này giới thiệu Kiến trúc sư phần mềm Rational và UPSS. Phần 2 mô tả mô hình dịch vụ một cách chi tiết.
  • Lĩnh vực: Hình 1 cho thấy các lĩnh vực của Quy trình thống nhất Rational của IBM (IBM® Rational Unified Process®-RUP®) và các giai đoạn của các quá trình và phương pháp phát triển phần mềm. Mô hình nghiệp vụ, Phân tích, Thiết kế và Thực thi cũng có thể được diễn giải như là các mức trừu tượng khác nhau. Hướng dẫn này tập trung vào cốt lõi của phần Phân tích và Thiết kế. (Để biết chi tiết hơn, có thể tìm xem trong mục Learn của phần Tài nguyên).
  • Giai đoạn: Phần chủ yếu của của các hoạt động kiến trúc diễn ra trong giai đoạn soạn chỉnh (Elaboration) dự án. Trong giai đoạn khởi đầu (Inception), bạn (kiến trúc sư) chọn các yêu cầu quan trọng về mặt kiến trúc. Trong giai đoạn soạn chỉnh, bạn hoàn thành kiến trúc "tổng thể", cùng với một tập hợp đại diện các tạo phẩm (artifacts) kiến trúc chi tiết, tập trung vào các tình huống sử dụng (use cases) có nguy cơ rủi ro cao. Bạn sẽ hoàn tất phần còn lại của kiến trúc chi tiết bằng cách lặp lại nhiều vòng, tất cả trong giai đoạn xây dựng (Construction).
  • Vai:Kiến trúc sư phần mềm thực hiện các nhiệm vụ cốt lõi được minh họa trong loạt hướng dẫn này. Vai này (kiến trúc sư phần mềm) có trách nhiệm ra các quyết định kỹ thuật chính về hệ thống đang được xây dựng để đáp ứng tất cả các yêu cầu. Kết quả của các quyết định ấy được đặc tả rõ trong kiến trúc phần mềm. Tuy nhiên, cần lưu ý, rằng các nhiệm vụ được mô tả trong phần này của loạt bài hướng dẫn chủ yếu do kiến trúc sư nghiệp vụ và nhà phân tích quy trình nghiệp vụ thực hiện.
  • Hoạt động: Hoạt động cốt lõi được trình bày chi tiết trong loạt bài này là mô hình hóa một kiến trúc hướng dịch vụ (SOA, hoặc gọi tắt là kiến trúc dịch vụ). Trình cắm thêm về kiến trúc và mô hình hóa hướng dịch vụ (SOMA - Service-Oriented Modeling and Architecture) của RUP, trong đó bao gồm các nội dung SOA bên trên nền RUP cổ điển, gọi hoạt động này là đặc tả kỹ thuật của dịch vụ (Service Specification). Xin vui lòng tham khảo phần Tài nguyên để có các đường liên kết đến trình cắm thêm về SOMA của RUP. Nó sẽ cung cấp một cách để kết hợp RUP dành cho nội dung SOA với phương pháp SOMA của dịch vụ nghiệp vụ toàn cầu (GBS - Global Business Services) của IBM.
  • Công cụ: Công cụ được kiến trúc sư phần mềm sử dụng để tạo mô hình là Kiến trúc sư phần mềm Rational. Kiến trúc sư phần mềm Rational phiên bản 7 và mới hơn có nhiều khả năng SOA hơn các phiên bản cũ. Các khả năng này sẽ được mô tả trong phần này của hướng dẫn. Phần này cũng sử dụng một công cụ khác gọi là Bộ tạo mô hình nghiệp vụ WebSphere phiên bản nâng cao (V6.0.2 và mới hơn), dành cho các nhà phân tích nghiệp vụ để tạo mô hình các quy trình nghiệp vụ. Xin vui lòng tham khảo phần Tài nguyên để liên kết đến phần tải về bản dùng thử của các sản phẩm này.
Hình 1: Các lĩnh vực trong RUP
Các hoạt động của các lĩnh vực trong các giai đoạn RUP (tính lặp)

Xin vui lòng tham khảo loạt bài viết về các dịch vụ và kiến trúc trong developerWorks (trong mục Learn trong phần Tài nguyên) để biết thêm chi tiết về SOA và các sản phẩm của IBM.

Chồng giải pháp SOA

Như được định nghĩa trong loạt bài viết về các thuật ngữ SOA (xem phần Tài nguyên để tìm đường liên kết), chồng giải pháp SOA (SOA Solution Stack), được hiển thị trong Hình 2, là một mô hình tham chiếu SOA mô tả khung nhìn quan niệm của một giải pháp SOA. Đôi khi gọi là kiến trúc phân tầng SOA (SOA layered architecture), mô hình này đưa ra các tầng (các khái niệm như là quy trình nghiệp vụ, dịch vụ hoặc thành phần dịch vụ) và các mối quan hệ giữa chúng. Nó độc lập với công nghệ được sử dụng để thực thi.

Hình 2: Chồng giải pháp SOA
Sự tương tác giữa các nhà cung cấp dịch vụ và những người dùng dịch vụ

Có 5 tầng chức năng như sau (từ dưới lên trên):

  • Các hệ thống vận hành thể hiện các tài sản CNTT hiện có (sau này gọi là các hệ thống bên ngoài) và cho thấy rằng các đầu tư CNTT trước đó vẫn có giá trị và sẽ được sử dụng trong một SOA.
  • Các thành phần dịch vụ thực hiện các dịch vụ, có thể bằng cách sử dụng một hoặc nhiều ứng dụng trong tầng các hệ thống vận hành. Như bạn có thể nhìn thấy trong Hình 2, người dùng và các quy trình nghiệp vụ không có quyền truy cập trực tiếp tới các thành phần: chúng truy cập vào các dịch vụ. Các thành phần hiện có có thể được tái sử dụng nội bộ hoặc được sử dụng trong một SOA nếu thích hợp.
  • Các dịch vụ thể hiện các dịch vụ đã được triển khai tới môi trường. Các dịch vụ này là các thực thể bị chi phối, có khả năng được phát hiện ra. Các dịch vụ này cũng được nhóm thành các nhà cung cấp dịch vụ và được người dùng dịch vụ sử dụng.
  • Quy trình nghiệp vụ thể hiện các dịch vụ đã được triển khai tới môi trường. Các dịch vụ này là các thực thể bị chi phối, có khả năng được phát hiện ra. Các dịch vụ này cũng được nhóm thành các nhà cung cấp dịch vụ và được người dùng dịch vụ sử dụng.
  • Những người dùng biểu diễn các kênh được sử dụng để truy cập vào các quy trình nghiệp vụ, các dịch vụ và các ứng dụng.

4 tầng không có chức năng là:

  • Tích hợp: Cung cấp khả năng làm trung gian, định tuyến và vận chuyển các yêu cầu dịch vụ tới nhà cung cấp dịch vụ phù hợp.
  • Chất lượng dịch vụ: Cung cấp khả năng đáp ứng các yêu cầu phi chức năng của một SOA (ví dụ độ tin cậy, tính sẵn sàng).
  • Kiến trúc thông tin: Cung cấp khả năng để hỗ trợ dữ liệu, siêu dữ liệu và trí tuệ kinh doanh (business intelligence).
  • Quản trị: Cung cấp khả năng để hỗ trợ quản lý vòng đời vận hành của các nghiệp vụ trong SOA.

Cần chi tiết hơn nữa để giải thích chồng giải pháp SOA là gì. Xin vui lòng tham khảo bài viết "Thiết kế một giải pháp SOA sử dụng kiến trúc tham khảo” (Design an SOA Solution using a Reference Architecture), được liệt kê trong phần Tài nguyên, để biết thêm chi tiết về vấn đề này

Loạt bài này tập trung vào tầng trung tâm, tầng các dịch vụ. Trong các hướng dẫn sau của loạt bài này, bạn sẽ dành thời gian để xác định các phần tử mô hình của vật phẩm làm việc của mô hình dịch vụ. Phần 1 (hướng dẫn này) bàn về tầng quy trình nghiệp vụ. Đây thường được gọi là cách tiếp cận từ trên xuống. Các phần tử thiết kế chi tiết thuộc về tầng thành phần dịch vụ. Sử dụng hệ thống (không phải SOA) hiện có từ tầng các hệ thống vận hành được gọi là cách tiếp cận từ dưới lên. Chúng tôi đề xuất một sự kết hợp từ trên xuống và từ dưới lên được gọi là gặp ở giữa chừng (meet-in-the-middle): mô hình hóa quy trình nghiệp vụ từ trên xuống sẽ định nghĩa phạm vi chức năng của giải pháp; phân tích tài sản hiện có từ dưới lên sẽ phát hiện ra các chức năng được các hệ thống bên ngoài (không phải là SOA) cung cấp cùng với bất kỳ sự ràng buộc nào mà chúng áp đặt. Lưu ý rằng các mô hình dịch vụ hiện có có thể mô tả chức năng SOA có sẵn hiện tại.

Các mô hình được sử dụng làm đầu vào cho hoạt động mô hình hóa dịch vụ

Các mô hình sau được sử dụng để thực hiện hoạt động mô hình hóa dịch vụ:

  • Mô hình thành phần nghiệp vụ: Thực hiện thành phần hóa đến mức nghiệp vụ ở tầm chiến lược của doanh nghiệp.
  • Mô hình quy trình nghiệp vụ: Dòng các tác vụ, các mục nghiệp vụ luân chuyển giữa các tác vụ và các vai thực hiện các tác vụ này; nó cũng mô tả chỗ nào cần tự động hóa.
  • Mô hình Miền: Khung nhìn thống nhất về thông tin nghiệp vụ.
  • Mô hình tình huống sử dụng của hệ thống: Sự tương tác giữa các tác nhân (con người và hệ thống) và hệ thống CNTT liên quan.
  • Mô hình các hệ thống bên ngoài: Các hệ thống không phải SOA mà bạn có thể sử dụng.
  • Mô hình dịch vụ (mức phân tích): Các nhóm dịch vụ (về khái niệm) đã được nhận biết và xác nhận hợp lệ.

Trong hướng dẫn này (phần đầu tiên trong loạt bài), chúng ta mô tả mô hình thành phần nghiệp vụ và mô hình quy trình nghiệp vụ.


Kiến trúc sư phần mềm Rational phiên bản 7 và mới hơn

Kiến trúc sư phần mềm Rational là một công cụ MDD cao cấp, cho phép bạn tạo mô hình phần mềm ở các mức trừu tượng khác nhau; sử dụng các phép biến đổi để chuyển các mô hình từ một mức này sang mức tiếp theo và tạo ra, phát triển và thử nghiệm các mã lệnh. Phần này mô tả các đặc tính của Kiến trúc sư phần mềm Rational có liên quan đến SOA và kiến trúc. Bạn có thể bỏ qua phần này nếu bạn đã quen thuộc với Kiến trúc sư phần mềm Rational.

Kiến trúc sư phần mềm Rational dựa trên nền tảng Eclipse mã nguồn mở và phiên bản 7 dựa trên phiên bản Eclipse 3.2. Nó hỗ trợ phát triển nhóm bằng cách sử dụng các phần sau đây:

  • Phát triển dựa vào tài sản (ABD-Asset-Based Development).
  • Kỹ nghệ dựa theo mẫu (PBE-Pattern-Based Engineering).
  • Ngôn ngữ mô hình hóa thống nhất (UML-Unified Modeling Language).
  • Phiên bản Java™ tiêu chuẩn.
  • Phiên bản Java™ doanh nghiệp.
  • Đặc tả kỹ thuật của tài sản sử dụng lại được (RAS-Reusable Asset Specification).
  • Các hiện trạng về khả năng tương tác của các dịch vụ Web (WS-I--Web Services Interoperability).

Kiến trúc sư phần mềm Rational kết hợp bộ tạo mô hình phần mềm Rational® của IBM® và bộ phát triển ứng dụng Rational® của IBM® thành một môi trường hợp nhất. Nó cũng cung cấp các đặc tính tích hợp với các sản phẩm khác như bộ tạo mô hình nghiệp vụ WebSphere, Rational® Clear Case® của IBM®, CVS (hệ thống các phiên bản đồng quy), Rational® ClearQuest®, và Rational® RequisitePro® của IBM ®.

Nếu bạn mới bắt đầu với Kiến trúc sư phần mềm Rational, chúng tôi khuyên bạn nên tham gia vòng hướng dẫn trong trang chào đón của nó (như hiển thị trong Hình 3) khi bạn khởi chạy Kiến trúc sư phần mềm Rational và sử dụng một vùng làm việc (workspace) mới. Bạn cũng có thể truy cập nó qua Help > Welcome.

Hình 3: Trang Chào đón của Kiến trúc sư phần mềm Rational
Các biểu tượng cho các vùng khác nhau trong Kiến trúc sư Phần mềm Rational

Trang Chào đón cho phép bạn kích hoạt và vô hiệu hóa các khả năng của Kiến trúc sư phần mềm Rational dựa trên các vai (dưới cùng bên phải) và cung cấp các con trỏ tới thông tin chú trọng vào Kiến trúc sư phần mềm Rational như:

  • Tổng quan: Mô tả các đặc tính được Kiến trúc sư phần mềm Rational hỗ trợ.
  • Các hướng dẫn: Các hướng dẫn giảng dạy cho bạn cách sử dụng các đặc tính chính trong lĩnh vực mô hình hóa UML hoặc phát triển ứng dụng.
  • Các mẫu: Các dự án mẫu có chứa mô hình hay mã lệnh, minh họa các đặc tính chính của công cụ trên cùng lĩnh vực mà hướng dẫn này trình bày.
  • Có gì mới: Mô tả các bước cải tiến chủ yếu của các đặc tính trong phiên bản phát hành này.
  • Các bước đầu tiên: Các bước đầu tiên cung cấp hướng dẫn theo từng bước để thực hiện các nhiệm vụ chính được Kiến trúc sư phần mềm Rational hỗ trợ.
  • Các tài nguyên Web: Đường liên kết đến các nguồn tài nguyên trực tuyến có liên quan, chủ yếu trên trang Web developerWorks® của IBM® hoặc ibm.com.
  • Di trú: Thông tin về việc làm thế nào để nhập khẩu các dự án từ các phiên bản khác (ví dụ, Kiến trúc sư phần mềm Rational V6) hoặc các công cụ khác (ví dụ, Rational Rose® của IBM®).

Nếu bạn là một kiến trúc sư phần mềm và vừa mới đến với Kiến trúc sư phần mềm Rational, chúng tôi đặc biệt khuyên bạn nên xem xét phần sau đây Overview > Modeling Basics > Modeling life cycle support > Integrations for the development life cycle.

Thực hiện theo các bước sau:

  1. Nếu bạn còn chưa làm, hãy cài đặt Kiến trúc sư phần mềm Rational V7 (xem phần Tài nguyên để có đường liên kết tải xuống).
  2. Khởi chạy Kiến trúc sư phần mềm Rational bằng cách chọn Start > All Programs > IBM Software Delivery Platform > IBM Rational Software Architect > IBM Rational Software Architect.
  3. Trong hộp thoại khởi chạy vùng làm việc (Workspace Launcher), chỉ định một thư mục cho vùng làm việc của bạn (ví dụ, C:\rsa-workspace) và nhấn OK.
  4. Kiến trúc sư phần mềm Rational sẽ khởi chạy và bạn sẽ thấy màn hình chào đón (Hình 3).
  5. Tìm hiểu những tài liệu được liệt kê trong phần này.

Phối cảnh mô hình hóa

Theo thuật ngữ giao diện người dùng (UI), một phối cảnh (perspective) trong Eclipse là một tập hợp các khung nhìn được nhóm lại với nhau để hỗ trợ các vai trò hoặc các hoạt động cụ thể. Kiến trúc sư phần mềm Rational bao gồm các phối cảnh làm sẵn (ví dụ, phối cảnh mô hình hóa, phối cảnh phát triển công cụ cắm thêm hoặc phối cảnh Java) và bạn cũng có thể tạo ra phối cảnh của riêng mình. Trong hướng dẫn này, bạn sẽ dành phần lớn thời gian của bạn trong phối cảnh mô hình hóa, như hiển thị trong Hình 4.

Hình 4: Phối cảnh mô hình hóa của Kiến trúc sư phần mềm Rational
Các đường gạch đỏ phác ra những nét chính của 4 khung nhìn chính được mô tả chi tiết sau đây

Phối cảnh mô hình hóa bao gồm 4 khung nhìn chính:

  • Khung nhìn Project Explorer, nơi mà bạn có thể xem các phần tử và các sơ đồ của mô hình được nhóm lại theo dự án, theo mô hình và theo các gói.
  • Khung nhìn Diagram Editor, nơi bạn có thể xem hoặc sửa đổi sơ đồ và tạo ra, xóa, hoặc cập nhật các phần tử mô hình.
  • Khung nhìn Outline, cho bạn biết phần nào của một sơ đồ lớn hiện đang được hiển thị trong khung nhìn sơ đồ.
  • Khung nhìn Properties, cung cấp thông tin chi tiết và để chỉnh sửa về phần tử mô hình được chọn.

Thực hiện theo các bước sau:

  1. Từ màn hình chào đón, nhấn vào Go to the workbench như được hiển thị trong Hình 5.
  2. Theo mặc định, bạn sẽ ở trong phối cảnh nguồn tài nguyên (Resource perspective). Để chuyển sang phối cảnh mô hình hóa (Modeling perspective), chọn Window > Open Perspective > Modeling.

Đây là công việc cuối cùng mà bạn phải làm với Kiến trúc sư phần mềm Rational trong phần này của loạt bài hướng dẫn. Bây giờ bạn có thể đóng nó lại.

Hình 5: Đi đến bàn làm việc (Workbench)
Mũi tên được cách điệu

Các đặc tính SOA mới trong V7

Có hai đặc tính SOA hiện nay là một phần của sản phẩm Kiến trúc sư phần mềm Rational V7. Lưu ý rằng trong phiên bản V6, chúng thường là tài sản có sẵn trên developerWorks. Khi SOA trở thành trào lưu chính, các đặc tính này đã được tích hợp vào sản phẩm và được hỗ trợ đầy đủ và bạn sẽ sử dụng chúng trong loạt bài hướng dẫn này:

  • Lược tả UML 2 cho các dịch vụ phần mềm (UPSS): Lược tả này định nghĩa các bản mẫu (stereotypes) mà bạn sẽ sử dụng để tạo mô hình kiến trúc dịch vụ của bạn (ví dụ như, «serviceConsumer», «serviceProvider», và «service». Các phần tiếp theo trong loại bài hướng dẫn này sẽ giới thiệu từng bản mẫu ấy như khi bạn sử dụng nó trong mô hình dịch vụ. Nếu bạn muốn bắt đầu học về nó ngay bây giờ, hãy tham khảo một trong các phần sau trong phần Tài nguyên để biết thêm chi tiết:
    • Các bài viết trên developerWorks về lược tả UML 2 cho các dịch vụ phần mềm.
    • Các giải pháp xây dựng SOA với sách đỏ SDP Rational, chương 9, phần mô hình dịch vụ.
  • Phép biến đổi UML thành WSDL: Cốt lõi của MDD là khả năng sử dụng các phép biến đổi để tạo ra một mô hình đích hay mã đích, dựa trên một mô hình nguồn hay mã nguồn. Kiến trúc sư phần mềm Rational cung cấp các phép biến đổi được hỗ trợ sẵn (out-of-the-box), cùng với một khung công tác để xây dựng các phép biến đổi tùy biến của riêng bạn. Phép biến đổi UML thành ngôn ngữ định nghĩa các dịch vụ Web (WSDL) cho phép bạn tạo ra các lược đồ WSDL và XLM, dựa trên một mô hình UML. Trong trường hợp của chúng ta, chúng ta sử dụng mô hình dịch vụ làm đầu vào. Do mô hình dịch vụ mô tả các phần quan trọng về mặt kiến trúc của hệ thống, nên nó sẽ được sử dụng để sinh ra các phần quan trọng về mặt kiến trúc của việc thực thi. Mô hình thiết kế sẽ bổ sung chi tiết hơn. Mô hình thiết kế cũng có thể được sử dụng để sinh ra tiếp theo các chi tiết thực thi (thực thi nội bộ của các phần quan trọng về mặt kiến trúc).

Vào thời điểm viết bài này, chúng tôi đã sử dụng phiên bản V7, áp dụng bản sửa lỗi 001. Chúng tôi đề nghị bạn sử dụng bản sửa lỗi mới nhất có sẵn tại thời điểm bạn tìm hiểu hướng dẫn này.


Mô hình thành phần nghiệp vụ

Như được định nghĩa trong loạt bài về thuật ngữ SOA (xem phần Tài nguyên để có đường liên kết), mô hình thành phần nghiệp vụ ™ của IBM® là một phương pháp chiến lược để cho phép các doanh nghiệp tập trung vào các năng lực cốt lõi -- các phần công việc kinh doanh làm nên sự khác biệt giữa nó với các đối thủ cạnh tranh, thấy được các tài nguyên được sử dụng như thế nào và sắp xếp phù hợp hơn các mục tiêu kinh doanh với CNTT.

Việc định hướng dịch vụ đạt được sự tích hợp cần thiết của sự tương tác giữa các thành phần nghiệp vụ ấy, cũng như tính linh hoạt của chúng (ví dụ thuê gia công một thành phần): các thành phần nghiệp vụ có một mục đích nghiệp vụ duy nhất và hợp tác thông qua một tập hợp dịch vụ nghiệp vụ mà chúng cung cấp cho (hay tiêu thụ từ) các thành phần nghiệp vụ khác.

Lưu ý rằng việc tạo một mô hình thành phần nghiệp vụ đầy đủ thường là nằm ngoài phạm vi của một dự án phát triển phần mềm: nó thường được tạo ra bởi một nỗ lực thay đổi và một chiến lược kinh doanh. Nếu đầu vào này không có sẵn, đôi khi cũng đáng bõ công để tạo ra một bản đồ mô hình thành phần nghiệp vụ (CBM) cơ bản để cung cấp bối cảnh cho các nỗ lực mô hình hóa quy trình nghiệp vụ của dự án phát triển phần mềm. Ưu điểm của việc làm như thế là ở chỗ bản đồ CBM của bạn sẽ cung cấp một bối cảnh có ích cho các quy trình nghiệp vụ mà bạn định nghĩa. Nó cũng có tác dụng như là một điểm kiểm tra có ích để kiểm tra tầm bao phủ của quy trình đã được mô hình hóa của bạn: bạn đã xem xét hết toàn bộ chiều rộng của các hoạt động nghiệp vụ được tính đến trong các quy trình của bạn chưa?

Hình 6 cho thấy bản đồ mô hình thành phần nghiệp vụ của doanh nghiệp DVD2U.

Hình 6: Bản đồ mô hình thành phần nghiệp vụ của DVD2U
Các cột của vùng chức năng, các hàng mức giải trình

Các thành phần nghiệp vụ (các lĩnh vực chức năng) thuộc về một trong ba mức trách nhiệm (các hàng của bản đồ) như sau:

  • Trực tiếp (Chiến lược)
  • Kiểm soát (Quản lý)
  • Thi hành

DVD2U có bốn lĩnh vực hoạt động kinh doanh (các cột của bản đồ):

  • Kho vận: lưu vào kho, gửi hàng đi và nhận về
  • Bán hàng: Bán qua bưu điện, bán tại cửa hàng và các chương trình khuyến mãi
  • Cho thuê: tại cửa hàng, trực tuyến, hoặc qua bưu điện
  • Marketing: định giá, chiến dịch tiếp thị và quảng cáo

Bằng cách tiến hành một cuộc hội thảo mô hình thành phần nghiệp vụ, bạn xác định rằng thành phần nghiệp vụ Cho thuê trực tuyến (Online Rentals) (nằm ở giao điểm của cột Rental và hàng Execute) là thành phần nghiệp vụ then chốt cần chú trọng. Mô hình thành phần nghiệp vụ gọi nó là thành phần nóng, và có một biểu tượng dấu sao kèm theo nó trên Hình 6. Như vậy, Cho thuê trực tuyến là lĩnh vực chức năng nghiệp vụ mà mô hình thành phần nghiệp vụ sẽ nỗ lực xem xét con người, các quy trình, các hệ thốngvà quan trọng nhất là các dịch vụ.


Mô hình quy trình nghiệp vụ

Hình 7 và Hình 8 hiển thị quy trình nghiệp vụ Trả lại băng video (Return Video), thuộc về hoạt động kinh doanh Cho thuê trực tuyến. Đây là quy trình nghiệp vụ sẽ đặt ra phạm vi của dự án SOA mà bạn đang mô hình hóa kiến trúc của nó trong loạt bài này.

Hình 7: Quy trình nghiệp vụ trả lại băng video (1/2)
Hoạt động cho Thành viên và Nhân viên tiếp nhận

Tiến trình công việc như sau, theo Hình 7:

  1. Thành viên DVD2U, sử dụng phong bì trả cước phí trước, gửi băng video qua bưu điện trả lại kho của DVD2U.
  2. Như một tùy chọn, thành viên này có thể đăng nhập vào tài khoản DVD2U của mình từ một trình duyệt Web và cập nhật danh sách phim của mình bằng cách ghi chú các băng video mà anh ta đã gửi qua bưu điện.
  3. Khi điều này xảy ra, hệ thống lấy ra vị thế hiện tại của thành viên.
  4. Sau một hoặc hai ngày, nhân viên tiếp nhận làm việc tại kho hàng DVD2U nhận được băng video.
  5. Nhân viên tiếp nhận sau đó sẽ kiểm tra băng video.
Hình 8: Quy trình nghiệp vụ trả lại băng video (2/2)
Bao gồm cả các hoạt động chưa được gán

Tiến trình công việc theo Hình 8:

  1. Nếu thành viên báo cáo trả về một băng video và thành viên này có vị thế tốt, thì hệ thống sẽ cập nhật hiện trạng của thành viên để nói rằng băng video tiếp theo trên danh sách của anh ta sẽ đến hạn được hưởng.
  2. Sau khi kiểm tra video, nhân viên tiếp nhận ghi lại việc tiếp nhận băng video vào hệ thống.
  3. Hệ thống bổ sung trở lại băng video này vào tổng kho.

Xin lưu ý rằng kết quả mô hình hóa quy trình nghiệp vụ được nhận biết và được mã hóa:

  • Các vai trò: Thành viên (ở đầu làn đường) và Nhân viên tiếp nhận (ở giữa làn đường).
  • Mức tự động hóa (như các phiếu phân loại): chỉ có Con người làm (màu cam), Con người-Hệ thống (màu xanh dương), Hệ thống-Con người (màu xanh dương nhạt, không được hiển thị) và chỉ Hệ thống thực hiện (màu xám).
  • Hệ thống CNTT (như các phiếu phân loại): Quản lý tư cách thành viên, Quản lý kho hàngvà Quản lý thành viên (tất cả các bộ phận trong quản lý quan hệ với khách hàng - Customer Relationship Management). Lưu ý rằng một cách phổ biến khác thay cho sử dụng các phiếu phân loại để lập mô hình hệ thống CNTT là thay thế bằng mô hình chúng như các nguồn tài nguyên riêng biệt trong bộ tạo mô hình nghiệp vụ WebSphere.

Cũng cần lưu ý rằng mô hình hóa quy trình nghiệp vụ bao gồm cả các hoạt động khác (như là việc mô phỏng quá trình) mà bạn không bàn về nó trong loạt bài này.

Thực hiện theo các bước sau:

  1. Nếu bạn còn chưa làm, hãy cài đặt bộ tạo mô hình nghiệp vụ WebSphere phiên bản nâng cao (v6.0.2 và mới hơn). Xem phần Tài nguyên để có đường liên kết tải xuống.
  2. Khởi chạy bộ tạo mô hình nghiệp vụ WebSphere.
  3. Trong hộp thoại bật lên, nhấn vào Browse, và sau đó tạo ra một thư mục cho vùng làm việc của bộ tạo mô hình nghiệp vụ WebSphere (ví dụ, C:\temp\wbm-workspace). Nhấn vào OK.
  4. Bộ tạo mô hình nghiệp vụ WebSphere sẽ khởi chạy và tự khởi động trình thủ thuật Quick Start. Đặt tên cho dự án mới là DVD2U Online Rentals và nhấn Finish.

Bây giờ bạn sẽ nhập khẩu mô hình quy trình nghiệp vụ được cung cấp kèm theo.

  1. Chọn File > Import.
  2. Trong trình thủ thuật Import, chọn WebSphere Business Modeler Import và nhấn Next.
  3. Chọn WebSphere Business Modeler Project (.mar, .zip) và nhấn vào Next.
  4. Nhấn Browse và trỏ đến thư mục nơi bạn lưu các tệp tin nén (xem phần Tải về của phần Tài nguyên). Trong Files, chọn DVD-Rental.mar. Chọn DVD2U Online Rentals làm dự án. Chọn Overwrite existing elements và nhấn Finish.
  5. Hãy khám phá mô hình và xem các sơ đồ được đề cập trong phần này.

Nhiều thứ từ mô hình này là các đầu vào cho hoạt động mô hình hóa dịch vụ, bao gồm cả dòng chảy các tác nhiệm, các mục nghiệp vụ được chuyển tiếp giữa các tác nhiệm, các mô tả về các yêu cầu tự động hóa các tác nhiệm liên quan đến các hệ thống CNTT và sự thực hiện vai trò đối với các tác nhiệm do con người thực hiện. Là một phần của công việc mô hình hóa nghiệp vụ mà bạn thực hiện trong hướng dẫn này, bạn cũng sẽ tạo ra một mô hình miền. Hướng dẫn tiếp theo trong loạt bài này sẽ mô tả chi tiết hơn, cũng như sẽ đề cập các bước logic tiếp theo trong phương pháp tiếp cận từ trên xuống này. Đó là mô hình hóa các yêu cầu trong mô hình tình huống sử dụng của hệ thống.


Tóm tắt

Kết luận

Hướng dẫn này dàn cảnh cho loạt bài về mô hình hóa kiến trúc hướng dịch vụ với Kiến trúc sư phần mềm Rational. Phần này của loạt bài đã sử dụng cách tiếp cận từ trên xuống và đã mô tả công ty DVD2U, hoạt động kinh doanh và các vấn đề nghiệp vụ của nó. Sau đó, nó đã xác định vị trí của kiến trúc phần mềm và SOA đối với các quá trình phát triển và đã mô tả trọng tâm của loạt bài, sử dụng chồng giải pháp SOA. Nó tiếp tục mô tả công cụ Kiến trúc sư phần mềm Rational và các đặc tính SOA mới. Sau đó, sau khi liệt kê các mô hình được sử dụng làm đầu vào cho các hoạt động kiến trúc dịch vụ, nó đã mô tả hai mô hình nghiệp vụ cho dự án này: bản đồ mô hình hóa thành phần nghiệp vụ DVD2U và quy trình nghiệp vụ trả lại băng video. Đây chỉ là nền tảng và Phần 2 sẽ mô tả chi tiết các mô hình đầu vào khác và bắt đầu cấu trúc khởi đầu của kiến trúc phần mềm của bạn. Vì vậy, hãy theo dõi sát developerWorks!


Tải về

Mô tảTênKích thước
Dự án WebSphere Business Modeler v6.0.2DVD-Rental.zip111KB

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Tải về IBM product evaluation versions để nhận các công cụ phát triển ứng dụng thực hành và sản phẩm phần mềm trung gian từ DB2®, Lotus®, Rational®, Tivoli®, và WebSphere®.
  • Nhận lấy trình cắm thêm SOMA cho RUP.
  • Tải về một phiên bản dùng thử của phiên bản nâng cao (V6.0.2 và mới hơn) của WebSphere Business Modeler.
  • Tải về một phiên bản dùng thử của Rational Software Architect (V7 và mới hơn).

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational, SOA và dịch vụ Web
ArticleID=384875
ArticleTitle=Mô hình kiến trúc hướng dịch vụ với Kiến trúc sư phần mềm Rational: Nghiên cứu tình huống, các công cụ và khung nhìn nghiệp vụ
publish-date=05202009