Thiết kế các dịch vụ SOA với Rational Software Architect, Phần 2: Thiết kế các dịch vụ với lược tả UML của các dịch vụ phần mềm

Tìm hiểu cách làm thế nào để thiết kế kiến trúc hướng dịch vụ (SOA) khi sử dụng IBM® Rational® Software Architect (Kiến trúc sư phần mềm Rational của IBM). Cách tiếp cận dựa theo mô hình này (model-driven development -MDD) dựa vào Unified Modeling Language (UML - Ngôn ngữ mô hình hóa thống nhất) và lược tả UML 2.0 của các dịch vụ phần mềm.

Lee Ackerman, Giám đốc tiếp thị, IBM

Lee AckermanLee Ackerman là một nhà quản lý sản phẩm cao cấp của đội các giải pháp và các dịch vụ học tập của Rational, IBM. Ông tập trung vào việc tạo ra các tài sản vốn trí thức, cho phép những người sử dụng bộ công cụ phát triển dựa theo mô hình của Rational thành công trong việc tạo ra các giải pháp J2EE và SOA


Cấp độ đóng góp cho developerWorks của
        tác giả

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

07 08 2009

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

Trước hết hãy xem lại bạn có thể mong đợi những gì từ hướng dẫn này và làm thế nào để học được nhiều nhất từ nó.

Về loạt bài viết này

Để thu được những lợi ích của Service-Oriented Architecture (SOA - Kiến trúc hướng dịch vụ) và Model-Driven Development (MDD- Phát triển dựa theo mô hình), môi trường thiết kế và phát triển của bạn cần có các đặc điểm sau:

  • Mô hình hóa các cách làm thực tế tốt nhất: mọi người sẽ có thể sử dụng lại các giải pháp đã được kiểm chứng để giải quyết các vấn đề xảy ra thường xuyên và cũng cung cấp các giải pháp cho những người khác sử dụng lại.
  • Chọn công cụ khớp với vai trò và nhiệm vụ: Các công cụ cần được nhắm đến nhiệm vụ sắp tới và đến vai trò thực hiện nhiệm vụ đó (ví dụ, nhà phân tích nghiệp vụ hoặc Kiến trúc sư CNTT).
  • Cung cấp sự hỗ trợ và hướng dẫn quy trình xử lý: Môi trường phát triển luôn luôn cung cấp hướng dẫn tùy bối cảnh cho các phương pháp hay các quy trình.
  • Đưa ra một nền tảng mở rộng được: Các nhóm làm việc sẽ có thể mở rộng hoặc tùy chỉnh môi trường sao cho ăn khớp với các nhu cầu của họ.
  • Cho phép tự động hóa: Các ánh xạ và siêu mô hình ở dưới khung công tác sẽ cho phép biến đổi bán tự động các mô hình, từ các mức trừu tượng hóa cao hơn đến thấp hơn và cuối cùng thành mã có thể chạy được.
  • Giúp theo vết sự trừu tượng hóa: Có khả năng truy ngược lại từ các mức trừu tượng hóa thấp hơn đến cao hơn.

Có tất cả các đặc tính của IBM Rational Software Development Platform (Nền tảng phát triển phần mền Rational IBM) và cụ thể hơn là công cụ của IBM Rational Software Architect. Trong loạt bài viết của hướng dẫn này, bạn sẽ tìm hiểu làm thế nào để sử dụng nền tảng Rational và các khả năng của nó để thiết kế các giải pháp SOA.

Hướng dẫn này mô tả một cách tiếp cận MDD từ trên xuống dưới để mô hình hóa các dịch vụ bằng cách sử dụng Rational Software Architect. Bạn sẽ học cách làm thế nào để bạn có thể biểu diễn mô hình dịch vụ theo các mức trừu tượng hóa khác nhau (từ Quy trình nghiệp vụ, Unified Modeling Language -UML- Ngôn ngữ mô hình hóa thống nhất, Web Services Description Language -WSDL- Ngôn ngữ mô tả dịch vụ Web, đến mã Java™) và làm thế nào để Rational Software Architect hỗ trợ hiển thị trực quan và chuyển đổi từ một mức trừu tượng hóa này tới mức trừu tượng hóa khác.

Các tác giả cũng thảo luận về việc sử dụng các lược tả UML (UML profiles) cho các ngôn ngữ riêng cho từng lĩnh vực như SOA. Chìa khóa để thu được các lợi ích của SOA là việc tái sử dụng các tài sản hiện có. Chúng tôi chỉ ra cách làm thế nào để sử dụng các mẫu thiết kế hiện có để giải quyết các yêu cầu của các dịch vụ của bạn. Sau khi tìm hiểu hết loạt bài viết này, bạn sẽ có khả năng thiết kế các dịch vụ bằng Rational Software Architect và sử dụng các khả năng bạn được cung cấp xoay quanh các lược tả UML, các mẫu thiết kế, các tài sản có khả năng sử dụng lại, các phép biến đổi và các dịch vụ Web.

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

Trong Phần 1 của loạt bài viết, bạn đã làm quen với Rational Software Architect và cách nó tích hợp với các công cụ khác mà bạn sử dụng trong các giai đoạn khác nhau của vòng đời SOA như thế nào. Trong phần này, bạn tìm hiểu cách sử dụng Rational Software Architect như thế nào để thiết kế các dịch vụ bằng cách sử dụng UML và các lược tả UML 2.0 cho các dịch vụ phần mềm. Hướng dẫn này tập trung vào việc thiết kế các dịch vụ riêng lẻ, không phải là thiết kế các tương tác hoặc hợp tác dịch vụ.

Các mục tiêu

Sau khi hoàn tất hướng dẫn này, bạn sẽ có một sự hiểu biết tốt hơn về giá trị của MDD và mô hình hóa trực quan. Bạn cũng sẽ hiểu lược tả UML là gì, lược tả các dịch vụ là gì và sử dụng nó như thế nào. Với kiến thức đó, bạn sẽ có thể tạo ra một mô hình thiết kế dịch vụ bao gồm các thông điệp (Messages), các đặc tả dịch vụ (Service Specifications) và các dịch vụ (Services).

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

