Tổng quan về DCOM

Một phần của tài liệu PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN (Trang 58 - 61)

3. Trả lời từ server

9.2.1. Tổng quan về DCOM

Nền tảng của DCOM được hình thành bởi thành phần cơng nghệ hướng đối tượng COM của Microsoft. Mục đích của COM là hỗ trợ sự phát triển của các thành phần mà có thể hoạt động linh hoạt và có thể tương thích với các bộ phận khác. Một thành của COM có khả năng thực hiện lệnh được chứa trong thư viện (liên kết động) hoặc trong định dạng của chương trình thực hiện.

Bản thân COM được đề nghị trong định dạng của thư viện, nó được liên kết để xử lý. Đầu tiên chúng được phát triển như là để gắn kết các tài liệu. Như đã trình bày ở phía trước, một tài liệu gắn kết là một tài liệu được xây dựng từ các phần khác nhau ví dụ như văn bản, hình ảnh, bảng...Mỗi một bộ phận được kết hợp cho các ứng dụng để chế tác chúng.

Bài giảng COP – Chuyên ngành: CNPM - Version 1

Biên soạn: Ngô Thị Lan & Nguyễn Lan Oanh - 59

Để hỗ trợ cho vô số các tài liệu gắn kết, Microsoft cần có cách chung để phân biệt giữa các phần khác nhau và gắn kết chúng lại với nhau. Khởi đầu là OLE (Object Linking and Embedding) (Nhúng và liên kết đối tượng). Phiên bản đầu tiên của OLE được sử dụng theo cách khá phức tạp của thông báo để đưa ra thơng tin giữa các thành phần. Nó nhanh chóng được thay thế bằng một phiên bản mới hơn (và cũng được gọi là OLE), nhưng nó được xây dựng với lớp linh hoạt trên cùng, được gọi là COM

hinh

Ở hình 9.21 cũng chỉ ra ActiveX, nó được sử dụng để bao bọc mọi thứ được gọi là OLE, cùng nhau tạo ra những tính năng mới.Những tính năng này chủ yếu là tính linh hoạt về dung lượng của các thành phần bắt đầu từ những quy trình khác nhau, hỗ trợ một cách chính xác là hơn hoặc kém các nhóm tiêu chuẩn của đối tượng mà trong đó chúng được gọi là điều khiển ActiveX. Chúng xuất hiện để thống nhất giữa các chuyên gia về DCOM (thậm chí cả Microsoft) mà khơng có sự mơ tả nào về ActiveX là chính xác. Bởi vậy chúng ta sẽ không cố gắng định nghĩa ActiveX nữa.

DCOM được thêm vào để tổ chức này có khả năng xử lý để truyền thơng với các thành phần khác mà nó được đặt trên các máy khác nhau. Tuy nhiên các máy cơ bản để thay đổi thông tin giữa các thành phần được đề nghị bởi COM thường được chính xác bằng DCOM. Nói một cách khác, theo cách lập trình để phân biệt giữa COM và DCOM thường là ẩn dưới các giao diện khác nhau. Chúng ta sẽ thấy DCOM chính được đề nghị xử lý trong suốt. Các định dạng khác của hệ phân tán trong suốt ít rõ ràng.

* Mơ hình đối tượng

Hầu như tất cả các hệ phân tán đối tượng cơ bản khác, DCOM chấp nhận cho mơ hình đối tượng từ xa, đối tượng của DCOM có thể được xử lý giống như trên máy khách, giống như trên cùng máy và trên máy từ xa.

Như CORBA, mơ hình đối tượng của DCOM được canh giữa xung quanh sự thực hiện giao diện. Nói một cách đơn giản, đối tượng của DCOM là sự thực thi giao diện khá đơn giản, một đối tượng đơn giản có thể thực hiện trên vài giao diện cùng một lúc. Rút gọn hơn CORBA, tuy nhiên DCOM chỉ có giao diện nhị phân. Một giao diện mà bản chất là một bảng cùng với con trỏ để thực thi là một phần của giao diện. Tuy nhiên để đinh nghĩa giao diện nó vẫn cịn là một cách thuận tiện để sử dụng một phần của IDL (Interface Definition Language) (Ngôn ngữ định nghĩa giao diện). DCOM cũng giống như IDL được gọi là MIDL (Microsoft IDL) tự nó mà các lớp chuẩn cho giao diện nhị phân có thể được phát sinh.

Thuận lợi của việc sử dụng giao diện nhị phân là giao diện của ngơn ngữ lập trình độc lập. Trong trường hợp CORBA, mỗi lần ngơn ngữ lập trình khác cần để

Bài giảng COP – Chuyên ngành: CNPM - Version 1

Biên soạn: Ngô Thị Lan & Nguyễn Lan Oanh - 60

được hỗ trợ. Bản đồ về các đặc tính của IDL để cho ngơn ngữ cần để chuẩn hố. Sự chuẩn hố là khơng cần thiết cho giao diện nhị phân.

Mỗi giao diện của DCOM được nhận dạng duy nhất bằng 128 bit được gọi là IID (Interface Identifier). Mỗi IID là toàn cục đơn nhất, khơng có hai giao diện mà có cùng IID. Sự nhận dạng được phát sinh bởi sự phối hợp của số lượng lớn các số ngẫu nhiên, thời gian cục bộ và địa chỉ trên giao diện mạng của các host hiện tại. Khả năng rằng hai phát sinh nhận dạng giống nhau thì có thể về 0.

