intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Chương 1: Tổng quan lập trình phân tán

Chia sẻ: Codon_02 Codon_02 | Ngày: | Loại File: PPT | Số trang:31

205
lượt xem
17
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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".

Chủ đề:
Lưu

Nội dung Text: Bài giảng Chương 1: Tổng quan lập trình phân tán

  1. CHƯƠNG 1 TỔNG QUAN  LẬP TRÌNH PHÂN TÁN
  2. 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
  3. 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 Client­server Lập trình Peer to peer
  4. 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ụ.
  5. Ví dụ về hệ phân tán VD1:  World­Wide­Web  ­  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
  6. Kiến trúc hệ phân tán Client – server Peer – to – peer (P2P)
  7. 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
  8. 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
  9. 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ố.
  10. 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 ad­hoc (mỗi nút phải  đơn giản và dễ cấu hình)
  11. 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)
  12. 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
  13. 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. 
  14. 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í.
  15. 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 đó.
  16. 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.
  17. 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)
  18. 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ợ  RMI­CORBA,  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.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2