Để nhận được đầy đủ những lợi ích của hướng dẫn này, sẽ rất có ích nhưng không bắt buộc nếu bạn quen thuộc với các khái niệm và sản phẩm sau:

  • UML, the Unified Modeling Language - Ngôn ngữ mô hình hóa thống nhất.
  • WSDL, the Web Services Description Language - Ngôn ngữ mô tả dịch vụ Web.
  • Rational Software Architect - Kiến trúc phần mềm Rational hay Rational Software Modeler - Trình mô hình hóa phần mềm Rational.
  • SOA, service-oriented architecture - Kiến trúc hướng dịch vụ.

Xem Tài nguyên để có được các đường liên kết có ích đến các thông tin thêm nữa về các chủ đề này.

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

Để hoàn thành hướng dẫn này, bạn cần cài đặt các phần mềm sau đây:

  • Rational Software Architect
  • Lược tả UML 2.0 cho các dịch vụ phần mềm (UML 2.0 Profile for Software Services).

Sử dụng lược tả UML 2.0 cho Các dịch vụ phần mềm dành cho thiết kế SOA

Các lược tả UML bổ sung thêm một cơ cấu mở rộng đơn giản cho UML độc lập với lĩnh vực. Chúng cho phép định nghĩa các quy tắc và các thực thể riêng của từng lĩnh vực. Các lược tả UML đi đôi đẹp đẽ với các quá trình phát triển. Ví dụ, có một Lược tả UML để mô hình hóa nghiệp vụ (Business Modeling), hỗ trợ IBM Rational Unified Process® - RUP® (Quy trình thống nhất Rational của IBM) dành cho mô hình hóa nghiệp vụ.

Các lược tả chủ yếu gồm có các bản mẫu (stereotypes). Một bản mẫu định nghĩa nó được kết hợp với lớp UML (siêu lớp) nào, các thuộc tính của lớp đó và các ràng buộc về cách các phần tử bản mẫu có thể được kết hợp với các phần tử khác như thế nào. Ví dụ, trong các lược tả UML 2.0 cho Các dịch vụ phần mềm, một bản mẫu Đặc tả dịch vụ mở rộng siêu lớp Interface. Nó định nghĩa một thuộc tính được gọi là Published (đã xuất bản) để cho biết bản mẫu Đặc tả dịch vụ ấy đã được xuất bản tới sổ đăng ký dịch vụ hay chưa. Cuối cùng, một trong những ràng buộc của nó là tất cả các hoạt động phải được đánh dấu là Public (công cộng).

Trong công cụ của Rational Software Architect, các lược tả có các đặc điểm sau:

  • Các quy tắc mà lược tả định nghĩa có thể được xác nhận hợp lệ.
  • Các bản mẫu có thể có các mô tả đồ họa kết hợp với chúng.
  • Các lược tả được lưu trữ trong các mô hình lược tả, với phần mở rộng của tên tệp tin là .epx.
  • Các lược tả có số phiên bản và số phát hành.

Giới thiệu về lược tả

Lược tả hay không lược tả?

Có thể mô hình hóa một phần các giải pháp hướng dịch vụ với UML cơ bản, sử dụng các lớp, các giao diện, các hoạt động, các thành phần và các cổng. Tuy nhiên, một số khái niệm hướng dịch vụ không thể mô tả được bằng UML (ví dụ, một dạng mã hóa của một thông báo hoặc một kết buộc dịch vụ). Tất nhiên, có thể sử dụng UML để định nghĩa một siêu mô hình (meta-model) dành cho hướng dịch vụ và đó chính là những gì mà lược tả các dịch vụ thực hiện. Ngoài ra, lược tả này cũng cung cấp một biểu diễn đồ họa hấp dẫn, trợ giúp đáng kể cho việc mô hình hóa.

