Bài giảng Chương 1: Tổng quan lập trình phân tán
lượt xem 17
download
Lập trình phân tán là lập trình trên các hệ thống phân tán. Để tìm hiểu sâu hơn về vấn đề này mời các bạn cùng tìm hiểu "Bài giảng Chương 1: Tổng quan lập trình phân tán".
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Chương 1: Tổng quan lập trình phân tán
- CHƯƠNG 1 TỔNG QUAN LẬP TRÌNH PHÂN TÁN
- Nội dung Khái niệm lập trình phân tán Khái niệm hệ phân tán Các mô hình ứng dụng Lợi ích của các ứng dụng phân tán Giới thiệu một số ngôn ngữ lập trình phân tán Bài tập và thực hành
- 1. Khái niệm lập trình phân tán Lập trình phân tán là lập trình trên các hệ thống phân tán Lập trình CSDL phân tán Lập trình Clientserver Lập trình Peer to peer
- 2. Khái niệm hệ phân tán Theo Andrew S.Tanenbaum: ◦Hệ phân tán là một tổ hợp các máy tính độc lập mà đối với người dùng nó có vẻ như một hệ thống đơn nhất quán. ◦=> không tồn tại một hệ thống lý tưởng như vậy trong thực tế. Định nghĩa “yếu hơn” về hệ phân tán: ◦Hệ phân tán là một tổ hợp các máy tính độc lập được sử dụng kết hợp để thực hiện một tác vụ hoặc để cung cấp một dịch vụ.
- Ví dụ về hệ phân tán VD1: WorldWideWeb tổ hợp các Web server – các máy cài giao thức HTTP, FTP,… đang cùng nhau cung cấp cơ sở dữ liệu phân tán gồm các tài liệu siêu văn bản và tài liệu đa phương tiện. VD2: Các máy tính của một mạng LAN cung cấp một hình ảnh đồng nhất về một hệ thống tệp phân tán. Tap hop cac may tinh trong mang internet co chay dich vu ten mien DNS
- Kiến trúc hệ phân tán Client – server Peer – to – peer (P2P)
- 3. Các mô hình ứng dụng Hệ tính toán phân tán Hệ thông tin phân tán Hệ thông tin di động
- a. Hệ tính toán phân tán Nhiều hệ thống phân tán được cấu hình cho tính toán hiệu năng cao: ◦Cluster Computing: trong LAN, dùng để chạy các thuật toán song song ◦Grid Computing: trong WAN, tổ chức ảo
- b. Hệ thông tin phân tán VD: Các hệ giao tác (transaction) Các hệ này phải thỏa mãn các tính chất sau (ACID): ◦Atomicity (tính nguyên tử): trạng thái của đối tượng không bị ảnh hưởng bởi thao tác thành công hay thất bại. ◦Consistency (tính nhất quán): một giao tác phải là hợp lệ. ◦Isolation (tính cô lập): các giao tác tương tranh không dính líu tới nhau. ◦Durability (tính bền vững): giao tác được đảm bảo cho dù hệ thống có gặp sự cố.
- c. Hệ thông tin di động Gồm các thiết bị tính toán nhúng và di động. Trong đó, tính không bền vững là mặc định, cấu tạo adhoc (mỗi nút phải đơn giản và dễ cấu hình)
- 4. Lợi ích của các ứng dụng phân tán Cho phép truy nhập tài nguyên Tính trong suốt Khả năng mở rộng Đảm bảo độ tin cậy và nhất quán Hiệu năng Tính mềm dẻo (Tham khảo file CSDL_2/trg 5, 6)
- 5.Giới thiệu một số ngôn ngữ lập trình phân tán Lập trình phân tán với COM+/MTS Lập trình phân tán đối tượng với RMI Lập trình phân tán đối tượng với Corba Lập trình phân tán REMOTING trong .NET Lập trình phân tán với Web Service
- a. Lập trình với COM+/MTS COM (Component Object Model) là một cách thức để viết các thành phần phần mềm (software componet) cung cấp các chức năng phục vụ cho các ứng dụng, các thành phần khác. Viết một thành phần COM cũng như viết một hàm API động, hướng đối tượng. Các thành phần COM có thể được nối kết với các ứng dụng cũng như các thành phần COM khác. Thành phần COM là những đoạn mã hiện thực các hàm, các chức năng được chứa trong file .DLL hoặc .EXE.
- Lập trình với COM+/MTS Thành phần COM cần phải thỏa mãn được những “chuẩn” của COM. Các thành phần COM có thể được liên kết động. Các thành phần COM có thể được “bao gói” lại vì nó thỏa mãn các ràng buộc: Thành phần COM hoàn toàn độc lập với ngôn ngữ hiện thực nó. được thực hiện bằng nhiều ngôn ngữ như Visual C++, Visual Basic, Java ….. Thành phần COM được sử dụng dưới dạng mã nhị phân. Thành phần COM có thể dễ ràng nâng cấp Thành phần COM trong suốt về vị trí.
- Lập trình với COM+/MTS Tầng trung gian của các ứng dụng thường là các thành phần COM được viết bằng các ngôn ngữ lập trình hỗ trợ giao thức COM (như Visual Basic, Visual C++,...) và được quản lý bởi Micrsoft Transaction Server (MTS). Khi tầng trung gian là các thành phần COM và được quản lý bởi MTS thì chúng được gọi là COM+/MTS. COM+/MTS có nhiệm vụ quản lý tất cả các component, điều khiển, giám sát mọi tác vụ như: tạo mới một thành phần, quản lý các hàng đợi, giao dịch... COM+/MTS luôn lắng nghe các kết nối từ máy khách, khi các yêu cầu chấm dứt (không còn sử dụng đến nữa) thì nó giải phóng tài nguyên và kết nối đó.
- Lập trình với RMI RMI (Remote Method Invocation) là một công nghệ phân tán cho phép các phương thức trên các máy ảo Java được gọi từ xa. Là cách đơn giản để truyền tin giữa một ứng dụng này với ứng dụng khác so với truyền tin trực tiếp dùng TCP socket (cách truyền tin này đòi hỏi cả hai phía đều sử dụng cùng một giao thức). Thay vì viết các chương trình cài đặt giao thức, những người phát triển có thể tương tác với các phương thức đối tượng được định nghĩa bởi một giao tiếp dịch vụ RMI. Mỗi khi có được một tham chiếu tới đối tượng từ xa, tham chiếu này có thể được xem như là một đối tượng cục bộ, đây là cách trực quan để phát triển các ứng dụng mạng.
- Lập trình với CORBA CORBA (Common Object Request Broker Architecture) định nghĩa nhiều dịch vụ, một trong những dịch vụ đó thực hiện chức năng tương tự như RMI CORBA họat động với nhiều ngôn ngữ lập trình khác nhau CORBA được định nghĩa bởi một liên kết bao gồm 800 công ty thành viên, được gọi là Nhóm Quản Lý Đối Tượng (Object Management Group OMG) CORBA định nghĩa 2 thành phần: Một thực thể cho phép liên lạc giữa 2 tiến trình (hay còn gọi là 1 môi giới yêu cầu đối tượng (Object Request Broker ORB)) Một giao thức được ORB dùng để liên lạc giữa nhiều tiến trình, được gọi là IIOP (Internet Interoperability Protocol)
- Sự khác nhau giữa RMI và CORBA RMI là một phần của bộ J2SDK và là các hàm thư viện hỗ trợ các lời gọi phương thức từ xa và trả về giá trị cho các ứng dụng tính toán phân tán. CORBA là một chuẩn công nghiệp cho phép gọi các phương thức từ xa và nhận kết quả trả về, nhưng không giống như RMI, nó có thể được sử dụng khi bên phía gọi và bên phía phương thức được gọi có thể sử dụng các ngôn ngữ lập trình khác nhau. RMI là một tập các hàm thư viện đơn giản vì cả 2 bên đều sử dụng cùng môt ngôn ngữ lập trình và kiến trúc máy. Điều này sẽ làm cho việc gọi phương thức từ xa dễ giải quyết hơn. Bộ phát triển J2SDK cũng hỗ trợ RMICORBA, cho phép một đối tượng Java gọi một đối tượng CORBA sử dụng hai cách tiếp cận khác nhau.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Mạng máy tính - Chương 1: Tổng quan - ĐH KHTN TP.HCM
46 p | 453 | 58
-
Bài giảng Trí tuệ nhân tạo - Chương 1: Tổng quan về trí tuệ nhân tạo
36 p | 300 | 39
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Mạng máy tính - Chương 1: Tổng quan về mạng máy tính
68 p | 258 | 24
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan cơ sở dữ liệu
0 p | 227 | 17
-
Bài giảng Chương 1: Tổng quan về Visual Basic 6.0
158 p | 152 | 15
-
Bài giảng Chương 1: Tổng quan về hệ thống thông tin
59 p | 115 | 15
-
Bài giảng Chương 1: Tổng quan XML - Nguyễn Đức Cương
34 p | 105 | 12
-
Bài giảng Kỹ thuật vi xử lý: Chương 1 - Nguyễn Văn Thọ
44 p | 111 | 12
-
Bài giảng Kỹ thuật lập trình Java - Chương 1: Tổng quan về Java
36 p | 116 | 12
-
Bài giảng Tin học đại cương: Chương 1 - Tổng quan về ngôn ngữ C
365 p | 114 | 9
-
Bài giảng Hệ điều hành - Chương 1: Tổng quan (2008)
68 p | 73 | 7
-
Bài giảng Quản trị cơ sở dữ liệu - Chương 1: Tổng quan về cơ sở dữ liệu
22 p | 125 | 6
-
Bài giảng Chương 1: Tổng quan về lập trình cho máy tính điện tử - ThS. Phạm Thanh An
25 p | 83 | 6
-
Bài giảng Lập trình Java: Chương 1 - Tổng quan về công nghệ Java
33 p | 133 | 5
-
Bài giảng Kỹ thuật lập trình C/C++ - Chương 1: Tổng quan về giải thuật
26 p | 44 | 4
-
Bài giảng Chương 1: Tổng quan
27 p | 71 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn