Sơ đồ tương tác giữa các đối tượng
Tương tác giữa các đối tượng đó được thể hiện trong sơ đồ lớp dưới đây:
Hình 3: Sơ đồ lớp thể hiện mối liên hệ giữa các đối tượng trong ứng dụng
Các cổng được thừa kế từ lớp port được thể hiện trong sơ đồ dưới đây:
Hình 4: Sơ đồ lớp thể hiện mối quan hệ kế thừa của các cổng
Mô tả chi tiết các lớp đối tượng
Hình 5: Lớp Component
Bảng 5: Chi tiết lớp component
STT
|
Thuộc tính
|
Kiểu dữ liệu
|
Phạm vi
|
Mô tả
|
01
|
id
|
int
|
private
|
Mã thành phần
|
02
|
name
|
string
|
private
|
Tên của thành phần
|
03
|
x
|
int
|
private
|
Tọa độ x của thành phần khi vẽ
|
04
|
y
|
int
|
private
|
Tọa độ y của thành phần khi vẽ
|
Hình 6: Lớp port
Bảng 6: Chi tiết lớp port
STT
|
Thuộc tính
|
Kiểu dữ liệu
|
Phạm vi
|
Mô tả
|
01
|
idComponent
|
int
|
private
|
Mã thành phần mà cổng nằm trên đó
|
02
|
name
|
string
|
private
|
Tên cổng
|
03
|
type
|
int
|
private
|
Loại cổng. Có thể là facets, receptacles, event sinks hoặc event sources
|
Hình 7: Lớp canvaspanel
Bảng 7: Chi tiết lớp canvaspanel
STT
|
Thuộc tính
|
Kiểu dữ liệu
|
Phạm vi
|
Mô tả
|
01
|
label
|
JLabel
|
private
|
Dùng để vẽ ảnh các thành phần, và các cổng
|
02
|
images
|
images
|
private
|
Load ảnh các thành phần và các cổng
|
03
|
contract
|
Contract
|
private
|
Kiểm tra điều kiện kết nối giữa các cổng của các thành phần
|
Hình 8: Lớp Contract
Bảng 8: Chi tiết lớp Contract
STT
|
Thuộc tính
|
Kiểu dữ liệu
|
Phạm vi
|
Mô tả
|
01
|
namePort1
|
String
|
private
|
Tên cổng thứ 1
|
02
|
namePort2
|
String
|
private
|
Tên cổng thứ 2
|
Triển khai
Ứng dụng được phát triển bằng ngôn ngữ Java nên cần phải cài đặt JDK trước khi chạy chương trình.
Tải jdk tại địa chỉ: http://java.sun.com/javase/downloads/widget/jdk6.jsp
Chọn hệ điều hành tương ứng rồi click vào nút download.
Bắt đầu chạy ứng dụng.
Thử nghiệm
Bài toán
Giả sử chúng ta có một hệ thống Stock Quoter (Hình 9) [5] Đây là một hệ thống phức tạp với nhiều thành phần kết nối với nhau.
Hình 9: Kiến trúc CCM của hệ thống Stock Quoter.
Để có thể giới thiệu công cụ một cách dễ hiểu với người đọc, chúng ta sẽ tiếp cận với hệ thống đơn giản trước. Hệ thống Stock Quoter đơn giản gồm 2 thành phần với các cổng notifier_out, notifier_in, quoter_info_out, quoter_info_in (Hình 10) [12]
Hình 10: Giao diện thành phần CORBA và các cổng.
Hình vẽ minh họa hệ thống Stock Quoter bằng cách sử dụng mô hình thành phần CORBA. Thành phần Stock Distributor biểu diễn hệ cơ sở dữ liệu chứng khoán thời gian thực. Khi các giá trị của cổ phiếu thay đổi, nó đẩy một eventype có chứa tên cổ phiếu thông qua một cổng event source (notifier_out) đến cổng event sink (notifier_in) tương ứng của một hoặc nhiều thành phần Stock Broker khác. Nếu các thành phần StockBroker này cần những thông tin khác của cổ phiếu, chúng có thể yêu cầu một hành động thông qua cổng receptacle (quoter_info_in) của thành phần StockBroker đến cổng facets (quoter_info_out) của thành phần StockDistributor.
Dưới đây là sự thực thi của thành phần StockBroker và StockDistributor. Các cổng được định nghĩa như sau:
Chia sẻ với bạn bè của bạn: |