Như được mô tả trong một bài báo (http://www.ibm.com/developerworks/rational/library/05/419_SOA/) trên trang Web developerWorks® của IBM®, "Lược tả UML 2.0 cho Các dịch vụ phần mềm [từ đây trở đi sẽ đơn giản gọi là lược tả dịch vụ (services profile)] là một lược tả UML" cho phép mô hình hóa các dịch vụ, kiến trúc hướng dịch vụ (SOA) và các giải pháp hướng dịch vụ.... Lược tả này đã được triển khai thực hiện trong IBM Rational Software Architect, đã sử dụng thành công trong các mô hình phát triển của các kịch bản khách hàng phức tạp và đã sử dụng để trợ giúp giáo dục mọi người về các mối quan tâm có liên quan đến việc phát triển các giải pháp hướng dịch vụ.

Bước 1: Cài đặt lược tả dịch vụ

Lược tả dịch vụ được đóng gói như là một trình cắm thêm của Rational Software Architect, có sẵn để tải về miễn phí trên trang Web developerWorks. (Xem "Nhận các sản phẩm và các công nghệ" trong Tài nguyên).

Giữ một nền tảng Rational sạch sẽ

Để giữ cho nền tảng phát triển phần mềm Rational sạch sẽ, cách tốt nhất là cài đặt các đặc tính tùy chọn trong các thư mục riêng biệt, chứ không phải trong thư mục Eclipse mặc định. Điều này làm cho dễ dàng hơn trong việc đặt cấu hình và gỡ bỏ các tính năng.

Bắt đầu bằng cách cài đặt trình cắm thêm.

  1. Nhấn vào liên kết tải xuống, lưu tệp tin .zip này vào máy tính của bạn và sau đó trích xuất nó vào một thư mục tạm thời (ví dụ, C:\sftsvc). Bây giờ thư mục lược tả các dịch vụ mới của bạn có chứa một trang Web cập nhật tại chỗ. Bạn sẽ cập nhật cấu hình Rational Software Architect của bạn để thêm đặc tính lược tả các dịch vụ và trình cắm thêm.
  2. Khởi chạy công cụ của Rational Software Architect, nếu bạn chưa làm như vậy.
  3. Chọn Software Updates > Find and Install ... từ trình đơn Help.
  4. Khi trình thủ thuật Install/Update hiển thị, chọn Search for new features to install (Tìm kiếm các tính năng mới để cài đặt) và sau đó nhấn vào Next. (Xem Hình 1).
  5. Từ Update sites to visit (Các trang Web cập nhật để truy cập), nhấn vào New Local Site... (Trang Web tại chỗ mới...) và duyệt đến nơi mà bạn đã trích xuất trang Web cập nhật của lược tả các dịch vụ (Đặt tên thư mục như bạn muốn, nhưng hướng dẫn này sử dụng tên là C:\sftsvc kể từ đây về sau).
  6. Sau đó, chọn C:\sftsvc site trong Sites to include in search list (Các trang Web có bao gồm trong danh sách tìm kiếm) và nhấn vào Next.
Hình 1. Trình thủ thuật cài đặt
Trình thủ thuật cài đặt
  1. Chọn com.ibm.rational.softsvc.feature trong danh sách Select features to install (Chọn các đặc tính để cài đặt) và sau đó nhấn vào Next.
  2. Chọn I accept the terms in the licence agreement (Tôi chấp nhận các điều khoản trong thỏa thuận giấy phép) và sau đó nhấn vào Next.
  3. Trên trang Install Location (Vị trí cài đặt), nhấn vào Add site.... (Xem Hình 2.)
  4. Tạo một thư mục mới (ví dụ, C:\Program Files\IBM\Rational\SDP\6.0\services_profile).
  5. Hãy chắc chắn rằng trang Web mới tạo ra của bạn được chọn như là trang Web cài đặt của đặc tính lược tả các dịch vụ và sau đó nhấn vào Finish.
Hình 2. Trang Web cài đặt mới của bạn
Trang Web cài đặt mới
  1. Khi cửa sổ kiểm tra JAR hiển thị, nhấn vào Install.
  2. Cuối cùng, nhấn Yes để khởi động lại bàn làm việc (Workbench). Màn hình Rational Software Architect xuất hiện lại ngay sau đó.

Lược tả UML cho các dịch vụ phần mềm bây giờ đã được cài đặt trong Rational Software Architect.

Làm thế nào để sử dụng Lược tả UML cho Các dịch vụ phần mềm

Hiện có nhiều cách khác nhau để sử dụng lược tả này:

Tùy chọn 1: Sử dụng khuôn mẫu mô hình được cung cấp trong lược tả đó

Với tùy chọn này, bạn tạo ra một mô hình mới có sử dụng khuôn mẫu mô hình của lược tả đó. Mô hình của bạn được điền trước với các gói phần mềm, các phần tử có thể sử dụng lại và các sơ đồ, như Hình 3 đã chỉ ra.

Hình 3. Khuôn mẫu mô hình dịch vụ
Khuôn mẫu mô hình dịch vụ

Làm thế nào để sử dụng khuôn mẫu lược tả

Đơn giản chỉ cần thực hiện theo hai bước sau:

  1. Chọn File > New > Other > UML Model.
  2. Trong New UML Model wizard (trình thủ thuật Mô hình UML mới), chọn khuôn mẫu Service Design Model (Mô hình thiết kế dịch vụ).

Lợi thế của việc sử dụng khuôn mẫu lược tả các dịch vụ là ở chỗ nó cung cấp một cấu trúc được xây dựng trước với các gói phần mềm riêng biệt cho thông báo, hợp tác hoặc các phần tử và các sơ đồ dịch vụ. Ngoài ra, nó cung cấp các khối xây dựng được gọi là các phần tử thiết kế có thể sử dụng lại (reusable design elements) cho từng khái niệm (các bản mẫu) được định nghĩa bởi lược tả, ví dụ như Dịch vụ, Nhà cung cấp hoặc Thông báo. Tài liệu hướng dẫn về các dịch vụ.

Làm thế nào để sử dụng lược tả các dịch vụ với các mô hình hiện có

Để sử dụng lược tả các dịch vụ với các mô hình hiện có, hãy làm theo các bước sau:

  1. Lựa chọn model trong Model Explorer và sau đó chọn thẻ Profiles trong khung nhìn Properties.
  2. Ở đây, bạn có thể nhìn thấy một danh sách các lược tả đã được áp dụng cho mô hình của bạn. Nhấn vào Add Profile... và chọn Software services trong danh sách các lược tả được triển khai.
  3. Để áp dụng một bản mẫu (stereotype) cho phần tử UML hiện có, chọn phần tử (element) đó và sau đó chọn thẻ Stereotypes trong khung nhìn Properties.
  4. Nhấn vào Add Stereotypes... và chọn bản mẫu bạn muốn áp dụng.

Tùy chọn 2: Tạo các phần tử bản mẫu, thay vì sử dụng khuôn mẫu

Bạn có thể thích cấu tạo mô hình của bạn theo một cách khác hay bắt đầu từ một mô hình rỗng mà bạn cấu tạo thêm khi nó phát triển. Trong trường hợp đó, hãy nghĩ về tùy chọn.

Với tùy chọn này, bạn tạo ra một mô hình UML rỗng và bạn thêm vào các gói, các phần tử và các sơ đồ khi bạn cần tới chúng. Các phần tử mà bạn tạo ra có thể được làm thành bản mẫu theo lược tả các dịch vụ. Ví dụ, bạn có thể tạo ra các thông báo mới, các đặc tả dịch vụ mới, các dịch vụ mới v.v. Bạn sử dụng cách tiếp cận này trong hướng dẫn này vì các ví dụ là đơn giản và bạn sẽ tạo ra các phần tử thiết kế dịch vụ khi chúng được giới thiệu.

Tùy chọn 3: Áp dụng các bản mẫu của lược tả cho các phần tử mô hình hiện có

Có những trường hợp mà ở đó bạn muốn tái sử dụng các mô hình hiện có và áp dụng các khái niệm hướng dịch vụ cho chúng. Nếu đó là tình huống của bạn, hãy nghĩ về tùy chọn 3.

Với tùy chọn này, bạn áp dụng các bản mẫu của lược tả cho các phần tử UML hiện có. Ví dụ, bạn có thể áp dụng bản mẫu thông báo cho một lớp, sao cho lớp này sau đó mô tả một thông báo dịch vụ (một thùng chứa - container) dữ liệu có ý nghĩa với các bên cung cấp và tiêu dùng dịch vụ). Khi bạn áp dụng bản mẫu thông báo này, biểu diễn trực quan của lớp đó thay đổi thành biểu diễn trực quan của một thông báo và một thuộc tính mã hóa sẽ được bổ sung thêm. Bạn có thể chỉ rõ một giá trị cho thuộc tính mã hóa đó.

Lưu ý:
Tùy chọn 2 và 3 không loại trừ lẫn nhau.


Định nghĩa Cấu trúc và Mô hình thiết kế UML

