Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
635,56 KB
Nội dung
Lập trình phân tán với COM+/MTS Lập trình phân tán với COM+/MTS Bởi: Khoa CNTT ĐHSP KT Hưng Yên Thường tầng trung gian thành phần COM viết ngôn ngữ lập trình hỗ trợ giao thức COM (như Visual Basic, Visual C++, ) quản lý Micrsoft Transaction Server (MTS) Khi tầng trung gian thành phần COM quản lý MTS chúng gọi COM+/MTS COM+/MTS có nhiệm vụ quản lý tất component, điều khiển, giám sát tác vụ như: tạo thành phần, quản lý hàng đợi, giao dịch COM+/MTS lắng nghe kết nối từ máy khách, yêu cầu chấm dứt (không sử dụng đến nữa) giải phóng tài nguyên kết nối Giới thiệu sơ lược COM: COM (Component Object Model) cách thức để viết thành phần phần mềm (software componet) cung cấp chức phục vụ cho ứng dụng, thành phần khác Viết thành phần COM viết hàm API động, hướng đối tượng Các thành phần COM nối kết với ứng dụng thành phần COM khác COM ? COM đặc tả Nó làm để xây dựng thành phần thay cách “động” COM cung cấp “chuẩn” để ứng dụng thành phần phải tuân theo để chúng hoạt động với sử dụng lại thư viện Thành phần COM ? Thành phần COM đoạn mã thực hàm, chức chứa file DLL EXE Thành phần COM cần phải thỏa mãn “chuẩn” COM Các thành phần COM liên kết động Các thành phần COM “bao gói” lại thỏa mãn ràng buộc: 1/23 Lập trình phân tán với COM+/MTS o Thành phần COM hoàn toàn độc lập với ngôn ngữ thực Thành phần COM thực nhiều ngôn ngữ Visual C++, Visual Basic, Java … o Thành phần COM sử dụng dạng mã nhị phân o Thành phần COM nâng cấp mà không làm hỏng chương trình chạy o Thành phần COM suốt vị trí Giao diện (Interface) Giao diện tất COM Các ứng dụng nhìn thấy truy xuất đến thành phần COM thông qua giao diện Giao diện làm tăng mức độ độc lập ứng dụng thành phần COM nhờ có giao diện mà thành phần COM thay động mà không ảnh hưởng đến ứng dụng chạy Giao diện không thay đổi Nếu muốn nâng cấp giao diện giao diện phải tồn song song với giao diện cũ COM Windows: Trong Windows, thành phần COM giao diện COM gán ID ID thành phần COM gọi CLSID (class identifier); giao diện COM IID (interface identifier) Các ID gọi chung GUID (globally unique identifier) cấu trúc 16 byte xác định toàn giới Tất ID chứa registry windows với thông tin thành phần giao diện mà đại diện Khi ứng dụng muốn sử dụng COM, gọi hàm API windows CoCreateInstance với thông số truyền vào CLSID IID tương ứng với thành phần giao diện mà thành phần hỗ trợ để có giao diện mong muốn 2/23 Lập trình phân tán với COM+/MTS Cách tạo COM(.dll) COM(.exe) Visual Basic Khi tạo project visual basic, ta chọn dạng mẫu có sẵn để tạo project Để tạo thành phần COM ta có hai lựa chọn dạng COM(.dll) dạng COM(.exe) hộp thoại New Project tùy theo ứng dụng Khi tạo dự án dạng ActiveX (.dll) hay ActiveX (.exe) Visual Basic tự động thiết lập thuộc tính mặc định cho ự án Ta thay đổi thuộc tính để chương trình thực tốt Sau thuộc tính ự án thành phần COM 3/23 Lập trình phân tán với COM+/MTS + StartupObject: Startup Object cho phép ta định liệu code có thực thi thành phần load lên hay không Đa ố ta thiết lập thuộc tính None, code thực thi visual basic tạo thể class + Project Name: tên dự án mà ta tạo Tên ID thành phần COM windows registry Tên dự án kết hợp với tên class tạo nên ProgID Client dùng tên để tạo đối tượng COM + Threading Model (ActiveX dll): Trong dự án ActiveX (.dll), Thread Model cho phép ta lựa chọn Single Threaded Apartment Threaded Giá trị mặt định Apartment Threaded - Apartment Threaded hình thức thực chức multithreading giống Windows 95, Windows 98, and Windows NT Đa phần thành phần COM thực với Visual Basic thực với Apartment Threaded - Single Threaded: lựa chọn dạng client chạy thread nhất, client gởi yêu cầu tạo thread đến, mà thread phục vụ cho client khác client vừa gởi yêu cầu phải đợi thread phục vụ xong client đáp ứng lời gọi Với dạng lợi điểm dễ kiểm soát việc tạo thread, ngược lại khả phục vụ - Những lợi điểm lựa chọn Apartment Threaded Xử lý vấn đề có nhiều yêu cầu tạo thread từ phía nhiều client Tự động quản lý việc cung cấp thread phục vụ cho nhiều client, thời điểm có client phục vụ + Threading Model (ActiveX exe): Trong dự án ActiveX Exe ta có lựa chọn cho Threading Model sau: - Chỉ có thread phục vụ: Chỉ cho tất client dùng chung thread - Chỉ định số cụ thể thread dùng chung, số thread quản lý để phục vụ cho nhiều client theo phương pháp round-robin - Mọi yêu cầu tạo phục vụ từ nhiều client đáp ứng cách tạo cho client thread Điều gây khó khăn cho việc quản lý đối tượng client tạo 4/23 Lập trình phân tán với COM+/MTS Cách đăng ký, gỡ bỏ đăng ký COM(.dll) COM(.exe) Windows Sau biên dịch dự án COM thành file dạng dll hay dạng exe ta phải đăng ký thành phần COM để sử dụng có nhiều cách để đăng ký sau cách tiêu biểu để đăng ký: + Cách đăng ký COM DLL : Để đăng ký thành phần COM (.dll) ta thực bước sau: o Nhấn vào nút start Windows o Trên Start menu, click Run o Trong Rundialog box, ta gõ vào sau: Regsvr32.exe \.dll o Click vào nút OK Nếu đăng ký thành công hiển thị dialog thông báo sau Cách gỡ bỏ đăng ký thành phần COM (.dll) thực bước trên, hộp thoại Runta gõ vào sau: Regsvr32.exe /u \.dll + CáchđăngkýCOM(.exe): Cách đăng ký hay gỡ đăng ký COM Exe thực bước tương tự việc đăng ký COM Dll Nhưng hộp thoại Runta gõ vào sau \ /regserver trường hợp muốn đăng ký \ /unregserver trường hợp muốn gỡ bỏ đăng ký 5/23 Lập trình phân tán với COM+/MTS Các kiến trúc COM/DCOM: Ứng dụng Client ứng dụng COM chạy máy: Mục đích xây dựng thành phần mô hình : Ứng dụng COM tái sử dụng cho nhiều ứng dụng Client khác Làm cho chương trình dễ viết, dễ kiểm tra lỗi, nâng cấp mà không ảnh hưởng đến ứng dụng Client chạy Ứng dụng Client chạy máy, Ứng dụng COM chạy máy Nhưng hai máy mạng local Lúc thành phần COM gọi DCOM Có cách để giao tiếp ứng dụng Client Ứng dụng COM: o ActiveX (.exe) o Dùng MTS (Microsoft Transaction Server) để triển khai ActiveX DLL từ xa o RDS (Remote Data Access) 6/23 Lập trình phân tán với COM+/MTS Giới thiệu ActiveX (.exe) Cũng ứng dụng COM xây dựng cho phép chia sẻ ứng dụng cho nhiều ứng dụng Client máy khác nhau(trong mạng) sử dụng ActiveX (.Exe) hình thức dạng DCOM Sau xây dựng biên dịch ứng dụng COM dạng ActiveX (.exe) để ứng dụng Client liên kết sử dụng ta phải chạy tập tin Dcomcnfg.exe Windows để cấu hình cho ứng dụng COM ? Giới thiệu Dcomcnfg.exe để cấu hình ứng dụng COM (ActiveX Exe) Trong giao diện DCOM Config có tabs sau đây: ? Applications ? Default Properties ? Default Security + Applications Tab: Applications Tab hiển thị đối tượng đăng ký vào khóa registry: HKEY_CLASSES_ROOT\AppId\ 7/23 Lập trình phân tán với COM+/MTS Mỗi đối tượng hiển thị Applications Tab, đặt tính ứng dụng hiển thị cách chọn đối tượng nhấn vào nút “Properties…” hay nhấn đúp vào đối tượng cần xem + Default Properties Tab: Những giá trị hiển thị Default Properties Tab tìm thấy registry Windows vị trí sau : HKEY_LOCAL_MACHINE\Software\Microsoft\ OLE Tiêu đề Default Properties Tab check box : "Enable Distributed COM on this computer" check box đánh dấu cho phép tạo đối tượng DCOM Ngược lại không tạo đối tượng DCOM Lưu ý: tất thiết lập có hiệu lực ta khởi động lại hệ thống Thành phần thứ Default Properties Tab Default Distributed COM Communication Properties thành phần chia làm mục sau: - Default Authentication Level (Packet Level) Mục có nhiều giá trị chọn sau: Name Description None No authentication Connect Authentication occurs when a connection is made to the server Connectionless protocols not use this Call The authentication occurs when a RPC call is accepted by the server Connectionless protocols not use this Packet Authenticates the data on a per-packet basis All data is authenticated Packet Integrity This authenticates that the data has come from the client, and checks that the data has not been modified Packet Privacy In addition to the checks made by the other authentication techniques, this encrypts the packet Default May vary depending upon operating system - Default Impersonation Level 8/23 Lập trình phân tán với COM+/MTS Name Description Anonymous The client is anonymous This setting is not currently supported by DCOM Identify The server can impersonate the client to check permissions in the ACL (Access Control List) but cannot access system objects Impersonate The server can impersonate the client and access system objects on the client's behalf Delegate In addition to the Impersonate level, this level can impersonate the client on calls to other servers This is not supported in the current release of DCOM + Default Security Tab Có lựa chọn Default Security tab Những giá trị tab lưu trữ Windows Registry vị trí: HKEY_LOCAL_MACHINE\Software\Microsoft\OLE Cách cấu hình Visual Basic DCOM dùng Dcomcnfg.exe Việc cấu hình thực theo bước sau: o Run Dcomcnfg.exe o Tại Applications Tab chọn ứng dụng DCOM cần cấu hình o Nhấn đúp vào ứng dụng DCOM vừa chọn o Chọn Security Tab o Thực thay đổi sau - CUSTOM ACCESS PERMISSIONS: Everyone -allow access System -allow access Interactive -allow access CUSTOM LAUNCH PERMISSIONS: Everyone -allow launch System -allow launch Interactive -allow launch - Chọn Identity Tab, chọn "The Interactive User." - Nhấn OK, nhấn OK lần ? Cáchhiệnthực ứngdụngDCOM dạng ActiveX(.exe) dùng Visual Basic 9/23 Lập trình phân tán với COM+/MTS ? TạomộtdựánDCOMdạngActiveX(.exe) Mở Visual Basic tạo dự án dạng ActiveX EXE Sau tạo xong dự án, vào menu Project\Project Properties thiết lập sau: - Việc Start Mode chọn ActiveX Component cho phép ta chạy ứng dụng server môi trường phát triển Visual Basic Nếu không chọn ứng dụng server thoát ta chạy Visual Basic - Remote Sever đánh dấu vào Remote Server Files làm cho Visual Basic tạo VBR(Visual Basic Registry) TLB (Type Library) ta xây dựng xong ứng dụng server - Cuối Version Compatibility chọn Project Compatibility, sau ta đổi sang lựa chọn Project Compatibility Biên dịch ứng dụng server ? Trước phân bố ứng dụng, ta mở lại ứng dụng server, vào project properties ứng dụng server thiết lập lại Version Compatibility chọn Binary Compatibility, text box dùng browser dẫn tới tập tin exe ứng dụng server Save ứng dụng lại, biên dịch lại ứng dụng server ? Triển khai ứng dụng server để ứng dụng Client giao tiếp 10/23 Lập trình phân tán với COM+/MTS Để triển khai ứng dụng phân bố vừa tạo ta phải sử dụng công cụ “PackageandDeploymentWizard” Visual Basic Tools cách chọn Start\Program\Microsoft Visual Basic 6.0\Microsoft Visual Basic Tools Tiếp theo thực theo bước sau: Dùng Browser chọn dự án server vừa tạo, nhấn vào nút Package Chọn Dependency File Package Type Nhấn Next để chuyển qua bước Nhấn Next tiếp Chọn No hỏi hỗ trợ Remote Automation Nhấn Next hình Included Files Nhấn Next hình Cab Information Nhấn Next Install Locations Nhấn Finish ? TạochươngtrìnhSetupchoClient Khởi động chương trình Package and Deployment lần Nhấn vào nút Package Chọn Standard Setup Package danh sách Package Type Chọn folder mà truy cập qua mạng Trong hình Included Files, Bỏ đánh dấu không chọn dự án server(.exe) 11/23 Lập trình phân tán với COM+/MTS Nhấn vào nút Add, Chọn VBR combo box file type, chọn file vbr Nhấn Next Ở hình Remote Servers, gõ vào Net Address Server Nhấn chọn Next đến hết Nhấn Finish ? Cài đặt máy chạy ứng dụng DCOM máy chạy ứng dụng Client + Chạy chương trình Setup.exe tạo Package and Deployment Wizard cho ứng dụng server máy chạy ứng dụng COM 12/23 Lập trình phân tán với COM+/MTS + Chạy chương trình Setup.exe exe tạo Package and Deployment Wizard cho ứng dụng Client máy chạy ứng dụng Client Dùng MTS để triển khai ActiveX DLL từ xa Đối với Windows NT MTS tách riêng thành ứng dụng riêng biệt Muốn sử dụng MTS phải cài đặt Option Pack cho Windows NT Còn Windows 2000 MTS tích hợp vào IIS 5.0, đưa COM MTS tích hợp lại COM+ Applications ? Giới thiệu MTS (Microsoft Transaction Server) MTS dịch vụ Windows giống dịch vụ khác IIS, File hay Print …, có nghĩa ta chạy (start) ngưng chạy (stop) chúng cần MTS chạy background để phục vụ cho ứng dụng cần đến Trong Windows NT 4.0, MTS coi phần phụ (add-on), cài thông qua NT4 Option Pack Còn Windows 2000 trở thành phần mặc định hệ điều hành Ngoài chức quản lý giao dịch, MTS quản lý nhiều thứ khác “MTS quản lý cách mà ứng dụng sử dụng thành phần” hay nói cách khác MTS quản lý thành phần giúp cho ứng dụng sử dụng thành phần hiệu Các bước thông thường để sử dụng thành phần: Tạo instance thành phần Khởi động giá trị thuộc tính thành phần Sử dụng thành phần Giải phóng thành phần khỏi nhớ Thông thường, việc khởi tạo giải phóng thành phần nằm đầu cuối thủ tục hay chương trình Nếu sử dụng tốt khởi tạo thành phần cần đến giải phóng sau chắn không cần dùng đến thành phần Tuy nhiên khoảng thời gian sử dụng thành phần thường có nhiều thao tác không sử dụng thành phần thao tác sử dụng đến thành phần, phải giữ thành phần nhớ chờ sử dụng sau thao tác khác mà giải phóng thành phần giải phóng trạng thái bên thành phần bị xóa Điều tạo nên lãng phí lớn tài nguyên hệ thống 13/23 Lập trình phân tán với COM+/MTS MTS giải vấn đề cách: ứng dụng cần thành phần MTS cung cấp instance thành phần cho ứng dụng Nếu ứng dụng thứ muốn sử dụng thành phần đó, ứng dụng không thực sử dụng (tuy nhiên ứng dụng thứ chưa giải phóng thành phần) MTS đưa instance mà ứng dụng thứ giữ cho ứng dụng thứ sử dụng Nếu ứng dụng thứ muốn sử dụng tiếp thành phần MTS tìm instance thành phần có instance không thực sử dụng ứng dụng khác không Nếu có MTS đưa instance cho ứng dụng sử dụng Nếu tất instance thành phần sử dụng MTS tạo instance giao cho ứng dụng thứ sử dụng Quản lý giao dịch MTS: MTS cung cấp môi trường giao dịch cho thành phần Các thành phần môi trường thực giao dịch, có nghĩa toàn thành phần môi trường thực thi thành công nhiệm vụ giao dịch coi thành công Nếu thành phần lý thực thi nhiệm vụ toàn công việc thành phần khác bị hủy bỏ hệ thống trở lại trạng thái ban đầu, trạng thái trước giao dịch thực ? Các bước để triển khai thành phần từ xa Windows 2000 dùng MTS: ? Các bước thực máy chạy thành phần COM DLL muốn triển khai từ xa Tạo thành phần COM dạng ActiveX DLL Nhấn Start \ Settings \ Control Panel Trong cửa sổ Control Panel mở folder Administrative Tools Mở Component Services Trong console tree Component Services, Nhấn đúp vào Computers Nhấn đúp vào My Computers, nhấn đúp vào COM+ Applications Nhấn phải chuột vào COM+ Applications, trỏ tới New nhấn vào Application 14/23 Lập trình phân tán với COM+/MTS Xuất hộp thoại COM Application Install Wizard, nhấn Next Tại có hai lựa chọn Chọn CreateanemtyApplication 15/23 Lập trình phân tán với COM+/MTS - Install pre-built application(s) Nếu muốn xây dựng lại ứng dụng mà ta tạo trước - CreateanemtyApplication : Nếu tạo ứng dụng trống import thành phần COM (.dll) vào 10 Gõ vào vào tên cho ứng dụng vừa tạo, nhấn vào Next 16/23 Lập trình phân tán với COM+/MTS 11 Tiếp theo xuất hộp thoại có hai lựa chọn, ta lựa chọn giá trị default Nhấn tiếp vào Next 12 Nhấn Finish 13 Nhấn đúp vào ứng dụng Example1 vừa tạo nhấn đúp vào Components 14 Nhấn phải chuột vào Components, trỏ tới New, nhấn vào Component 15 Nhấn vào Next, Hộp thoại Import or Install a Component xuất hiện, chọn Install new Component(s) 17/23 Lập trình phân tán với COM+/MTS 16 Dẫn đến chỗ lưu trữ file dll, nhấn nút Open 17 Nhấn vào nút Next Rồi nhấn vào Finish để kết thúc Để cho phép ứng dụng Client truy cập vào thành phần chạy MTS, ta phải đăng ký vào Registry máy Client để báo với thành phần từ xa Để Client nhận thành phần MTS phân phát từ xa, ta làm sau: Nhấn phải chuột vào Example1 vừa tạo Nhấn vào Export… Dùng nút Browse để chọn thư mục rỗng để export gói Cho vào tên tập tin, nhấn Save Nhấn Next Sau lúc, hiển thị họp thoại thông báo sau: Nhấn vào Finish để hoàn tất ? Các bước thực hiệntrênmáychạyứngdụngClient 18/23 Lập trình phân tán với COM+/MTS Chép thư mục mà ta vừa Export vào máy Client Chạy tập tin MSI thư mục để đăng ký vào máy Client Muốn gỡ bỏ đăng ký khỏi máy Client ta vào Control Panel\Add/Remove Programs để gỡ bỏ c Dùng RDS (Remote Data Access): Kỹ thuật không nên sử dụng mô hình tốc độ chậm, kỹ thuật dùng cho trường hợp máy chạy ứng dụng máy chạy ứng dụng COM không mạng Kỹ thuật giới thiệu sau Kếtluận:Tóm lại mô hình kiến trúc máy chạy ứng dụng Client máy chạy ứng dụng COM mạng local ta chọn giải pháp đểtriểnkhaiActiveXDLLtừxa” “DùngMTS(MicrosoftTransactionServer) Ưu điểm giải pháp sau: o So với dạng ActiveX (.exe) dạng quản lý thể thành phần quản lý giao dịch tốt nhiều nhờ hỗ trợ MTS o Về vấn đề quản lý security dạng hỗ trợ tốt so với ActiveX (.exe) o Còn so với RDS kỹ thuật làm cho ứng dụng chạy nhanh Vì kỹ thuật RDS dùng hỗ trợ cho việc truy cập từ xa máy không mạng Ngoài kỹ thuật hỗ trợ cho ứng dụng WEB Khuyết điểm: oMáy chạy ứng dụng COM giải pháp chạy hệ điều hành Windows NT, Windows 2000 Còn giải pháp dùng ActiveX(.exe) giải pháp dùng RDS, máy chạy ứng dụng COM chạy Windows 98, Windows NT, Windows 2000 oSo với ứng dụng dùng giải pháp dùng ActiveX(.exe) ứng dụng dùng giải pháp chạy chậm có kết hợp với MTS 19/23 Lập trình phân tán với COM+/MTS Máy chạy ứng dụng Client máy chạy ứng dụng COM khác máy, máy không mạng Để thực việc giao tiếp ứng dụng Client ứng dụng COM mô hình phải dùng RDS(Remote Data Access) ? Giới thiệu RDS: RDS mô hình lập trình cho phép ứng dụng Client tạo thể ứng dụng COM đặt từ xa thông qua mạng Internet giao thức http, https RDS hỗ trợ mạnh cho ứng dụng Web, cho phép ứng dụng Web viết đoạn Script thao tác liệu Server lấy liệu thông qua thành phần RDSServer.DataFactory, RDS.DataControl lưu ý: để dùng RDS để truy cập DCOM ta phải dùng MTS triển khai thành phần COM ta dùng Set object = DataSpace CreateObject(" ProgId ", " Myserver ") Còn dùng dạng COM phải khai báo với hình thức Inprocess Protocol Syntax HTTP Set object = DataSpace.CreateObject("ProgId", "http://awebsrvr") HTTPS Set object = DataSpace.CreateObject("ProgId", "https://awebsrvr") DCOM Set object = DataSpace.CreateObject("ProgId", "computername") In-process Set object = DataSpace.CreateObject("ProgId", "") Vì RDS cho phép ứng dụng Client thao tác liệu thông qua mạng Internet nên vấn đề bảo mật đường truyền vấn đề quan trọng để tránh việc thất lạc liệu hay việc đánh cắp liệu người lấy liệu xem 20/23 Lập trình phân tán với COM+/MTS liệu Vì RDS có hỗ trợ việc tạo đối tượng qua mạng Internet dùng giao thức https Giao thức sử dụng với công nghệ bảo mật đường truyền SSL(Secure Sockets Layer) ? Giới thiệu SSL(Secure Socket Layer) Trên Web, SSL giao thức thông dụng cho việc giao tiếp có mã hóa browser server Sự kết hợp giải thuật mã/giải mã, hàm giản lược thông điệp cách định danh gọi mật mã(cipher suite) SSL hỗ trợ nhiều mật mã Để sử dụng SSL, Web Server cần phải có chứng nhận(Certificate) nhà cung cấp chứng nhận (CA – Certificate Authority) Verisign cấp Ngoài sử dụng chứng nhận Certificate Server Windows NT Server hay Windows 2000 server cấp (cũng giống CA giá trị quốc tế) + MộtquátrìnhSSL : Mục đích trình SSL định danh server( định danh client) cuối có khóa session cho việc giao tiếp client server phiên làm việc (session) + Các bước trình SSL: Client mở cầu nối đến server gởi thông điệp “ClientHello” Thông điệp kèm theo số thông tin version SSL, mật mã giải thuật nén liệu mà client hỗ trợ Server trả lời thông điệp “Server Hello” Thông điệp kèm theo thông tin mật mã giải thuật nén mà server chọn với SessionID tương ứng Client Nếu mã hỗ trợ client server không hợp server gởi thông báo “handshake failure” chấm dức session Server gởi “bằng chứng nhận” để định danh Client Server yêu cầu “bằng chứng nhận” client Điều không bắt buộc xảy Nếu client có “bằng chứng nhận” gởi cho server Nếu không, gởi thông báo Client gởi thông điệp “trao đổi khóa” với bao điện tử chứa khóa session client tạo ngẫu nhiên mã hóa khóa public server lấy từ chứng nhận server 21/23 Lập trình phân tán với COM+/MTS Cả Client Server gởi thông báo “ChangeCipherSpec” để xác nhận hai sẵn sàng giao tiếp Cả hai gởi thông báo “chấm dứt” phần thủ tục bắt đầu giao tiếp có bảo mật khóa session Ngoài thông điệp cuối có chứa hash toàn trình làm thủ tục để hai kiểm tra xem trình có bị trục trặc không ? CấuhìnhRDStrongWindows2000(MáychạyứngdụngCOM) Có hai cấu hình liên quan đến Remote Data Access: RDS security IIS security + RDS security: Để ứng dụng Client dùng RDS để giao tiếp với ứng dụng COM thư mục ảo(wwwroot windows 2000) máy chạy ứng dụng COM phải có thư mục MSADC, có tập tin msadcs.dll Ngoài cần phải khai báo tay registry máy chạy ứng dụng COM (mở cách chạy tập tin regedit.exe) ProgId ứng dụng COM (tên dự án.tên class) vị trí sau: \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters\ADCLaunch\ + IIS security: Để thiết lập IIS security thực lần lược bước sau: Mở Control Panel, mở Administrative Tools mở InternetServicesManager 22/23 Lập trình phân tán với COM+/MTS Nhấn đúp lên Default Web Site Nhấn phải chuột thư mục ảo MSADC, nhấn Properties Trên Directory Securitytab, chỗ IPAddressandDomainNameRestrictions, nhấn Edit - Nếu muốn tất Client giao tiếp với ứng dụng chọn GrantedAccess - Nếu muốn cho phép số Client truy cập đến ứng dụng, chọn Client Add vào danh sách ? Ngoài ta dùng RDS để truy cập đến ứng dụng COM khai triển từ xa dùng MTS thông qua Internet Dùng RDS để truy cập ứng dụng DCOM dạng ActiveX EXE 23/23 [...]... vào COM+ Applications 7 Nhấn phải chuột vào COM+ Applications, trỏ tới New rồi nhấn vào Application 14/23 Lập trình phân tán với COM+/ MTS 8 Xuất hiện hộp thoại COM Application Install Wizard, nhấn Next 9 Tại đây sẽ có hai lựa chọn Chọn CreateanemtyApplication 15/23 Lập trình phân tán với COM+/ MTS - Install pre-built application(s) Nếu muốn xây dựng lại ứng dụng mà ta đã tạo trước đó - CreateanemtyApplication... chạy ứng dụng Client + Chạy chương trình Setup.exe được tạo bởi Package and Deployment Wizard cho ứng dụng server trên máy chạy ứng dụng COM 12/23 Lập trình phân tán với COM+/ MTS + Chạy chương trình Setup.exe exe được tạo bởi Package and Deployment Wizard cho ứng dụng Client trên máy chạy ứng dụng Client Dùng MTS để triển khai ActiveX DLL từ xa Đối với Windows NT thì MTS được tách riêng ra thành một... nền Windows 98, Windows NT, Windows 2000 oSo với ứng dụng dùng giải pháp dùng ActiveX(.exe) thì ứng dụng dùng giải pháp này sẽ chạy chậm hơn vì có kết hợp với MTS 19/23 Lập trình phân tán với COM+/ MTS Máy chạy ứng dụng Client và máy chạy ứng dụng COM khác máy, 2 máy này không cùng mạng Để hiện thực việc giao tiếp giữa ứng dụng Client và ứng dụng COM đối với mô hình này thì phải dùng RDS(Remote Data... 16/23 Lập trình phân tán với COM+/ MTS 11 Tiếp theo xuất hiện hộp thoại có hai lựa chọn, ta lựa chọn giá trị default của nó Nhấn tiếp vào Next 12 Nhấn Finish 13 Nhấn đúp vào ứng dụng Example1 vừa tạo nhấn đúp vào Components 14 Nhấn phải chuột vào Components, trỏ tới New, nhấn vào Component 15 Nhấn vào Next, Hộp thoại Import or Install a Component xuất hiện, chọn Install new Component(s) 17/23 Lập trình phân. .. rất lớn tài nguyên của hệ thống 13/23 Lập trình phân tán với COM+/ MTS MTS giải quyết vấn đề trên bằng cách: khi một ứng dụng cần một thành phần thì MTS sẽ cung cấp 1 instance của thành phần đó cho ứng dụng Nếu một ứng dụng thứ 2 muốn sử dụng thành phần đó, trong khi ứng dụng 1 không thực sự sử dụng nó (tuy nhiên ứng dụng thứ 1 vẫn chưa giải phóng thành phần) thì MTS sẽ đưa instance mà ứng dụng thứ 1... Install Locations 9 Nhấn Finish ? TạochươngtrìnhSetupchoClient 1 Khởi động chương trình Package and Deployment một lần nữa 2 Nhấn vào nút Package 3 Chọn Standard Setup Package trong danh sách Package Type 4 Chọn một folder mà nó sẽ được truy cập qua mạng 5 Trong màn hình Included Files, Bỏ đánh dấu không chọn dự án server(.exe) 11/23 Lập trình phân tán với COM+/ MTS 6 Nhấn vào nút Add, Chọn VBR ở combo... security: Để thiết lập IIS security thực hiện lần lược các bước sau: 1 Mở Control Panel, mở Administrative Tools mở InternetServicesManager 22/23 Lập trình phân tán với COM+/ MTS 2 Nhấn đúp lên Default Web Site 3 Nhấn phải chuột trên thư mục ảo MSADC, nhấn Properties 4 Trên Directory Securitytab, chỗ IPAddressandDomainNameRestrictions, nhấn Edit - Nếu muốn tất cả các Client có thể giao tiếp với ứng dụng chọn... hiện, chọn Install new Component(s) 17/23 Lập trình phân tán với COM+/ MTS 16 Dẫn đến chỗ lưu trữ file dll, nhấn nút Open 17 Nhấn vào nút Next Rồi nhấn vào Finish để kết thúc Để cho phép ứng dụng Client truy cập vào thành phần chạy dưới MTS, ta phải đăng ký vào Registry của máy Client để báo với nó rằng thành phần từ xa Để Client nhận ra thành phần MTS phân phát từ xa, ta làm như sau: 1 Nhấn phải chuột vào... thực hiệntrênmáychạyứngdụngClient 18/23 Lập trình phân tán với COM+/ MTS 1 Chép thư mục mà ta vừa Export được ở trên vào máy Client 2 Chạy tập tin MSI trong thư mục này để đăng ký vào máy Client Muốn gỡ bỏ đăng ký này ra khỏi máy Client ta có thể vào Control Panel\Add/Remove Programs để gỡ bỏ ra c Dùng RDS (Remote Data Access): Kỹ thuật này không nên sử dụng đối với mô hình này vì tốc độ chậm, kỹ thuật... biệt Muốn sử dụng MTS thì phải cài đặt Option Pack 4 cho Windows NT Còn đối với Windows 2000 thì MTS được tích hợp vào IIS 5.0, đưa COM và MTS tích hợp lại trong COM+ Applications ? Giới thiệu MTS (Microsoft Transaction Server) MTS là một dịch vụ trên Windows giống như các dịch vụ khác như IIS, File hay Print …, có nghĩa là ta có thể chạy (start) hoặc ngưng chạy (stop) chúng khi cần và MTS chạy background ... Application 14/23 Lập trình phân tán với COM+/MTS Xuất hộp thoại COM Application Install Wizard, nhấn Next Tại có hai lựa chọn Chọn CreateanemtyApplication 15/23 Lập trình phân tán với COM+/MTS -.. .Lập trình phân tán với COM+/MTS o Thành phần COM hoàn toàn độc lập với ngôn ngữ thực Thành phần COM thực nhiều ngôn ngữ Visual C++, Visual Basic, Java … o Thành phần COM sử dụng dạng mã nhị phân. .. dụng Client + Chạy chương trình Setup.exe tạo Package and Deployment Wizard cho ứng dụng server máy chạy ứng dụng COM 12/23 Lập trình phân tán với COM+/MTS + Chạy chương trình Setup.exe exe tạo