Một đối tượng DCOM được tạo ra trong trường hợp của lớp. Để làm như vậy, nó cần thiết có các giá trị của biến. Cho mục đích này, DCOM có lớp đối tượng. Như một đối tượng có thể làm bất cứ thứ gì mà thực thi giao diện IClassFatory. Giao diện này chứa phương thức CreateInstance, nó có thể so sanh với cách sử lý mới trong C++ va Java. Hiện CreateInstance trên mỗi lớp đối tượng có hiệu quả rằng đối tượng của DCOM được tạo ra. Đối tượng thuộc về cùng một lớp sẽ phát sinh khác nhau chỉ chú ý đến trạng thái hiện tại của chúng. Thuyết minh một đối tượng bằng cách đưa ra một lớp đối tượng, nó có thể để miêu tả một phương thức chứa trong những giao diện đó. Trong DCOM, mỗi một lớp đối tượng có nghĩa là nhận dạng lớp đơn nhất toàn cục (CLSID).

Tất cả các đối tượng thực thi một giao diện đối tượng chuẩn được gọi là IUnknow. Khi mà một đối tượng được tạo ra được gọi là CreateInstance. Lớp đối tượng trả về một con trỏ của giao diện, một phương thức quan trọng được chứa trong IUnknown là phương thức QueryInterface, nó trả về một con trỏ khác thực thi một đối tượng khác đưa ra IID.

Một sự phân biệt quan trọng giữa mơ hình đối tượng CORBA là tất cả các đối tượng của DCOM là tạm thời. Nói một cách khác, một đối tượng khơng có một máy nào có thể tham chiếu tới, đối tượng bị phá bỏ. Tham chiếu đếm được thực hiện bởi gọi tới AddRef và Release, cả hai đều là của IUnknown. Chỉ có một đối tượng tạm thời là tránh xa một cách hiển nhiên, vì sao mỗi đối tượng nên sở hữu, liên quan đến nhận dạng đơn nhất tồn cục. Vì lý do này, đối tượng trong DCOM có thể được tham chiếu chỉ có nghĩa giao diện của con trỏ.

DCOM hỗ trợ dẫn chứng động của đối tượng. Đối tượng cho một dẫn chứng yêu cầu được xây dựng vào thời gian chạy yêu cầu thực thi giao diện Idispatch. Giao diện này gần giống như giao diện dẫn chứng động của CORBA.

* Loại thư viện và đăng kí

Sự tương đương của DCOM, của giao diện CORBA chỗ chứa được gọi là thư viện. Thư viện tổng quát là sự liên kết giữa các ứng dụng hoặc một số lượng các thành phần chứa các lớp của đối tượng khác nhau. Bản thân của thư viện có thể chứa một phần của ứng dụng. Trong một trường hợp nào đó, kiểu thư viện là chính được sử

Bài giảng COP – Chuyên ngành: CNPM - Version 1

Biên soạn: Ngô Thị Lan & Nguyễn Lan Oanh - 61

dụng cho hình dạng, chữ kí chính xác của phương thức mà nó được hiện động. Thêm vào đó các cơng cụ lập trình thường sử dụng kiểu thư viện để phát triển lập trình trợ giúp, ví dụ giao diện trên màn hình.

Thực tế để kích hoạt một đối tượng để đảm bảo rằng nó được tạo ra và đạt trong một tiến trình xử lý, từ đó có thể chấp nhận dẫn chứng phương thức. DCOM sử dụng cửa sổ đăng kí Windows trong liên kết với các xử lý đặc biệt được gọi là Service Control Manager (Quản lý điều khiển dịch vụ). Việc đăng kí được sử dụng để lưu lại bản đồ từ lớp nhận dạng (CLSID) cho một tên lớp file cục bộ chứa sự thực thi của lớp. Bất cứ khi nào quá trình xử lý muốn tạo ra một đối tượng nó phải đảm bảo đầu tiên rằng lớp đối tượng phải được nạp.

Khi một đối tượng được thực thi từ một host từ xa, một đường truyền khác được tiếp theo. Trong trường hợp này, máy khách nối với Host Service Control

Manager (SCM) nó được xử lý để đáp ứng lại mọi hoạt động của đối tượng , gần giống như thực thi trong CORBA. SCM mà trên đó host từ xa nhìn vào đó bắt đầu q trình xử lý trong đó. Giao diện con trỏ tại máy chủ được thu thập và trở lại máy khách, nơi mà nó khơng được thu thập đến quyền ưu tiên. Chi tiết giao diện con trỏ thu thập và khơng thu thập sẽ được trình bày ngắn gọn.

Tồn bộ cấu trúc của DCOM, trong sự biên dịch cùng với sử dụng lớp đối tượng, đối tượng, phân quyền được chỉ ra trong hinh 9.23. Bên cạnh các máy khách, quá trình xử lý được đua ra SCM và được đăng kí để tìm sự trợ giúp và thiết lập liên kết đến các đối tượng từ xa. Máy khách sẽ được phân quyền thực thi trên giao diện của đối tượng.

Đối tượng trên may chủ sẽ bao gồm tập hợp của dẫn chứng được thu thập và khơng được thu thập, nó được thơng qua các đối tượng thực tế. Sự truyền thông giữa máy khách và máy chủ được thực hiện bởi RPC

Một phần của tài liệu PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN (Trang 58 - 61)