Bây giờ bạn đã sẵn sàng để tạo ra một mô hình thiết kế mẫu.

Tạo ra mô hình thiết kế Dịch vụ xử lý yêu cầu bồi thường (Claims Processing Service)

Có ba bước để tạo ra thiết kế mẫu của bạn:

  1. Trước tiên, bạn sẽ nhập khẩu dự án mà bạn đã tạo trong phần 1 của loạt bài viết này.
  2. Sau đó, bạn sẽ tạo ra một mô hình thiết kế mới để chứa các phần tử thiết kế dịch vụ của bạn.
  3. Cuối cùng, bạn sẽ đặt cấu hình mô hình của bạn để sử dụng lược tả các dịch vụ.

Bước 2. Nhập khẩu trao đổi dự án (project interchange)

  1. Lưu Part1-Intrchg.zip vào một thư mục tạm thời trên hệ thống tệp tin của bạn (ví dụ, C:\temp).
  2. Từ Rational Software Architect, chọn Import từ trình đơn File.
  3. Lựa chọn Project Interchange và sau đó nhấn vào Next.
  4. Nhấn vào Browse...để trỏ đến tệp tin Part1-Intrchg.zip trên hệ thống tệp tin của bạn.
  5. Chọn Select All và sau đó nhấn vào Finish.

Đối với phần tiếp theo của hướng dẫn này, bạn sẽ làm việc trong phối cảnh Mô hình hóa (Modeling perspective) của Rational Software Architect. Nếu bạn vẫn chưa mở nó, chọn Open Perspective > Modeling từ trình đơn. (Đóng các màn hình Chào mừng nếu nó đang mở).

Vùng làm việc của bạn bây giờ sẽ chứa một dự án có tên là ClaimManagementDemoDesign, với một mô hình của trình mô hình hóa nghiệp vụ WebSphere (WebSphere Business Modeler) tên là ClaimManagementDemoDesign và một mô hình ca sử dụng Claim Management. Bây giờ bạn sẽ tạo ra một mô hình UML mới cho thiết kế dịch vụ của bạn, trong cùng một dự án.

Bước 3. Tạo ra một mô hình UML mới

  1. Trong trình thám hiểm mô hình (model explorer), chọn dự án ClaimManagementDemoDesign, nhấn chuột phải và sau đó chọn New > UML Model.
  2. Trong New UML Model (trình thủ thuật Mô hình UML mới), hãy chắc chắn rằng Blank Model được chọn trong Templates.
  3. Gõ vào tên tệp tin là Processing Service Design Model và đảm bảo rằng một sơ đồ lớp được tạo ra trong mô hình mới, như Hình 4 chỉ ra.
  4. Nhấn vào Finish.
Hình 4. Trình thủ thuật New UML Model
Trình thủ thuật UML model mới

Trong Model Explorer, bây giờ bạn sẽ thấy một tệp tin gọi là Claims Processing Service Design Model.emx trong dự án Thiết kế xử lý yêu cầu bồi thường (Claims Processing Design).

Bước 4. Định cấu hình mô hình để sử dụng lược tả các dịch vụ

  1. Trong Model Explorer, nhấn đúp vào tệp tin Claims Processing Service Design Model.emx để mở rộng nó.
  2. Sau đó chọn mô hình thực tế trong nó, như Hình 5 đã chỉ ra.
Hình 5. Mô hình UML trong Model Explorer
Mô hình UML trong Model Explorer

Lưu ý:
Như bạn có thể nhìn thấy trong Hình 6, bạn có thể áp dụng nhiều hơn một lược tả cho cùng một mô hình. Ngoài ra, tuỳ thuộc vào loại mô hình, Rational Software Architect sẽ tự động áp dụng các lược tả khác nhau khi bạn tạo một mô hình mới.

Hình 6. Lược tả áp dụng cho một mô hình
Lược tả áp dụng cho một mô hình

'

  1. Trong khung nhìn Properties, chọn tab Profile. Bạn có thể xem các lược tả được áp dụng theo mặc định cho một mô hình UML.
  2. Thêm lược tả các dịch vụ của bạn vào danh sách.
  3. Chọn Add Profiles... và sau đó chọn Software Services Profile (Lược tả các dịch vụ phần mềm) trong Deployed Profile (Lược tả đã triển khai).

Bây giờ bạn đã sẵn sàng để tạo ra các phần tử của thiết kế dịch vụ của bạn.

Cấu trúc và mối quan hệ của dự án

Ví dụ mà bạn làm theo trong hướng dẫn này là đủ đơn giản để có một cấu trúc gói cơ bản: ba gói và không có gói con. Tuy nhiên, khi bạn thiết kế các dịch vụ của riêng bạn, bạn có thể muốn xây dựng một cấu trúc được cắt đo thích hợp hơn với với các nhu cầu của bạn, chẳng hạn như một cấu trúc có các gói con lồng nhau. Ngoài ra, tất cả phần tử thiết kế có thể không bao gồm trong cùng một mô hình hoặc dự án; do vậy, bạn sẽ có thể phải tham chiếu các phần tử từ các mô hình khác.

Bước 5. Tạo cấu trúc dự án của bạn

Trong phần này, bạn tạo ra cấu trúc của mô hình UML của bạn, bao gồm ba gói:

  • Các thông điệp (Messages).
  • Các đặc tả dịch vụ (Service Specifications).
  • Các dịch vụ (Services).

Sau đó, bạn liên kết các gói này để chỉ ra các phụ thuộc.

Theo mặc định, Rational Software Architect tạo ra một sơ đồ chưa định dạng (free-form) trong mỗi gói phần mềm mới. Trước tiên, hãy làm theo các bước sau để thay đổi các lựa chọn ưu tiên (preferences) để chắc chắn rằng bạn tạo ra một sơ đồ lớp trong mỗi gói phần mềm mới:

  1. Chọn Preferences trong trình đơn Window.
  2. Trong Modeling > Default Diagrams, thay đổi kiểu sơ đồ mặc định thành Sơ đồ lớp (Class Diagram), như Hình 7 hiển thị.
  3. Nhấn vào Apply.
  4. Nhấn vào OK.
