Bài giảng Chương 1: Tổng quan lập trình phân tán
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
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 Interoperabilit ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Chương 1 Tổng quan lập trình phân tán Lập trình phân tán Lập trình cơ sở dữ liệu phân tán Lập trình Client-server Lập trình Peer to peerGợi ý tài liệu liên quan:
-
Bài giảng Chương 1: Tổng quan về hệ thống thông tin
76 trang 24 0 0 -
Bài giảng Chương 1: Tổng quan về quản trị dự án
21 trang 21 0 0 -
Giáo trình Hệ điều hành phân tán: Phần 2
149 trang 20 0 0 -
Bài giảng Chương 1 - Công nghệ sinh học thực phẩm
70 trang 19 0 0 -
Bài giảng Chương 1: Giới thiệu chung về Công nghệ thông tin
118 trang 19 0 0 -
Bài giảng Chương 1: Giới thiệu tổng quan
26 trang 17 0 0 -
Bài giảng Chương 1: Các đặc trưng cơ bản của kiểm toán tài chính
31 trang 17 0 0 -
Bài giảng Công nghệ lập trình tích hợp: Chương 7 - TS. Nguyễn Quang Uy
39 trang 16 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 6 - Lê Nguyễn Tuấn Thành
25 trang 16 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Tổng quan môn học - Lê Nguyễn Tuấn Thành
11 trang 14 0 0 -
Bài giảng Công nghệ lập trình tích hợp: Chương 8 - TS. Nguyễn Quang Uy
42 trang 13 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 5 - Lê Nguyễn Tuấn Thành
47 trang 13 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 1 - Lê Nguyễn Tuấn Thành
28 trang 12 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 7 - Lê Nguyễn Tuấn Thành
35 trang 11 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 3 - Lê Nguyễn Tuấn Thành
49 trang 11 0 0 -
Bài giảng Chương 1: Vai trò của dịch vụ trong nền kinh tế
11 trang 11 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 2 - Lê Nguyễn Tuấn Thành
34 trang 10 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 8 - Lê Nguyễn Tuấn Thành
18 trang 10 0 0 -
Bài giảng Chương 1: Khái quát về tổ chức công tác kế toán tài chính trong các doanh nghiệp
43 trang 9 0 0 -
Bài giảng Lập trình đồng thời và phân tán: Bài 4 - Lê Nguyễn Tuấn Thành
40 trang 9 0 0