MỤC LỤC HÌNH VẼ 4
MỤC LỤC TỪ VIẾT TẮT 6
LỜI NÓI ĐẦU 7
CHƯƠNG I: ĐẶT VẤN ĐỀ 10
1.1. Các vấn đề chung về thiết kế phần mềm trong môi trường phân tán 10
1.1.1. Mô hình peer-to-peer 10
1.1.2. Mô hình client/server 11
1.2. Một số vấn đề liên quan đến các ứng dụng phân tán theo mô hình client/server 12
1.2.1 Tiến trình giao tiếp 12
1.2.2 Truyền thông mạng 13
1.3. Mô hình phần mềm trung gian middleware 14
1.4. Hệ thống tính toán mạng ảo (Virtual Network Computing) 15
CHƯƠNG II: MÔ HÌNH PHẦN MỀM TRUNG GIAN MIDDLEWARE 18
2.1. Mô hình Middleware 18
2.1.1. Các khái niệm về Middleware 18
2.1.1.1. Khái niệm theo internet2 18
2.1.1.2. Khái niệm theo JISC Core Middleware Programme 18
2.1.1.3. Khái niệm theo Searchbites.com 18
2.1.1.4. Khái niệm theo Wikipedia Entry 19
2.2. Kiến trúc, dịch vụ và thành phần middleware 19
2.2.1. Giao diện middleware 19
2.2.1.1. Giao diện lập trình ứng dụng (Application Programming Interface) 19
2.2.1.2. Giao diện lập trình hệ thống (System programming interface) 20
2.2.1.3. Giao diện truyền thông (Communication Interface) 20
2.2.1.4. Giao diện người dùng (User Interface) 20
2.2.1.5. Giao diện dữ liệu (Data Interface) 21
2.2.2. Các tính chất của một middleware 22
2.2.2.1. Tính tiện dụng (Usability) 23
2.2.2.2. Tính phân tán (Distributability) 23
2.2.2.3. Tính tích hợp (Integration) 23
2.2.2.4. Tính mở rộng (Extensibility) 24
2.2.2.5. Sự quốc tế hóa (Internationalization) 24
2.2.2.6. Tính dễ quản lý (Manageability) 24
2.2.2.7. Tính hiệu năng (Performance) 25
2.2.2.8. Tính di động (Portability) 25
2.2.2.9. Tính tin cậy (Reliability) 26
2.2.2.10. Tính co dãn (Scalability) 26
2.2.2.11. Tính bảo mật (Security) 26
2.2.3. Các nhóm dịch vụ middleware 26
2.2.3.1. Dịch vụ trình diễn (Presentation services) 26
2.2.3.2. Dịch vụ truyền thông (Communications services) 30
2.2.3.3. Dịch vụ điều khiển (Control services) 35
2.2.3.4. Dịch vụ thông tin (Information services) 37
2.2.3.5. Dịch vụ thư mục (Directory) 40
2.2.3.6. Dịch vụ tính toán (Computation services) 40
2.2.3.6. Dịch vụ quản lý (Management services) 40
2.2.3.7 Dịch vụ bảo mật (Security Service) 44
2.2.4. Truy cập đối tượng từ dịch vụ Middleware 45
2.2.4.1. Lập trình hướng đối tượng và EOS 45
2.2.4.2. Yếu tố căn bản cho đối tượng phân tán 46
CHƯƠNG III: VIRTUAL NEWORK COMPUTING 49
3.1. Giới thiệu chung 49
3.1.1. Virtual Network Computing 49
3.1.2. Kiến trúc và chức năng của hệ thống 50
3.2. Thin – Client 51
3.2.1. Giới thiệu chung 51
3.2.2. Kiến trúc của Thin-Client 52
3.3. Giao thức RFB (Remote Frame Buffer) 53
3.3.1. Thông điệp bắt tay-Handshaking Message 53
3.3.2. Thông điệp Client gửi Server 55
3.3.3. Thông điệp Server gửi Client 59
3.3.4 Các mã hóa trong giao thức RFB-Encodings 61
3.3.4. Mã hóa giả (pseudo-encodings) 65
CHƯƠNG IV: MIDDLEWARE VÀ VIRTUAL NETWORK COMPUTING 67
4.1. Hệ thống VNC 67
4.1.1. VNC Server 69
4.1.2. VNC Viewer 71
4.2. Middleware trong hệ thống tính toán mạng ảo 73
4.3. Ứng dụng trong chương trình BKEC 74
4.3.1. Vấn đề và giải pháp của phần mềm hỗ trợ giảng dạy trên mạng LAN (BKEC-ECLASS) 74
CHƯƠNG V: KẾT LUẬN 83
5.1. Kết quả đạt được 83
5.2. Hướng phát triển trong tương lai 83
TÀI LIỆU THAM KHẢO 84
84 trang |
Chia sẻ: huong.duong | Lượt xem: 1391 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Mô hình Middleware và ứng dụng vào Virtual Network Computing, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i và nhận thông điệp từ một bộ quản lý hàng đợi DECmessageQ.
DECmessageQ queue manager: quản lý một hoặc nhiều hàng đợi. Nó đặt và lấy thông điệp từ hàng đợi.
Máy chủ ứng dụng hoặc peer: máy chủ ứng dụng là một ứng dụng mà lấy thông điệp từ hàng đợi và hoặc cung cấp các thông tin về vị trí thông điệp trong hàng đợi. Một DCEmessageQ có thể giao tiếp với một peer DCEmessageQ queue manager trên một hệ thống từ xa.
Hệ thống IBM MVS: dịch vụ hàng đợi thông điệp có thể giao tiếp với một hệ thống IBM MVS. Một ứng dụng Customer Information Control System (CICS) trên một hệ thống IBM MVS có thể nhập thông điệp vào hàng đợi và lấy thông điệp từ một hàng đợi trên hệ thống server.
Ứng dụng
DECmessageQ Run-Time Libraray
Hệ thống khách A
DECmessageQ API
LU6.2 Message Formats
Client Journal
Ứng dụng
DECmessageQ Run-Time Libraray
Hệ thống khách B/LU6.2 Port Server
DECmessageQ API
LU6.2 Message Formats
LU6.2 Port Server
SNA Gateway
Hệ thống
chủ B
DECmessageQ
Queue Manager
Server Journal
Hệ thống chủ A
DECmessageQ
Queue Manager
Server Journal
IBM MVS System
APPC/LU6.2 Library
APPC Verbs
CICS Application
APPC/LU6.2
Hình 2.4: Kiến trúc chung của dịch vụ hàng đợi thông điệp
Những giao diện lập trình (API) sau có thể cho phép người phát triển phần mềm truy cập tới các dịch vụ hàng đợi thông điệp.
LUC6.2 message API: nó cho phép ứng dụng có thể gửi và nhận thông điệp với hệ thống IBM MVS nhờ giao thức APPC/LU6.2.
DECmessageQ API: cung cấp truy cập tới tất cả các hàm hàng đợi thông điệp, nó bao gồm việc nhận và gửi thông điệp dựa trên một số tiêu chí lựa chọn.
c. Dịch vụ thông điệp
Dịch vụ thông điệp cung cấp hai khả năng chính sau:
Dịch vụ mail user agent: là những dịch vụ chung nhằm cho phép ứng dụng nhận và phân phát mail, cũng như việc địa chỉ và tệp tin thông điệp.
Dịch vụ truyền thông điệp: cung cấp các dịch vụ truyền thông điệp trên thực tế giữa các user agent.
d. Object Broker Service
Dịch vụ này cho phép một bộ tích hợp hệ thống nhằm tích hợp với các ứng dụng mới hoặc có sẵn theo các hướng đối tượng. Ứng dụng đăng ký một đối tượng và thao tác với các đối tượng phần mềm chuyển giao được chọn, khởi tạo và triệu gọi một thể hiện của ứng dụng nhằm xử lý các thao tác yêu cầu. Mặc dù dịch vụ này là một phần của dịch vụ điều khiển, nó bao gồm ở đây cho mục đích so sánh. Giống như RPC, dịch vụ đối tượng chuyển giao thường được sử dụng cho các chương trình triệu gọi phân tán.
Các thành phần chính của dịch vụ, Object Broker bao gồm:
ORB client: Object Request Broker (ORB) client quản lý các yêu cầu viện dẫn và các phương thức liên quan cũng như các lựa chọn máy chủ. ORB client truy cập tới một Advertisement Registry và các thông tin ngữ cảnh, các thông tin này được dùng để tạo nên các phương thức thích hợp và lựa chọn máy chủ.
IDL stub: khi một nhà phát triển ứng dụng sử dụng static invocation API, một interface definition language (IDL) stub, nó được trình biên dịch IDL sinh ra, cung cấp khả năng truy cập tới ORB client.
Ứng dụng máy chủ: người phát triển ứng dụng phát triển ứng dụng máy chủ. Ứng dụng này gồm hai thành phần dịch vụ đối tượng chuyển giao: ORB server và bộ object adapter. ORB server nhận yêu cầu, chuyển bị để thực hiện và trả về kết quả. Bộ object adapter thực hiện những chức năng đối tượng chung cho các phương thức của ứng dụng chủ, giống như là thông báo khi server chấp nhận yêu cầu. Ứng dụng server cũng bao gồm cả các phương thức ứng dụng, nó do các nhà phát triển cung cấp.
Các giao diện API sau cho phép truy cập các dịch vụ điều khiển ứng dụng:
Dynamic invocation API: sử dụng nhằm phát yêu cầu cho các thao tác khi các thao tác hoặc tham số được xác định trong khi thực hiện ứng dụng.
Static invocation API: sử dụng để thông báo yêu cầu cho các hoạt động. Khi sử dụng static invocation API, những hoạt động và tham số sẽ được gán vào tại thời gian biên dịch.
2.2.3.3. Dịch vụ điều khiển (Control services)
Dịch vụ điều khiển cung cấp các cách thức để ứng dụng có thể triệu gọi ứng dụng khác, nhằm định vị việc thực hiện cùng với ứng dụng khác, và điều khiển đa thực hiện trong phạm vi một ứng dụng.
Front-End System
Other Client
Client System
Server System
Ứng dụng
RTR Client
Threading Service
ORB client
Transaction Manager
Desktop Service
RTR API
CMI API
RTR API
IDL Stub
Static Invocation API
Dinamic Invocation API
DEC API
Desktop API
Resource Manager
Desktop Client
RTR Router System
RTR Router
RTR Server
RTR API
Ứng dụng chủ
ORB Server
Application Method
Server Application
Transaction Manager
Resource Manager
Task (Application)
Task Run Time
Task Definition Language
Procedure
Resource Manager
OSF DCE CIs
Hình 2.6: Kiến trúc dịch vụ điều khiển
a. Thực hiện điều khiển ứng dụng
Mỗi một điều khiển ứng dụng cung cấp một kiểu điều khiển khác nhau cho ứng dụng. Chúng ta sử dụng các dịch vụ này cho một số mục đích khác nhau trong khi tạo và thực hiện các ứng dụng phân tán, ví dụ:
Với các dịch vụ tính toán liên tục, có thể tạo các ứng dụng cung cấp liên tục và đầy đủ các phiên làm việc cũng như toàn vẹn dữ liệu với hiệu năng cao.
Với các dịch vụ đa luồng, có thể tạo một chương trình mà chứa đa thực hiện luồng. Kiểu chương trình này có thể tăng thông lượng cho cả hai thành phần client và server của ứng dụng phân tán.
Với các dịch vụ object broker, có thể tạo một ứng dụng tích hợp với các ứng dụng mới hoặc đã tồn tại từ trước và cho phép một ứng dụng có thể viện gọi các hàm trong một ứng dụng khác.
Cùng với các dịch vụ quản lý phiên, chúng ta có thể kết hợp các phiên làm việc trên mạng để quản lý tài nguyên phân tán (bởi vậy có thể điều khiển việc thực hiện các thao tác trong ứng dụng giống như một phiên làm việc duy nhất).
Cùng với khung điều khiển quản lý xử lý phiên, người phát triển có thể xây dựng các ứng dụng xử lý phiên cho phép tích hợp các hệ thống desktop và các thiết bị khác (giống như các máy rút tiền tự động) cùng với các ứng dụng xử lý phiên và quản lý tài nguyên.
b. Dịch vụ tính toán liên tục
Dịch vụ này cho phép ứng dụng ứng dụng phân tán có được đầy đủ và toàn vẹn dữ liệu trong một phiên làm việc, và có khả năng mở rộng trong các ứng dụng hiệu năng cao. Ứng dụng phân tán có thể sử dụng dịch vụ này để cung cấp các dịch vụ liên tục, không quan tâm đến một hoặc nhiều điểm lỗi trong hệ thống, mạng hoặc phần mềm.
Có các thành phần chính sau trong dịch vụ tính toán liên tục:
Reliable transaction router (RTR) client: cung cấp các truy cập từ xa cho hệ thống RTR router. RTR client sử dụng một giao thức riêng để chuyển thông điệp ứng dụng trên DECnet hoặc TCP/IP cho các RTR router. RTR router đơn giản là chạy trên một hoặc nhiều node vật lý riêng biệt.
RTR router: định hướng cho thông điệp đến RTR server theo hệ thống RTR server thích hợp. RTR router cũng quản lý các thảo thuận thích hợp của các phiên làm việc phân tán trên các RTR server.
RTR server: nhận các thông điệp từ các RTR router và chuyển chúng cho các ứng dụng server. RTR server tham gia vào quá trình thỏa thuận phiên.
Các lớp RTR router, client, server chạy độc lập và có thể cấu hình theo một hoặc nhiều node trên mạng. Dịch vụ tính toán phân tán có thể tái tạo hoặc phân chia các tiến trình chủ trên một hoặc nhiều node phân tán trên mạng.
2.2.3.4. Dịch vụ thông tin (Information services)
Dịch vụ thông tin mang đến cho người dùng và ứng dụng sự truy cập và chia sẻ thông tin, và tài nguyên hệ thống diện rộng trong một mạng.
File Server System
FTAM Responder
Client System
Application
Directory Client
DNS and XDS APIs
File Sharing Client
File APIs
FTAM Protocol Machine
FTAM API
CDA Service
CDA APIs
SQL Client
Data Access APIs
CDD Reposity
ATIS API
CDA APIs
Document Data
Reposity Data
FTAM Protocol Machine
File Server
File Data
Directory
Server System
Directory Server
Directory Data
Other Repository System
CDD Repository
Repository Data
Other Repository System
CDD Repository
Repository Data
Directory Protocol
Directory Protocol
FTAM Protocol
SQL Protocol
SQL Communication Server System
DEC DB Integration System
DEC DB Integrator Gateway System
Hình 2.7: Kiến trúc dịch vụ thông tin
Nó bao gồm các dịch vụ sau:
Dịch vụ tài liệu tích hợp.
Dịch vụ truy cập dữ liệu.
Dịch vụ thư mục.
Dịch vụ thư mục.
Các dịch vụ truyền, truy cập và quản lý file.
Dịch vụ chứa dữ liệu.
a. Truy cập dữ liệu
Một trong những mục đích chính của một số ứng dụng là truy cập và xử lý dữ liệu, nó là những tiềm năng phân tán trên một số máy chủ của mạng và dự trữ ở một số hình thức khác nhau. Ứng dụng sử dụng dữ liệu theo một số cách khác nhau. Dịch vụ thông tin middleware cung cấp một tập các hàm cho phép thực hiện với các nền và mạng, phần mềm và phần cứng khác nhau. Với các dịch vụ này ứng dụng có thể tìm kiếm các thông tin cần thiết và truy cập theo một số cách thích hợp với các hình thức dữ liệu và mục đích khác nhau.
Dịch vụ của middleware bao gồm một số các dịch vụ thông tin nhằm quản lý, truy cập và thao tác với thông tin. Sự khác biệt chính giữa các dịch vụ thông tin là có các mục tiêu khác nhau với những kiểu thông tin khác nhau và các thông tin hiện tại và mô hình truy cập thích hợp cho mỗi kiểu thông tin.
b. Dịch vụ tài liệu ghép (Compound Document)
Dịch vụ này cho phép ứng dụng và người dùng chia sẻ tài liệu ghép. Một compound document là một tập đồng nhất của dữ liệu mà người dùng có thể soạn thảo, định dạng hoặc xử lý giống như một tài liệu. Một compound document có thể chứa các văn bản đa font, đồ họa, hình ảnh và phần tử dữ liệu giống như bảng tính. Để dùng chung compound document, các dịch vụ cung cấp các cách miêu tả và xử lý, quản lý và chuyển đổi tài liệu này thành các định dạng khác.
Chúng có các chuẩn sau:
Digital Document Interchange Format (DDIF) và Digital Table Interchange Format (DTIF) được chỉ định dùng cho việc đặc tả tài liệu ghép.
Digital Object Transport Specigication (DOTS) cho gói các dữ liệu liên quan khi truyền.
ISO 8859 tập các ký tự chuẩn.
Standard Generic Markup Language (SGML), ISO 8879, cho việc chuyển đổi tài liệu.
Open Document Architecture (ODA), ISO 8613, cũng dùng cho chuyển đổi tài liệu.
PostScript và các định dạng khác cho đầu ra cuối.
c. Dịch vụ truy cập dữ liệu
Cho phép ứng dụng truy cập và xử lý dữ liệu được lưu trữ trong một bảng dữ liệu quan hệ, và được phân phối trên một số hệ thống máy tính khác nhau. Sử dụng dịch vụ này, chúng ta có thể dùng chung thông tin của các nền desktop khác nhau trên môi trường phân tán. Nó cũng mang đến các truy cập trực tiếp đến dữ liệu và cho phép nhiều ứng dụng có thể truy cập đến cùng một dữ liệu.
Dịch vụ này dựa trên cơ chế Structured Query Language (SQL) để đặc tả yêu cầu dữ liệu. Có hai chuẩn để truy cập dịch vụ dữ liệu:
SQL API standards.
Chuẩn giao thức truy cập dữ liệu từ xa (Remote data access protocol standard).
2.2.3.5. Dịch vụ thư mục (Directory)
Cung cấp cho ứng dụng các thông tin định vị một cách trong suốt trong môi trường phân tán. Những dịch vụ này cung cấp một cơ chế nhờ đó ứng dụng có thể thực hiện các công việc sau:
Lưu giữ vị trí vật lý của thông tin mà ứng dụng cần. Nó được sử dụng chung trong các ứng dụng để tìm kiếm thông tin địa chỉ kết hợp với một tên lưu giữ vị trí hiện thời của thông tin.
Thông tin lưu trữ và trích rút trong một thư mục mà thư mục phân bổ cho ứng dụng được sử dụng để định vị trong các thành phần của chúng. Ứng dụng có thể lưu trữ các thông tin thay đổi trong một thư mục cho một số ứng dụng hoặc thành phần sử dụng. Những thông tin này được giữ theo ngày và phản hồi lại các thay đổi của môi trường phân tán.
Các thao tác thường được sử dụng của dịch vụ thư mục nhằm giúp ứng dụng gửi một tên cho một dịch vụ thư mục và nó sẽ trả về một tên chuyển đổi hoặc một mở rộng của tên.
Dịch vụ thư mục dựa trên Open Software Foundation (OSF) và Distributed Computing Environment (DCE), nó dựa trên bốn đặc tả sau:
Giao thức Domain Name System (DNS).
OSF/DCE Cell Directory Service (CDS)
X 500 Recommendation cho dịch vụ thư mục (ISO 9594)
X/Open directory service (XDS) API specification.
2.2.3.6. Dịch vụ tính toán (Computation services)
Dịch vụ tính toán cung cấp một tập các khả năng chung của ứng dụng nhằm thực hiện những tính toán phức tạp. Các dịch vụ tính toán bao gồm:
Dịch vụ phân tán về thời gian.
Dịch vụ quốc tế hóa.
a. Tính toán hiệu năng phức tạp
Dịch vụ tính toán cung cấp cho người phát triển ứng dụng một tập các thao tác tính toán thông dụng nhất để thao tác với dữ liệu trong bộ nhớ. Những chức năng này bao gồm:
Đồng bộ thời gian, định dạng và chuyển đổi.
Hỗ trợ các ứng dụng toàn cầu hóa giống như là khả năng sử dụng tập các ký tự khác nhau.
Bằng việc cung cấp các chức năng giống như các dịch vụ middleware, phát triển ứng dụng sẽ không gặp phải các vấn đề trùng lặp chức năng và ứng dụng có thể chia sẻ các chức năng sử dụng chung.
2.2.3.6. Dịch vụ quản lý (Management services)
Dịch vụ quản lý cung cấp một cách thức chung mục đích để quản lý mạng, hệ thống, ứng dụng và thành phần hệ thống thông tin.
Các dịch vụ quản lý bao gồm:
Dịch vụ quản lý tác nhân.
Dịch vụ bảo mật.
Hình 2.8 biểu diễn kiến trúc chung của dịch vụ quản lý, phần tiếp theo sẽ trình bày về sơ qua về các thành phần trong kiến trúc. Trước hết là về các vần đề quan trọng trong dịch vụ quản lý này.
Management
Director
System
Management
Director
Framwork
Management Director
Management Repository
Managed Object
System
Managed Object
Managed Object
Management APIs
Management Application
Management CIs
Management UIs
Hình 2.8: Kiến trúc chung của dịch vụ quản lý
a. Quản lý hệ thống thông tin diện rộng
Trong hệ thống quản lý thông tin diện rộng có một số khía cạnh quan trọng được đề cập dưới đây:
Quản lý cấu hình, giải pháp lỗi, hiệu năng, bảo mật và hàm tính toán của các thành phần hệ thống.
Quản lý đối tượng, giống như là mạng dữ liệu, mạng âm thanh, hệ thống, ứng dụng, cơ sở dữ liệu và môi trường.
Quản lý các hàm và các đối tượng thông qua các pha khác nhau trong chu trình vòng đời hệ thống.
Điều khiển truy nhập tới các thành phần hệ thống và thông tin lưu trữ trong chúng.
b. Quản lý ứng dụng, mạng và hệ thống
Mục tiêu cuối cùng của việc quản lý hệ thống thông tin phân tán, không đồng nhất là cho phép người quản trị hệ thống có thể sử dụng tập các công cụ chung để quản lý các thành phần trong hệ thống từ bất kỳ nơi nào. Mặc dù thông tin được xử lý trong công nghiệp cũng gần đạt được mục đích này, dịch vụ quản lý trong middleware và khung làm việc chung đưa ra một qui trình để đạt được mục đích này.
Quy trình bao gồm các thành phần sau:
Đối tượng quản lý.
Các thành phần bị quản lý.
Tác nhân quản lý.
Phần mềm mà nó hiểu các trả lời từ một tập các giao thức chuẩn nhằm quản lý đối tượng.
Ứng dụng quản lý, nó giới thiệu một giao diện người dùng cho người quản lý hệ thống, cho phép quản lý và điều khiển đối tượng quản lý. Ứng dụng quản lý giao tiếp với tác nhân quản lý thông qua một hay nhiều giao thức quản lý.
Dịch vụ quản lý cung cấp các dịch vụ và khung làm việc sau cho việc quản lý mạng, hệ thống và ứng dụng:
Dịch vụ tác nhân quản lý: Đối với một đối tượng có thể bị quản lý, nó cần phải đưa ra một giao diện API quản lý hoặc CI quản lý (như vậy giao tiếp thông qua một giao thức quản lý). Nếu nó giao tiếp thông qua một giao thức quản lý chuẩn, đối tượng sẽ được nhúng vào trong tác nhân quản lý. Ở đây không cần thiết phải phân chia các tác nhân (agent) cho giao diện quản lý ứng dụng. Theo một cách khác, một số đối tượng chỉ đưa ra một giao diện API quản lý hoặc giao tiếp thông qua một giao thức không tiêu chuẩn. Trong các trường hợp này, cần thiết phải phân chia agent để tạo ra các đối tượng quản lý từ xa sử dụng giao thức chuẩn.
Khung làm việc quản lý: Cung cấp một môi trường cho việc quản lý ứng dụng trong diện rộng. Một số ứng dụng quản lý đưa ra người quản trị hệ thống hoặc điều khiển chỉ sử dụng cho các kiểu đơn đối tượng. Một cách chung chung hơn, cho phép quản lý theo nhiều đối tượng láng giềng. Một số ứng dụng đòi hỏi các người quản trị hệ thống cần phải quản lý tại các mức chi tiết hơn. Mang tính tự động cao, chúng ta cần phải có các đặc tả về chính sách quản lý và thực hiện tất cả các xử lý này thông qua một tác nhân thực hiện chính sách này.
c. Quản lý khung làm việc (Management Drictor Framework)
Management Drictor Framework làm đơn giản việc phát triển ứng dụng quản lý bằng cách cung cấp một hệ thống quản lý mở rộng cho việc quan sát, kiểm thử và điều khiển đối tượng có thể quản lý thông qua một mạng không đồng nhất.
Các thành phần chính của management director framework bao gồm:
Ứng dụng quản lý: ứng dụng quản lý được tích hợp với management director framework. Ứng dụng quản lý cung cấp các khả năng quản lý bao gồm quản lý cấu hình, điều khiển và tài nguyên từ xa.
Người quản lý: cung cấp các hỗ trợ cho ứng dụng quản lý. Nó bao gồm các thành phần sau
Chức năng trình diễn.
Chức năng hỗ trợ.
Chức năng giao thức quản lý.
Toàn vẹn quản lý.
d. Dịch vụ quản lý agent (Management Agent Service)
Dịch vụ này giúp cho việc phát triển giao tiếp giữa các ứng dụng và đối tượng quản lý. Người phát triển phần mềm có thể sử dụng dịch vụ này để tạo một agent quản lý cho một đối tượng mà không giao tiếp trực tiếp thông qua một giao thức quản lý giao tiếp chuẩn.
Dịch vụ quản lý tác nhân bao gồm các thành phần quan trọng sau:
Management agent: là thành phần nhận các yêu cầu quản lý chuẩn và biên dịch chúng vào các hành động cụ thể của đối tượng quản lý. Nó bao gồm các phần tử dưới đây.
Protocol engines: cung cấp các hỗ trợ giao tiếp cho một số các giao thức quản lý chuẩn. Chúng ta có thể tạo các cớ chế giao thức khác nhau.
Common agent support rountines: tập các đoạn chương trình hỗ trợ giúp dễ dàng cho việc viết các module quản lý đối tượng. Tập này bao gồm các routine cho việc gửi các yêu cầu mã hóa quản lý cho các module đối tượng thích hợp và trả về các hồi đáp quản lý đối tượng cho các protocol engines (cơ chế giao thức) trong các reply (hồi âm) cho các yêu cầu quản lý ứng dụng.
Đối tượng quản lý: là một hoặc nhiều các tài nguyên trên mạng cần được quản lý mà nó có thể quản lý bởi các dịch vụ quản lý agent. Đối tượng quản lý không phải là một phần của dịch vụ quản lý.
Các giao diện API sau cung cấp các truy cập đến các khả năng quản lý agent:
Managed Object Interface (MOI) API.
Managed Object Support Service (MOSS) API..
Các giao diện CI sau được sử dụng cùng với các dịch vụ quản lý agent:
Simple Network Management Protocol (SNMP)
Digital Network Architecture (DNA) Common Management Information Protocol (CMIP)
2.2.3.7 Dịch vụ bảo mật (Security Service)
Cung cấp các thẩm định, cho phép và việc bảo vệ dữ liệu giữa client và server. Những dịch vụ này được kết hợp chặt chẽ với các thành phần DCE, cung cấp khả năng bảo mật cho các giao tiếp RPC.
Các thành phần chính trong dịch vụ bảo mật:
Secure RPC: thành phần DCE RPC lưu trữ mã sử dụng cho các dịch vụ bảo mật để xác thực giữa client và server.
Xác thực, ưu tiên và máy chủ đăng ký. Đối với những máy chủ việc truy cập thông qua các thủ tục gọi từ xa cung cấp các dịch vụ bảo mật rất cao, chúng lưu trữ mật khẩu, khóa và các thông tin khác liên quan đến người dùng và hệ thống chính.
Hình 2.9 mô tả một cách khái quát về kiến trúc chung của dịch vụ bảo mật.
DEC Sercurity
Server System
Client System
RPC Service
Sercure RPC
Authenticated RPC API
Application Client
Server System
RPC Service
Sercure RPC
Authenticated RPC API
Application Client
Authentication Server
Privilege Server
Registry Server
Hình 2.9: Kiến trúc chung về dịch vụ bảo mật
2.2.4. Truy cập đối tượng từ dịch vụ Middleware
Như chúng ta đã có một số mô hình cho việc cài đặt các hệ thống phần mềm phân tán, bao gồm các mô hình đối tượng phân tán. Trên thực tế, đối tượng phân tán trở nên quan trọng trong mô hình phần mềm client/server mới. Sau đây em xin đưa ra một số quan điểm theo Enterprise Object Software (EOS). EOS là chiến lược để phân phát những đối tượng phân tán.
2.2.4.1. Lập trình hướng đối tượng và EOS
EOS cung cấp những lợi ích của lập trình hướng đối tượng ngày càng tương tác tốt hơn với một số các sản phẩm tương tự từ một vài nhà cung cấp khác nhau.
Hầu hết các vấn đề mà các nhà phát triển ứngd dụng gặp phải là việc giải quyết sự tích hợp (đặc biệt, sự kết nối của PC và các ứng dụng khác với phần còn lại của hệ thống) không có sự tồn tại của phần cứng, mạng, và phần mềm đã tồn tại từ trước. Có một số vấn đề của việc tích hợp, hầu hết chúng rất quan trọng để tích hợp với hệ thống có sẵn:
Truy cập tài nguyên và thông tin phân tán từ trong các ứng dụng desktop thông dụng.
Xây dựng các hệ thống và dữ liệu doanh nghiệp như những tài nguyên mạng.
Tăng các ứng dụng và công cụ desktop thông dụng, tăng các chức năng và khả năng sử dụng cho các xí nghiệp đặc biệt.
Mở ra và thay đổi các hệ thống dựa trên mạng, thường xuyên thay đổi các ứng dụng server và desktop dựa trên sự cần thiết và phản hồi từ người dùng để đưa ra một topology mới hoặc tài nguyên mới.
Các yêu cầu hệ thống được đưa ra nhằm giải quyết những vấn đề trên bao gồm:
Khả năng cho phép của mạng của các ứng dụng không đòi hỏi sự thay đổi của chúng phụ thuộc vào các nhà cung cấp phần mềm.
Khả năng cho phép của mạng dựa trên khả năng của server bao gồm các ứng dụng thừa kế.
Sự tương thích của cơ sở hạ tầng nhằm cung cấp một kết nối mở đến Windows hoặc Windows NT và ứng dụng cũng như các đối tượng Common Object Request Broker Architecture (CORBA) và servers.
Mô hình tính toán client/server 3 thành phần, trong đó mỗi ứng dụng client tạo các yêu cầu dịch vụ (phần thứ nhất) được ánh xạ (phần thứ hai, hoặc chuyển giao) cho các server thực thi (phần thứ ba) trong khả năng quản lý, mở rộng…
Cách hiệu quả nhất để xây dựng và triển khai mô hình client/server mới đó là giải pháp tích hợp công cụ, thành phần, dữ liệu, dịch vụ, và ứng dụng từ các nguồn thay đổi rộng.
2.2.4.2. Yếu tố căn bản cho đối tượng phân tán
Ngày nay môi trường windowing ngày càng đạt được những thành công lớn. Người dùng sử dụng giao diện đồ họa để kéo thả dữ liệu hoặc nhấn (click) đối tượng để khởi tạo ứng dụng. Người dùng không cần phải nhớ rằng giao diện người dùng windowing là gì được cung cấp từ đâu.
Bước tiếp theo là mở rộng việc là đơn giản một số đối tượng phần mềm, nó được định vị trong nền desktop cục bộ hoặc chia sẻ trên một mạng hay trong toàn bộ xí nghiệp. Người dùng có thể thao tác với các đối tượng thông qua các biểu tượng không cần thiết phải hiểu một cách chi tiết về công việc hoặc đối tượng tồn tại trong đó. Từ quan điểm của người sử dụng tất cả có thể rất đơn giản giống như màn hình desktop ngày nay. Mô hình COM là kỹ thuật và kiến trúc cho phép ứng dụng client/server có thể dễ dàng phát triển, triển khai và quản lý.
Sau đây là thành phần chính của đối tượng phân tán. Một là brokerage, hoặc khái niệm của phần mềm thông minh cho phép dịch các yêu cầu trừu tượng từ các hành động cụ thể, và thành phần thứ hai là hướng đối tượng của chính phần mềm đó.
Object Brokering
Thông tin của các ứng dụng phân tán được đến từ nhiều hình thức khác nhau. Một ứng dụng đơn giản có thể bao gồm nhiều kênh lưu trữ khác nhau, nhiều kiểu định dạng dữ liệu khác nhau, các ứng dụng thừa kế, …Lý tưởng theo các nhìn của người dùng thì thông tin được dữ lại theo cùng một cách bất chấp cơ sở hạ tầng của phần cứng hay phần mềm của các xí nghiệp.
Một cách đơn giản mô hình hai phần client/server của tính toán phân tán đã giải quyết được một số vấn đề lập trình, ví dụ là chia sẻ hoặc dự trữ các tài nguyên của máy in. Tuy nhiên mô hình client/server đòi hỏi mỗi client cần phải hiểu về các server (và đôi khi là đối nghịch). Khi nhà phát triển cần phải thay đổi cơ sở hạ tầng, hệ thống client cần phải thay đổi. Vấn đề này thậm chí đòi hỏi rất mãnh liệt đối với các phần mềm thiết kế riêng biệt, ví dụ như thay đổi bảng tính trong ngôn ngữ lập trình 4GL, nó luôn tồn tại những sự thay đổi. Tính toán client/server cần phải chấp nhận những vấn đề mới, ví dụ như truy cập ứng dụng phân tán và các dịch vụ triển khai cần thiết cho công việc.
EOS cung cấp những cơ chế và kỹ thuật cho việc quản lý độ phức tạp và những thay đổi không làm mất rối loạn thông tin của người dùng và hệ thống. Một kỹ thuật là sự dụng đối tượng phân tán. Các thao tác chính tác động đến đối tượng phân tán chính là việc đưa vào thành phần thứ ba vào mô hình tiered client/server. Trong mô hình 3 phần, thành phần đầu tiên giới thiệu tập các icons mà người dùng có thể thao tác, thành phần cuối là cơ sở hạ tầng hardware/software, và là thành phần mở rộng cung cấp trong phần trung gian thông minh cần thiết để chuyển đổi đối tượng phần trình diễn và các thao tác vào đối tượng có sự thỏa thuận theo cơ sở dữ liệu vật lý, ứng dụng thừa kế, và giao thức vận chuyển mạng. Cách hiểu này giống như sự phiên dịch giữa các yêu cầu trừu tượng và các thao tác mức thấp để hoàn thành các yêu cầu chuyển giao và đối tượng chuyển giao.
Lâp trình hướng đối tượng (Object-Oriented Programming)
Lập trình hướng đối tượng là tập các kỹ thuật lập trình nhằm giải quyết độ
Các file đính kèm theo tài liệu này:
- DAN056.doc