Hình 7. Các sơ đồ mặc định
Các sơ đồ mặc định
  1. Đổi tên sơ đồ lớp Main thành Main - Claims Processing Service Design Model bằng cách chọn nó và nhấn F2.
  2. Chọn Claims Processing Service Design Model. Nhấn chuột phải vào và chọn Add UML > Package, như Hình 8 chỉ ra.
Hình 8. Tạo một gói mới
Tạo một gói mới
  1. Đặt tên gói là Messages.
  2. Đổi tên sơ đồ lớp Main thành Main - Messages.
  3. Tương tự, tạo ra hai gói khác có tên là Service SpecificationsServices và sau đó đổi tên sơ đồ lớp Main của chúng tương ứng thành Main - Service SpecificationMain - Services.

Bước 6. Định nghĩa các mối quan hệ trong dự án của bạn

Bây giờ bạn có thể tạo ra các phụ thuộc về cách sử dụng giữa các gói này.

  1. Nếu nó vẫn chưa mở, hãy mở sơ đồ lớp Main của mô hình.
  2. Kéo ba gói này từ Model Explorer lên trên sơ đồ.
  3. Để thêm một mối quan hệ giữa đặc tả dịch vụ và thông báo dịch vụ, đặt con trỏ của bạn tới Service Specifications nhấn vào mũi tên đi ra.
  4. Bây giờ đặt con trỏ của bạn đến Service Messages và nhả nút chuột của bạn, như Hình 9 hiển thị.
Hình 9. Tạo ra một phụ thuộc về cách sử dụng
phụ thuộc về cách sử dụng
  1. Sử dụng cùng một kỹ thuật để tạo ra một phụ thuộc về cách sử dụng giữa Dịch vụ và Đặc tả dịch vụ.
  2. Nhấn vào Save All (hoặc sử dụng phím Ctrl + Shift + s).

Sơ đồ của bạn bây giờ trông giống như Hình 10.

Hình 10. Các phụ thuộc của gói
Các phụ thuộc

Bạn đã tạo ra các mối quan hệ về cách sử dụng giữa các gói, ví dụ, để cho gói Đặc tả dịch vụ yêu cầu gói Thông báo dịch vụ cho việc triển khai thực hiện của nó. Đây là một kiểu phụ thuộc đặc biệt, sẽ thuận tiện khi bạn muốn đo lường tác động của một sự thay đổi. Rational Software Architect cung cấp khả năng để giúp bạn làm điều đó, dựa vào các mối quan hệ mà các bạn đã tạo ra và những quan hệ ngầm hiểu khác.

Cấu trúc dự án của bạn trong Model Explorer bây giờ trông giống như Hình 11.

Hình 11. Cấu trúc dự án
Cấu trúc dự án

Trong các phần tiếp theo, bạn sẽ điền thêm các phần tử thiết kế dịch vụ vào các gói mà bạn vừa tạo ra.


Hoàn tất Thiết kế dịch vụ của bạn

Trong phần này của hướng dẫn, bạn thiết kế các thông báo sẽ được trao đổi giữa các bên cung cấp dịch vụ và các bên yêu cầu dịch vụ.

Thiết kế thông báo

Bạn hãy bắt đầu bằng cách thiết kế một mô hình thông tin trong lĩnh vực bảo hiểm và sau đó bạn thiết kế các thông báo SOA sẽ chứa các phần tử của mô hình bảo hiểm đó.

Bước 7. Thiết kế mô hình thông tin lĩnh vực bảo hiểm

  1. Mở sơ đồ Main trong thư mục Messages (nhấn đúp chuột từ Model Explorer).
  2. Bây giờ bạn sẽ tạo ra các lớp sau đây:
    • Claim (Yêu cầu bồi thường), với các thuộc tính: item (mục), type (kiểu), amount (số lượng) và location (vị trí).
    • Customer (Khách hàng) , với các thuộc tính: firstName (tên), lastName (họ) và eMailAddress (địa chỉ thư điện tử).
    • Policy (Chính sách), với các thuộc tính: policyNumber (số hiệu của chính sách), deductible (khấu trừ).

Lưu ý:
Đối với mục đích của hướng dẫn này, tất cả các thuộc tính là kiểu Chuỗi ký tự (String), trừ amount deductible, là kiểu số nguyên Integer. Mục tiêu không phải có một mô hình lĩnh vực bảo hiểm chính xác, mà là để tìm hiểu cách sử dụng Rational Software Architect như thế nào để thiết kế mô hình này.

  1. Để tạo một lớp từ sơ đồ này, di chuyển con trỏ của bạn tới một vùng trống (màu trắng) và chờ cho đến khi thanh hành động xuất hiện (Xem Hình 12).
  2. Nhấn vào biểu tượng C màu xanh lá cây (green C icon) và sau đó chọn Add a new class.
Hình 12. Thanh hành động
Thanh hành động
  1. Đặt tên lớp là Claim.
  2. Trỏ chuột tới lớp Claim. Thanh hành động sẽ xuất hiện.
  3. Nhấn vào Add new attribute (Xem Hình 13.)
  4. Đặt tên thuộc tính là item.
Hình 13. Tạo một thuộc tính mới
thuộc tính mới
  1. Hãy đảm bảo rằng thuộc tính item được chọn và nhấn vào Select Type... trong tab General của khung nhìn Properties.
  2. Chọn String trong UML2 và nhấn OK.
  3. Sử dụng các thủ tục tương tự để tạo ra các thuộc tính type, amount và location.
  4. Sử dụng cùng một kỹ thuật, tạo ra các lớp CustomerPolicy và các thuộc tính của chúng.

Sơ đồ của bạn bây giờ trông giống như Hình 14.

Hình 14. Mô hình thông tin bảo hiểm
Mô hình thông tin bảo hiểm

Bạn đã tạo ra một mô hình thông tin cơ bản cho các lớp Claim, PolicyCustomer. Sau đó, bạn sẽ sử dụng các lớp mà bạn đã tạo ra cho việc thiết kế thông báo dịch vụ.

Bước 8. Thiết kế mô hình thông báo

Với mục đích của bài tập này, giả sử rằng bạn đang thiết kế một dịch vụ để ghi lại các chi tiết của một yêu cầu. Hãy bắt đầu bằng cách thiết kế các thông báo yêu cầu và thông báo trả lời cho thao tác này.

