[123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

19
TỔNG HỢP LÝ THUYẾT LẬP TRÌNH COM / COM+ /DCOM

Transcript of [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

Page 1: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

TỔNG HỢP LÝ THUYẾT LẬP TRÌNH COM / COM+ /DCOM

Page 2: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Khái niệm. COM là công nghệ của Microsoft, nó tạo nên các thành phần

giao tiếp với nhau trong ứng dụng phần mềm. COM tạo ra những thành phần có thể tái sử dụng, và liên kết các thành phần với nhau để tạo nên ứng dụng. Công nghệ COM bao gồm : COM+, DCOM (Distributed COM), và ActiveX Control. (Nguồn: http://www.microsoft.com/com/default.mspx ).

COM là một mô hình chuẩn , nó xác định cách thức để các thành phần hoạt động và kết hợp với nhau. COM được dùng như là nền tảng của ActiceX và OLE. (Nguồn:http://www.proace.com/definitions.aspx )

Page 3: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Đặc điểm. Độc lập với ngôn ngữ lập trình.

Được hổ trợ trên nhiều nền (Window, Window NT, Apple Macintosh, UNIX).

Có tính chất mở rộng. Sự giao tiếp giữa các thành phần, thậm chí xử lý qua mạng cục

bộ. Chia sẽ việc quản lý bộ nhớ giữa các thành phần.

Page 4: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc. Các Client trong COM truy cập vào đối tượng thông qua các

giao diện thực thi trên đối tượng đó. Client / Server là kiến trúc của COM. Các thành phần giao tiếp với nhau được xử lý bởi COM run-

time.

Page 5: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc.Kiến trúc COM chia thành 3 loại:

1. Trong cùng chu trình. (In-Process Server).

2. Khác chu trình.(Out-Of-Process Server). 3. Phương thức từ xa (Remote Server).

Page 6: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc. Trong cùng chu trình. (In-Process Server).Client và Server cùng thực hiện trong một chu trình đơn và chiasẻ không gian địa chỉ tương tự trên một máy.

Page 7: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc. Khác chu trình.(Out-Of-Process Server). Client và server thực thi các chu trình riêng biệt trên cùng một máy tính.

Page 8: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc. Phương thức từ xa (Remote Server).Chu trình của Client và server chạy trên nhiều máy khác nhau.

Page 9: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc.Proxy và Stub trong COM.

Page 10: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc.Proxy và Stub trong COM. COM sử dụng cơ chế truyền tham số và trả về giá trị thông qua

các phạm vi của chu trình. Client gọi các hàm từ Proxy. Proxy sắp xếp và gửi dữ liệu về cho Server. Stub hứng dữ liệu được gửi từ Proxy của Client và không cần sắp xếp lại dữ liệu đấy. Các tham số được tách và truyền đến giao diện thực. Server thực thi các yêu cầu đến từ phía client thực.

Trong thực tế Stub gọi các hàm trên Server, Nhưng Server không quan tâm đến các chi tiết này, Nó chỉ biết xử lý và trả các tham số này về cho thằng Stub. Thằng Stub sắp xếp các giá trị trả về và gử đến cho thằng Proxy của Client. Proxy lấy cái dữ liệu trả về đấy truyền qua cho thằng Client.

Page 11: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM (Component Object Model).

Kiến trúc.Proxy và Stub trong COM.

RPC (Remote Procedure Call) là một mô hình cho việc lập trình trong môi trường phân tán. Mục đích của RPC là cung cấp việc giao tiếp trực tiếp giữa client và Server.

Page 12: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM+ Khái niệm. COM+ là tên của công nghệ COM được sử dụng lần

đầu trên Window 2000. COM+ kết hợp công nghệ của các thành phần trong COM và ứng dụng lưu trữ trên Microsoft Transaction Server (MTS).

COM+ tự động xử lý các chương trình như: việc tổng hợp tài nguyên, các ứng dụng ngắt kết nối, và tạo ra các giao dịch phân tán. (Nguồn: http://www.microsoft.com/com/default.mspx).

Page 13: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM+ Khái niệm. COM+ là sự mở rộng của COM. COM+ là sự nâng cấp phiên

bản của SPM (In-Memory Database). Nó còn cung cấp dịch vụ đồng bộ hóa sự kiện cho việc tạo ra các sự kiện trong nhiều máy khách. Nó còn tự động cân bằng hệ thống khi có nhiều máy chủ cùng truy cập vào một ứng dụng. (Nguồn: http://www.proace.com/definitions.aspx).

Page 14: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM+ Kiến trúc.

Một mô hình COM+ được thể hiện ở hình dưới. COM+ Surotage Process(DLLHOST.EXE). COM+ Class Loading và Remoting Framework(OLE32.DLL). Context Object và Wrapper Proxies cho mỗi thành phần. COM+ client. Các hệ thống phụ như: COM+ runtime service, SCM (Server

Control Manager), MS-DTC (Microsoft Distributed Transaction Coordinator), MSMQ (Microsoft Message Queue), COM-TI (COM – Transaction Intergrator)…

Page 15: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM+ Kiến trúc.

Page 16: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

COM+

Các thành phần chạy dưới trình điều khiển của COM+ Surrogate được gọi là các thành phần COM+. Các thành phần này được triển khai và chạy trong COM+ Surrogate(DLLHOST.EXE), và được quản lý bởi COM+ Class Loading và Remoting Famework (OLE32.DLL). Như một cách thông thưường với các thành phần COM+, đối tượng sử dụng IClassFactory giống như a Factory Object để tạo một thể hiện mới của các thành phần này.

COM+ chèn một Interceptor (Nó bao gồm Factory Wrapper Object và một Object Wrapper) giữa thành phần COM+ hiện tại mà các Framework quản lý, và nó là client. Do đó, bất kì khi nào client tạo ra lời gọi đến thành phần COM+, thì các Wrapper (Factory và Object) chặn lời gọi đó và chèn thuật toán mô phỏng được gọi là Just In time vào trong lời gọi đó. Sau đó Wrapper tạo lời gọi này trên thành phần COM+ thực tế. (Nguồn: http://gsraj.tripod.com/com/complus.html).

Page 17: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

DCOM (Distributed COM) Khái niệm. DCOM (Distributed COM) là công nghệ của Micrososft dùng để

thiết lập giao tiếp giửa các thành phần phần mềm phân tán qua mạng máy tính.

DCOM có tên gọi ban đầu là “Network OLE(Object Linking and Embeding)”, là sự mở rộng công nghệ COM. (Nguồn: http://en.wikipedia.org/wiki/Distributed_Component_Object_Model ).

DCOM là sự mở rộng của công nghệ COM nhằm tạo nên sự thuận lợi trong việc phân tán của các đối tượng qua môi trường mạng và Internet. ( Nguồn: http://www.proace.com/definitions.aspx ).

Page 18: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

DCOM (Distributed COM)

Kiến trúc. DCOM và COM chỉ khác nhau qua việc kết nối giữa Clientvà Server..

Page 19: [123doc.vn] - tong-hop-ly-thuyet-lap-trinh-com-com-dcom.pdf

DCOM (Distributed COM) Kiến trúc COM.