intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Thiết kế các dịch vụ SOA với Rational Software Architect, Phần 2

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:45

153
lượt xem
24
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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 Lee Ackerman, Giám đốc tiếp thị, IBM Bertrand Portier, Kiến trúc IT, IBM Software Group Services Tóm tắt: 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)...

Chủ đề:
Lưu

Nội dung Text: Thiết kế các dịch vụ SOA với Rational Software Architect, Phần 2

  1. 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 Lee Ackerman, Giám đốc tiếp thị, IBM Bertrand Portier, Kiến trúc IT, IBM Software Group Services Tóm tắt: 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. 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.
  2. 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ỗ
  3. 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ề đầu trang 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ụ. Về đầu trang Các mục tiêu
  4. 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). Về đầu trang 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. Về đầu trang Các yêu cầu hệ thống
  5. Để 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).
  6. 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ả
  7. 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ụ. Về đầu trang 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).
  8. 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.
  9. Hình 1. Trình thủ thuật cài đặt 7. 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. 8. 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. 9. Trên trang Install Location (Vị trí cài đặt), nhấn vào Add site.... (Xem Hình 2.) 10. Tạo một thư mục mới (ví dụ, C:\Program Files\IBM\Rational\SDP\6.0\services_profile). 11. 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.
  10. Hình 2. Trang Web cài đặt mới của bạn 12. Khi cửa sổ kiểm tra JAR hiển thị, nhấn vào Install. 13. 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. Về đầu trang 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ả đó
  11. 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.
  12. Hình 3. Khuôn mẫu mô hình dịch vụ
  13. 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.
  14. 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 đó.
  15. Lưu ý: Tùy chọn 2 và 3 không loại trừ lẫn nhau.
  16. Đị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.
  17. Đố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.
  18. Hình 4. Trình thủ thuật New UML Model 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ụ
  19. 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 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 ' 3. 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. 4. Thêm lược tả các dịch vụ của bạn vào danh sách.
  20. 5. 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. Về đầu trang 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0