Lưu ý:
Không phải tất cả các dịch vụ đều có các thông báo yêu cầu và thông báo trả lời.

  1. Vẫn đang ở trong sơ đồ lớp Main của gói Messages, di chuyển con trỏ chuột của bạn tới một khu vực trống, chờ đợi và sau đó chọn Add a new stereotyped class (thêm một lớp bản mẫu mới). Một danh sách tất cả các bản mẫu có thể được áp dụng cho một lớp trong mô hình của bạn sẽ hiển thị, như Hình 15 chỉ ra. Các bản mẫu của lược tả dịch vụ dễ dàng phát hiện ra, vì chúng có các biểu tượng.
  2. Chọn Create New Message Class (Tạo lớp thông báo mới) (biểu tượng phong bì).
Hình 15. Tạo ra một lớp bản mẫu
lớp bản mẫu
  1. Đặt tên thông báo là RecordClaimRequest.
  2. Bây giờ, hãy chắc chắn rằng thông báo RecordClaimRequestđược chọn và sau đó nhấn vào tab Stereotypes trong khung nhìn Properties (Hình 16). Ở đó, bạn có thể thấy rằng RecordClaimRequest là một lớp và một bản mẫu, là Message, được áp dụng vào nó. Ở phía dưới, bạn có thể xem các thuộc tính đặc thù cho bản mẫu này. Lược tả các dịch vụ định nghĩa một thuộc tính có tên là encoding và bạn có thể thấy rằng giá trị mặc định của nó là tài liệu nguyên bản (document-literal).
Hình 16. Khuôn mẫu Thông báo
Khuôn mẫu Thông báo

Đối với mục đích của bài tập này, giả sử rằng thông báo yêu cầu bao gồm một cá thể cho mỗi lớp Claim, Policy và Customer. Tại đây, bạn sẽ tiếp tục thiết kế thêm lớp RecordClaimRequest để đáp ứng điều này.

  1. Đặt con trỏ chuột vào thông báo RecordClaimRequest. Hai mũi tên nhỏ sẽ xuất hiện, một đi ra và một đi vào.
  2. Nhấn vào mũi tên đi ra (Hình 17), trỏ chuột tới lớp Policy và nhả nút chuột của bạn. Một danh sách các mối quan hệ mà bạn có thể tạo ra sẽ xuất hiện.
Hình 17. Các mối quan hệ
Các mối quan hệ
  1. Chọn Create New Composition Association (Tạo liên kết thành phần mới), như được hiển thị trong Hình 18.
Hình 18. Tạo một mối quan hệ
Tạo một mối quan hệ

Bây giờ bạn sẽ thấy quan hệ kết hợp cấu thành (composition) mới trên sơ đồ, ở đây bạn có thể chuyển hướng từ RecordClaimRequest tới Policy. Bạn cũng sẽ thấy hình thoi màu đen (cấu thành) ở bên phía RecordClaimRequest điều đó có nghĩa là lớp (thông báo) RecordClaimRequest chứa các lớp Policy. Dấu sao (*) bên phía Policy cho biết số bội của Policy là nhiều.

Tiếp theo, bạn sẽ thay đổi điều này sao cho một yêu cầu có chứa một và chỉ một policy mà thôi.

  1. Chọn association mới được tạo ra và chắc chắn rằng thẻ General được chọn trong khung nhìn Properties (Hình 19).
Hình 19. Các thuộc tính Association
Các thuộc tính Association
  1. Ở phía bên (phải) Policy hãy thay thế số bội dấu sao asterisk (*) bằng số một (1).
  2. Tương tự như vậy, tiếp tục thiết kế thông báo yêu cầu của bạn để nó cũng có chứa một cá thể của Claim và Customer.
  3. Giả sử rằng thông báo trả lời là đơn giản và chỉ chứa số yêu cầu (claim). Tạo một thông báo mới có tên là RecordClaimResponse, ở đó các thuộc tính có tên claimNumber kiểu là số nguyên (Integer).

Bạn đã giải quyết xong việc thiết kế mô hình thông báo dịch vụ của bạn, nó trông giống như Hình 20.

Hình 20. Mô hình Thông báo dịch vụ
Mô hình Thông báo dịch vụ

Bạn sẽ sử dụng các thông báo mà bạn đã thiết kế khi bạn thiết kế đặc tả dịch vụ (Service Specification) trong phần kế tiếp.

Thiết kế đặc tả dịch vụ

Một đặc tả dịch vụ (service specification) là một giao diện hoặc là một tập hợp các hoạt động, mô tả các tương tác dịch vụ. Trong phần này, bạn sẽ tạo ra hai đặc tả dịch vụ:

  • IClaimRecorder
  • IClaimValidator

Để làm như vậy, bạn tạo ra các giao diện mới và sau đó rập khuôn chúng theo ServiceSpecification của lược tả các dịch vụ. Sau đó, bạn tạo các hoạt động mới theo các giao diện này và sử dụng các thông báo mà bạn đã tạo ra trong phần trước cho các kiểu và các tham số trả về.

Bước 9. Tạo một giao diện mới

  1. Mở sơ đồ lớp Main trong gói Service Specification.
  2. Trong palette (bên phải) và trong ngăn sơ đồ lớp (class diagram drawer), chọn Interface và sau đó nhấn vào một vùng trống trong sơ đồ mới để tạo ra một cá thể giao diện, như được hiển thị trong Hình 21.
  3. Đặt tên giao diện là IClaimRecorder.
Hình 21. Tạo ra một giao diện mới
giao diện mới

Lưu ý:
Bạn cũng có thể sử dụng kỹ thuật đã chỉ ra trong phần Các thông báo (thanh hành động) để tạo ra một giao diện mới.

  1. Hãy chắc chắn rằng giao diện IClaimRecorder được chọn.
  2. Trong thẻ Stereotypes của khung nhìn Properties, nhấn vào Add Stereotypes....
  3. Sau đó chọn Service Specification và nhấn OK (xem Hình 22).
Hình 22. Thêm bản mẫu Service Specification
Thêm bản mẫu Service Specification

IClaimRecorder bây giờ cần được rập khuôn theo ServiceSpecification và bạn sẽ thấy rằng vẻ ngoài của nó đã thay đổi thành biểu diễn đồ họa của ServiceSpecification.

  1. Với IClaimRecorder đã chọn, hãy nhấn vào thẻ Stereotypes của khung nhìn Properties. Hãy lưu ý thuộc tính mới tên là Published (đã xuất bản) cho biết Service Specification đã được xuất bản tới sổ đăng ký dịch vụ hoặc vào một kho lưu trữ tài sản hay chưa.

Bước 10. Tạo một hoạt động

Bây giờ bạn sẽ tạo một hoạt động gọi là recordClaimDetails trong IClaimRecorder.

  1. Đặt con trỏ của bạn đến IClaimRecorder và nhấn vào biểu tượng Thêm hoạt động mới (Add new Operation) khi nó xuất hiện, như được hiển thị trong Hình 23.
  2. Đặt tên cho hoạt động này recordClaimDetails .

Tạo bản mẫu cho lỗi ngoại lệ

Lưu ý rằng hoạt động không được rập khuôn. Điều này là do UML đã hỗ trợ khái niệm hoạt động SOA bằng phần tử hoạt động (operation element). Khi lược tả các dịch vụ này được thiết kế, chúng đã xem xét các phần tử UML 2 nào có thể hỗ trợ các khái niệm SOA và các bản mẫu nào đã được tạo ra, bởi vì UML 2 hiện không hỗ trợ khái niệm ấy.

Hình 23. Thêm vào một hoạt động mới
Thêm vào một hoạt động mới
  1. Hãy đảm bảo rằng hoạt động (operation) được chọn và nhấn vào Thiết lập kiểu trả về (Set return type) trong thẻ General của khung nhìn Properties.
  2. Sau đó chọn RecordClaimResponse trong Messages package và nhấn OK.
  3. Vẫn ở trong khung nhìn Properties, chọn tab Parameters và nhấn vào nút Chèn tham số mới (Insert new parameter) ở phía bên phải, như Hình 24 chỉ ra.
Hình 24. Chèn một tham số mới
Chèn một tham số mới
  1. Trong hàng tham số mới được tạo ra, hãy chọn ô Type và nhấn vào nút ... để chỉ rõ kiểu.
  2. Sau đó, trong gói Messages package, chọn RecordClaimRequest và nhấn OK.
  3. Thay thế Giá trị tên (Name value) mặc định bằng recordClaimRequest.
  4. Để xem các thay đổi này trên sơ đồ, chọn IClaimRecorder trong sơ đồ, nhấn chuột phải vào và sau đó chọn Filter > Show Signature.
  5. IClaimRecorder bây giờ trông như Hình 25.
Hình 25. IClaimRecorder
IClaimRecorder
  1. Theo cách tương tự, tạo ra hoạt động khác có tên là adjustClaim trong đặc tả dịch vụ IClaimRecorder, với các tham số yêu cầu (claim) (kiểu Claim) và newAmount (kiểu Integer) và không có kiểu trả về.
  2. Cuối cùng, để hoàn thành thiết kế đặc tả dịch vụ của bạn, hãy tạo ra một đặc tả dịch vụ mới gọi là IClaimValidator, với hoạt động xác nhận tính hợp lệ (validate) (kiểu trả về: Boolean, một tham số yêu cầu có kiểu Claim).
  3. Chọn lưu tất cả (Save All).

Lưu ý:
Đối với một dịch vụ thực tế, bạn có thể cũng muốn thiết kế các thông báo cho hoạt động.

Điểm nhấn mạnh của hướng dẫn này không phải là về độ chi tiết dịch vụ hoặc thiết kế thông báo dịch vụ, mà về cách làm thế nào để sử dụng Rational Software Architect, UML và lược tả các dịch vụ để thiết kế các dịch vụ. Ngoài ra, bạn cần phải mô tả mỗi hoạt động làm những gì. Ví dụ, validateClaim có thể là một hoạt động rất đơn giản hoặc rất phức tạp khi triển khai thực hiện và nó có thể liên quan tới việc gọi các dịch vụ khác.

Mô hình Đặc tả dịch vụ của bạn bây giờ trông như Hình 26.

Hình 26. Mô hình Đặc tả dịch vụ
Mô hình Đặc tả dịch vụ

Bây giờ bạn đã hoàn thành việc thiết kế Đặc tả dịch vụ của bạn. Tiếp theo, bạn sẽ thiết kế nhà cung cấp dịch vụ sẽ thực hiện các đặc tả kỹ thuật này. Nếu bạn cần nghỉ ngơi, bạn có thể tiếp tục hướng dẫn ở nơi bạn đã dừng lại khi bạn quay trở lại.

Thiết kế dịch vụ

Bây giờ bạn đã sẵn sàng để thiết kế các phần tử cung cấp các dịch vụ mà bạn đã chỉ rõ trong phần trước. Bạn sẽ sử dụng hai bản mẫu sau đây đã được định nghĩa trong lược tả các dịch vụ và bị tác động bởi đặc tả Web Services Description Language (WSDL-Ngôn ngữ mô tả các dịch vụ Web):

  • Nhà cung cấp dịch vụ (Service Provider): biểu thị "một phần tử phần mềm cung cấp một hoặc nhiều dịch vụ". Hãy suy nghĩ về một nhà cung cấp dịch vụ như là một thành phần UML. Một nhà cung cấp dịch vụ phải sử dụng các cổng công cộng (được gọi là các dịch vụ - services) để trưng ra chức năng.
  • Dịch vụ (Service): Không được nhầm lẫn với Đặc tả dịch vụ, một dịch vụ mô tả một điểm đầu cuối mạng hoặc cổng. Nó được định kiểu bởi một Đặc tả dịch vụ (giao diện) và nó được định nghĩa bằng một kết buộc (binding) và một địa chỉ mạng.

Để tóm tắt, một nhà cung cấp dịch vụ (thành phần) là một tập hợp các dịch vụ (các cổng). Một dịch vụ hỗ trợ một đặc tả dịch vụ (giao diện). Bạn có lẽ đã quen thuộc với những thuật ngữ này nếu bạn biết các dịch vụ Web và WSDL

Bản mẫu của nhà cung cấp dịch vụ mà bạn sẽ tạo ra ngay bây giờ, được gọi là ClaimProcessor, hỗ trợ hai đặc tả dịch vụ mà bạn đã định nghĩa trước đó. Đầu tiên, tạo ra một thành phần nhà cung cấp dịch vụ. Sau đó, bạn cần phải tạo ra hai cổng dịch vụ có kiểu là hai giao diện ấy.

Bước 11. Tạo ra một bản mẫu nhà cung cấp dịch vụ

  1. Mở sơ đồ lớp Main trong gói Service.

Lưu ý:
Bạn có thể sử dụng bản mẫu nhà cung cấp dịch vụ trên bất kỳ lớp nào. Trong hướng dẫn này, bạn sử dụng nó trên một thành phần. Một tùy chọn khác sẽ là tạo ra một lớp Service Provider class mới.

  1. Trong bảng màu (palette), mở ngăn Sơ đồ thành phần (Component Diagram) và sau đó chọn Stereotyped Component trong Component.
  2. Nhấn vào diagram để tạo ra một cá thể mới và sau đó chọn Tạo thành phần nhà cung cấp dịch vụ mới (Create a New ServiceProvider component) trong danh sách các lựa chọn, như được hiển thị trong Hình 27.
Hình 27. Tạo một nhà cung cấp dịch vụ
Tạo một nhà cung cấp dịch vụ
  1. Trong Model Explorer, chọn Nhà cung cấp dịch vụ ClaimProcessor.
  2. Nhấn chuột phải vào và sau đó chọn Add UML > Port, như được hiển thị trong Hình 28.
  3. Nhấn vào liên kết Select Existing và sau đó chọn Đặc tả dịch vụ IClaimRecorder trong gói Service Specification.
  4. Nhấn OK.
  5. Đặt tên cổng là ClaimRecorderService.
  6. Lưu ý trong sơ đồ rằng Nhà cung cấp dịch vụ ClaimProcessor bây giờ hiển thị IClaimRecorder trong các giao diện mà nó cung cấp.
Hình 28. Thêm một cổng
Thêm một cổng

Bước 12. Tạo một bản mẫu dịch vụ

  1. Hãy chắc chắn rằng port được chọn và sau đó chọn tab Stereotypes trong khung nhìn Properties.
  2. Nhấn vào Add Stereotypes... và sau đó chọn Service.
  3. Lưu ý rằng biểu tượng ClaimRecorderService đã được thay đổi trong Model Explorer.
  4. Sử dụng cùng một kỹ thuật, hãy tạo ra dịch vụ khác trong ClaimProcessor gọi là ClaimValidatorService, với kiểu IClaimValidator.
  5. Chọn lưu tất cả (Save All).

Mô hình dịch vụ của bạn bây giờ trông giống như Hình 29.

Hình 29. Sơ đồ dịch vụ
Sơ đồ dịch vụ

Bạn đã hoàn thành thiết kế dịch vụ của bạn bằng cách sử dụng Rational Software Architect, UML và lược tả các dịch vụ UML 2.0 cho Dịch vụ phần mềm. Để xem xét lại quy trình:

  1. Trước tiên, bạn tạo ra các thông báo sẽ được trao đổi trong tương tác dịch vụ.
  2. Sau đó, bạn đã tạo ra đặc tả dịch vụ hay là các giao diện và các hoạt động kết hợp với chúng.
  3. Cuối cùng, bạn đã thiết kế các dịch vụ sẽ thực hiện các đặc tả kỹ thuật.

Tóm tắt

Mô hình của bạn bây giờ trông giống như Hình 30.

Hình 30. Mô hình thiết kế dịch vụ
Mô hình thiết kế dịch vụ

Xem xét lại các công việc đã hoàn thành

Trong hướng dẫn này, bạn đã sử dụng Rational Software Architect để thiết kế một mô hình dịch vụ đơn giản trong lĩnh vực yêu cầu bảo hiểm. Bạn đã bắt đầu với một danh sách các dịch vụ đã được xác định là hữu ích, cần phát triển và bạn đã kết thúc với một mô hình thiết kế dịch vụ theo UML.

Tiếp theo Phần 1, ở đó bạn đã nghiên cứu về dòng chảy công việc đã được trình bày trong loạt bài viết này và đã làm quen với các công cụ khác nhau mà hướng dẫn này sử dụng, bạn đã nghiên cứu về lược tả UML và Định dạng UML 2.0 cho các dịch vụ phần mềm (lược tả các dịch vụ). Bạn cũng đã cài đặt lược tả các dịch vụ và tìm hiểu về các tùy chọn để sử dụng nó. Bạn đã tạo ra một mô hình thiết kế dịch vụ mới và một cấu trúc gói đơn giản. Cuối cùng, bạn đã thiết kế các thông báo, các đặc tả dịch vụ và các dịch vụ.

Các bước tiếp theo

Khi nói về mô tả dịch vụ hoặc đặc tả dịch vụ, một trong những điều xuất hiện trong ý nghĩ là WSDL. Rational Software Architect cho phép bạn tạo ra một WSDL và lược đồ XML (XSD) từ mô hình UML này, tiếp theo một cách tiếp cận phát triển dựa theo-mô hình và, cụ thể hơn, khi sử dụng một phép chuyển đổi.

Tuy nhiên, trước khi bạn làm như vậy, hãy chắc chắn hoàn thành phần còn lại của loạt bài viết này của developerWorks. Bạn sẽ tìm hiểu trong phần tiếp theo cách làm thế nào để có thể áp dụng một mẫu thiết kế cho mô hình của bạn để giải quyết một yêu cầu. Trong một phần khác, bạn sẽ thấy làm thế nào để bạn có thể chuyển đổi mô hình thiết kế dịch vụ thành WSDL và XSD và sau đó tạo ra và thử nghiệm mã dịch vụ Web trong Java™ 2 Platform, Enterprise Edition (J2EE™-Nền tảng Java 2, Ấn bản doanh nghiệp) từ WSDL và XSD đó.

Bạn đã hoàn thành Phần 2 và bây giờ đang sẵn sàng để bắt đầu Phần 3 của loạt các hướng dẫn này: Làm thế nào để sử dụng Các tài sản và Các mẫu trong Thiết kế của bạn.


Các tải về

Mô tảTênKích thước
Part 1. Rational Project InterchangePart1-Intrchg.zip285 KB
Part 2. Rational Project InterchangeSOA-Design-Part2-Intrchng.zip6 KB

Tài nguyên

Học tập

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

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=418466
ArticleTitle=Thiết kế các dịch vụ SOA với Rational Software Architect, Phần 2: Thiết kế các dịch vụ với lược tả UML của các dịch vụ phần mềm
publish-date=08072009